Обновить
512K+

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

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

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

Почему AI-агент ищет по коду неправильно, и как это чинит cocoindex-code за две команды

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

Если вы работаете с Claude Code или Cursor на большом проекте, знаете боль: просишь “найди, где обрабатывается авторизация”, а агент гоняет grep по ключевым словам. Если функция называется validateUserSession, а вы спросили про “авторизацию” — grep её не найдёт. Это ограничение текстового поиска, и его решает семантический поиск через эмбеддинги. Я уже разбирал CodeGraph и SocratiCode из этой ниши, теперь поставил третий — cocoindex-code. Зацепил тем, что ставится в две команды без Docker и баз данных. Прогнал на своём проекте, разобрался с AST-чанкингом и сравнил с аналогами.

Читать далее

Треугольник SSH, или Зачем нужны 2 VPS

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

Недавно я написал две статьи про решение проблем с доступом с Claude Code, Antigravity и другими сервисами из России (часть 1, часть 2), но практика показала, что доступ мне к ним нужен не только с домашнего компьютера, но и с телефона, когда я нахожусь на улице. А с этим сложнее. У мобильных операторов какие-то свои, особые правила маршрутизации интернета.

В прошлый раз мы решали проблемы с использованием VPS с заграничным IP, но на улице они не работают, поэтому там, где не помогает 1 VPS, проблему решат 2 VPS.

Читать далее

Велосипедный взрыв

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

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

Читать далее

Войны фреймворков, неуправляемые разработчики и крэйзи-инопланетяне: разговор с техлидом Авито

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

Всем привет! 

Меня зовут Наташа Болдырева, я технический журналист в Авито. Как-то я наткнулась подкаст «Мы обречены» — его ведут программист Фил Ранжин и журналист Тёма Малышев. Один из выпусков меня особенно заинтересовал — ребята пригласили в гости нашего тимлида Машу Кондрашину. Они обсуждали важные темы: как изменился рынок за десять лет, как работает корректирующий фидбэк и почему «бутерброд» давно не работает, зачем нужны матрицы компетенций и что реально происходит, когда команда остаётся без лида на год. А ещё были всякие интересности — например, что делать, если в команде завёлся вредитель-инопланетянин. 

Я не смогу передать всё содержание разговора, но постараюсь вынести для вас самое главное — где-то спорное, местами смешное, но очень честное. Если хотите послушать и узнать больше, — вот тг-канал подкаста. Там есть ссылки на беседу на разных платформах. 

Читать далее

В поисках универсального SDK…

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

Цель статьи — показать проблемы при разработке SDK и попробовать найти архитектуру, которая минимизирует проблемы управления памятью, упрощает биндинги для разных языков и сохраняет производительность.

В этой статье мы порассуждаем о поиске некоего «универсального» SDK (Software Development Kit), который бы всем нравился, как новогодняя ёлка.

Читать далее

От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin (Часть 2)

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

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

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

Для каждого из этих подходов рассмотрим конкретные реализации, выделим плюсы и минусы, приведём примеры использования. В конце объединим все реализации в общую таблицу.

Читать далее

Доказательство недоказуемого или о светофоре Ангера замолвите слово

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

Исполним обещанное в [1], где упомянута задача о светофоре Ангера [2]. Она интересна формулировкой, которая заметно отличается от аналогичных задач, и утверждением, что более компактного решения, чем предложенное автором монографии, не существует.

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

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

А начнем мы с реализации светофора в исходной формулировке, хотя и в рамках другой формальной модели [3].

Читать далее

Шестидесятилетний заключённый и лабораторная крыса. F# на Godot. Часть 15. Кульминация и полёт

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

В прошлой главе мы начали разбирать порт тайловых миров на F#, где познакомились с некоторыми малоизвестными возможностями Godot. В этот раз наш прицел сместится с технологических особенностей RenderingServer на обычную бытовуху (бизнес-логика + высокоуровневое рисование).

При этом следует понимать, что код разбираемого проекта предшествовал написанию текста и послужил первопричиной выбора тех тем, что попали в цикл. Поэтому нас ждёт очень много очень простого кода с примечаниями вида «это стало возможно благодаря <штуковине, что мы разбирали в цикле>». Конечно-же, я добавил некоторое количество экзотики, но сегодня наша задача — закончить с рисованием чего-либо (если не считать мини-карты, она вместе с GUI попала в последнюю главу) и собрать все заготовки в подобие игры.

Читать далее

CancelledError — не просто очередная ошибка. Разбираемся, как устроена отмена задач в asyncio

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

Это первая из двух статей о CancelledError — сигнале отмены задачи. В ней мы остановимся на стандартном asyncio. Узнаем, что на самом деле представляет собой CancelledError, с точки зрения event‑loop. Разберёмся, как работает счётчик отмены (cancel/uncancel), на котором построены TaskGroup и asyncio.timeout. Наконец, обсудим проблемы, которые возникают на практике, в первую очередь связанные с asyncio.shield.

Читать далее

Исключения в реактивных системах

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

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

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

Исключить эту статью из непрочитанных

ИИ трансформация разработки: как работает новая AI Driven версия Экосистемы Digital Q

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

Привет, Хабр!  Меня зовут Александр Сахаров, я Член Правления и директор по работе с технологическими партнерами компании «Диасофт».

Недавно провели Летний день для клиентов и партнеров – на нем мы представили наше видение ИИ трансформации процесса разработки ПО и провели демонстрацию новой AI Driven версии нашей Экосистемы Digital Q.

Ключевая мысль: уже этим летом любая команда разработки может скачать с сайта Экосистему Digital Q и начать выпускать ПО высочайшего качества со скоростью в 10 раз быстрее, чем сегодня.

Читать далее

Сладкие оковы вайб- к̶о̶д̶и̶н̶г̶а̶ инжиниринга [часть 2]

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

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

Читать далее

Cloudflare: Оркестрация AI-ревью кода в промышленных масштабах

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

Code review — отличный механизм для отлова багов, но это почти гарантированный способ создать «бутылочное горлышко» для всей команды. В Cloudflare медианное время ожидания первого ревью измерялось часами. Чтобы решить проблему, они построили CI-нативную систему оркестрации вокруг 7 узкоспециализированных ИИ-агентов (безопасность, качество кода, производительность). Итог: 130 тысяч проверок за месяц, среднее время ревью — 3.5 минуты. Перевод подробной технической статьи от инженеров Cloudflare об архитектуре, защите от сбоев и экономии токенов.

Читать далее

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

Как я подключал YandexGPT к AI-агентам (OpenCode, Pi, Hermes и Claude Code)

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

Недавно исследовал интеграцию разных моделей. После танцев с бубном вокруг GigaChat решил проверить Yandex Cloud. Оказалось, нативная поддержка OpenAPI решает проблему без кастомных прокси. Внутри — готовые конфиги для OpenCode, Pi, Hermes и нюансы работы с Claude Code.

Читать далее

Миграция на Spring Boot 4 и Java 25: пошаговый план, чтобы обновиться и не уронить прод

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

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

В этой статье разбираем, как перейти со Spring Boot 3.x на 4.0 и с Java 21 на Java 25 не одним рискованным прыжком, а как управляемой инженерной процедурой: с промежуточной остановкой, проверками, канарейкой и понятным планом отката.

Разобрать миграцию

Как ревьюить ИИ-код: что автоматизировать, какую работу оставить человеку и как всё это делать системно

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

В 2026 году софт всё чаще пишут с участием ИИ: по данным Stackoverflow, 84% разработчиков уже используют ИИ‑инструменты или планируют начать. Но у скорости есть цена. Исследователи Faros AI зафиксировали парадокс: в командах с активным ИИ разработчики закрывают на 21% больше задач и мёржат на 98% больше пул-реквестов — а время ревью при этом выросло на 91%.

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

Что отдать модели →

Аллокации, которых нет в коде: охота на скрытый боксинг в .NET 10

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

Вы написали struct ради zero-allocation, прошли code review — а в проде Gen0-коллекции всё равно идут косяком. Самая дорогая аллокация та, которой нет в исходниках: компилятор молча упаковывает ваш value-тип в кучу там, где вы этого не просили.

Разбираю, где скрытый боксинг живёт и на .NET 10 (интерфейс на struct, foreach по IEnumerable, ValueType.Equals, params object[], замыкания), а где рантайм его уже вырезал — и почему слепо чинить HasFlag по гайдам 2015 года вредно. Два прод-кейса, шпаргалка-таблица, бенчмарк на BenchmarkDotNet и охота на box через DOTNET_JitDisasm и dotnet-gcdump.

Читать далее

Открыл бету AI-Мастера для D&D. Главная проблема оказалась не в кубиках, а в памяти

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

Я уже несколько месяцев в свободное время пилю одну штуку — Telegram-бота, который водит тебя по D&D 5e в одиночку. Нейросеть тут за Мастера: генерит историю, описывает сцены, ведёт бой по правилам, тянет кампанию. Играешь прямо в Telegram, лист персонажа и инвентарь — в мини-приложении.

Сразу честно, без «заходите, всё готово»: это активная стройка. Релиза не было. А 13 июня я впервые открыл её для людей — то самое открытое бета-тестирование. До этого бот варился в узком кругу, теперь зайти и поломать может любой.

Я готовился защищать механику. А первым посыпалось совсем другое. Но обо всём по порядку.

D20 на прочтение

LazyWeb: бесплатный MCP на 257 тысяч экранов, который чинит говнодизайн агентов и их хозяев

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

Когда агент рисует интерфейс «из головы», он выдаёт усреднённое из обучающих данных: безопасные цвета, layout, который вы видели тысячу раз. Я устал это разгребать и подключил LazyWeb — бесплатный MCP-сервер на 257 тысяч реальных экранов приложений и сайтов. Теперь агент сначала ищет, как это сделали живые продукты, и только потом проектирует. Свежий пример: UX админки для большого облачного проекта он собрал с первого раза — удобно, современно, функционально. Я был готов к паре итераций, их не понадобилось. Внутри — честная замерка: что под капотом (полез в health-check — Voyage, Cohere, vision-модели), главный рабочий приём «сделай 3-5 вариантов», и где инструмент реально косячит — кривые и устаревшие референсы, перекос в западные приложения, каша из 27 тысяч категорий. Плюс к статье — PDF с готовым промтом и чек-листом для агента.

Читать далее

AI‑ассистент пишет код: 8 антипаттернов, из‑за которых он падает в проде

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

Разобираем восемь антипаттернов, которые ловят даже сеньоров: от галлюцинированных зависимостей и slopsquatting до context rot и архитектуры, которая по кускам деградирует в God Service. На каждый — симптом, причина, последствия и конкретное исправление. Плюс готовый чек‑лист ревьюера AI‑кода, который можно забрать и повесить рядом с шаблоном PR.

Читать далее