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

Сегодня начинаем рассказывать о полезных штуках, которые можно добавить в свой портал в веб-приложении, чтобы вести бизнес было удобнее и проще.
Для проекта я буду использовать нашу подготовленную ИИ-базу — шаблон проекта с инструкциями-промптами для искусственного интеллекта. В статье расскажу, насколько это было сложно, где агенты ошибались самостоятельно, а где — из-за меня.
Короче, если хотите начать оптимизировать работу в CRM через кастомные приложения и посмотреть, с чего начинать и что бывает в результате — вам сюда.
Как мы запускали курс «Нейронауки и нейроинтерфейсы» в Центральном университете для IT-специальностей

Всем привет, меня зовут Дмитрий Грибанов, я член команды преподавателей курса «Нейронауки и нейроинтерфейсы» в Центральном университете. На данном курсе мы обучали студентов, как с помощью Python и интерфейса мозг-компьютер управлять каким-либо устройством «силой мысли», а в конце устроили настоящие нейро-гонки в виде соревнования.
Коллекции в Java: алгоритмическая сложность и как не тормозить код

Как выбрать коллекцию в Java, чтобы код летал? Разбираем алгоритмическую сложность (Big O) самых популярных структур: ArrayList, LinkedList, HashSet, HashMap. В конце — схемы выбора и лучшие практики от команд. Сохраняйте, чтобы не забыть!
Исполняемые спецификации — эффективная работа с кодинг-агентами

Кодинг-агенты умеют быстро генерировать код, но результат часто расходится с ожиданиями. Естественный язык слишком неоднозначен для передачи точных требований, а классические unit-тесты с десятками ассертов тяжело читаемы.
Хороший подход для работы с агентами базируется на принципах BDD (Behavior-Driven Development). Нам важно не то, как реализована задача, а как ведет себя система. Лучший способ передать это поведение машине и легко проверить человеку - исполняемые спецификации.
Assassin’s Creed: Shadows — проливая свет. Художественный обзор и внутреннее устройство игры. Guest Post

Привет, Хабр.
Не так давно у нас с уважаемой@Kotyara99зашёл разговор о том, какими должны или могут быть обзоры компьютерных игр на Хабре. Зачастую хочется поделиться впечатлениями от любимой игры, но не ударяться в субъективные воспоминания, чрезмерную по меркам Хабра рекламу или бесконечный разбор багов и фич продукта. Чтобы обосновать, как она видит статьи такого жанра, моя собеседница подготовила подробный обзор очередной серии своей любимой «Assassin's Creed», к которому подошла столь ответственно, что даже попыталась проанализировать код шейдеров, аналогичных тем, что используются в игре. В статье шейдеры на языке GSL синтетические, сгенерированные при помощи большой языковой модели, но в иллюстративных целях они здесь вполне уместны. Выскажитесь пожалуйста, нравится ли вам такой контент, и хотели бы вы почитать аналогичные статьи по другим играм. Далее — от автора.
Бойтесь буквы «M». Самый странный баг в моей жизни

Вечером в пятницу коллега, назовем его Мститель, спросил, не сталкивался ли я с проблемой, что route возвращает 400... но «если сменить название на сильно другое», то всё ок. Я сперва не обратил внимание на слово «сильно». Может быть, где-то дублируется регистрация этого рута? Или мститель перепутал GET и POST. Или какой-то баг в общем на создание хэндлеров?
От Vibe Coding к Agentic Engineering: что изменилось в ИИ-разработке за 1 год

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

Маленькая шпаргалка для тех, кто хочет понять что это и как называется. Изначальная цель написания - предоставить заинтересованным лицам краткую справку и возможность более эффективно воспользоваться поисковыми системами. Здесь перечислены как классические паттерны и антипаттерны проектирования от банды четырёх (GoF), так и прочие общепринятые.
Как обычному разработчику попасть в сообщество открытого ПО и стоит ли это делать

На дворе 2026 год. Сообщество открытого ПО больше не про энтузиастов в подвалах или душных стариков, которые часами спорят за Pull Request +1/--1. Современная разработка открытого ПО напоминает толкучку: одни срочно переписывают код на Rust, другие так же срочно его оттуда выкидывают, а корпорации скупают проекты за миллиарды.
Наблюдая за всей этой вакханалией, я поймал себя на мысли, что сообщество открытого ПО выглядит, мягко говоря, непритязательным для новичков. Какие-то там роли, правила, коммерциализация, нейрослоп. Но именно здесь и сейчас люди продолжают делать работающие продукты. Зачем и как? Попробуем разобраться.
Я сам — разработчик и популяризатор открытого ПО, а также организатор сообщества питонистов в Новосибирске. Создаю свои проекты и активно помогаю dishka, faststream, wemake-python-styleguide и другим.
Я собрал знакомых контрибьюторов, записи с митапов и последние новости, чтобы рассказать, как устроено сообщество открытого ПО изнутри и нужно ли вам туда вообще. А если нужно — то с чего начать, если кнопка отправки запроса до сих пор внушает иррациональный страх.
Бросил tmux и написал свой инструмент
Десятилетия терминальных мультиплексеров, одна хроническая боль и маленькая тулза на C, которая наконец всё починила.
Часы Лампорта

Сегодня мы живём в мире распределённых систем: Apache Kafka, Apache Spark, Apache Cassandra — это уже не экзотика, а повседневная инфраструктура продакшена.
Сервисы пишут события, стримы обрабатываются в реальном времени, данные реплицируются по датацентрам. И почти в каждом таком сценарии возникает фундаментальный вопрос:
Как понять, что произошло раньше, а что позже, если глобального времени не существует?
Здесь в игру вступают логические часы Лампорта — простая, но концептуально мощная идея, лежащая в основе причинно-следственного порядка в распределённых системах.
Подробнее - в новом переводе от команды Spring АйО.
Почему в российских колледжах готовят IT-специалистов без английского

На первом курсе в колледже Y нас обязали подготовить и защитить проект. Тема моей работы — «Роль изучения английского языка для будущих специалистов в сфере информационных технологий». По итогам проекта была также опубликована краткая статья.
Ближайшие события
Telegram-бот для дисциплины: от монолита к модульности, реферальной системе и тотемным животным

Привет, Хабр! Тут я хочу подробно разобрать архитектурные решения, которые позволили проекту расти, и показать реальные куски кода, отвечающие за ключевую логику. Будет как и само изложение фактически проделанной работы, так и спорные ситуации, а также открытые вопросы, без которых масштабирование сложно будет в дальнейшем.
Coreness Flow: локальный AI-агент без облака и без лишнего кода

Большинство AI-инструментов — либо облако, либо код под каждую задачу. Coreness Flow строится вокруг событий: пришло сообщение, сработал cron, прилетел webhook — агент находит сценарий по триггеру и выполняет цепочку шагов.
Плагины декларируют вклад в интерфейс через config.json — фронт собирает вкладки и настройки по этим данным, без правки React-кода. Новый плагин — новая вкладка, без хирургии во фронтенде. RAG полностью локальный: BGE-M3 ONNX INT8 + Qdrant embedded в процессе приложения, гибридный поиск офлайн. Разбор архитектуры — API Bus, lifecycle, система сценариев с триггерами и переходами.
Кодопись аналитика

Привет, Хабр! Меня зовут Николай Щедрин, я ведущий аналитик Сбера. В этой статье продолжаю делиться инсайтами по использованию ИИ‑ассистентов в работе бизнес‑ и системного аналитика. Первую часть я публиковал на Хабре в прошлом году.
Сегодня поговорим о разработке собственного проекта через описание требований в .md‑файлах.
K2Node: магия Blueprint или что на самом деле скрывается за нодами в C++

Каждый, кто имел дело с Unreal Engine после 2014, наверняка слышал про скриптовый язык Blueprint. Но что реально происходит под капотом, когда вы таскаете ноды? Как создать свою ноду (и надо ли это вам вообще?) В данной статье я бы хотел разобрать K2Node
Мегаминкс – кубик Рубика на максималках, где человек всё ещё быстрее машины. Робот МФТИ в погоне за рекордом

Мегаминкс – это не просто «большой кубик Рубика». Это додекаэдр с 50 подвижными элементами, числом возможных состояний более 1068, а «число Бога» для него до сих пор неизвестно.
Люди научились с невероятной скоростью справляться с этой головоломкой – топовые спидкуберы тратят на сборку менее 30 секунд. А вот роботы отстают и собирают в разы медленнее. Российский школьник Тимофей Тарасенко держит мировой рекорд WCA по мегаминксу – 21,99 секунды. Тимофею 15 лет – ровно столько же стоит мировой рекорд по мегаминксу среди роботов – 8 минут 4 секунды, который студенты МФТИ попытаются побить грядущей весной. О мегаминксе, рекордах и вызове физтеха – эта статья.
Структурно-ориентированная кодовая база для агента

При первом запуске агент не знает структуру проекта. Из-за этого возникают проблемы:
Читает слишком много файлов и быстро расходует контекст.
Или, наоборот, не находит нужные файлы и места в коде.
sudo исполняется 45. Вашему контейнеру — всё равно
На почти каждой Linux-машине в мире живёт один маленький бинарник. Весит несколько мегабайт, несколько десятков тысяч строк кода, поставляется со своим собственным конфигурационным языком, и CVE-шек за ним накопилось столько, что хватит на хорошую таблицу с фильтрами. Большинство из нас запускает его по десятку раз в день, не задумываясь.
Этот бинарник — sudo.
В мире Docker-контейнеров, эфемерных CI-раннеров и Kubernetes-подов, которые живут тридцать секунд и умирают без предупреждения, большая часть того, что умеет sudo, попросту не нужна для той работы, ради которой мы его вообще вызываем.
Вот о чём эта статья: что это за работа, как она обросла такой сложностью, и как маленькая программа на C справляется с ней лучше.
