Обновить
1024K+

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

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

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

Вайбкодинг без страховки превращает код в долг. Я обвязал Claude CPG-конвейером

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

В одной из сессий Claude написал у меня 47 файлов. 1 892 строки. Два новых сценария, рефакторинг шести обработчиков, миграция конфига. 38 минут.

Каждый коммит — автоматический CPG-анализ. Каждый промпт — обогащение контекстом из графа. Каждый пул-реквест — радиус поражения и оценка риска.

Не потому что я не доверяю ИИ. А потому что я не доверяю никакому генератору кода без автоматической верификации. Включая себя.

Я довольно быстро понял, что проблема не в модели. Проблема в отсутствии конвейера верификации. Линтеры ловят синтаксис. Тесты ловят поведение. Но никто не ловит структурную деградацию — рост цикломатической сложности, расширение радиуса поражения, дрейф числовых утверждений в документации.

Читать далее

Вот почему твоему ИИ-агенту нужен ACP в IDE

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

Буквально пару лет назад было весело обсуждать фронтендеров, у которых каждые полгода появлялся новый фреймворк или библиотека. Кажется, сейчас у них всё устаканилось и breaking change изменений в направлении развития уже не видно. Ну или может я о них не слышу.

Зато теперь источником новостей и обсуждений стал великий и ужасный искусственный интеллект и всё, что с ним связано: релизы моделей каждую неделю, новые агенты каждый месяц и инновационные протоколы каждые полгода. Я думаю, вы уже слышали про MCP, вероятнее всего слышали про Skills, но вот с ACP возможно ещё не сталкивались. Сегодня поговорим именно о нём.

Читать далее

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

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

Недавно в популярном Facebook-посте: «GPT работает всё хуже. Просишь пересчитать формулу на 600 грамм, он бодро выдаёт две по 300. Пора, видимо, валить».

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

Читать далее

Рендеринг — это не про сервер

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

Когда меня просят подсказать, как структурировать веб-сервис, я всегда начинаю с одного и того же: напишите сервер, который в ответ на HTTP-запросы выдаёт текст в формате HTML.

Это наиболее долговечный, финансово оправданный и понятный пользователю способ написать веб-сервис. Большинство веб-сервисов следует выстраивать именно так, если только у вас нет очень веской причины действовать иначе.

Выслушав меня, веб-разработчики часто отвечают: «о, так вам нравится рендеринг на стороне сервера», на что я обычно, поморщившись, парирую — «да, в какой-то мере». Не распыляйтесь по пустякам, если собеседника отделяет от вас десятилетие невежества. Хотя бы они понимают, о чём я. 

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

Стоит вам это понять — и Веб откроется вам таким, каким его вижу я: как самый простой, лёгкий и наиболее мощный интерфейс для вычислений, какой только есть на свете.

Читать далее

Как мы в Диасофт автоматизировали автотесты с помощью ИИ

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

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

Я Анна Круглова, в Диасофт занимаюсь развитием инструментов автоматизации тестирования на базе искусственного интеллекта.

В нашей компании процесс создания тестов для API и событий полностью автоматизирован с помощью ИИ. В этой статье расскажу, как это устроено и влияет на подход к работе тестировщика.  

Читать далее

FLUX.2-dev GGUF Q4_K_M на Apple Silicon: куда уходят 29 гигабайт?

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

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

Я попытался разобраться на примере современной FLUX.2-dev. Чтобы хотябы теоретически влезать в доступную мне VRAM на моем оборудовании я выбрал вариант GGUF Q4_K_M. И вот тут началось все самое интересное.

Читать далее

Тимлид в 20: что могло пойти не так

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

Сердце стучит, руки дрожат, голова полна мыслей — но ты принимаешь сложное решение.

Меня зовут Иванов Владимир, и сегодня расскажу историю о сложном решении в первые недели моего тимлидства на прошлом месте работы.

Читать далее

Что умеют школьники, которые через 5 лет будут нашими коллегами

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

Школьные олимпиады по информатике до сих пор воспринимаются как отдельный мир, где дети решают абстрактные задачи, далёкие от реальной работы. Но сильный олимпиадник сегодня уже не просто быстро пишет код. По уровню алгоритмического мышления он близок к junior, а иногда и к middle-разработчику, только без боевого опыта. Он умеет жить в таймлимитах, думать об асимптотике, быстро проектировать решение, дебажить под давлением и работать не только с чистой алгоритмикой, но и с задачами по ИИ, безопасности и робототехнике. Поэтому заключительный этап Всероссийской олимпиады школьников по информатике, который в этом году проходит с 22 по 28 марта, показывает, какой инженер будет нужен индустрии через несколько лет. Чтобы понять, из каких скилов собирается портрет будущего инженера, мы посмотрели, как сегодня устроен финал олимпиады, какие задачи там дают и чему он на самом деле учит.

Читать далее

Настройка проекта для AI-агентов

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

Собрал свой опыт настройки проектов для кодовых агентов. Как написать правила, чтобы агент не делал глупых ошибок, как научить его работать с окружением, как делиться скиллами между репозиториями и не сойти с ума, когда в команде у каждого свой инструмент — Claude Code, Cursor, Copilot.

Читать далее

Как убрать virtual и не сойти с ума: велосипедные генераторы через type loopholes

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

В C++ уже есть корутины. Есть диапазоны. Есть готовые библиотеки.

Но это не мешает взять гаечный ключ и начать собирать генератор вручную.

В предыдущей статье макросы внезапно начинают изображать из себя язык: DO, LET, IS управляют препроцессорным ритуалом и создают DSL. Это синтаксис. Это оболочка. Это фронтенд.

(чтение предыдущей статьи необязательно для понимания этой)

Но ведь есть не только синтаксис, можно создать и конкретную семантику — генераторы.

В этой статье я строю велосипедный генератор. Самый честный.

Читать далее

ИИ не понимает код, пока разработчик не понимает его «мышление»

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

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

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

Материал подготовлен на основе экспертной колонки старшего вице‑президента Сбера, руководителя блока «Технологий» Кирилла Меньшова, опубликованной в Ferra.

Читать далее

Разработчик ковырял API Cursor и нашёл секрет самого громкого запуска года

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

20 марта 2026 года. Разработчик по имени Финн ковыряет API-эндпоинт Cursor. Не ищет секреты. Просто дебажит.

Но ответ приходит с идентификатором модели, который — не «Composer 2». Там написано:

kimi-k2p5-rl-0317-s515-fast

Он это твитит. 444 000 просмотров.

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

Читать далее

Новый слабо централизованный мессенджер с E2E-шифрованием и групповыми чатами, написанный на Go при помощи Fyne

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

Мысль написать свой мессенджер у меня возникла ещё этак в прошлом году, почти четыре месяца назад. Тогда ещё трава была зеленее и Telegram нормально функционировал, без замедления и финального блокирования. Из-за работы, других проектов и в конце-концов лени я откладывал написание мессенджера до лучших худших времён. И вот такие времена настали, телеграм был полностью заблокирован и без использования VPN до него уже нормально не достучаться. С полыхающей пятой точкой и мотивацией Вергилия я решил наконец-таки начать писать мессенджер, который в результате был создан за неделю.

Читать далее

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

Структуры данных на практике. Глава 9: Двоичные деревья поиска

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

Катастрофа с красно-чёрным деревом

Компилятор тратил 60% времени на поиск символов. Не на парсинг, не на генерацию кода, просто на поиск в таблице символов.

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

«У него O(log n); судя по учебникам, оно идеально подходит для этой цели», — сказал мой коллега.

Но профилировщик показывал иное...

Читать далее

Vue.js Amsterdam 2026: будущее экосистемы Vite

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

Недавно в Амстердаме прошла конференция Vue.js Amsterdam 2026 — ежегодное мероприятие, посвящённое экосистеме Vite и современным инструментам фронтенд-разработки.

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

В этой статье разберём основные анонсы конференции: Vite 8, Vite+, Void Cloud, а также обновления Vue и Nuxt.

Читать далее

Гайд по Git для начинающих: основные команды, работа с ветками и типичные ошибки

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

Собрали гайд по работе с Git для новичков. 

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

Сохраняйте и пользуйтесь.

Читать дальше →

CodeClone 2.0.0b1: когда детектора клонов уже мало

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

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

За это время проект заметно изменился. Если раньше это был в первую очередь детектор клонов, то 2.0.0b1 — уже скорее инструмент для контроля структурного здоровья проекта в CI.

Читать далее

Светлячки, или природный клеточный автомат

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

Когда смотришь на рой светлячков ночью, возникает довольно естественный вопрос: как они вообще понимают, когда нужно вспыхнуть? Почему через некоторое время хаотичные вспышки вдруг начинают напоминать согласованное поведение?

Читать далее

Spring Data. На пути к более строгой типизации

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

В новом переводе от команды Spring АйО разберем, почему stringly-typed API со временем становятся хрупкими, чем помогают метамодели вроде Querydsl и JPA Criteria, и как новый механизм в Spring Data даёт более лёгкую и естественную альтернативу без лишней инфраструктуры сборки.

Читать далее

Испанский в кармане: Архитектура Telegram-бота с локальным Whisper.cpp, AI-диалогами и оценкой произношения

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

Привет, Хабр! Меня зовут Vlad, я начинающий Python‑разработчик и энтузиаст изучения языков.

Недавно я столкнулся с классической проблемой полиглота‑самоучки: учебники дают теорию, аудиокурсы — пассивное восприятие, но нет главного — обратной связи по произношению. Репетиторы дороги, а разговорные клубы требуют уровня, которого у меня еще не было.

Я решил закрыть эту боль кодом. Моя цель была амбициозной: создать Telegram‑бота, который:

1. Слушает голосовые сообщения и распознает речь без дорогих облачных API.
2. Оценивает точность произношения в процентах, сравнивая с эталоном.
3. Поддерживает живой диалог через LLM, исправляя ошибки на лету.
4. Работает быстро и экономно на слабом VPS.

В этой статье я подробно разберу архитектуру проекта, покажу, как интегрировать бинарный whisper.cpp в асинхронный aiogram 3.x, реализую алгоритм оценки речи и расскажу про управление состояниями (FSM). Под капотом — Python, нейросети и немного магии.

Читать далее