Обновить

Разработка

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

По итогам Chaos Constructions'2025

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

Тридцать лет назад, в 1995 году, мы провели первую в России и бывшем СССР demo party (или, говоря более понятным языком, компьютерный фестиваль) - ENLiGHT. С тех пор мы делали это почти ежегодно, с 1999 года по нынешнее время - под именем "Chaos Constructions". В этой статье я хочу немного рассказать о Chaos Constructions'2025, прошедшем 23 и 24 августа этого года.

Читать далее

Мой список вопросов о CSS для собеседования в 2025 году

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

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

Ко мне обращаются проверить знание CSS у разработчиков. Это может быть при найме или для составления плана обучения сотрудника.

В этом году я обновил свой список вопросов. Интересно, сможете ли вы на них ответить. Сразу предупреждаю, что многие вопросы каверзные. В них есть подвох. К тому же они о последних нововведениях в CSS.

Так, вы готовы? Давайте посмотрим, что я вам подготовил.

Читать далее

Как я сделал робота — что хотел и что получилось. Часть 2

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

Привет! На связи Михаил Дроздов, младший разработчик в Selectel. Заканчиваю рассказ о создании собственного робота. Предыдущая часть была целиком посвящена железу: выбору компонентов, особенностям проектирования и изготовления корпуса, распайке электроники.

В этой части говорим о разработке ПО. Микроконтроллер, видеокамера, датчики, двигатели — уже соединены, питание подключено. Осталось вдохнуть жизнь в электронный организм, чтобы все его компоненты пробудились и начали согласованно взаимодействовать.

Читать далее

О сути здравого смысла и применимости его в искусственном интеллекте

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

Как пить из чашки, если у неё нет дна, а верх запаян? Эта милая загадка, которую я припоминаю ещё из старших классов школы, стала чрезвычайно мемной минувшим летом, когда выяснилось, что она ставит в тупик самые современные языковые модели. ChatGPT оказывается на удивление наивен, сталкиваясь с ней:

Читать далее

Сам себе breakpoint

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

Когда отлаживаешь программу, речь идет про использование отладчика в студии или другой IDE, то почти всегда имеешь дело с точками останова (breakpoint, бряками) — механизмом, когда выполнение программы приостанавливается, чтобы можно было заглянуть внутрь и понять, что происходит. Точек останова есть всего два основных типа, программные и аппаратные, а остальные все сделаны на их основе. Эти два базовых типа могут вести себя похоже, но устроены по-разному.

Программные точки останова — это то, с чем сталкивается каждый разработчик, когда вы ставите красную точку в среде разработки (в основном я использую большую студию) или используете команду bp под WinDbg. В этом случае отладчик просто подменяет один байт машинного кода в нужной инструкции на команду int 3. Это специальная инструкция для вызова прерывания отладки (Debug Interrupt), имеет машинный код 0xCC и говорит процессору: “Остановись, я хочу передать управление отладчику”, соответственно когда выполнение доходит до этой инструкции, срабатывает прерывание, и управление передаётся в отладчик. Отладчик "просыпается" и видит, что программа остановилась из-за исключения EXCEPTION_BREAKPOINT , возникшего по конкретному адресу, проверяет свой внутренний список точек останова и находит ту, которая была установлена по этому адресу.

Читать далее

Отвлекать разработчиков ПО намного вреднее, чем считает большинство менеджеров

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

После COVID-19 наша культура труда в основном изменилась к лучшему, но были и негативные изменения, например, увеличение количества совещаний на 13,5%[1].

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

В своей знаменитой статье «Maker's Schedule, Manager’s Schedule» [2] Пол Грэм писал:

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

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

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

Читать далее

Асинхронность vs. многопоточность: что выживет в эпоху No GIL?

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

Хватит спорить — пора запускать и сравнивать.

Тестируем реальные сценарии, измеряем RPS, смотрим на потребление памяти и разбираемся, когда самая разумная стратегия — это просто подождать и обновить Python на free-threading версию. 

Привет, Хабр! Меня зовут Игорь Анохин, я — руководитель платформенной разработки в K2 Cloud и более 8 лет программирую на Python. 

Читать далее

Zip-бомбы против агрессивных ИИ-краулеров

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

Некоторые владельцы сайтов жалуются на большое количество ботов, которые создают нагрузку на серверы, особенно краулеры для LLM (ИИ). По информации аналитического отчёта Fastly, краулеры, скраперы и фетчеры иногда создают нагрузку на сайт до 39 тыс. запросов в минуту.

В 2025 году нагрузка от скраперов выросла на 87%, причём основной трафик идёт от RAG-скраперов, а не для первичного обучения моделей.

Читать далее

Большой FAQ про Wi-Fi

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

Привет Хабр! Меня зовут Алексей и я занимаюсь беспроводными технологиями. Собственно беспородными технологиями я занимаюсь уже около 20 лет. И сегодня хочу представить на ваш суд большой FAQ по вопросам так или иначе связаны с wi-fi. Этот список я начал формировать еще на заре свей карьеры, когда обучаясь в вузе подрабатывал в службе технической поддержки провайдера, и чуть позже когда работал монтажником и общался с клиентами. После этого было много чего, разные должности, проекты но так или иначе я возвращался к списку вопросов, актуализировал его для друзей, для новых коллег и т.д. Надеюсь он будет для вас полезен. Его можно использовать как угодно, в том числе и для тиражирования.

Читать далее

Пайплайн цифрового фотографа на LINUX

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

Хочу поделиться своим опытом выстраивания конвейера (pipeline) обработки и каталогизации фотографий. Постарался сделать повествование как можно увлекательнее, заостряя внимание на принципиальной сути, вместо пошагового руководства.

Читать далее

Что значит «хороший вкус» в разработке ПО?

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

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

Читать далее

Как я сделал робота — что хотел и что получилось. Часть 1

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

Привет! На связи Михаил Дроздов, младший разработчик в Selectel. Все началось с простого вопроса о том, как устроен мир микроконтроллеров. Возникло желание не просто прочитать теорию об Arduino или подключить пару датчиков к плате. Хотелось понять саму суть — архитектуру, принципы работы и реальные возможности подобных систем.

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

Выбор пал на создание робота-универсала. Такое устройство — целый мир механики, 3D‑печати, электроники, низкоуровневой разработки, веба и даже ИИ. Идея — создать машину, которая не просто перемещается в пространстве, а по-настоящему видит и понимает свое окружение.

Можно ли представить лучшую возможность поработать с различными типами датчиков и исполнительных механизмов? Также впереди ждали интересные задачи…

Читать далее

Линейная алгебра: четыре разных подхода к одной задаче

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

В этой статье разберем четыре задачи из студенческих олимпиад по математике. Условие везде такое: возвести матрицу в какую-то большую степень. Но вместе с этим мы увидим, что в зависимости от того под каким углом посмотреть на задачу актуальными оказываются самые разные разделы линейной алгебры. Поехали!

Читать далее

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

Тайна самой дешевой консоли с Ozon

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

Наверняка многие читатели слышали о самой дешевой консоли на маркетплейсах — «Sup». На первый взгляд, это устройство — чудо чудное: цветной дисплей приличного разрешения, целых 500 игр в комплекте, аккумулятор и даже дополнительный геймпад, и всё это за какие-то 400 рублей в розницу.

Обычный человек просто подумает мол «очередной масс-маркет по типу Тетриса» и пройдет мимо. Однако моя гиковская душа очень хотела узнать, в чём же заключается тайна самой дешевой консоли на Озоне и я решил заглянуть «под капот»… Поверьте, внутри гораздо интереснее, чем кажется на первый взгляд!

Читать далее

«LLVM для AI». Крис Латтнер и язык программирования Mojo

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

Крис Латтнер (Chris Lattner) — создатель CPU-компилятора LLVM и соавтор Swift — предложил новый язык программирования Mojo, спроектированный для одновременного программирования CPU, GPU и TPU (тензорные ядра, оптимизированные для матричного умножения, а это и есть инференс LLM), без всяких лишних библиотек типа CUDA, ROCm и XLA.

Mojo — это надмножество Python с производительностью С и потенциальная замена Rust. Код на нём легко переносится между различными GPU, при этом платформа Modular быстрее обновляется под новые модели GPU, чем сама Nvidia выпускает обновления для своего софта (новые attention kernels).

Простой и мощный язык для написания и деплоя LLM-приложений независимо от оборудования (AMD, Nvidia, Intel и проч.), с метапрограммированием во время компиляции и прочими штуками. Что-то вроде единой «LLVM для AI». Унифицированная программная платформа, которая запускается на любом железе. Это ещё и самый простой способ ускорить Python-приложение в 10−1000 раз, не переписывая его фрагменты на Rust или C++ (что по сути делают NumPy и PyTotch).

Читать далее

Реверс-инжиниринг: стартуем прошивку ReadyNAS через QEMU

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

Сейчас у нас много возможностей и инструментов для исследования различных девайсов — те же приложения для эмуляции вроде QEMU позволяют создавать прекрасную «песочницу» из любого компьютера. К чему это я? Не так давно я решил изучить прошивку ReadyNAS от NetGEAR. Сам девайс — хорошая «рабочая лошадка», меня все устраивало. Но захотелось посмотреть, на чем такие гаджеты работают.

Посмотрел и не зря. Оказалось, что разными моделями ReadyNAS в рамках одной аппаратной архитектуры управляет прошивка на базе Linux — ReadyNAS OS. Причем она доступна для свободного скачивания на сайте производителя. Как по мне — отличная возможность ее изучить и проверить, можно ли запустить такую ОС через открытую систему эмуляции и виртуализации QEMU. Погнали!

Читать далее

Kernel-hack-drill и новый эксплойт для CVE-2024-50264 в ядре Linux

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

Некоторые уязвимости, связанные с повреждением памяти, невероятно сложны для эксплуатации. Они могут вызывать состояния гонки, приводить к сбоям системы и накладывать разные ограничения, которые усложняют жизнь исследователя. Работа с такими «хрупкими» багами требует значительно больше времени и усилий. CVE-2024-50264 в ядре Linux — как раз одна из таких сложных уязвимостей, которая получила премию Pwnie Award 2025 в категории «Лучшее повышение привилегий» (Best Privilege Escalation). В этой статье я представлю свой проект kernel-hack-drill и покажу, как он помог мне разработать прототип эксплойта для уязвимости CVE-2024-50264.

Поехали!

ESP32 + LD2410: Архитектуры нейронных сетей для классификации движений

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

Микроконтроллеры давно перестали быть простыми устройствами для управления датчиками и исполнительными механизмами. Сегодня, благодаря библиотекам вроде TensorFlow Lite, даже компактный ESP32 способен выполнять инференс нейросетей в реальном времени. В этой статье я расскажу о серии экспериментов по классификации движений человека с помощью радарного датчика LD2410 и различных базовых архитектур машинного обучения, таких как полносвязная, свёрточная, рекуррентная нейронные сети и трансформер (механизм внимания).

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

Ознакомиться

Три пути к 4K: выбираем свой инструмент для нейросетевой реставрации видео

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

Превратить старое видео из 480p в кристально чистое 4K сегодня может каждый. Но какой ценой? Пока одни инструменты подкупают простотой и мощными моделями вроде Starlight, другие предлагают безграничную гибкость open-source, а третьи — ультимативную скорость обработки, требуя взамен технических знаний.

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

Читать далее

PCIe умер, да здравствует CXL

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

Привет, постоянные и не очень читатели!

CXL (Compute Express Link) — свежий стандарт интерконнекта, появившийся в 2019 году. Его главная фича — новый подход для работы с памятью и вычислениями: поддержка когерентного кэша и трафика между процессорами и ускорителями, возможность собирать инфраструктуру как конструктор, гибко распределяя ресурсы, и другой функционал.

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

Здесь будет всё, что вы хотели знать про CXL, но лень было искать, так что заваривайте чайничек листового — и приятного чтения! :)

Дропдаун