Обновить
1024K+

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

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

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

Код без автора

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

Открыл MR на ревью. 847 строк. Тесты зелёные. Линтер чистый. Не понимаю ни одной строчки. GitClear проанализировали 211 миллионов строк - и нашли проблему, которую не видно ни в каких метриках.

Читать далее

Новости

Как мы научили AI-агента пользоваться IDE: дебаг, рефакторинг и run-конфигурации. Что нового в Veai 5.8

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

Дебаг, запуск проекта и рефакторинг. Все мы хорошо знакомы с этими фичами IDE и пользуемся ими практически каждый день. Но передовые ИИ-агенты для кодинга почему-то абсолютно ничего не знали про эту “базу” до релиза Veai 5.8 🙂 (ИИ-агент к JetBrains IDEs для написания кода, тестирования и отладки с доступом к топовым LLM и всем внутренним инструментам IDE).

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

Читать далее

Зачем нужна специализация варпов. Разбор сложных случаев

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

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

Недавно я глубоко задумался о специализации варпов в контексте высокопроизводительных ядер для современных графических процессоров (GPU) на тензорных ядрах. Примеры таких процессоров — H100 и B200 от NVIDIA. Я стал полнее понимать, чего можно добиться при помощи специализации варпов, а также задался интересным вопросом: а нужна ли нам вообще специализация варпов (и вся та сложность, которую она с собой влечёт)? В итоге я пришёл к выводу, что, да, нуждаемся, но она не столь обязательна, как может показаться. В этом посте обсудим, в каких случаях без специализации варпов действительно не обойтись, а также я опишу, на каком пространстве компромиссов она зиждется, и какие границы этого пространства я вижу. Притом, что я обрисую некоторый контекст, касающийся графических процессоров, необходимый для обсуждения тем, которые мы взялись здесь рассмотреть, эту статью нельзя считать туториалом. Предполагается, что читатель имеет некоторый опыт работы с GPU и имеет опыт параллельного программирования.

Читать далее

Agent Harness: одна LLM, разные результаты — в чем секрет?

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

Использование кодовых агентов (Codex, Cursor, Claude Code) стало обыденностью. Внутри разных AI-агентов могут использоваться одни и те же модели, но результаты будут сильно отличаться.

Например, есть мнение, что Cursor лучше и быстрее справится с написанием качественного UI, Claude Code покажет себя лучше в проектировании архитектуры приложения, а WindSurf лучше остальных создаст прототип системы.

Почему одна и та же модель в разных агентах дает разный результат? Давайте разбираться.

Читать далее

Программирование как построение теории: почему ИИ-агенты усложняют понимание кода

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

Почему ИИ-агенты усложняют понимание кода?
В этой статье разберем, как концепция Питера Наура «программирование как построение теории» объясняет скрытые риски использования LLM в разработке.

Читать далее

Закулисье стримов: три года прямых эфиров в Netflix

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

В Netflix множество грандиозных идей начинается с вопросов. Три года назад мы задали, возможно, самый смелый из них: если бы мы собрались развлекать весь мир с помощью прямых эфиров (этот формат ещё называют «Live», он почти такой же древний, как само телевидение) — как бы мы это сделали?

В начале всё выглядело как чисто техническая задача — подготовка к выпуску нашего первого комедийного шоу, идущего в прямом эфире — Chris Rock: Selective Outrage. А через некоторое время наши прямые эфиры исчислялись уже сотнями. Чего только среди них не было — от крупнейших комедийных представлений и рождественских матчей NFL, до боксёрских поединков, собравших рекордную аудиторию. Netflix даже стала эксклюзивной платформой для трансляции событий WWE.

Читать далее

Почему я перестал писать bash-скрипты и написал свой язык

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

Время от времени мне нужно выполнить примитивный сценарий в терминале, но каждый раз это заканчивается очередным гуглежом «bash iterate each file» или «bash file has string». А что если скрипты в терминале можно было бы писать прямо как поток декларативных мыслей?

Читать далее

Как мы запустили 35B LLM на видеокарте за $500: внутри ZINC inference engine

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

Год назад запуск модели на 35 миллиардов параметров подразумевал облако, очередь на GPU, и счёт от провайдера в конце месяца. Сегодня я покажу, как мы сделали это на одной потребительской видеокарте AMD за $500 — без ROCm, без CUDA, без MLX, одним бинарником на Zig.

Это пост про ZINC — inference engine, который мы строим с нуля под железо, которое люди реально покупают. Не как proof of concept, а как рабочий инструмент с OpenAI-совместимым API, потоковой генерацией и встроенным чатом.

Погрузиться

Что даёт воспроизводимая среда разработки и как развернуть контейнеры на VPS

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

3-я статья из цикла туториалов о том, как можно кастомизировать свой бизнес-портал в Битрикс24.

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

В качестве практической части выполним деплой нашей переносимой среды на VPS, чтобы посмотреть, как именно происходит перенос всех зависимостей и насколько это сложно сделать с помощью AI-агентов.

Читать далее

TTF-DOOM: как я запустил 3D-рейкастер внутри TrueType-шрифта

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

Каждый, кто хоть раз заглядывал на Hacker News или r/ItRunsDoom, знает традицию: DOOM должен работать на всём. PDF-файлы, SQL-запросы, кишечные бактерии, тест на беременность - список бесконечен, и каждый новый порт абсурднее предыдущего

Но я задался вопросом: а можно ли запустить DOOM внутри шрифта?

Оказалось, что можно. И вот как.

Читать далее

Стриминг ответов в Telegram-боте: новый API и 100 строк Python

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

1 марта 2026 Telegram добавил в Bot API метод sendMessageDraft - возможность потокового вывода сообщений. Тот самый эффект, к которому все привыкли в ChatGPT и Claude. Текст появляется по частям, в конце бегают анимированные точки, и ты видишь, что ответ ещё генерируется.

Я написал простенький рабочий пример на чистом Python - без каких-либо фреймворков. Только asyncio и urllib.

Читать далее

Как я сделал скилл для AI-ревью плана и кода — и зачем мне две модели

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

Когда одна и та же модель пишет код и проверяет его, она пропускает свои ошибки. Она «помнит», почему приняла именно это решение, и не ставит его под сомнение. Знакомо? Как вычитывать собственный текст: глаз замыливается, мозг подставляет правильный смысл туда, где его нет.

В нормальной команде эта проблема решена давно: автор кода ≠ ревьюер. Два человека с разным контекстом и разными слепыми пятнами. С LLM можно сделать то же самое, взяв две модели от разных вендоров. Другая архитектура, другой pretrain - другие слепые пятна. Одна пишет, другая проверяет.

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

У меня Claude (Opus) планирует и пишет код, а Codex (GPT-5.4) ревьюит. Автоматически, в цикле, пока не одобрит. Все это - один файл-скилл для Claude Code. О нем и расскажу.

Читать далее

Как найти работу с помощью нейросети в 2026: 7 промптов, которые реально помогают пройти собеседование

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

75% резюме отсеиваются ATS-фильтрами до того, как их увидит рекрутер. Собрал 7 промптов для нейросети, которые покрывают весь цикл поиска работы: от переписывания резюме под конкретную вакансию до подготовки к собеседованию и follow-up. Проверял на себе — работает с Claude, ChatGPT, Gemini.

Читать далее

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

Как я обошёл блокировку Anthropic для сторонних агентов и вернул все на подписку — пошаговый гайд

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

Anthropic отключила сторонние инструменты от подписки — теперь всё, что не Claude, идёт в Extra Usage по ценам API. Мой агент на Opus за вечер нажигает на десятки долларов. Я потратил вечер на то, чтобы разобраться, как именно Anthropic детектит сторонние запросы, и нашёл способ обойти блокировку. Ни одного гайда я еще не видел. Оказалось, что всё сводится к двум именам инструментов из семнадцати — этого достаточно, чтобы сервер понял, что запрос не от Claude Code. В статье весь путь от гипотезы до работающего решения, плюс пошаговый гайд для тех кто хочет повторить.

Читать далее

Kubernetes без магии: запускаем первый кластер, разбираем архитектуру и взаимодействие компонентов

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

Kubernetes часто называют сложной системой, в которой легко запутаться. Control Plane, etcd, scheduler, worker nodes — когда сталкиваешься с этим в первый раз, кажется, что разобраться невозможно. Но на самом деле за громкими названиями скрываются простые и логичные компоненты.

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

Поехали →

Мобильное приложение DogPlanner. Перезагрузка…

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

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

Читать далее

EXPLAIN ANALYZE в PostgreSQL: читаем планы выполнения экспертно

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

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

Запрос работает 30 секунд. Вы смотрите на него, всё вроде ок: JOIN по индексированным полям, WHERE по дате, LIMIT 100. Должен летать, но что-то не летает. Добавляете индекс наугад — не помогает. Переписываете подзапрос в CTE и стало ещё хуже.

Проблема не в запросе, а в в том, что вы не смотрели в план выполнения. EXPLAIN ANALYZE показывает не что вы написали, а что PostgreSQL делает: какие индексы использует (и использует ли вообще), в каком порядке соединяет таблицы, где тратит время, сколько строк ожидал и сколько получил.

Понять PostgreSQL

Hibernate merge: начали за здравие, закончили за упокой

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

Я уже давно хотел на этот счет написать статью. Она короткая, но имхо она нужна.

Давайте с места в карьер: merge в Hibernate это не универсальный save, и чаще всего он Вам не нужен.

На самом деле, если абстрагироваться, то это специализированная операция для случая, когда у вас есть detached-сущность, и вы хотите перенести ее состояние в текущий Persistence Context.

Проблема в том, что на практике merge очень часто используют для апдейта любой сущности (Spring Data JPA иногда так делает) и как следствие получают лишние SQL-запросы.

Ниже разберем на мой взгляд главное - почему именно так происходит, где merge действительно нужен, а где он превращается в антипаттерн (P.S да почти везде).

Читать далее

Kotlin для новичков: всё об условиях и циклах за 15 минут

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

Продолжаем серию «Kotlin для новичков»! Сегодня разбираем самое сердце любого кода — управляющие конструкции: if, when, for, while.Вы узнаете, почему if в Kotlin — это не просто оператор, а выражение, как when заменяет целые лесенки else-if, и чем for по диапазонам лучше классического цикла. Реальные примеры и лучшие практики и история о том, как мы отрефакторили 300 строк спагетти-кода в 80 строк с помощью when и диапазонов. Читайте, чтобы писать чистый и понятный код на Kotlin.

Читать далее

Я дал AI-агенту канбан-борд, и он справился с проджект-менеджментом лучше моей команды

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

Есть такой момент, знакомый каждому, кто долго работает в паре с AI. Сидишь в терминале, Claude генерит код, ты ревьюишь, правишь курс, снова запускаешь. Проходит пара часов, и ты понимаешь: никто не записал, что вообще произошло.

Ни один тикет не обновлен. Таймер не запущен. Чат на тысячу строк, но он испарится, как только закроешь сессию. А когда коллега спросит, что было сделано за день, ты будешь восстанавливать картину по памяти. Удачи.

Меня это достало. Заканчиваю марафон-сессию с Claude или Codex, ощущение, что гора работы сделана, а доска проекта все так же показывает Not Started. Тайм-трекинг? Какой тайм-трекинг. Разрыв между реальной работой и тем, как выглядит проект, стал просто нелепым.

Читать далее