Обновить
1700.55

Программирование *

Искусство создания компьютерных программ

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

Выделение памяти в Go

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

Эта статья посвящена языку программирования Go 1.24, работающему на Linux на архитектуре ARM. Она может не охватывать специфические для других операционных систем (ОС) или аппаратных архитектур детали.

Читать далее

Пишем первое приложение с AI-стартером, чтобы видеть прибыли и убытки

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

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

Для проекта я буду использовать нашу подготовленную ИИ-базу — шаблон проекта с инструкциями-промптами для искусственного интеллекта. В статье расскажу, насколько это было сложно, где агенты ошибались самостоятельно, а где — из-за меня. 

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

Читать далее

Как мы запускали курс «Нейронауки и нейроинтерфейсы» в Центральном университете для IT-специальностей

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

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

Читать далее

Коллекции в Java: алгоритмическая сложность и как не тормозить код

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

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

Читать далее

Исполняемые спецификации — эффективная работа с кодинг-агентами

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

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

Хороший подход для работы с агентами базируется на принципах BDD (Behavior-Driven Development). Нам важно не то, как реализована задача, а как ведет себя система. Лучший способ передать это поведение машине и легко проверить человеку - исполняемые спецификации.

Читать далее

Assassin’s Creed: Shadows — проливая свет. Художественный обзор и внутреннее устройство игры. Guest Post

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

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

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

Читать далее

Бойтесь буквы «M». Самый странный баг в моей жизни

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

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

Милости просим

От Vibe Coding к Agentic Engineering: что изменилось в ИИ-разработке за 1 год

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

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

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

Читать далее

Паттерны проектирования

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

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

Читать далее

Как обычному разработчику попасть в сообщество открытого ПО и стоит ли это делать

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

На дворе 2026 год. Сообщество открытого ПО больше не про энтузиастов в подвалах или душных стариков, которые часами спорят за Pull Request +1/--1. Современная разработка открытого ПО напоминает толкучку: одни срочно переписывают код на Rust, другие так же срочно его оттуда выкидывают, а корпорации скупают проекты за миллиарды.

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

Я сам — разработчик и популяризатор открытого ПО, а также организатор сообщества питонистов в Новосибирске. Создаю свои проекты и активно помогаю dishka, faststream, wemake-python-styleguide и другим.

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

Читать далее

Бросил tmux и написал свой инструмент

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

Десятилетия терминальных мультиплексеров, одна хроническая боль и маленькая тулза на C, которая наконец всё починила.

Читать далее

Часы Лампорта

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

Сегодня мы живём в мире распределённых систем: Apache Kafka, Apache Spark, Apache Cassandra — это уже не экзотика, а повседневная инфраструктура продакшена.

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

Как понять, что произошло раньше, а что позже, если глобального времени не существует?

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

Подробнее - в новом переводе от команды Spring АйО.

Читать далее

Почему в российских колледжах готовят IT-специалистов без английского

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

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

Читать далее

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

Telegram-бот для дисциплины: от монолита к модульности, реферальной системе и тотемным животным

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

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

Что там интересного почитать, ну?

Coreness Flow: локальный AI-агент без облака и без лишнего кода

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

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

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

Читать далее

Кодопись аналитика

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

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

Сегодня поговорим о разработке собственного проекта через описание требований в .md‑файлах.

Читать далее

K2Node: магия Blueprint или что на самом деле скрывается за нодами в C++

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

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

Читать далее

Мегаминкс – кубик Рубика на максималках, где человек всё ещё быстрее машины. Робот МФТИ в погоне за рекордом

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

Мегаминкс – это не просто «большой кубик Рубика». Это додекаэдр с 50 подвижными элементами, числом возможных состояний более 1068, а «число Бога» для него до сих пор неизвестно.

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

Крутим мегаминкс

Структурно-ориентированная кодовая база для агента

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

При первом запуске агент не знает структуру проекта. Из-за этого возникают проблемы:

Читает слишком много файлов и быстро расходует контекст.

Или, наоборот, не находит нужные файлы и места в коде.

Читать далее

sudo исполняется 45. Вашему контейнеру — всё равно

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

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

Этот бинарник — sudo.

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

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

Читать далее