Обновить

Разработка

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

Для пользователя может показаться, что переход с 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 мин
Охват и читатели11K

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

Обучение нейросетей как алхимия

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

Современное машинное обучение — это алхимия: есть рабочие рецепты, но нет строгой теории. Мы знаем, что dropout помогает, batch norm стабилизирует, а learning rate = 3e-4 часто работает лучше всего — но почему? Разбираемся, что происходит в обучении нейросетей, и почему путь от алхимии к науке лежит через эксперименты

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

Сегодня даже школьники легко оперируют такими понятиями как pretrain, fine-tuning, gradient descent, loss function. Забавно, что для практических опытов им, да и многим другим, необязательно понимать теоретическую суть процессов, происходящих в нейросетях. Достаточно примерного понимания того, что обычно происходит, какие риски и возможности. 

По этому поводу, кстати очень ёмко высказался Али Рахими ещё в 2017 году, назвав современное машинное обучение алхимией. Думаю, это определение до сих пор справедливо. Что это значит?

Читать далее

Битва за миллисекунды: Как мы ускорили банковское приложение РСХБ в 60+ раз

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

Привет, Хабр! Меня зовут Алексей Кутневич, я работаю ведущим Архитектором в ЦК архитектуры БЦТ РСХБ-Экосистема. В этой статье хочу поделиться реальными кейсами оптимизации микросервисной архитектуры из проекта «Свои финансы» — нашего нового банковского приложения. Покажу, как эти решения помогли существенно улучшить производительность системы. 

Читать далее

Что такое «Быть хорошим программистом»?

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

Хороший ли я программист? Если коротко — я не знаю, что это значит.

Вот я программирую уже 52 года, с 1973 года, спасибо урокам в государственной средней школе — тогда это было редкостью и не все школы давали подобную возможность. Я работал в 15 разных компаниях в самых разных отраслях. Болше скажу, я основал две небольшие софтверные компании — одну в 1985 году и вторую в 1987-м, и руководил ими до 1994 года. А потом я вышел на пенсию в 2021-м году.

Так что же, я хороший программист потому, что я в целом 52 года в отрасли и всё это время программирую?

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

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

Читать далее

Что такое Portainer и чем он может быть полезен сисадмину

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

Portainer — удобный интерфейс управления контейнерами (Docker/Kubernetes) из браузера, но почему-то о нём ещё не все знают. В статье расскажу, что это такое, зачем он вообще нужен и как установить.

Читать

Первая Станция — теперь в архиве: рассказ о том, как непросто завершить жизненный цикл любимого устройства

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

В далёком мае 2018 года я опубликовал на Хабре статью, в которой наша команда представила первую Станцию с Алисой. Тогда это был большой эксперимент для Яндекса: никто не знал, смогут ли умные колонки занять свою нишу на российском рынке. Но всё получилось. С тех пор мы разработали уже полтора десятка моделей, каждая из которых нашла своих пользователей. Теперь наше первое устройство занимает лишь 3% от общего числа всех умных колонок с Алисой.

Сегодня — почти восемь лет спустя! — мне вновь выпал шанс рассказать о нашей первой Станции на Хабре. Но на этот раз статья будет посвящена не опыту создания продукта, а другой, не менее сложной теме. Нам впервые пришлось задуматься над тем, как завершить поддержку устройства.

Из этой статьи вы узнаете о новой категории архивных устройств и тех критериях, которым должна соответствовать умная колонка с Алисой, чтобы туда попасть. Ну и, конечно же, мы поговорим о судьбе столь любимой многими (в том числе — автором этих строк) Яндекс Станции первого поколения, прекращение поддержки которой мы откладывали как могли.

Читать далее

Перечень всех «белых» IP-адресов Интернета

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

Однажды передо мной встала задача: на произвольном роутере локальной сети выделить интернет-трафик пользователей и перенаправить его по другому маршруту, не трогая при этом локальный трафик.

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

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

Ну и как в жизни бывает, автоматизация работы привела к гораздо большим трудозатратам, нежели явная работа руками. Проблема оказалась там, где не ждали — готового перечня внешних IP-подсетей найти не удалось. А раз нет, значит придется делать самому.

Читать далее

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

Погружение в пиксели: знакомство с ZX Spectrum

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

В последние январские деньги, пока праздничное настроение начала года ещё не окончательно уступило место унылым трудовым будням, я решил затронуть одну лёгкую, едва ли познавательную и откровенно ностальгическую тему. Расскажу про своё первое близкое знакомство с компьютерами и играми. Своего рода мемуары, или, как говорит один известный игровой ретро-блогер, «Memories». Помимо личной истории и отсылок к различным приметам эпохи, это будет обзор шести случайных игр, с которыми мне довелось тогда столкнуться.

Читать далее

Linux Mint 22.3 и тихая эволюция классического Linux-десктопа

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

Linux Mint — один из тех проектов, которые пережили практически всё, что только можно было в мире Linux-дистрибутивов. Он видел взлет и падение KDE 4 с его радикальными изменениями, приход GNOME 3, который перевернул привычный рабочий стол с ног на голову, бесконечные споры вокруг Unity, первые шаги Wayland и даже нынешнюю моду на immutable-системы с их атомарными обновлениями. А сам Mint все это время оставался верен своей идее: дать пользователям предсказуемый, удобный интерфейс, который не нужно переучивать каждые полгода и он просто работает.

В середине января 2026-го вышел Mint 22.3 — очередной релиз в LTS-ветке на базе Ubuntu 24.04. Поддержка обещана до 2029 года, ядро по-прежнему Linux 6.14, а окружения рабочего стола — те же проверенные Cinnamon, MATE и Xfce. Никаких революций и обязательных переходов на новые протоколы дисплея. Зато множество мелких, но осмысленных улучшений, которые делают повседневную работу чуть комфортнее. И именно в этом подходе вся суть проекта. Давайте оценим новинку. 

Читать далее

Новый «момент DeepSeek»? Память важнее масштаба

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

В мире искусственного интеллекта есть исследования, где достаточно нескольких страниц, чтобы понять — это нечто особенное. Engram от DeepSeek — именно такое.

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

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

Ждёт ли нас ещё один «момент DeepSeek», подобный прошлогоднему?

Эти размышления основаны на материалах TheWhiteBox, где я объясняю ИИ с позиции первых принципов для тех, кто невосприимчив к хайпу, но жаждет знаний. Для инвесторов, руководителей и энтузиастов.

Читать далее

«Антивирус мёртв. Да здравствует антивирус!»

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

Сегодня классический антивирус то и дело списывают в утиль. Дескать, «это театр безопасности», «он бессилен против таргетированной атаки», «да его студент обойдет в два счета». Что же, антивирус и вправду никакая не броня и не всегда спасает от сложных и тщательно спланированных действий злоумышленников.

На связи Семён Рогачёв, руководитель отдела реагирования на инциденты в Бастионе. Открою страшную тайну: изощренных атак становится все меньше — киберпреступники в массе стремятся удешевить и упростить свои методы, а их инструментарий нередко скатывается к палкам и камням общедоступному опенсорсу.

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

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

Читать далее

Роль хранилищ и платформ данных в развитии ИИ

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

Сегодня бизнес активно использует машинное обучение (Machine Learning, ML) для решения самых разных задач — от прогнозирования продаж до автоматизации процессов. Однако искусственный интеллект — это не какое-то волшебство, а математика, методы и алгоритмы, которые не будут работать без качественных и подходящих именно им данных. Чем больше качественных данных доступно для анализа, тем более сложные и точные модели можно построить. 

Меня зовут Анна Фенюшина, я ведущий архитектор направления «Дата-сервисы» в VK Tech. В этой статье я разберу, какие поколения ML существуют, какие данные нужны для их реализации и как современные хранилища могут помочь в развитии ИИ.

Читать далее

Почему Windows XP из 2001 года работает быстрее, чем Windows 11, на одинаковом железе

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

Как думаете, что будет, если взять шесть одинаковых ноутбуков и поставить на них все версии Windows, которые выходили за последние 25 лет? Какая окажется быстрее? Логика подсказывает, что новая должна обойти старую. Все-таки тут и оптимизация лучше, и код новее, и алгоритмы эффективнее. Но реальность оказалась куда более прозаичной: двадцатипятилетняя XP, которая сегодня работает в основном на банкоматах, обошла Windows 11 по большинству показателей. Звучит как какой-то абсурд, но факты — штука упрямая.

Читать далее

Какие новые HTML и CSS фичи полностью поддерживаются браузерами в 2026 году

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

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

Каждый год я смотрю, какие новые фишки в HTML и CSS стали поддерживаться современными браузерами. Таким образом понимаю, что уже можно использовать. Так как я люблю делиться всем с вами, то я подумал: «А почему бы не рассказать о новинках на Хабре?». Вот я и пришёл.

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

Моё главное правило для отбора фич заключается в том, чтобы она стала «зелёной» в 2025 году на сайте «Can I Use». Смотрю последние версии браузеров Chrome, FireFox, Opera, Edge, Safari, iOS Safari, Samsung Internet и Android Chrome.

Не буду больше тянуть. Давайте посмотрим, что я вам подготовил.

Читать далее