Обновить

Разработка

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

Если вы эксперт 45+ и вдруг решили сменить работу

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

Для возрастных кандидатов на рынке IT действительно существует негласная планка. После 45 лет количество откликов и звонков заметно снижается, а ближе к 50 поиск работы рискует превратиться в тяжелый труд, где помогают либо связи, либо уникальная, редкая экспертиза. Это касается не только embedded разработчиков, но и любых IT специалистов.

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

Читать далее

В GitHub Actions, пожалуй, худший пакетный менеджер

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

Когда я закончил работать над проектом ecosyste-ms/package-manager-resolvers, мне стало интересно, какой алгоритм разрешения зависимостей использует сервис GitHub Actions. Когда вы записываете в файл рабочего потока uses: actions/checkout@v4, то объявляете зависимость. GitHub её разрешает, скачивает и исполняет. Так работает управление пакетами. Я же решил отправится в кодовую базу runner, чтобы увидеть весь этот процесс изнутри. И открытия, скажу я вам, оказались весьма тревожными.

Читать далее

Станет ли FreeBSD 15.0 новым шагом в развитии свободной ОС

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

2 декабря 2025 года, спустя два года после выхода ветки 14.0, сообщество FreeBSD представило долгожданный релиз 15.0. Нам обещают ряд технических улучшений и серьезные изменения в подходе к разработке и сопровождению системы. Кажется, все желающие уже выпустили новости по этому случаю с перечислением основных апдейтов. Что ж, попробуем посмотреть внимательнее, что же нам предлагают.

Читать далее

Минимальный набор практик для микросервиса

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

Я собрал минимальный набор практик, без которых микросервис очень быстро превращается в «чёрный ящик»: логи, трассировка, метрики, конфигурация, feature flags, тестирование и чуть-чуть документации. Это не теория — это вещи, которые я выстрадал, пока делал Go-шаблон для коллег, переходящих после Ruby/PHP, и пытался сделать так, чтобы сервис было реально удобно запускать, отлаживать и поддерживать.

Внутри — простые объяснения, почему эти штуки окупаются, и примеры на Go: как разделить логи и связать их с trace_id, как руками добавить span, какие метрики имеет смысл считать, как организовать конфиг, зачем OpenFeature, почему testcontainers — это не боль, и почему Makefile иногда экономит больше времени, чем очередной «идеальный рефакторинг».

Читать далее

Скажи yay -S say

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

Статья содержит описание работы утилиты для видео звонков из командной строки say. Рассказывается о том как всё устроено под капотом, как оптимизированно и почему всё работает так быстро с минимальным размером памяти и нагрузки на CPU.
Так же небольшой обзор утилиты see для просмотра фильмов опять же в окне терминала.

Читать далее

Вот такие пироги… Почему нам врут круговые диаграммы

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

Все мы видели круговые диаграммы. Их любят рисовать во всяких отчётах и презентациях. А ещё их очень любят авторы рекламных материалов и стоковых картинок: довольный «эффективный менеджер» с лучезарной улыбкой держит в руках распечатку графиков своего головокружительного успеха.

На первый взгляд может показаться, что круговая диаграмма — это отличный способ визуализации данных. Наглядно, красиво, высокохудожественно, современно. Однако у круговых диаграмм есть ряд проблем... При должном усилии их можно превратить в инструмент искажения данных. Но мы ведь хотим донести до наших читателей объективную информацию и не хотим её скрыть или исказить. Ведь правда?

Читать далее

В прошлом квартале я внедрил Microsoft Copilot для 4000 сотрудников

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

В прошлом квартале я внедрил Microsoft Copilot для 4000 сотрудников.

$30 за место в месяц.

$1,4 миллиона в год.

Я назвал это "цифровой трансформацией".

Совету директоров понравилась эта формулировка.

Они одобрили за одиннадцать минут.

Никто не спросил, что это вообще будет делать.

Включая меня.

Я всем говорил, что это "увеличит продуктивность в 10 раз".

Это не реальная цифра.

Но звучит как реальная.

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

Я сказал, что мы "задействуем аналитические дашборды".

Вопросы прекратились.

Три месяца спустя я проверил отчёты по использованию.

47 человек открывали его.

12 использовали больше одного раза.

Один из них — это я.

Я использовал его, чтобы пересказать письмо, которое мог прочитать за 30 секунд.

Это заняло 45 секунд.

Плюс время на исправление галлюцинаций.

Но я назвал это "успешным пилотом".

Успех означает, что пилот не провалился явно.

Финдир спросил про ROI.

Я показал ему график.

График шёл вверх и вправо.

Он измерял "AI-enablement".

Я эту метрику придумал.

Он одобрительно кивнул.

Теперь мы "AI-enabled".

Я не знаю, что это значит.

Но это есть в нашей инвесторской презентации.

Старший разработчик спросил, почему мы не используем Claude или ChatGPT.

Я сказал, что нам нужна "энтерпрайз-безопасность".

Он спросил, что это значит.

Я сказал "комплаенс".

Он спросил, какой именно комплаенс.

Я сказал "все виды".

Он выглядел скептически.

Я назначил ему "встречу по развитию карьеры".

Вопросы прекратились.

Microsoft прислала команду для кейс-стади.

Они хотели представить нас как историю успеха.

Читать далее

Ассемблер для гоферов. Структура и макросы. Часть 2

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

В этой части (первая тут) мы поговорим о структуре Go-программы с использованием ассемблера, о хитростях макросов. Будем писать дальше нашу ассемблерную функцию.

Читать далее

Как работают современные браузеры. Часть 2

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

Веб-разработчики нередко воспринимают браузер как «черный ящик», который каким-то чудом превращает HTML, CSS и JS в интерактивные веб-приложения. На самом деле современный браузер — будь то Chrome (на базе Chromium), Firefox (Gecko) или Safari (WebKit) — представляет собой чрезвычайно сложное программное решение. Он управляет сетевыми запросами, разбирает (парсит) и выполняет код, рендерит графику с ускорением на графическом процессоре (GPU) и изолирует контент в отдельных процессах для обеспечения безопасности.

В этой серии статей мы подробно рассмотрим, как устроены современные браузеры, сделав акцент на архитектуре и внутреннем устройстве Chromium, но также отметим ключевые отличия в других браузерах. Мы рассмотрим весь цикл: от сетевого стека и конвейера парсинга до рендеринга с помощью Blink, выполнения JS с помощью движка V8, загрузки модулей, многопроцессной архитектуры, песочниц безопасности и инструментов разработчика. Главная цель — дать понятное и доступное объяснение того, что происходит в браузере "под капотом".

Читать далее

Почему xor eax, eax используется так часто?

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

В одном из моих докладов по ассемблеру я показал список из 20 самых часто исполняемых команд на среднем десктопе x86 с Linux. Разумеется, в этом списке были привычные  movaddleasubjmpcall и так далее; неожиданным стало включение в него xor — «eXclusive OR». В эпоху, когда я занимался хакингом на 6502, наличие XOR было почти абсолютно точным указанием на то, что найдена часть кода, связанная с шифрованием, или какая-то подпрограмма обработки спрайтов. Поэтому удивительно, что машина с Linux, просто занимающаяся своими делами, выполняет такое количество этих команд.

Но потом мы вспоминаем о том, что компиляторы любят генерировать xor при присвоении регистру нулевого значения.

Читать далее

6 Docker-фич для продвинутого использования. Часть 2

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

Привет Хабр! Снова.

Docker уже давно стал стандартом, и базовые команды вроде docker rundocker build или docker compose up знакомы любому разработчику. Но экосистема и инструментарий контейнеризации гораздо глубже.

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

Читать далее

Большой куш Сбера – громкие заголовки на чужом коде

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

Привет, Хабр!

Поведаю историю, неизвестную почти никому, но от того не менее занимательную.

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

Читать далее

Программу для просмотра любого файла из букв

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

Добро пожаловать в SplView - программу для просмотра любого файла так, как если бы он состоял из букв (хотя на самом деле любой файл состоит только из чисел).
SplView каждое число в файле понимает как порядковый номер буквы в алфавите и изображает на экране вместо числа - букву, стоящую в алфавите под этим номером.
Получившийся из букв текст можно пролистывать колесиком мыши, стрелочными клавишами, клавишами Page Up, Page Down, Home и End.
Выйти из программы можно правой кнопкой мыши или клавишей Esc.
Выбрать файл для просмотра можно левой кнопкой мыши или клавишей F3.
Примечание 1: алфавит используется вот этот, в нём ровно 256 букв.
Примечание 2: этот алфавит можно сменить на другой (а потом обратно) с помощью клавиши F8.

Вот такой файл. Я сделал еще ДО инсульта!
Конечно это asm! "Программы для Windows я пишу на языке Flat Assembler. Выбор именно этой среды разработки совсем необычен, но так уж сложилось."
Наиболее интересное вот это:

Читать далее

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

Ускорение планирования JOIN’ов — до 16 раз быстрее

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

Привет, Хабр! Делимся переводом статьи о патче, сделанном разработчиком «Тантор Лабс» для 19 версии PostgreSQL — по сути, частичкой вклада нашей компании. Благодаря коммиту Ильи Евдокимова, в PostgreSQL 19 планирование JOIN’ов станет до 16 раз быстрее. Если раньше алгоритм сравнения частых значений (MCV) работал за O(N²), и при target=10k само планирование запроса могло занимать десятки миллисекунд, то теперь вместо квадратичного перебора будет использоваться хеш-таблица, а это снижает сложность до O(N). Изменение особенно оценят те, кто работает с неравномерными данными и поднимает default_statistics_target выше 1000.

Подробный разбор с тестами и графиками — в переводе статьи о нашем патче.

Читать далее

Как сделать реверс-инжиниринг аналоговой микросхемы: FM-радиоприёмник TDA7000

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

Что на самом деле происходит под чёрной каплей компаунда, когда вы крутите ручку FM-приёмника? В статье автор берёт старую, но очень показательную микросхему Philips TDA7000, снимает с неё «маску анонимности» и по фотографии кристалла восстанавливает внутреннюю схемотехнику.

По пути разбираются реальные NPN и PNP транзисторы на кристалле, резисторы «змейкой», p–n-конденсаторы, токовые зеркала, диффпары, смесители на ячейке Гилберта, квадратурный детектор и генератор шума. Параллельно показываются приёмы реверс-инжиниринга: как сопоставлять даташит с топологией, как выделять функциональные блоки, что можно «прочитать» по форме и окружению транзистора и почему TDA7000 — удобный учебный объект для тех, кто хочет заглянуть на уровень кремния, а не только принципиальных схем.

Смотреть анализ

Нейро-дайджест: ключевые события мира AI за 2-ю неделю декабря 2025

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

Привет! Это новый выпуск «Нейро-дайджеста» — коротких и полезных обзоров ключевых событий в мире искусственного интеллекта и технологий.

Неделя выдалась насыщенной: Mistral выкатили Devstral 2, Photoshop, Express и Acrobat встроили прямо в ChatGPT, а исследования показывают, что более 80% вайб-кода могут содержать уязвимости. Криштиану Роналду инвестирует в Perplexity, а Сэм Альтман считает, что сейчас невозможно воспитывать детей без ИИ.

Всё самое важное — в одном месте. Поехали!

Читать дайджест →

Vanilla CSS — единственное, что вам нужно

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

Команда JavaScript for Devs подготовила перевод статьи о том, как 37signals создают современные веб-приложения без Tailwind, Sass и сборщиков. Опираясь только на возможности нативного CSS, они строят масштабируемую архитектуру, используют :has(), color-mix(), CSS Layers, container queries и другие возможности, которые многие разработчики ещё даже не пробовали.

Читать далее

Как функциональное программирование изменило фронтенд и почему отрасль возвращается к платформе

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

Недавно я наткнулась на статью «How Functional Programming Shaped Modern Frontend» и неожиданно поймала себя на мысли: мы уже настолько привыкли к функциональному программированию (ФП) в JavaScript, что забыли, как всё начиналось и почему многие идеи казались почти спасением. Чтобы лучше понять эволюцию, я решила посмотреть, что писали разработчики о ФП во фронтенде 10 лет назад, примерно в 2013-2016 годах.

Контраст получился довольно яркий: от искреннего восторга до постепенного прозрения.

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

Читать далее

Техрепорт Alice AI: как мы создавали новое поколение моделей для самого популярного ИИ-ассистента в России

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

Сегодня мы делимся техрепортом, в котором разобран полный цикл создания нового семейства моделей Alice AI: базовая текстовая Alice AI LLM и специализированная LLM Search, мультимодальная Alice AI VLM и картиночная Alice AI ART. 

В части про Alice AI LLM расскажем, как сделали упор в Alignment на RL и Reward Modeling: мы минимизируем число разрозненных RL-стадий, собирая «общий RL». Вместо хрупкого «суперсигнала» используем аспектную формулировку качества и агрегируем её в целевую функцию, чтобы изменения критериев не требовали пересборки всей разметки. В главе про Alice AI LLM Search расскажем про многократные последовательные походы в Поиск с последующей фильтрацией/ранжированием источников. А также о том, как готовим ответы с использованием документов разной модальности (веб-документы, картинки, видео, гео).

Чтобы «вывезти» MoE-модель на сотни миллиардов параметров, мы целенаправленно сняли инфраструктурные ограничения обучения и инференса: в обучении используется YaFSDP (которую мы выложили в опенсорс) и собственная библиотека коллективных коммуникаций YCCL. В прод-инференсе мы работаем под SLA (avg TPOT ≤ 70 ms, p95 TTFT ≤ 2 s) и достигаем их комбинацией TP Attention/EP FFN, KV cache reuse, FP8 w8a8kv8 (в т. ч. сжатие KV cache ~3,05→~1,52 GB) и спекулятивного декодинга EAGLE‑3, что в сумме даёт 5.8× ускорение относительно BF16 (и 1,32× относительно лучшего open-source). Параллельно для Alice AI VLM нарастили в 1,5 раза объем претрейна, контекст до 32k и обновили OCR-датасет; VLM-генератор работает «из коробки», а для математики/геометрии выделен специализированный VLM‑решатель. В пайплайне Alice AI ART повышение релевантности к промпту начинается с диагностики смещений в датасете с помощью VLM и последующей адресной коррекции обнаруженных проблем.

Недавно все эти модели и решения легли в основу нашего нового ИИ-ассистента, и уже к ноябрю, согласно исследованию Mediascope, Алиса AI вышла на первое место по используемости среди россиян (14,3%), обойдя ранее доминировавший DeepSeek (9,4%). Кроме того, модель Alice AI LLM теперь доступна и для разработки собственных AI-решений на платформе Yandex AI Studio.

Читать техрепорт

Как установить почтовый сервер под Debian

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

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

Читать далее