Pull to refresh
4
0
Send message

Сборка проектов Си и Си++: от простого к сложному. Часть I. Библиотеки

Level of difficultyMedium
Reading time12 min
Views15K

Каждый раз, в течение многих лет, собирая пилотную версию мизерного проекта или простой утилиты, мне кажется, что уж в этот раз точно обойдусь обычным скриптом для сборки, и никакие сборщики проекта мне не понадобятся. Но суровая реальность приводит меня в чувство уже в течение первых нескольких минут работы. Сначала оказывается, что до невозможности простая программка нуждается в JSON-парсере, HTTP-запросах CURL и прочих библиотеках. А по мере возбуждения хотелок эти все зависимости нарастают как снежный ком. И все мечты быстро скомпилировать страничку кода встречают на каждом шаге всё новые и новые проблемы.

Вот сегодня и расскажу о том, какие бывают способы борьбы с зависимостями и сборки проекта из множества файлов на Си++. Заодно те, кто не любят Си++, смогут порадоваться «прелестям» этого процесса. И хоть тема очень важная для программистов, но я обратил внимание, что даже многолетний опыт не гарантирует понимания этих процессов. Но сразу предупреждаю — история длинная даже с учетом всех попыток не убегать на смежные темы.
Читать дальше →

Как освоить иностранный язык без преподавателя. Часть 2. «Пошаговая стратегия»

Reading time12 min
Views72K

Languages are not taught, they are learnt!


Это статья для тех, кто хочет свободно разговаривать на иностранном языке. Неважно, начинаете вы с нуля или уже учите язык годами, но до сих пор испытываете сложности с восприятием беглой речи на слух или стресс при необходимости поговорить с носителем языка, здесь вы найдёте пошаговую стратегию освоения разговорного языка.


Примечание: Материалы статьи опираются на исследования Е.Д. Авериной, Д.Б. Никуличевой, Э.В. Гуннемарка и П.Нейшна, пропущенные через призму моего восприятия и опыт изучения 3 иностранных языков.

Читать дальше →

Модули CSS раскладки — что такое и как готовить

Level of difficultyMedium
Reading time13 min
Views5.2K

В 20-ом веке браузеры были гораздо менее развиты, а CSS сильно ограничен. Он подходил только для оформления простых текстов что-то вроде документов Word. Для оформления сайтов приходилось обращаться к таблицам, чтобы создавать подобие типографской сетки для раскладки элементов. Пока в 2003 году не появился CSS Zen Garden, пропагандирующий оформление сайтов с помощью CSS. В оформлении использовались хаки с флоатами и другие трюки, но технология была несовершенна. Далее, с развитием браузеров, появились инлайн-блоки. Они неплохо справлялись с расположением элементов в ряд, но тоже имели недостатки. И только в начале десятых появились новые модули раскладки: Flexbox и Grid Layout. О них и поговорим.

Читать далее

JavaScript. Как сделать невероятно быстрый многопоточный Data Grid на 1 000 000 строк. Часть 1/2: нюансы работы с DOM

Level of difficultyEasy
Reading time3 min
Views7.9K

Demo | GitHub

Особенности Fast Data Grid:
— Невероятно быстрый
— Многопоточный
— Всего 523 строчки кода
— Нет зависимостей
— Vanilla JavaScript

Попробуйте скролл и поиск по 1 000 000 строк — Fast Data Grid.

В статье перечислю нюансы работы с DOM. Про многопоточность в следующей статье.

Читать далее

Я прождал 10 миллиардов тактов и дождался лишь экрана загрузки

Level of difficultyEasy
Reading time7 min
Views16K

Современное оборудование невероятно быстрое. M1 Max, на котором я пишу эту статью, работает с частотой 3,2 ГГц. То есть 3,2 МИЛЛИАРДА тактов в секунду. Однако Microsoft Teams требуется 3 секунды, чтобы открыть ссылку, и я отказываюсь верить, что для открытия ссылки требуется 9,6 МИЛЛИАРДА тактов. Очевидно, я упрощаю, но смысл остаётся прежним: как так получается, что оборудование становится быстрее, а приложения — только медленнее?

«Потому, что мы выполняем гораздо больше задач». Так считает любитель позднего капитализма. Позвольте объяснить.

Превосходный пример мощи современного «железа» — это видеоигры. Я могу симулировать огромные 3D-среды с физикой и освещением, полученным трассировкой лучей, при этом играть в реальном времени с друзьями из других штатов и даже стран; вполне доступный компьютер потребительского уровня выдаёт 124 миллионов пикселей в секунду1.

[1. 1080p при 60 FPS = 1920 × 1080 × 60 = 124416000]

Можно посмотреть и в обратном направлении: людям удаётся запускать DOOM на почти любом устройстве с процессором: на калькуляторах, iPod, фотокамерах. Невероятно маломощные, зачастую одноразовые устройства обладают достаточными вычислительными ресурсами, чтобы выполнять сверхсовременную на 1993 год игру. Это не особо удивляет, ведь прошло три десятка лет, но показывает, какой путь мы проделали.

Читать далее

Как использовать GitHub Copilot в IDE: советы, приёмы и лучшие практики

Reading time9 min
Views19K

В этой статье поговорим о практических стратегиях, повышающих эффективность использования GitHub Copilot при написании кода.

Читать далее

Про решаемость пятнашек

Level of difficultyMedium
Reading time8 min
Views16K

Привет, я создатель известного в узких кругах приложения 15 Puzzle для Android.

В статье я расскажу, как я генерирую стартовые позиции для своей игры, а также о том, как я добавлял новые конфигурации головоломки.

Читать далее

Это один из лучших подходов к изучению английского, что я видел за последние годы — коллокации

Reading time7 min
Views126K

Значение слова – это его использование в языке
Людвиг Витгенштейн (сурс) 

Что это вообще за магия такая? Коллокация – это просто пара или группа слов, которые часто возникают вместе. Такие комбинации звучат естественно для носителей языка, однако, тем, у кого язык не родной, бывает сложно догадаться до этой естественной комбинации.

А что если я скажу, что они улучшают сразу и вашу способность органично говорить, и канонично писать, и что совсем удивительно воспринимать английский от носителей языка на слух? И главный вопрос, который меня мучает – почему я узнал об этой технике изучения языка только полгода назад? (Рассказ об этой подготовке здесь.) 

Внимательно посмотрите на пример с картинки. Как только собеседник начал(а) произносить “pitch d…” ваш мозг, зная нужные коллокации, подскажет, что там должно быть “dark”. Даже если вы плохо расслышали эту часть. Это один из механизмов, через который коллокации позволяют лучше воспринимать язык на слух.

Подробнее о том, как их учить и использовать и будет эта статья.

Disclaimer: если у вас филологическое образование, то вам наверное будет смешно, что кто-то открыл для себя коллокации и их использование для изучения иностранного языка в 202N году, а вот если вы, как и я, когда-то читали “randomize” как “рандомизе”, то возможно эта статья будет вам полезной.

Добро пожаловать под кат

Arcanum всё ещё актуальна? Ностальгический рассказ и идеальная сборка для игры в 2024

Level of difficultyEasy
Reading time16 min
Views23K
image

Я помню те времена, когда игровые шедевры штамповались один за другим, но многие из них были просто не замечены. Несомненно, это здорово, когда у геймеров есть большой выбор отличных игр на любой вкус, вот только иногда это приводит к тому, что в этом переполненном игровом прудике не всей рыбке хватает кислорода и пропитания, и она начинает умирать. Именно так и произошло со студией Troika Games, выпускавшей отличные, поражающие обилием игровых механик проекты, которые, к сожалению, геймеры распробовали далеко не сразу, но помнят даже спустя десятки лет. Первым из них оказался Arcanum: Of Steamworks and Magick Obscura, который многие называли «Fallout в мире стимпанка». Большой проработанный мир в необычном сеттинге, где магия противопоставляется миру технологий, интересный сюжет и множество путей решения одной и той же задачи! Но, несмотря на всеобщее признание, финансовые достижения были очень скромные, что стало первым ударом по молодой студии…

В сегодняшнем выпуске «Ностальгических игр» я не только вспомню о такой отличной игре, как Arcanum, но и предоставлю её сборку, идеальную для игры в 2024 году, с роликами в высоком разрешении, русификатором, HD-модом, а также исправлением огромного количества багов и проблем с балансом.
Читать дальше →

Личный прокси для чайников: универсальный обход цензуры с помощью VPS, 3X-UI, Reality/CDN и Warp

Level of difficultyMedium
Reading time28 min
Views226K

> С 10 апреля 2024, 3 месяца спустя,
> данная статья заблокирована РКН на территории РФ,
> её также удалили с веб-архива archive.org.
> Статья на Хабре осталась доступна с IP других стран.
> Да, теперь, чтобы читать про ВПН, нужен ВПН.

На фоне прошлогоднего обострения цензуры в РФ, статьи автора MiraclePTR стали глотком свободы для многих русскоязычных айтишников. Я же хочу приоткрыть дверь к свободной информации чуть шире и пригласить «не‑технарей» («чайников»), желающих поднять личный прокси‑сервер для обхода цензуры, но дезориентированных обилием информации или остановленных непонятной технической ошибкой.

В этой статье я описал универсальное решение, которое обеспечивает прозрачный доступ к международному интернету в обход цензуры, использует передовые технологии маскировки трафика, не зависит от воли одной корпорации и главное — имеет избыточный «запас прочности» от воздействия цензоров.

Статья рассчитана на «чайников», не знакомых с предметной областью. Однако и люди «в теме» могут найти нечто полезное (например, чуть более простую настройку проксирования через CloudFlare без необходимости поднимать nginx на VPS).

Если у вас ещё нет личного прокси для обхода цензуры — это знак.

Читать далее

Делаем страницу на React с базой сотрудников при помощи Airtable и Quarkly

Reading time13 min
Views12K

Слышали про такой инструмент, как Airtable, но не знали, с чего начать? Тогда приглашаем в мир визуального программирования построения БД!


Этим постом мы начинаем цикл обучающих статей, в которых будем давать практические примеры работы с нашим инструментом Quarkly. В этом уроке мы сделаем простое веб-приложение, которое будет показывать сотрудников компании. При создании приложения ни один сотрудник РЖД не пострадал.


Фронт будем делать при помощи Quarkly, а данные подтягивать из базы в Airtable. На выходе получим react-приложение, синхронизированное с базой данных.


Читать дальше →

Актуальные инструменты контроля версий данных в 2020 году

Reading time8 min
Views11K
Все мы знаем и любим Git. И, конечно же, были придуманы его аналоги для управления версиями данных, чтобы эксперименты с данными были воспроизводимыми, а действия команд — согласованными. Сегодня, в преддверии старта нового потока курса по Data Science, делимся с вами материалом о сравнении нескольких систем контроля версий. Подробности сравнения — как обычно, под катом.

Приятного чтения!

Как создать голосового помощника на основе технологий с открытым кодом, не передав вовне ни байта секретной информации

Reading time9 min
Views22K
image

Зачем нефтяникам NLP? Как заставить компьютер понимать профессиональный жаргон? Можно ли объяснить машине, что такое «нагнеталка», «приемистость», «затрубное»? Как связаны вновь принятые на работу сотрудники и голосовой ассистент? На эти вопросы мы постараемся ответить в статье о внедрении в ПО для сопровождения нефтедобычи цифрового ассистента, облегчающего рутинную работу геолога-разработчика.
Читать дальше →

20 игр, чтобы научить ребёнка программированию

Reading time5 min
Views309K
Привет Хабр! Меня зовут Оксана Селендеева. Я считаю, что лучше начинать программировать с юного возраста — 4-5 лет, потому что кодинг активно развивает у детей когнитивные функции мозга, и это впоследствии помогает им отлично усваивать точные науки. А попробовать себя в программированию можно через обучающие игры. Мы с преподавателями школы программирования для детей CODDY составили такую подборку.

Для дошкольников


Box Island — мобильная 3D-игра, которая обучает основам кодирования через увлекательное приключение. Игроки путешествуют по острову Box и помогают персонажу собирать звезды, разбросанные по пустыне. Через игровой квест дети изучают основы алгоритмов, последовательностей, циклов и условных выражений, а ещё игра развивает алгоритмическое мышление и распознавание образов.

Mkcert: валидные HTTPS-сертификаты для localhost

Reading time2 min
Views95K

В наше время использование HTTPS становится обязательным для всех сайтов и веб-приложений. Но в процессе разработки возникает проблема корректного тестирования. Естественно, Let’s Encrypt и другие CA не выдают сертификаты для localhost.

Традиционно есть два решения.
Читать дальше →

Контроллер для Лего

Reading time3 min
Views29K
Чуть меньше полугода назад сделал сыну на день рождения подарок — конструктор Xiaomi MITU. Неожиданно для меня ребенок на неделю завис в этом конструкторе. Когда были испробованы первые модели и их управление с планшета, возник закономерный вопрос — «А как для него писать программы?»

image
Читать дальше →

«Письмо турецкому султану» или линейная регрессия на C# с помощью Accord.NET для анализа открытых данных Москвы

Reading time13 min
Views12K
Когда речь идет об освоении самых основ машинного обучения, чаще всего предлагается изучить соответствующие инструменты на Python или R. Мы не будем обсуждать их плюсы и минусы, а просто зададимся вопросом, что делать если вы знакомы только с экосистемой .NET, но при этом вам очень любопытно окунутся в мир науки о данных? Ответ прост, не отчаиваться и посмотреть в сторону F#, а если вы также, как и я из .NET знаете только азы C#, то попробовать изучить Accord.NET Framework.

Мы с вами уже разбирали его применение для решения задачи классификации, а в этот раз попробуем рассмотреть простейший инструментарий для линейной регрессии. Для этого мы воспользуемся открытыми данными по анализу обращений граждан взятыми с официального сайта Мэра Москвы.

Несмотря на то, что в заголовке статьи указан C#, мы попробуем собрать код и на VB.NET.

Мне осталось только пригласить вас под кат!


Читать дальше →

Перестаньте травить печатные платы дома — заказывайте их на производстве

Reading time3 min
Views100K
В последней своей статье про Домофон с MQTT я проводил опрос на тему того, какую статью написать следующей. Выбор пал на заказ производства печатных плат, вот собственно немного расскажу об этом. Если статья зайдет, напишу по следующей теме из голосовалки.

Я ни в коем разе не принуждаю сразу выливать ваше хлорное железо / перекись водорода, оставьте их для макетирования. Я лишь хочу показать, что заказать платы на производстве в наше время совсем не сложно, как может показаться начинающему радиолюбителю. Есть в этом что-то магическое — подержать в руках красивую плату собственного изготовления.
Читать дальше →

Создаем Telegram бота на API.AI

Reading time9 min
Views111K

Чат боты — довольно интересная тема, которой интересуются как гики-энтузиасты, так и компании, которые хотят организовать взаимодействие со своими клиентами наиболее удобным для них способом


Сегодня я опишу вам простой пример создания бота Telegram с использованием платформы для создания разговорных интерфейсов API.AI, который будет приветствовать пользователя и отвечать на вопросы о погоде. По большей части я следовал этим инструкциям, в реальной практике, можно не ограничиваться погодой и реализовать интерфейсы
для автоматизированной поддержки или продаж.

Читать дальше →

Распознавание дорожных знаков с помощью CNN: Инструменты для препроцессинга изображений

Reading time11 min
Views27K
Привет, Хабр! Продолжаем серию материалов от выпускника нашей программы Deep Learning, Кирилла Данилюка, об использовании сверточных нейронных сетей для распознавания образов — CNN (Convolutional Neural Networks)

Введение


За последние несколько лет сфера компьютерного зрения (CV) переживает если не второе рождение, то огромный всплеск интереса к себе. Во многом такой рост популярности связан с эволюцией нейросетевых технологий. Например, сверточные нейронные сети (convolutional neural networks или CNN) отобрали себе большой кусок задач по генерации фич, ранее решаемых классическими методиками CV: HOG, SIFT, RANSAC и т.д.

Маппинг, классификация изображений, построение маршрута для дронов и беспилотных автомобилей — множество задач, связанных с генерацией фич, классификацией, сегментацией изображений могут быть эффективно решены с помощью сверточных нейронных сетей.


MultiNet как пример нейронной сети (трех в одной), которую мы будем использовать в одном из следующих постов. Источник.
Читать дальше →
1
23 ...

Information

Rating
Does not participate
Registered
Activity