Обновить

Разработка

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

Кладбище пет-проектов: типичные ошибки разработчиков на пути к собственному продукту

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

Эх, сколько планировщиков и туду-листов так и не увидел мир.

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

Читать далее

Query Prediction, или как мы отказались от ANN и полюбили обратный индекс

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

Всем привет! Меня зовут Антон Пилькевич, я более четырёх лет занимаюсь ранжированием и текстовой релевантностью в поиске Ozon. И вот настал момент, когда у меня появилось время поделиться своими мыслями. В этой статье вас ждёт увлекательное путешествие в ML-мир текстового поиска Ozon, а также знакомство с флорой и фауной существующих решений в этой области! 

Читать далее

DOM-дерево — как не запутаться в ветвях объектной модели документа

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

Бывало такое: смотрите вы на красивую страницу интернет-магазина, открываете консоль разработчика (ту самую, по F12 или через правый клик), а там — лес из тегов, который вообще не похож на то, что вы видите глазами?

Привет, Хабр! Меня зовут Александр Дудукало, я автор курса по JavaScript. В этой статье мы продолжаем знакомиться с элементами страницы, а именно с DOM. Эти знания вам точно понадобятся в работе с любым проектом. Давайте же больше узнаем, что это за дерево и как с ним работать. Поехали.

Читать далее

Какие выводы сделал Роберт Мартин, поработав с AI Coding?

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

Автор «Чистого Кода» и «Чистой Архитектуры» рассказывает про свой нелёгкий путь в AI coding: какие инструменты попробовал, какие шишки набил, к чему пришёл в итоге.

Читать далее

Почему универ не готовит программистов

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

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

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

С одной стороны у нас движковый, анимационный и gameplay программист это буквально одна из самых дефицитных профессий в индустрии прямо сейчас, чтобы вы понимали в среднем нехватка по студиям больше 20% мидловых и помидорских позиций, т.е. не хватает как минимум одного спеца в каждой команде, куда ни ткни. А ребята из Epic Games, Unity, CD проджектов и прочих крупных студий постоянно жалуются, что не могут найти нормальных специалистов, которые реально умеют работать с современными движками, и они готовы платить безумные деньги (безумные по меркам штатов конечно, в старом свете все более приземленное, но тенденция та же) тем кто шарит в графике или может написать мультипоточный код, который не развалится на проде, или знает, как выжать лишние пару кадров из железа, но людей всё равно не хватает и это при том, что желающих работать в геймдеве очень и очень много.

Читать далее

Байки с завода: объявляем сезон Heavy Digital на Хабре

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

Наши недавние публикации в блоге Цифрового СИБУРа вызвали оживленные дискуссии. Выяснилось, что ещё для очень многих людей слово «завод» ассоциируется с чем угодно, только не с цифровизацией. Большинство людей видят промышленность как картинку из старого советского фильма: трубы, цеха, большие агрегаты, мужики в форме бегают и что-то делают. Многие уверены, что там используют отсталый стек и вряд ли понимают потенциал ИИ.

Это давно не так, и современные заводы могут сильно удивить цифровизацией процессов, автономностью и минимизацией ручного труда. Для нас этот тезис сам собой разумеется, однако главное правило Хабра: тезис нуждается в доказательствах. И вот с этим есть сложность. Как-то так сложилось, что статей по теме Heavy Digital пока очень мало. Но мы попробуем изменить ситуацию.

С 30 января по 15 марта 2026-го мы открываем на Хабре сезон Heavy Digital — конкурс статей о цифровизации промышленности. Если у вас есть кейс, история из мира современных заводов, разбор решений или интересный научпоп о технологиях на производстве — самое время поделиться этим с читателями.

Узнать о сезоне

Clawdbot → Moltbot → OpenClaw ≠ магия: честный гайд по приручению AI-ассистента

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

Подробный разбор OpenClaw (бывший Clawdbot). Рассказываю, почему для личного Джарвиса не нужен Mac Mini, как развернуть систему на VPS за $5 и к каким техническим нюансам стоит подготовиться.

Читать далее

Фронтенд 2026: что умерло, что выжило и что взлетело неожиданно

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

Я открываю старый проект 2020 года и вижу знакомые имена в package.json: create-react-app, enzyme, moment.js, axios. Пять лет назад это был золотой стандарт. Сегодня же эти технологии вызывают у коллег искреннее недоумение: «Зачем это тут?»

А ведь прошло всего пять лет.

И за эти 5 лет изменилось очень многое: SPA переживает упадок, TypeScript стал обязательным стандартом, роль фронтенд-разработчика расширяется до full-stack. А дальше что, браузеры заменят фреймворки?

Читать далее

Apple проигрывает ИИ-гонку. Вот почему

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

Ловили себя на ощущении, что с Apple что‑то не так? Это по‑прежнему одна из главных компаний мира с элитными устройствами, миллионами фанатов и мощнейшим брендом. Но Apple больше не недосягаемый лидер, а всего лишь «одна из». Она больше не самая дорогая компания мира, у новых iPhone нет вау‑эффекта, а последняя большая инновация провалилась. И главное: Apple с треском проигрывает ИИ‑гонку. Как так вышло, что главный tech‑гигант 2010-х проспал ключевую технологию 2020-х? Разбираем главную причину: и она гораздо глубже, чем кажется на первый взгляд.

Читать далее

Тайна уникального телефона, который разработали в России — и он погиб в забвении… [Длиннопост, про железо]

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

Недавно в моих руках оказался уникальный кнопочный телефон - Маском Н2. Сначала я подумал что это просто китайский NoName-телефон по типу DEXP'а, или Fly'я, однако сняв заднюю крышку - я обомлел... И в том числе из-за использования корпуса от неприметной раскладушки - Samsung GT-C3520. Интересно узнать, что он скрывает у себя внутри?

Читать далее

Нескучное программирование. Важны ли компилятору имена

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

Есть старая шутка о том “чем отличается обычный программист на С++ от хорошего программиста на С++”? Первый пишет код, а второй может объяснить, почему он работает. 

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

В центре всего, что происходит внутри компилятора, находятся два процесса: поиск имён и разрешение перегрузок, которое мы рассмотрели в предыдущих статьях. И каждый раз, когда компилятор обрабатывает ваш код — он обрабатывает всего два вопроса:

Первый: «Что вообще может означать это имя здесь?»
Второй: «Если вариантов несколько, какой из них правильный?»

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

Читать далее

Боль разработчиков в текущих реалиях: как я нашёл решение

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

Я инженер, занимающейся разработкой электронных устройств.

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

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

Основная мыль в том, что это различные этапы, связанные между собой, каждый из которых требует времени и внимания, а любой из нас знает – никогда это не идет по плану! Серьезно, за все время я ни разу не встречал другого разработчика, который сказал бы мне, что какое-то устройство у него получилось с первого раза, пройдя все проверки и оно ушло на серию. Любое устройство в первой итерации приблизительно выглядит как-то так...

Читать далее

Новые LLM из Китая, бесплатный аналог Suno, ИИ-собеседник от Nvidia и признание Альтмана о текстах в GPT

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

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

Неделя выдалась насыщенной: куча мощнейших релизов из Китая, которые наступают на пятки GPT-5.2 и Gemini 3. Реалтайм инструменты от Krea и NVIDIA, генеративные модели от Qwen и Hunyuan, а Сэм Альтман честно признал, что OpenAI испортили тексты в последних версиях GPT.

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

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

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

Обход стека в ядре Linux для RISC-V: разбираем и чиним

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

Привет, Хабр! Меня зовут Матвей Быстрин, я старший инженер в команде BSP (Board Support Package) YADRO. Мы занимаемся системным софтом, который необходим для загрузки и работы SoC: от загрузчиков до драйверов блоков.

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

Начну я с самой идеи механизма обхода стека и ее применения. Затем сфокусируюсь на том, как обход производится в архитектуре RISC-V. И наконец, перейду к той самой поломке, что легла в основу статьи, и к ее ремонту.

Читать далее

Милота, безумие и старики. Почему японский интернет такой странный?

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

Что объединяет пенсионеров-лудоманов, барсука-полицейского и сайты из нулевых? Сегодня мы погрузимся в веб Страны восходящего солнца, чтобы найти ответ на этот вопрос.

Читать далее

Решаем архитектурную проблему nginx с HTTP/3: опыт Angie и магия eBPF

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

Для пользователя может показаться, что переход с HTTP/2 на HTTP/3 — это просто замена TCP на UDP в конфиге. Но для серверного ПО с многопроцессной архитектурой этот шаг превращается в настоящую «головную боль». Классическая схема с accept(), на которой годами строилась работа с TCP‑соединениями, в мире QUIC попросту не существует. Пакеты летят в UDP‑порт, и ядро ОС больше не знает, какому именно рабочему процессу их отдать.

В оригинальном nginx это привело к тому, что поддержка HTTP/3 уже долгое время остается «экспериментальной» и ограниченной: она страдает от проблем с обрывами сессий и деградации сервиса при обновлении конфигурации. Для многих это стало стоп‑фактором для внедрения протокола в реальный продакшен.

В этой статье мы расскажем, как в Angie 1.11 нам удалось устранить эти фундаментальные недостатки. Мы не просто добавили поддержку протокола, а пересмотрели механику взаимодействия с ядром. Путь от простых хешей до создания полноценного аналога accept() для QUIC с помощью BPF‑программ позволил нам заявить: реализация HTTP/3 в Angie закончена, лишена «детских болезней» nginx и полностью готова к эксплуатации в высоконагруженных средах.

Добро пожаловать под капот современного транспорта данных.

Читать далее

Как AI VK построили единую платформу для рекомендаций, поиска и рекламы в продуктах с многомиллионной аудиторией

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

Привет! На связи команда рекомендаций AI VK. Фактически в каждом продукте есть и рекомендации и поиск, и чтобы каждой команде не приходилось изобретать свой «велосипед», мы разработали единую Discovery-платформу. С ней команды могут «по кнопке» запускать рекомендации, тестировать модели, а также делиться лучшими решениями.

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

Переходите под кат, будет интересно ⬇️

Про Discovery-платформу

Разбираемся в функциональных зависимостях БД

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

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

Пора раз и навсегда разобраться во всем этом. Тем не менее, я постараюсь не упускать детали и, где это уместно, углубиться в тему с головой. Без претензии на академичность, но с претензией на ясность. Начнем.

Читать далее

# Vibe Coding под прицелом: Claude Opus 4.5 против китайского GLM-4.7 в бою за транскрибацию GigaAM

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

Месяц работы за один вечер: сравнил Claude Opus 4.5 и китайский GLM-4.7 в vibe coding на задаче локального транскрайбера для NDA-встреч. Где критические баги, а где архитектурный идеал — и почему дорогой инструмент в 7 раз не всегда оправдан.

Читать далее

Acer n311 — мой сегодняшний квест [Министатья]

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

Сегодня ночь выдалась очень интересной, благо я выполнял квест под названием «реставрация крутейшего КПК с видеочипом Nvidia 20-летней давности»! Недавно мой подписчик подогнал мне Acer n311, у которого не работал тачскрин, который намертво зависал и порой вообще переставал включаться и на что либо реагировать. Но мы ж с вами тоже не лыком шитые и хотим дать новую жизнь старенькому, уставшему, но такому классному КПК!

Читать далее