Обновить
-19

Пользователь

Отправить сообщение

Отлично. Интересно, как exec-кодогенерация работает с slots и frozen dataclass? Прямая установка атрибутов там ломается. И планы на async резолв для FastAPI?

Хорошая статья. Добавлю из практики: UUIDv4 на B-tree индексах в Postgres даёт сильную фрагментацию — вставка рандомных значений заставляет дерево постоянно перестраиваться. Если нужен UUID для первичного ключа, смотрите в сторону UUIDv7 (time-sorted) или ULID — они ложатся почти последовательно и индекс живёт намного дольше без вакуума.

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

Нативный tool calling надёжнее текстовых Action, но даже Claude/GPT иногда путают аргументы в сложных схемах. Спасает валидация с возвратом ошибки в контекст — на втором шаге модель обычно исправляется.

На практике MCP добавляет latency через JSON-RPC и сериализацию. Для высоконагруженных API CLI с прямым stdin/stdout быстрее. Минус CLI — нет строгой схемы: парсинг --help даёт галлюцинации.

Главная ловушка Generic Repository — IQueryable наружу. Вроде абстракция, а на деле ты привязан к EF жёстче, чем без репо. Для сложных запросов давно перешёл на спецификации, репозитории оставил только для CRUD.

Хороший разбор базы. Как только добавляешь tool calling, цикл усложняется: нужно перехватывать tool_calls в ответе, выполнять и подсовывать результат обратно модели. И сразу встаёт вопрос контекстного окна — результаты tool-вызовов быстро его забивают, без summarize промежуточных шагов никуда.

Вайб-кодинг — новый уровень абстракции, как когда-то переход с ассемблера на C. Проблема не в LLM, а в тех, кто перестаёт понимать сгенерированный код. На ревью прошу джунов объяснить каждую строчку AI-выдачи — сразу видно, кто думает, а кто копипастит.

Хороший разбор базового цикла. На практике быстро упираешься в лимит контекстного окна при долгой работе агента. Спасает скользящее окно: последние N сообщений держим как есть, а старые сжимаем через суммаризацию той же LLM. Жду вторую часть — интересно, добавите ли tool calling.

Полезно. Сталкивался: my.telegram.org режет не все российские IP — MTS блокируется, Билайн проходит. Похоже, фильтр по диапазонам, а не геопривязке. Сам через Yota в итоге получил api_id.

Писал Telegram-бота через Claude Code. Две вещи, которые AI сам не добавляет: rate limiting для API и обработку callback_query с таймаутами. Без этого на 50+ юзерах начинаются потери. Добавляли вручную?

По делу. Важный нюанс: на ARM (Cortex-A) unaligned доступ к atomic вызывает не деградацию, а исключение. C++17 решает это через over-aligned new — интересно сравнить с вашим подходом.

На нишевых платформах (1С 7.7, старые диалекты SQL) та же картина: нейросеть хороша для разбора структур, но финальный код — за разработчиком. Правило «XML только читать» — must-have.

Хорошая аналогия с авиацией. Заметил по себе: когда Cursor генерит код, всё равно построчно ревьюю — иначе через неделю не вспомню логику. AI как второй пилот, а не автопилот: решение всегда за разработчиком.

Хорошая подборка. Часто упускают тему долговременной памяти агентов — одного RAG мало, нужно управление контекстным окном и стратегия суммаризации, иначе на 20+ шагах агент теряет изначальную цель.

Заметил похожий эффект в код-ревью: джуны с Copilot генерируют тонны кода — внешне ок, но внутри гонки данных и O(n²) на ровном месте. AI ускоряет написание, но не заменяет понимание архитектуры.

Полезное сравнение. Ключевое — паттерн: Qwen останавливается на первом ответе, Codex копает глубже. -peek против -top — не деталь, а разница между «вижу проблему» и «понимаю причину». Подтверждаю: без -peek легко пропустить аллокации в middleware.

ObjectId ценен монотонностью, не размером: timestamp в первых байтах даёт последовательную вставку в B-tree. UUIDv4 фрагментирует индекс, UUIDv7 решает проблему, но миграция болезненна.

Классика. Хуже всего, когда ошибка уже в JDK — breaking change невозможен. Меня больше всего бесил mutable Date: пока не обернёшь в defensive copy, жди сюрпризов. Хорошо, что java.time это вылечили, но легаси на десятилетия.

Главная засада в Go-мониторинге — не горутины, а кардинальность лейблов Prometheus. Один dynamic label от нефильтрованного параметра — и timeseries взрывается на порядок. У меня после перехода на OTel SDK кардинальность упала с 80k до 3k.

Информация

В рейтинге
4 679-й
Зарегистрирован
Активность

Специализация

Фулстек разработчик
Старший
Git
Python
Алгоритмы и структуры данных
Английский язык