Полезные материалы по всему, что может быть интересно программисту. Обратная связь: @proglibrary_feedback_bot Актуальные мероприятия по разработке: @event_listener_bot По вопросам рекламы: @proglib_adv_bot и @proglib_adv
78 100подписчиков сейчас
22.0%ERR
36.0цитируемость
3постов/день
Русскийязык
Россиягео
Подписаться в Telegram
Данные обновлены 22.07.2020
Публикации всего: 145
📊 Архитектурную схему тоже можно отправить на ревью
Добавили очередь, разделили сервис, поменяли базу — а в документации всё ещё старая картинка. Если схема описана кодом, её изменения можно обсуждать в том же PR.
В руководстве по Python Diagrams показывают, как собрать схему из узлов, связей и кластеров. Graphviz отвечает за отрисовку, а в Python вы задаёте компоненты и направление потока данных.
Исходник можно хранить рядом с проектом и генерировать изображение при сборке документации. Схема сама не узнает, что вы добавили сервис: обновлять её всё равно придётся. Зато у изменений появятся история и ревью.
🐸 Библиотека программиста
🧠 Ответ короче. Задача дороже
Сократили вывод команды, чтобы сэкономить токены. Агенту не хватило детали — он снова открыл файл или повторил команду. Один ответ стал дешевле, но вся задача потребовала больше работы.
В экспериментах GitHub Copilot команда столкнулась именно с этим. Поэтому исходники и diff сохраняют, результаты поиска перегруппировывают без потерь, а повторяющийся шум сборки и тестов сокращают выборочно.
Часть экономии дала уборка лишнего форматирования, которое агент уже не использовал. Если оптимизируете своего агента, считайте стоимость завершённой задачи, число повторных действий и качество результата. Минимальный ответ инструмента может оказаться не самым выгодным.
🐸 Библиотека программиста
❤ 5 👾 4
Перейти к публикации →
📊 API тормозит. В логах ошибок нет
Запрос дошёл до контроллера, прошёл несколько сервисов, обратился к базе и платёжному провайдеру. Отдельные строки логов показывают события, но собрать из них путь одного запроса бывает непросто.
В руководстве по NestJS Observe разбирают наблюдаемость с контекстом фреймворка: контроллеры, провайдеры, guards и interceptors помогают понять, где выполнялась работа и куда ушло время.
Логи описывают события, метрики показывают тенденции, трассировка связывает этапы операции. При выборе инструмента учитывайте весь стек: глубокий контекст NestJS полезен его командам, а для сервисов на разных языках может быть важнее общая архитектура на OpenTelemetry.
🐸 Библиотека программиста
👍 5 👏 2 🥰 1
Перейти к публикации →
Почему разработчик планирует отдавать больше задач Claude
Винсент Шмальбах описал план перераспределить расходы на ИИ: больше работы отдавать Claude, а Codex сохранить для части задач.
К решению его подтолкнули затяжные сессии. По наблюдениям автора, агент иногда часами продолжал проверки и добавлял соседние задачи. Квота расходовалась, а момент, когда можно принять результат и двигаться дальше, было трудно предсказать.
В личном разборе Шмальбах связывает эти эпизоды с условиями подписки и затратами на собственные проекты.
#ии #инструменты
🐸 Библиотека ИИ для айтишников
👏 4 👾 4 😍 2 · всего 13
Перейти к публикации →
🛠 Инструмент деплоя сменили. Что считать успехом?
В старом пайплайне всё понятно: команда завершилась без ошибки — идём дальше. После миграции выясняется, что никто отдельно не записал, какая версия должна работать, сколько реплик нужно и какой уровень ошибок допустим.
Автор руководства на TypeScript выносит эти условия в отдельную спецификацию. Два исполнителя получают один контракт и возвращают данные для проверки: версию, доступные реплики, долю ошибок и задержку.
Сравнивать можно результат операции, даже если шаги внутри различаются. Примеры учебные, в памяти, но вопрос для своего CI/CD вполне практический: при смене инструмента вы переносите команды или сохраняете условия, при которых деплой считается успешным?
🐸 Библиотека программиста
❤ 5 👍 3 🙏 2
Перейти к публикации →
🦀 Почему dbg! всё ещё удобнее отладчика
Команда Rust опубликовала результаты опроса более 2300 участников. Самыми популярными подходами оказались вывод в консоль и dbg!: для небольшого сбоя они часто проще настройки отладчика.
В результатах опроса видно, что мешает работе: значения enum и коллекций отображаются неудобно, переменные не всегда доступны, а пошаговая отладка async-кода вызывает сложности. Это ответы участников опроса, а не статистика всех разработчиков Rust.
Для авторов библиотек есть полезная деталь: атрибут debugger_visualizer позволяет включить визуализаторы в отладочную информацию. Поддерживаются Natvis и GDB pretty printers. Пользователю вашей структуры данных будет проще увидеть её содержимое, чем разбирать внутренние поля.
🐸 Библиотека программиста
🔥 4 👍 2 👾 2
Перейти к публикации →
🔐 Данные зашифрованы. Как найти нужную запись?
При шифровании со случайностью одно и то же значение каждый раз может выглядеть по-разному. Простое сравнение зашифрованных строк тогда не найдёт все совпадения.
В разборе пайплайна персональных данных показывают компромисс детерминированного шифрования: при одинаковом ключе и контексте одинаковые значения дают одинаковый результат. Поиск по равенству становится возможен, но наблюдателю видны повторы и их частота.
Если исходное значение восстанавливать не нужно, рассмотрите HMAC для сопоставления. Если нужно — отдельно продумайте доступ к расшифровке и ключам. Начните с операций, которые нужны потребителям данных: точное совпадение, диапазон и поиск по префиксу требуют разных решений.
🐸 Библиотека программиста
👍 8 🤩 3 🔥 1
Перейти к публикации →
⌨️ 150 карточек на странице. Видны только пять
Браузер может тратить время на содержимое далеко за пределами экрана. content-visibility: auto позволяет отложить часть этой работы до момента, когда блок понадобится для отображения.
В эксперименте со 150 карточками автор измеряет рендеринг в DevTools и разбирает следующий вопрос: как сохранить геометрию страницы, пока содержимое пропущено. Для этого пригодится contain-intrinsic-size с примерной высотой блока.
Значение auto позволяет повторно использовать уже измеренный размер. Начальную оценку подбирайте по своим карточкам: слишком большая или маленькая меняет положение контента при прокрутке. Проверяйте и загрузку, и скролл — часть работы вы переносите на потом.
🐸 Библиотека программиста
❤ 6 👍 4
Перейти к публикации →
Read. Write. Edit. Bash.
Это базовый набор операций Pi — агента, на котором построен OpenClaw. Дополнительные возможности появляются через расширения: агент может написать их по запросу пользователя, перезагрузить и проверить в работе.
У такого устройства есть полезные детали:
• состояние расширений хранится в сессии;
• беседу можно разветвить для отладки и вернуться с кратким пересказом;
• инструкции и примеры помогают агенту создавать новые функции.
Армин Ронахер разбирает Pi на собственных примерах: среди расширений, созданных по его запросам, есть список задач и ревью изменений кода. Получается взгляд на выбор ИИ-инструмента через то, что пользователь может настроить в нём под свою работу.
#ии #инструменты
❤ 10 🤔 2 👍 1
Перейти к публикации →
🧠 Агент снова «починил». Баг остался
После нескольких «попробуй ещё раз» исправлений становится больше, а воспроизвести исходную ошибку — сложнее. Агент меняет код, но из повторяющейся жалобы не узнаёт ничего нового.
Автор руководства по выходу из цикла исправлений предлагает остановиться, сохранить нужные изменения и вернуться к последнему рабочему состоянию. Затем заново описать проблему: файл, действие, фактический результат и ожидаемое поведение.
Дальше — одна правка за раз и проверка исходного сценария в приложении. Если сбой воспроизводится тестом, сначала зафиксируйте его тестом. Так у следующей попытки появится критерий успеха. Сообщение «готово» в чате агента проверку не заменяет.
🐸 Библиотека программиста
😁 7 🌚 4 👍 3 · всего 17
Перейти к публикации →
Rozetked
ВИЛСАКОМ РЕД / WYLSACOM RED
[netstalkers]
Типичный программист
СТАС БОМБИТ
Andro News