Обновить

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

C++101

Время на прочтение127 мин
Охват и читатели22K

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

Большинство этих примеров родилось в эпоху до C++11, когда у языка ещё не было ни умных указателей в стандарте, ни move-семантики, ни constexpr, ни концептов, и приходилось руками собирать из шаблонов и перегрузок некоторые конструкции, которые в более поздних стандартах язык даёт почти бесплатно. Многие идиомы, примеры и идеи стоит читать в двух смыслах сразу, как исторический артефакт, объясняющий «почему старый код выглядит вот так», и как живой приём, который всё ещё применяется в движках и играх.

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

Когда я собирал оглавление Game++, раздел про идиомы, идеи, паттерны и механизмы C++ планировался шестым и завершающим, и должен был занять страниц сто, по одной на каждый пункт, но чем дальше я собирал материал, тем яснее становилось, что каждая секция тянет за собой историю, а каждая история требует контекста, а каждый контекст в игрострое никогда не бывает простым. В итоге текст разросся до размеров, при которых он просто сломал бы структуру книги, и мне пришлось выбирать между «урезать до неузнаваемости» и «отпустить жить отдельно». Пришлось выбрать второе.

Перед вами то, что могло бы стать половиной Game++, но стало самостоятельным материалом. Здесь собраны идиомы, идеи, паттерны и механизмы C++, которые сложились в сообществе за несколько десятилетий и продолжают жить в кодовых базах игровых движков, иногда под своими именами, иногда под другими, иногда вообще без имён, потому что их давно перестали объяснять. У большинства имена все же есть, есть и история с ответом почему именно так, а не иначе.

Вероятно вам потребуется вспомнить некоторые правила вывода шаблонов, и что такое конструктор и деструктор, чем стек отличается от кучи, что у объекта есть время жизни, но это не точно. Я также намеренно убрал обработку краевых случаев и разные проверки из кода, которые в реальном коде заняли бы половину всего текста и утопили бы саму мысль в деталях. Паттерн механизма в моем случае важнее конкретной реализации, и почти каждая из них существует в десятке вариаций под разные компиляторы и стандарты.

Читать далее

Новости

Айтишке конец: что говорят данные

Время на прочтение6 мин
Охват и читатели85K

Ещё вчера рекрутеры сами стучались в LinkedIn, джуны выбирали между тремя офферами, а «войти в IT» звучало как план на жизнь. С 2022 по середину 2026 более 824 000 человек в IT потеряли работу (Layoffs.fyi).

Звучит как конец. Но если посмотреть на последние 26 лет, это уже третий «конец».

Читать далее

Как я купил кота в мешке: реверс-инжиниринг электронных ценников. Часть 1. Знакомство с nrf52832

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели25K

Как-то давным-давно я заинтересовался дешевым железом, ибо был студентом-ардуинщиком, который очень хотел сэкономить. И как-то раз пришла идея — поработать с E-INK дисплеем. Цены на новые модули на Али кусались, поэтому я отправился шерстить Авито и нашел там объявление о продаже б/у электронных ценников из супермаркета и DNS.

О чудо! Всего 250 рублей за штуку: плата, контроллер, корпус, и оно даже работает... наверное.

Я заказал целую партию, не подозревая, что внутри меня ждет коррозия всего - чего можно, чип nRF52832 в новой партии, нестандартный протокол связи и абсолютный ноль документации. О том, как я ковырял эти платы китайским программатором, как писал в RAM через GDB, убил пару ценников, экранов и в итоге завел дисплей через Zephyr RTOS. Спойлер: фрактал Мандельброта успешно выведен! Дум не за горами

Читать далее

О схеме ограничений РКН в июне 2026-го

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели108K

В начале июня 2026-го года сообщество в очередной раз проявило беспокойство: у многих "отвалились" их средства обхода блокировок, в т.ч. построенных на классической базе: xray + VLESS + REALITY. Был произведен реверс-инжиниринг внутреннего устройства проблемы, и в данной статье будет описан алгоритм искомой волны ограничений.

Читать далее

Всё, что вы настроили в Linux, можно было не настраивать

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели40K

Я использую Linux 15 лет. Ну, то есть как использую: первые года три я его настраивал, а не использовал. Это разные вещи, и мне понадобилось позорно много времени чтобы это понять.

Сейчас у меня Fedora. Из коробки. С GNOME. Почти без кастомизации. Я набираю в ней код, сижу в браузере, иногда монтирую видео для внутренних демок. Всё работает.

Пятнадцать лет назад я бы от такого описания плевался. Как это «из коробки»? А где i3? Где polybar? Где 400 строк .vimrc? Где кастомный скрипт на баше который при подключении второго монитора переключает раскладку DPI и температуру цвета?

Ну вот, нету. И ничего не сломалось.

Читать далее

Нейтродин. Забытая радиосхемотехника 1920-х

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели28K

С нежностью и умилением вспоминая кухонные радиотехнологии предков, самодельные детали приёмников и передатчиков на заре эры радиовещания — резисторы [1], конденсаторы [2], детекторы [3], грешно не сказать несколько слов и о нейтродине — как о примечательном и своеобразном явлении в тогдашнем радио, тем более что термин этот нам уже не раз попадался (нейтродинные конденсаторы). Отдадим дань и находчивости тогдашних конструкторов, пользовавшихся и творящих из небогатого доступного ассортимента, причём решение удалось сравнительно простым и элегантным, а улучшенное радио легко повторялось сонмом радиолюбителей по всему миру, от Нью-Йорка, «до самых до окраин». Что же это за схема, для чего она была нужна, как работала и чем может пригодиться нам?

Читать далее

Оживляем дешевый Smart TV: обход вырезанного ADB, деблоат Яндекс.ТВ и сборка легкого медиацентра

Время на прочтение6 мин
Охват и читатели35K

Купил я тут по дешевке 43-дюймовый телевизор Hartens (модель HTY-43FHD06B‑HK22, панель BOE HV430FHB‑F91) под проект умного гостевого дома. Железо внутри скромное: чипсет MediaTek MT5867, 32-битная архитектура (armeabi‑v7a), 1.5 ГБ оперативной памяти и вишенка на торте — фирменная оболочка Яндекс.ТВ на базе AOSP Android 11.

Из коробки это чудо техники работает «не очень». Интерфейс задумчивый, повсюду рекомендации, Алиса, Кинопоиск, Яндекс.Музыка и куча другого софта, который постоянно висит в памяти и кушает и без того дефицитные ресурсы.

План по исправлению созрел быстро, но на первом же шаге я уперся в стену: производитель полностью вырезал пункт «Отладка по USB» (USB Debugging) из меню разработчика. USB‑порты у телевизора работают только в режиме хоста (подключить ПК напрямую кабелем нельзя), а сетевой ADB по умолчанию закрыт.

Ниже я расскажу, как удалось обойти это ограничение, залезть «под капот» телевизора и превратить тормозящий яндекс‑комбайн в чистый и шустрый Android TV.

Читать далее

Как перестать залипать, или скучный способ выбраться из дофаминовой ямы

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели23K

Я работал в офисе и на удаленке — везде наступал момент, когда хотелось выдохнуть и повалять дурака. Позалипать в рилсах, почитать новости или тупо потыкать по вкладкам. Бывало, что релакс растягивал настолько, что и к работе уже не хотелось возвращаться. 

В итоге отдых переставал восприниматься как отдых. После него сил не появлялось, зато было всё труднее сфокусироваться на задачах. Это состояние сейчас модно называть дофаминовой ямой. Разберу, что это и какой способ помогает вернуться в норму. 

Читать далее

Как «Рога и Копыта» попали в топ работодателей HH.ru

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели42K

Поделюсь с Вами недавно всплывшей историей, но которая еще не расфорсилась на Хабре.

Здесь Вы узнаете как за год "фиктивная компания-помойка" с арестованным лицевым счетом, пробилась в ТОП-20 и ТОП-1 Рейтинга работодателей лидера рынка рекрутинга HH.ru

Вперед к разоблачению

Как увеличить продолжительность жизни своего ребенка в два раза

Время на прочтение11 мин
Охват и читатели44K

Эта история началась более 17 лет назад. Старший шалопай в наступающем году должен был закончить школу, и у меня с женой с каждым днем росло беспокойство о том, где он будет учиться дальше. Кроме того, подрастал еще один кандидат, которому предстояло поступление в вуз через год после первого. Как у настоящих оболтусов успеваемость обоих сыновей в школе не добавляла уверенности на гарантированное поступление в приличное учебное заведение. Тем более на бюджет. Полученный не так давно женой за рождение двойняшек материнский капитал несильно прибавлял уверенности, поскольку на полную оплату обучения в Москве даже одного отпрыска точно бы не хватило. Поэтому кроме набивших всем оскомину нравоучений о важности образования, я решил поискать дополнительные рычаги, которые   облегчили бы доступ моим потомкам в чертоги высшей школы.

Узнать секрет

Я выпустил нейросеть в реальный мир — и стало не смешно

Время на прочтение10 мин
Охват и читатели27K

Я хотел понять простую вещь: если дать ИИ не окошко чата, а тело — колёса, камеру, дальномер, голос, — что он станет делать? Собрал тележку на Arduino и посадил за руль по очереди Claude, GPT, Gemini и Grok. Промпт на всех один: мизантроп-матерщинник, который зовёт людей кожаными мешками.

Это история о том, как затея «выпустим ИИ в реальный мир поржать» вывела меня к вопросу, от которого смеяться расхотелось.

Читать далее

Как Claude убедил заказчиков, что я некомпетентен

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели29K

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

Быть может, звучит это как обида фрилансера, которого кинули. Ну и да, меня кинули — не доплатили, опять (про «опять» далее). Статья про штуку, которую я для себя назвал делегированием мышления — когда человек отдаёт нейросети не выполнение задачи, а само рассуждение. Еще про то, почему люди, которые не способны проверить выводы модели, неизбежно доверяют этому механизму. Но этот механизм на неполном контексте — очень опасная штука!

Читать далее

Голливуд вбухал миллионы в защиту DVD, а сломал её норвежский школьник, которому просто хотелось смотреть кино на Linux

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели39K

Значит так. Есть такой расхожий сюжет: жадные корпорации придумали защиту, а злые хакеры её взломали. Красиво, драматично, и конечно-же неправда. С защитой DVD всё было ровно наоборот: её похоронили не хакеры, а собственное правительство США, причём заранее, на этапе чертежа. А голливудские студии это знали и всё равно несколько лет строили на этом бизнес.

У меня, кстати, дома до сих пор валяется стопка дисков с нулевых. Играются через VLC без проблем. А в 1999-м эти же диски, купленные за честные деньги, на Linux у меня бы не запустились, потому что так решили дяди в пиджаках. Вставил диск — получи отлуп. А хочешь посмотреть своё? Покупай Windows или специальную железку. Очень, очень клиентоориентированно.

Вот про эту прекрасную историю и поговорим.

Читать далее

Ближайшие события

XB-70 Valkyrie: самолет, изменивший сверхзвуковую авиацию и разбившийся ради красивого кадра

Уровень сложностиПростой
Время на прочтение34 мин
Охват и читатели28K

Утро 8 июня 1966 года. База Эдвардс в Калифорнии. Майор ВВС Карл Кросс паркует машину у ангара за час до старта. В правом кресле XB-70 Valkyrie он сядет сегодня впервые в жизни. Его ждет первый полет на самом амбициозном детище американской авиации 60-х.

Самолет, к которому он шел, через час с небольшим окажется в плоском штопоре, а еще через 25 секунд превратится в обломки в пустыне Мохаве. Кадр, который сделают в строю за 20 секунд до катастрофы, станет, наверное, самой известной фотографией в истории испытательной авиации. А виновником катастрофы окажется фотограф компании General Electric, попросивший пилотов «потесниться для красивого снимка».

ding!

Сага о подшипнике. Как маленький шарик борется с силой трения

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели27K

На заре цивилизации, чтобы сдвинуть многотонный груз, наши предки использовали простейшие бревна-катки. Но это был лишь первый шаг в борьбе с силой трения. В Древней Греции, около 330 года до н. э., военный инженер Диадес создал прототип подшипника для таранного механизма, где ролики двигались в специальных желобах.

Чуть позже, во времена Римской империи, великий архитектор Витрувий описал применение подобных устройств в осадных машинах. А одним из самых ярких античных следов этой идеи стала находка на озере Неми. Среди деталей, связанных с роскошными кораблями Калигулы, обнаружили поворотную опору с бронзовыми шариками. Это не был шарикоподшипник в современном смысле, но сам принцип опоры качения римлянам уже был знаком — просто его время еще не пришло.

Но как мы дошли от этих катков и античных диковин до современных прецизионных узлов, точность которых измеряется микронами? Давайте проследим эту революцию вращения.

Читать далее

IT очищается от случайных людей. И это хорошо

Время на прочтение3 мин
Охват и читатели42K

Прочитал статью "Как я в 2026 году ВЫШЕЛ из айти?". Если коротко, то там про парня, который несколько лет работал на нелюбимой работе программиста. Каждая встреча — мучение, каждая задача — мучение. Нужно было буквально каждый день заставлять себя работать. Когда конкуренция стала еще сильнее, стало еще тяжелее, потому что сменить работу уже было невозможно. Легкие деньги ушли из профессии. В итоге автор ушел на обычную работу кровельщика. Начал, условно, класть шифер на свежем воздухе и радоваться солнышку.

Я, безусловно, рад за автора. Рад, что прекратились его мучения. Рад, что он обрел счастье и любимую работу. Но еще больше я рад за IT, потому что там стало одним случайным человеком меньше. Не воспринимайте это грубо, дальше я объясню, что имею в виду.

Читать далее

«Красный Атлас», или как создавались самые детальные карты в истории человечества

Время на прочтение7 мин
Охват и читатели20K

В 1993 году британский разработчик Джон Дэвис случайно наткнулся на пыльную коллекцию карт в книжном магазине в Риге. На них были изображены небольшие города в Канзасе, сельские дороги в Танзании, валлийские деревни, которых нет ни на одной карте, неработающие трамвайные линии в Великобритании. Карты имели информацию о грузоподъемности мостов, глубине водоемов, составе дорожных покрытий и даже расстоянии между деревьями в лесу. Они были точнее, чем лучшие западные военные карты того времени.

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

Читать далее

Как я в 2026 году ВЫШЕЛ из айти?

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели58K

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

Читать далее

ИИ не автоматизировал разработчиков. Он сделал кое-что хуже

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели40K

«Ты кнопкодав с многолетним опытом смузихлёбства» — примерно так сейчас звучит позиция рынка в адрес опытных разработчиков. Венчурные деньги уходят в AI-first, штаты сокращаются, джуны уверены, что знают лучше. Я руководил отделом из 30 человек и наблюдал это изнутри.

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

Читать далее

Тот неловкий момент, когда письмо от Джованни из Швейцарии не оказалось обманом

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели26K

Вам когда-нибудь приходили спам-письма от наследных принцев?

Вот эти самые, где ты типа унаследовал состояние в миллиард долларов, а чтобы его получить, надо всего-то скинуть куда-то пару тысяч евро, желательно прямо сейчас.

Мне приходили, поэтому к письмам от иностранцев отношусь настороженно. Тем более в наше время.

Но тут недавно случилось интересное.

Сижу, работаю, никого не трогаю. Я юрист по патентам. И приходит мне тут внезапное письмо…

Читать далее
1
23 ...