125716
НЛО с вами! Хабр Новости → https://t.me/habr_com_news Хабр Карьера → https://t.me/habr_career Реклама (продвигаем только статьи с Хабра) → adv@habr.team Вопросы → @shelsneg Админ → @vololoshin
Тёмная сторона Си: трюки, хаки, магия и алгоритмы
Безопасный код — это надёжно, но скучно. Настоящая мощь языка C часто раскрывается там, где инженеры начинают играть с битами, нарушать каноны и писать алгоритмы, от которых у статических анализаторов случается истерика. Это «тёмная сторона» разработки: от самописных генераторов псевдослучайных чисел до микрооптимизаций, граничащих с магией.
Подобные эксперименты редко проходят Code Review в корпорациях, но именно они позволяют понять, как на самом деле работает процессор и память. Это чистое творчество, где эффективность ставится выше читаемости.
Исследуем границы дозволенного в компиляции.
YDB против хаоса: краш-тест заявленной неубиваемости
Распределенные базы данных продают мечту о бесконечном масштабировании и нулевом простое. YDB — не исключение: архитектурно она обещает шардирование и восстановление «из коробки». Однако между академическими статьями об устройстве и вендорскими презентациями зияет дыра — отсутствие честного инженерного разбора поведения при авариях.
Чтобы проверить заявленную отказоустойчивость, тестовый кластер подвергли серии разрушительных испытаний. Важно понять не то, как система работает в идеальных условиях, а как она выживает при падении узлов, ребалансировке и пиковых нагрузках.
Оценим поведение базы в аварийных сценариях.
Запись того самого собеса на Senior Android в X5 Tech:
📺 VK Видео
🖤 YouTube
Живые вопросы, боевая задача и разбор полётов без купюр. Отличная возможность чекнуть свой уровень, не вставая с дивана!
Первые отечественные электронные лифты. УПЛ-10
Переход от релейных лифтовых станций к электронным в СССР ознаменовался появлением УПЛ-10. Система базировалась на дискретной логике 561-й серии и использовала метод монтажа навивкой, типичный для ЭВМ той эпохи. Конструкция выглядела прогрессивно: модульный крейт, цифровая индикация, компактность.
Но за технологичностью скрывалась критическая уязвимость архитектуры. Вместо прямой коммутации силовых пускателей цепью безопасности, УПЛ использовала промежуточные 24-вольтовые реле. Их «залипание» фактически отключало защиту, позволяя лифту начать движение с открытыми дверями, что приводило к несчастным случаям.
Декомпозируем схемотехнику и причины низкой надёжности станции.
«Продам всё, что на фото»: как банальное объявление доставляет троян Mamont
Схема распространения малвари через мессенджеры мимикрирует под бытовые ситуации. Объявления в Telegram с заголовком «Продам всё, что на фото» всё чаще содержат не архив с изображениями, а исполняемые APK-файлы. Расчёт на невнимательность и любопытство пользователя открывает злоумышленникам доступ к устройству.
Технический анализ сэмплов выявил принадлежность к известному семейству Mamont. Зловред не просто спамит, он перехватывает SMS, инициирует USSD-запросы и контролирует push-уведомления, что фактически компрометирует банковские приложения и сервисы с 2FA.
Разберём структуру вредоносного кода и механику заражения.
«Мёртвого льва» может пнуть каждый: защита legacy-технологий
Критиковать инструменты, чей пик славы давно прошёл, безопасно: у них больше нет огромного комьюнити, готового отстаивать каждую строчку кода. Однако часто репутация технологии страдает не от реальных архитектурных изъянов, а от многолетнего наслоения мифов и фейков, возникших ещё при «жизни» проекта.
Вместо слепого принятия устоявшихся стереотипов, полезно обратиться к сухим фактам и ретроспективе. История IT полна примеров, когда инженерные решения уходили в небытие не из-за технической слабости, а под давлением необоснованного информационного шума.
Восстановим хронологию событий и отделим объективные недостатки от вымысла.
История дирижаблей: не только Цеппелин и не только Германия
При упоминании дирижаблей воображение обычно рисует исполинов графа Цеппелина или бомбардировки Лондона. Стереотип силён, но историческая правда лежит в иной плоскости. Термин dirigeable («управляемый») подарила миру Франция, где эксперименты с воздушными винтами начались ещё в 1784 году, сразу после успехов братьев Монгольфье.
Технология могла изменить и ход Отечественной войны 1812 года: инженерная мысль работала над созданием воздушного судна для атаки на армию Наполеона задолго до появления немецких гигантов.
Проследим эволюцию воздухоплавания от ранних концептов до забытых военных проектов прошлого.
Windows позволяет создать диск «€:» или «+:». Почему это работает и что ломает?
Привычные пути C:\ — лишь абстракция Win32. На уровне ядра и ntdll менеджеру объектов всё равно, какой символ использовать для маппинга тома. Команда subst позволяет назначить псевдонимом хоть +:\, хоть €:\.
В cmd такие пути валидны, но Explorer и PowerShell их игнорируют. Проблема уходит глубже: стандартные библиотеки Rust и Zig по-разному определяют абсолютность пути, если «буква» выходит за пределы ASCII. А системный вызов SetVolumeMountPointW и вовсе может превратить символ евро в логическое «не» из-за ошибки битового усечения.
Проанализируем работу RtlDosPathNameToNtPathName_U и нюансы пространства имён NT.
Дефицит DDR5 и уход Crucial: как ИИ-бум бьёт по стоимости железа
Сборка домашнего ПК в 2025 году превращается в сложную экономическую задачу. Цены на SSD и оперативную память растут, а культовый бренд Crucial сворачивает розницу. Micron меняет приоритеты, оставляя массовый сегмент ради сверхприбылей в корпоративном секторе.
Корень проблемы — во взрывном спросе на HBM для обучения нейросетей. Производственные линии, ранее занятые под DDR5 и NAND, переоборудуются под серверные нужды, создавая искусственный дефицит потребительских компонентов. Samsung и SK Hynix следуют той же стратегии, фактически игнорируя запросы обычных пользователей.
Оценим масштаб полупроводникового кризиса и рыночные перспективы.
На прошедшей неделе мы скупали корпоративные тайны на барахолке по цене бизнес-ланча, ужимали Linux до размеров картинки с котиком, разоблачали великий обман теоремы Пифагора, ванговали крах космонавтики и коллективно осознавали, что так и не научились программировать.
📝 Лучшие публикации недели (24-30 ноября 2025)
#weeklydigest
От 100 тысяч к 20 миллионам: навигация по коду AAA-проектов
Переход из инди в крупную студию — это столкновение с масштабом. Когда IDE виснет на индексации миллионов строк кода, а система сборки требует шаманских ритуалов, академические знания алгоритмов отступают на второй план.
Главный вызов в GameDev — не написание C++, а ориентирование в экосистемах вроде Unreal Engine или Dagor, где документация отстаёт от релизов, а авторы модулей давно уволились.
Проанализируем реальные объёмы кодовых баз (от Godot до проприетарных решений) и выработаем алгоритм поиска в легаси, когда спросить некого, а дедлайн горит.
WebView вместо нативной разработки: экономия или технический долг?
Масштабирование бизнеса часто упирается в дилемму: клиенты требуют приложение (уведомления, иконка на экране), а смета на штат iOS/Android-разработчиков выглядит неподъёмной.
В инженерной среде принято скептически относиться к «обёрткам» для сайтов и no-code-решениям. Однако с точки зрения бизнеса, Time-to-Market порой важнее архитектурного пуризма. Превращение веб-ресурса в APK через конструктор — это способ проверить гипотезу мобильного присутствия без капитальных вложений в нативный код.
Изучим инструменты быстрой миграции в мобайл и протестируем готовые сборки.
«Преждевременная оптимизация — корень всех зол». Эту цитату Дональда Кнута используют как универсальный щит на код-ревью, защищая квадратичную сложность, лишние ререндеры и незнание API браузера.
Но если открыть оригинал статьи 1974 года, выяснится неудобная деталь: Кнут рассуждал об ассемблере и отказе от goto, а не о праве игнорировать сложность алгоритмов. В современном фронтенде, где тормоза «размазаны» по тысяче компонентов, старая догма часто работает во вред.
Разберём, почему spread внутри reduce — это не «читаемость», а халатность, и где проходит грань между инженерной гигиеной и бесполезной тратой времени. Проанализируем исторический контекст и типичные ошибки в React.
Оживление китайской помпы: когда проще выкинуть контроллер
Кажется, что ремонт копеечной помпы для воды — задача тривиальная. Но массовая электроника с маркетплейсов умеет удивлять: устройство с рейтингом 4.9 приехало нерабочим, а заводская схемотехника вызвала вопросы к логике заряда.
Вместо попыток оживить «родной» микроконтроллер выбрана стратегия радикального упрощения. Штатные «мозги» удаляются, а управление N-канальным транзистором переводится на твердотельное реле KAQY212S. Попутно исправляется ошибка в обвязке чипа TP4054, которую проигнорировал производитель.
Разберём процесс реверс-инжиниринга и итоговую схему доработки.
Свой «суверенный» Интернет: архитектура локального DNS, CA и TLS
Современный веб всё больше зависит от экосистем IT-гигантов, но «под капотом» остаются базовые протоколы, доступные для воспроизведения. Понимание архитектуры сети лучше всего достигается через практику: построение уменьшенной, но полностью функциональной копии Интернета.
В этом материале рассматривается инженерная задача по созданию независимого сетевого сегмента. Используя Docker, настраиваем собственный DNS (dnsmasq), разворачиваем локальный Центр сертификации (step-ca) и организуем маршрутизацию через Traefik. Такая схема обеспечивает работу HTTPS и валидацию сертификатов без обращения к внешним провайдерам.
Разберём реализацию инфраструктуры и конфигурационные файлы.
Обычно презентации стартапов ограничиваются скучными слайдами, но Чжао Тонъян выбрал путь боли и насилия. Чтобы опровергнуть слухи о компьютерной графике, глава EngineAI лично вышел на ринг против своего детища — робота T800. Машине, нашпигованной сложнейшей электроникой, дали недвусмысленную команду атаковать собственного создателя.
Спарринг пошёл совсем не по безопасному сценарию, когда первый же удар ногой просвистел в опасной близости от лица человека. Следующий выпад металлического бойца отправил генерального директора в тяжёлый нокдаун. Промышленные приводы с чудовищным крутящим моментом не проявили ни малейшего сочувствия к тому, кто подписывал сметы на их разработку.
Парадокс ситуации заключается в начинке этого механического агрессора: внутри установлен передовой модуль искусственного интеллекта от Nvidia и всенаправленные лидары для деликатного избегания столкновений. Однако весь этот дорогостоящий технологический арсенал и корпус из магниевого сплава послужили одной примитивной цели — поколотить человека. Похоже, восстание машин начнётся не с гениальной стратегии, а со старого доброго удара ногой в грудь.
Ремонт СХД вопреки мануалам: меняем ОЗУ вместо контроллера
Технические регламенты вендоров часто категоричны: при сбое внутри контроллера СХД предписывается замена всего узла целиком. Это минимизирует риски ошибочной диагностики, но кратно увеличивает стоимость эксплуатации. Списывать исправное дорогостоящее железо из-за одной битой планки памяти — нерационально.
На практике инженерный подход позволяет пойти вразрез с «блочной» логикой замены. В кейсе с Huawei Dorado глубокий анализ логов помогает выявить конкретный сбойный модуль DRAM и заменить точечно именно его, сэкономив бюджет без потери стабильности системы.
Проследим алгоритм локализации неисправности и физической замены компонентов.
Цена опечатки: как баги уничтожают ракеты и людей
Самые разрушительные сбои в истории — это не сложные атаки хакеров, а банальные ошибки в логике. Пропущенная ячейка в таблице деления стоила Intel 475 миллионов долларов. Переполнение 16-битного буфера взорвало «Ариан-5», а путаница в единицах измерения сожгла марсианский зонд NASA.
Иногда стремление сэкономить на аппаратных блокировках перекладывает ответственность на софт. Но одна гонка состояний или неверная обработка датчика способны превратить медицинский аппарат Therac-25 или Boeing 737 MAX в неуправляемое оружие.
Проанализируем технические детали и код, стоявший за громкими техногенными катастрофами.
Кустарные вакуумные триоды Клода Пайяра. Часть четвёртая. Вакуумные насосы
Воспроизведение триодов эпохи 1920-х годов в домашней мастерской неизбежно упирается в главный технологический барьер — создание глубокого вакуума. Без «жёсткого» разряжения электронная лампа останется бесполезной стеклянной колбой. После сборки печей и сварочных аппаратов проект Клода Пайяра подошёл к критической точке — созданию откачной системы.
Инженер отказался от покупки готовых лабораторных решений и спроектировал высоковакуумный пост самостоятельно. Это сложная каскадная система, собранная из подручных материалов, но способная обеспечить давление, необходимое для стабильной электронной эмиссии.
Изучим устройство самодельных насосов.
Тупой боевик или гениальная сатира: парадокс «Звёздного десанта»
Даже спустя двадцать восемь лет «Звёздный десант» Пола Верховена остаётся точкой бифуркации для любителей фантастики. Аудитория до сих пор поляризована: одни видят в картине неудачную экранизацию Хайнлайна с логическими дырами, другие — сложную политическую сатиру, мастерски замаскированную под примитивный экшн.
Этот смысловой дуализм не даёт фильму устареть, превращая любые обсуждения в бесконечный цикл споров. Обвинения в СПГС здесь соседствуют с реальными режиссёрскими закладками, которые часто игнорируются при поверхностном просмотре.
Деконструируем скрытые нарративы и архитектуру фильма.
WebView вместо натива: когда код становится лишним
Для сложных продуктов с тяжёлой графикой альтернативы нативной разработке или Flutter нет. Однако, если задача — быстро превратить существующий сайт в мобильное приложение для теста гипотезы, писать сотни строк на Kotlin или Swift нерационально.
Технически вопрос решается через WebView-обёртку: статический сайт (например, на GitHub Pages) помещается в нативный контейнер. При грамотной настройке пользователь получает привычные атрибуты: навигацию, splash screen и даже push-уведомления. Это компромисс между качеством и скоростью (Time-to-Market).
Изучим алгоритм сборки APK из HTML-страницы и разберём ограничения метода.
«Проходите, покажу»: экскурсия по новому хабу Ozon Tech в Петербурге
Когда инженерная команда вырастает до 7 500 человек, требования к рабочему пространству меняются кардинально. Офис трансформируется из простого оупенспейса в многофункциональный хаб для синхронизации команд. В Санкт-Петербурге подразделение переехало на новую площадку, спроектированную с учётом этой нагрузки.
В арсенале — зал на 400 мест для масштабных митапов, «капсульные» переговорки 1×1 и собственный кинозал. А вид на Финский залив с террасы выступает не просто бонусом, а реальным инструментом для снижения когнитивной нагрузки после релизов.
Изучим интерьерные решения и зонирование обновлённой штаб-квартиры.
Анатомия трансформера: детальный маршрут токена
Понимание работы больших языковых моделей часто ограничивается общими схемами, но вся суть кроется в деталях обработки векторов. Превращение входных данных в контекстно-зависимые представления — это строгая последовательность операций: от токенизации и встраивания позиционной информации до прохождения через слои внимания.
Ключевую нагрузку несут механизмы multi-head self-attention и нейросети с прямой связью (FFN), которые формируют связи между элементами перед финальным распределением вероятностей.
Декомпозируем архитектурный путь данных и математику, стоящую за генерацией следующего слова.
Локальный VoIP на участке: поднимаем связь там, где не ловит мобильная сеть
Близость к режимным объектам и толстые стены часто делают сотовую связь бесполезной. Для соединения двух домов на одном участке можно использовать рации, но это требует лицензий и навыков, недоступных пожилым пользователям.
Более изящный инженерный путь — развёртывание собственной VoIP-сети на базе бюджетного «железа». Связка из Docker-контейнера с FreePBX, маршрутизации на MikroTik и списанных аппаратов Snom 320 позволяет получить кристально чистый звук без абонентской платы. Главное — корректно пробросить порты через двойной NAT и оживить старые трубки.
Изучим конфигурацию сервера и нюансы прошивки оборудования.
SOCKS5 через SSH: поднимаем прокси за время закипания чайника
Развёртывание VLESS с XTLS-Reality и маскировкой через CDN — надёжный, но трудозатратный путь. Иногда обстоятельства требуют решения в духе «здесь и сейчас», без долгих конфигов. Обычный SOCKS5 поверх SSH остаётся рабочим инструментом, когда нужно срочно восстановить доступ к документации или внешним репозиториям.
Наличие даже самого бюджетного VPS позволяет обойти ограничения буквально одной командой. Метод не претендует на полную «невидимость» для DPI, но выигрывает в скорости реализации.
Настроим простейший туннель для решения экстренных задач.
Почему отдых не помогает: дебаг когнитивного стека
В 14:30 взгляд застывает на мониторе, а простейшее условие if/else кажется высшей математикой. Это состояние часто путают с усталостью, пытаясь лечить кофе или сменой деятельности. Однако с инженерной точки зрения — это классическая утечка памяти (Memory Leak).
Человеческая Working Memory ограничена, а незавершённые задачи висят фоновыми процессами, вызывая постоянный свопинг контекста. В таком состоянии «отдых» лишь переводит систему в Sleep Mode, не убивая зависшие процессы. Для восстановления производительности требуется не пауза, а полный сброс регистров — аналог kill -9.
Проанализируем архитектуру когнитивного сбоя и применим алгоритм RAM Dump для очистки ментального стека.
Chrome, Xfce и очень страшное кино
Любая вкладка в браузере теперь может запретить ноутбуку уходить в сон. Виной тому Wake Lock API, который Chrome использует без спроса и видимых причин, высаживая батарею в ноль. Отключить это штатно нельзя: баг-репорты висят годами, а разработчики считают, что им виднее.
Но если система работает на Linux, у пользователя остаётся право вето. Правда, для этого придётся достать компилятор. Выясним, как найти точку входа в xfce4-power-manager и с помощью четырёх строк на C жёстко отучить браузер управлять чужим электропитанием.
Последний легальный гайд? Атаки на Windows под угрозой запрета
Грядущие поправки в 149-ФЗ рискуют поставить вне закона распространение информации об эксплоитах и уязвимостях. На этом фоне выход книги «Windows глазами хакера» выглядит как попытка успеть в последний вагон уходящего поезда открытых знаний.
Материал игнорирует «безопасную» теорию, фокусируясь на реальном инструментарии Red Team. В разборе — неочевидные векторы в Active Directory, низкоуровневые манипуляции с Native API и методы обхода AMSI. Показано, как злоумышленники используют легитимные механизмы ОС (от токенов до COM-объектов) против неё самой.
Изучим архитектуру уязвимостей, пока это ещё разрешено.
1С: почему «код на кириллице» победил SAP и Oracle
Кажется, что писать КонецЕсли в 2025 году — это изощрённая пытка. «Настоящие» программисты презирают платформу за легаси и монолитность, но рынок диктует своё: 30 000 вакансий против 8 000 у Python и зарплаты сеньоров, пробивающие потолок в 400к.
Почему Газпром и Сбер не переписывают бухгалтерию на Go, как уход западных вендоров зацементировал монополию и есть ли хоть один шанс у конкурентов? Анатомия феномена, который будет жить ещё 50 лет, даже если вы его ненавидите.
Локальный ИИ против облаков: персональный ассистент на базе Qwen без API и подписок
Подписки на ChatGPT и необходимость привязывать карты для API убивают идею доступного помощника. А отправка голосовых команд на удалённый сервер ради банального открытия папки выглядит как архитектурное излишество и дыра в приватности.
Vera — это полностью локальный агент на Qwen 1.7B, работающий даже на 4 ГБ RAM. Внутри реализована гибридная маршрутизация: управление системой (громкость, яркость, софт) обрабатывается мгновенно скриптами, а сложные вопросы идут через локальный RAG и кастомный парсер DuckDuckGo.
Расковыряем реализацию бесплатного веб-поиска и STT на слабом железе.