Обновить
1067.23

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

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

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

OpenCode + Docker Model Runner для локальной разработки с ИИ

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

Команда AI for Devs подготовила перевод статьи о том, как использовать OpenCode вместе с Docker Model Runner для локальной разработки с LLM. В центре внимания — контроль над кодом, данными и затратами: модели запускаются локально, контекст не уходит во внешние сервисы, а ИИ-ассистент становится частью вашей инфраструктуры, а не сторонним SaaS. Практический разбор для тех, кто хочет использовать ИИ в разработке без компромиссов по безопасности и стоимости.

Читать далее

Алгоритм резолва зависимостей в Angular Ivy: Математика Блум-фильтров и битовые маски

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

Как Angular Ivy находит зависимости за O(1)? Глубокое погружение в алгоритм резолва: от генерации уникальных ID токенов до битовой магии Блум-фильтров. Разбираем, почему строковые токены замедляют ваше приложение и как работает наследование кумулятивных масок в LView.

Разложить на биты

От пустоты к идее: как я создал свою первую доску вдохновения

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

Эта история не о строчках кода, а о том, как мы с другом устали смотреть на пустую доску в офисе. Сначала мы сделали свою версию проекта — с партнёрами и погодой, как мы предполагали по возможным требованиям. Потом я создал версию для себя: с котиками из Giphy API, бегущей строкой цитат и анимированной погодой. В этой статье — о том, как из простого желания добавить красок в рабочее пространство родился личный Preloader перед началом работы, и как пустота корпоративного экрана превратилась в доску вдохновения, которая теперь висит фоном на моём мониторе.

Читать далее

Что такое Skills, Prompts, Projects, MCP и субагенты? База для понимания агентной экосистемы

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

Команда AI for Devs подготовила перевод статьи, в которой по полочкам разбирается агентная экосистема. Skills, Prompts, Projects, MCP и сабагенты — что из этого отвечает за знания, что за действия, а что за подключение к данным. Материал помогает понять, какой инструмент когда использовать и как собирать из них сложные, но управляемые AI-воркфлоу.

Читать далее

Оно обязательно сломается: не «если», а «когда»

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

Навеяло несколькими прочитанными недавно статьями и комментариями к ним.

Люди, помните — «дерьмо случается»! Конечно, хорошо жить в мире где всё идет строго по плану, работает без ошибок и сбоев, никто не пытается ни в чем навредить и так далее — от только где он, этот мир?

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

Читать далее

Кастомные аллокаторы для игровых движков: arena, pool и slab на C++

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

Стандартный malloc — универсальный инструмент, но в геймдеве универсальность часто означает «недостаточно быстро». Когда бюджет кадра 16 мс, а каждый кадр рождаются тысячи объектов, имеет смысл разобраться в специализированных аллокаторах.

Рассмотрим три основных типа: arena, pool и slab — когда какой использовать, как реализовать, и какие подводные камни ждут.

Смотреть реализацию

Как сделать (очень) маленькие LLM действительно полезными

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

Команда AI for Devs подготовила перевод статьи о том, как выжать максимум из маленьких языковых моделей. Автор показывает, что даже очень компактные LLM могут быть полезны в реальных задачах — если правильно работать с контекстом, embeddings и RAG.

Читать далее

Flask в 2025: итоги года и состояние экосистемы

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

Команда Python for Devs подготовила перевод ежегодного обзора экосистемы Flask от Miguel Grinberg. Автор подробно разбирает, каким оказался 2025 год для фреймворка: замедление разработки, минимум релизов, снижение активности сообщества и растущую конкуренцию со стороны FastAPI.

Читать далее

Хроники Valibot: как мы искали безупречные данные в мире JavaScript

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

Если вы когда-нибудь писали фронтенд на TypeScript и получали в проде Cannot read property 'x' of undefined, — добро пожаловать в клуб!

TypeScript спасает нас от сотен ошибок… но только пока код не запущен. Как только он скомпилировался, типы исчезают, и в рантайме вы снова остаетесь один на один с невалидными данными.

И вот тут начинается: меняется API, формы шлют что угодно, аналитика ломает отчёты, а тесты молчат.

В Островке мы попробовали библиотеку Valibot — легковесный runtime-валидатор, который умеет проверять данные на границах контекстов и при этом остаётся дружелюбным к TypeScript.

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

Читать далее

Любая IDE от JetBrains бесплатно: что на самом деле происходит, когда вы запускаете “безобидный” активатор

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

После ухода JetBrains из России и введения экспортных ограничений многие разработчики столкнулись с банальной проблемой: IntelliJ IDEA Ultimate формально недоступна, а работать нужно сейчас. В результате в ходу оказались «активаторы» — shell-скрипты, которые обещают решить вопрос лицензии за пару минут.

Снаружи всё выглядит просто: скачал, запустил, IDE работает. Внутри — Java-агент с Instrumentation-доступом, модификация сетевого стека и вмешательство в криптографические примитивы стандартной библиотеки Java. При этом исполняемый код скачивается с внешнего сервера без подписей и проверок, а установка сопровождается правками системного окружения и использованием sudo.

В статье я разбираю один из популярных активаторов на уровне реализации: от .sh-скрипта до трансформаций байткода и подмены BigInteger#oddModPow(). Без эмоций и морализаторства — только факты, архитектура и последствия для безопасности, стабильности и юридических рисков.

Читать далее

Методы массивов. Часть 2

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

Привет, Хабр! Меня зовут Александр Дудукало, я автор курса по JavaScript. Сегодня мы поговорим о ключевом навыке разработчика. С помощью чего сделать код лаконичнее и выразительнее, при этом заменяя громоздкие циклы простыми конструкциями?

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

Мы разберем три самых полезных метода: map — для преобразования данных, filter — для отбора элементов и sort — для сортировки. Вы поймете, как они работают внутри, и примените знания на практике, создав свои аналоги этих функций. Подробности, как всегда, внутри.

Читать далее

Нет никаких доказательств успешности «браузерного эксперимента» Cursor

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

14 января 2026 года Cursor опубликовала пост «Scaling long-running autonomous coding» (https://cursor.com/blog/scaling-agents).

В этом посте компания рассказала о своих экспериментах с «автономной работой кодинг-агентов в течение нескольких недель» со следующей чётко поставленной целью:

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

Компания рассказала о подходах, которые она попробовала, о предполагаемых причинах их провала и о том, как решались эти проблемы.

Наконец она достигла этапа, на котором нечто «решило большинство наших проблем с координацией и позволило масштабироваться до очень больших проектов», что, в свою очередь, привело к следующему:

Чтобы протестировать эту систему, мы поставили перед собой амбициозную цель: создание веб-браузера с нуля. Агенты работали примерно неделю и написали больше миллиона строк кода в тысяче файлов. Исходный код можно посмотреть в GitHub (https://github.com/wilsonzlin/fastrender)

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

Читать далее

Организация middleware в Go без зависимостей

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

Go 1.22 заметно укрепил позиции стандартной библиотеки в роли «достаточно хорошего» веб‑стека: ServeMux научился матчить шаблоны, и зависимость от роутеров ради базовой маршрутизации уже не выглядит обязательной. Но как только в проекте появляется больше пары middleware, начинается знакомая боль — обёртки размножаются, порядок теряется, правки становятся хрупкими.

В этой статье разбираем, как собрать управляемые цепочки middleware без alice и как поверх http.ServeMux сделать группировку маршрутов с наследованием middleware в стиле chi — только на стандартной библиотеке и с минимальным количеством кода.

Смотреть решение

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

Тихий Promise, который убьёт ваш сервер Node.js

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

У вас есть продакшен-сервер. Он спокойно работает часами. А потом внезапно падает. Без предупреждения, без graceful-деградации. Просто мёртв.

Виновник? Одна строчка кода, которая выглядит совершенно безобидно...

Читать далее

Симулятор смысла: почему программисты выгорают, а фаундеры нет

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

Осторожно: эта статья может заставить вас задуматься, чем вы занимаетесь прямо сейчас — и вам это может не понравиться.

Читать далее

Нескучное программирование. И снова ограничения

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

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

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

template<typename T>
concept Recurse = Recurse<T>;

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

Читать далее

От Плутона к Земле: как я превратил 144 цели в космическое путешествие

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

Представьте себе такую ситуацию. 2024 год. У меня больше ста человек. Российская продуктовая IT-компания. Кровавый энтерпрайз: куча систем в продакшене и целый зоопарк legacy-кода, который нужно поддерживать. И главный вопрос: как заставить все это двигаться быстрее? Производительность труда была серьезной проблемой, а традиционные KPI и премии работали, но не вдохновляли.

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

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

Читать далее

Галлюцинациям тут не место — как могут выглядеть специализированные ЯП для разработки с помощью LLM

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

Использование ИИ-инструментов в программировании ожидаемо оказывается сопряжено со сложностями: LLM-модели игнорируют тесты, рекомендуют фейковые пакеты и в целом требуют повышенного внимания и аудита. Чтобы у нейросетей было меньше шансов оказать разработчикам медвежью услугу, некоторые исследователи предлагают использовать специализированные ЯП. В идеале они должны ограничивать бурную фантазию ИИ-ассистентов и направлять её в мирное русло. Мы в Beeline Cloud решили рассмотреть несколько таких экспериментальных проектов.

Читать далее

Почему Kotlin ломает JPA

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

Используешь Kotlin с Jakarta Persistence и думаешь, что всё работает? Возможно, до первой неожиданной ошибки. data class, val, final-классы и даже значения по умолчанию — всё это может тайно мешать корректной работе JPA. Вместе с Торбеном Янссеном в новом переводе от команды Spring АйО разберем скрытые ловушки и показывают, как настроить проект правильно, чтобы не наступить на мину.

Читать далее

Заметки на полях: Изолируем Lua окружение в C++ приложении. Часть 1

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

Скриптовые языки уже давно и прочно заняли свою нишу в игрострое — они существенно упрощают описание игровой логики, уровней, ресурсов, диалогов, квестов, UI и чего только не. Что позволяет отдать эти задачи целиком и полностью в творческие руки гейм-/левел-/прочих-дизайнеров и других членов команды, которым не нужно обладать знаниями в том же C++. Разделение ответственности, ускорение разработки, облегчение моддинга возможность, по завершению разработки самого движка, вышвырнуть программистов на мороз и стричь купоны на бесконечных дополнениях — в общем, одни только плюсы. Да?

Да.

А ещё дыры в безопасности и ...

... уйма путей уронить стабильность.

Вклад авторов