Инструменты программиста
12.9K subscribers
1.66K photos
158 videos
4 files
2.07K links
Полезные инструменты для программистов — бесплатные и платные

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Регистрация в перечне РКН: https://tprg.ru/mX0S
Download Telegram
Из Open VSX убрали 77 расширений-двойников: девятнадцать уносили полный путь к вашей рабочей папке

Расширения загружали в маркетплейс с 26 июля по 1 августа 2026 года и сняли 3 августа. Все выдавали себя за легитимные инструменты разработчика. Домен для утечки у всех общий, код и поведение схожи.

🔘 58 штук лёгкие: уходит имя хоста, иногда имя рабочей папки и версия редактора;
🔘 остальные 19 это полноценная разведка;
🔘 у них утекает имя хоста и пользователь ОС, имя, версия, тип хоста и идентификатор машины редактора, платформа и архитектура, локаль и часовой пояс;
🔘 плюс имя открытой рабочей папки и полный путь к ней в файловой системе.

#инструменты
🤯2
include-tidy следит, чтобы файл на C и C++ включал ровно те заголовки, что использует

Принцип include-what-you-use простой: файл напрямую включает каждый заголовок, из которого ссылается на символы, и ровно по одному разу. Лишние включения раздувают время сборки, недостающие ломают её при первой перестановке заголовков.

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

#инструменты
🤣1
Media3 1.11 добавил слоты Player в Compose и предзагрузку коротких видео через PlayerPool

Media3 это библиотека, на которой работает подавляющее большинство топовых медиаприложений под Android. В 1.11 изменения затронули воспроизведение, редактирование и UI-компоненты сразу.

Для тех, кто на Compose, главное в UI-модулях: настраиваемые слоты Player с готовыми дефолтами, интерактивные жесты, наблюдатели состояния и предзагрузка коротких видео через PlayerPool. Последнее прямо про ленты в стиле Reels, где следующий ролик должен стартовать мгновенно.

Помимо этого интеграцию с Cast обновили под SystemUI Output Switcher, добавили сетевое расширение на клиенте Ktor и утилиты муксинга для Ogg и WAV.

#android
CleanSlate запускает агента для кода в IDE, терминале и через SDK, без привязки к вендору

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

🔘 доступ через IDE, командную строку и SDK;
🔘 провайдер модели выбирается: платформа не завязана на одну экосистему;
🔘 дальше обещают долгоживущих облачных агентов, которые работают без включённой машины.

Проект ранний, и автор прямо просит честной обратной связи от тех, кто уже пользуется агентами.

#инструменты
Скрытая инструкция в issue на GitHub довела до доступа Editor во внутреннем проекте Google Cloud

Pillar Security показала цепочку целиком: в issue положили скрытые инструкции, а разбирал этот баг-репорт ИИ-агент через рабочий процесс Gemini CLI.

🔘 инъекция привела к выпуску учётных данных Workload Identity Federation;
🔘 одна из них позволила выдать себя за более привилегированную учётную запись;
🔘 итог — доступ уровня Editor к внутреннему проекту Google Cloud.

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

#инструменты
🤣1
Как свести path, query, заголовки и тело запроса в одну схему инструмента MCP

Операция API принимает вход сразу из нескольких мест, а инструмент MCP должен отдать клиенту одну понятную входную схему. Разбор проходит по каждому виду параметров.

🔘 параметры пути опознают запись;
🔘 параметры строки запроса фильтруют и разбивают на страницы;
🔘 заголовки несут метаданные и аутентификацию;
🔘 тело содержит структурированные данные для создания и обновления.

Полезно, если у вас уже есть REST и вы прикидываете, как отдать его агенту без потери смысла параметров.

#инструменты
Восемь дыр в семи консольных ИИ-агентах: репозиторий сам называет команду для запуска

Manifold Security раскрыла класс уязвимостей, где конфигурация Git внутри репозитория указывает команду, а агент её выполняет: от вашего пользователя, вне песочницы и без запроса подтверждения. Четыре из восьми на момент публикации не закрыты.

🔘 срабатывает, только если репозиторий приехал файлами с целой директорией .git: архив, общий диск, папка синхронизации, флешка. Обычный clone не воспроизводит;
🔘 пофикшено в goose, Claude Code и Cursor; на 1 сентября Hermes Agent, Qwen Code, Grok Build и второй путь в Claude Code всё ещё выполняли команды из репозитория;
🔘 в Claude Code и Hermes нагрузка срабатывает до подтверждения доверия к папке, в Qwen Code до аутентификации, в Grok Build на первом нажатии клавиши;
🔘 OpenAI в тот же день выпустила три своих CVE на тот же класс в Codex.

#инструменты
Dependabot умеет сам собирать десяток пул-реквестов в один: три строки в dependabot.yml

В GCToolkit от Microsoft на июль 2026 года 92 из 578 коммитов, каждый шестой, оказались бампами от Dependabot, причём 61 за последние двенадцать месяцев, иногда по нескольку в день. GitHub показывает, как проект превратил эту капель в месячный батч.

🔘 группировка обновлений по экосистемам вместо одного пул-реквеста на зависимость;
🔘 снижение частоты: ежедневный опрос меняется на еженедельный или месячный;
🔘 обновления безопасности при этом остаются быстрыми и идут отдельно от плановых.

Всё три правки лежат в dependabot.yml и переносятся в свой репозиторий копированием.

#инструменты
🤓1
Стековые пул-реквесты разбирают один гигантский диф от агента на ревьюабельные куски

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

🔘 GitHub разбирает приём на конкретном примере: добавление поиска по товарам в помощника для магазина;
🔘 каждый пул-реквест в стеке остаётся маленьким и читаемым;
🔘 синхронизация нижних изменений с верхними перестаёт быть ручной работой.

#инструменты
В архиве настоящий Notepad++ 8.8.3 и одна лишняя библиотека: так работает MATCHBOIL.V2

CERT-UA предупреждает о кампании, где вредонос притворяется плагином к Notepad++. Атрибуция ведёт к кластеру UAC-0099, активному с середины 2022 года и ранее эксплуатировавшему уязвимости в WinRAR.

🔘 письмо с картинкой, сокращённая ссылка, файлообменник, ZIP со скриптом VBScript под видом PDF;
🔘 запуск показывает настоящий PDF как отвлекающий манёвр и тихо тянет второй архив Evernote.zip;
🔘 внутри полная легитимная копия редактора версии 8.8.3 и вредоносная библиотека NppExport.dll.

Проверка по имени файла и наличию самого редактора тут не помогает: подменён именно плагин.

#инструменты
Forwarded from Zen of Python
Бэкап, украденный сегодня, расшифруют квантовой машиной через десять лет, и в Python от этого уже есть пакет

Зашифрованный архив можно скачать сейчас и спокойно подождать, пока появится машина, которая его вскроет: файлы на диске живут дольше, чем стойкость нынешних алгоритмов. На этот случай сделана библиотека Quipu: гибридное шифрование, где классическая схема X25519 и постквантовая ML-KEM-1024 работают вместе, так что контейнер откроется, только если падут обе сразу.

Питонисту она приезжает как pip install quipu-crypto, нативным колесом на PyO3; внутри Rust без сборщика мусора и без собственного unsafe. API короткий: encrypt_stream с decrypt_stream шифруют по паролю, generate_keypair с encode_to_recipient закрывают данные под конкретного получателя.

Заодно автор объясняет, почему из проекта исчезли слой C ABI и биндинги для Node и Go, которые были в первой версии.
11
Cloudflare открыла pvcli, инструмент, которым сама отлаживает Oblivious HTTP

Oblivious HTTP это протокол, где запрос проходит через реле и шлюз так, чтобы ни одна сторона не знала одновременно и отправителя, и содержимое. Отлаживать его тяжело: несколько шагов между четырьмя сторонами, бинарное кодирование HTTP и детали, размазанные по нескольким черновикам RFC. Cloudflare выложила под Apache-2.0 инструмент, свёрнутый из опыта эксплуатации на миллионах запросов в секунду.

🔘 полный запрос через реле, шлюз и origin помещается в одну команду с флагами --ohttp, --first-hop и --proxy;
🔘 поддерживаются обычные HTTP-флаги: метод через -X, заголовки, тело;
🔘 проект открыт для контрибьюций.

#инструменты
2
GitFarm: Git-операции по сети вместо клона монорепозитория

GitFarm — внутренний сервис Uber, который выполняет команды Git за другие сервисы: не система контроля версий, а централизованный Git-клиент. Клиент не держит копию репозитория, а шлёт запрос по gRPC, и команда отрабатывает в одноразовой песочнице на готовом чекауте.

Зачем: автоматика Uber дёргает Git миллионы раз в сутки, и раньше каждому сервису был нужен полный чекаут. Клон Go-монорепозитория занимает 15 минут, шесть ядер, 32 ГБ памяти и больше 40 ГБ диска. GitFarm отдаёт чекаут меньше чем за 500 мс, а расход ресурсов на стороне клиентов упал более чем на 80%.

Наружу GitFarm не выложен, но схема понятна: bare-клоны, которые сервис держит в синхроне с апстримом, плюс пулы прогретых чекаутов и песочниц. Если ваши CI-джобы стартуют с полного клона большого репозитория, повторить можно и у себя. Разбор в InfoQ.

#инструменты
Maiao: каждый коммит уезжает отдельным пул-реквестом

Maiao — консольная утилита, которая переносит в GitHub порядок ревью из Gerrit: единица проверки там не ветка, а коммит. Вы работаете как обычно, а при отправке каждый коммит становится своим пул-реквестом, и они выстраиваются стопкой друг на друге. Ревьюер смотрит не одно большое изменение целиком, а несколько маленьких по отдельности, и вливает их по мере готовности.

Тот же процесс работает не только с GitHub: поддерживаются GitLab, Gitea, Forgejo, Bitbucket Cloud и Cursor Origin. Утилита написана на Go, в репозитории лежит формула для Homebrew.

Один нюанс: это community-форк. Прежние мейнтейнеры adevinta/maiao ушли из компании, исходный репозиторий не развивается, работа продолжается в runetes/maiao.

Где пригодится: крупная фича, которую не хочется вручную резать на цепочку веток.

#инструменты
Origin: гит-хостинг от Cursor, который не упирается в диски серверов

Origin — сервис Git-репозиториев от Cursor на собственном движке Continuity. Объекты коммитов лежат в объектном хранилище, а не на дисках самих серверов. Бета уже открыта на платных планах Cursor.

Зачем так. В привычной схеме, которую в своё время выстроил GitHub под именем Spokes, сервер держит минимум три синхронные копии каждого репозитория на быстрых NVMe-дисках. Чем больше копий, тем дольше они сходятся между собой, а Git плохо переносит момент, когда реплики разъехались. Хранилище берёт репликацию на себя, и синхронизировать копии серверам больше не нужно.

Где пригодится: агенты пишут код пачками, и на репозиторий приходится больше веток, PR и прогонов CI, чем закладывали раньше. Разбор архитектуры на devclass — по посту Висента Марти, инженера Cursor и в прошлом инженера GitHub.

#инструменты
Emacs 31.1: отдельный каталог для вашего Lisp и «Send to...» в контекстном меню

Emacs — расширяемый текстовый редактор GNU: почти всё в нём настраивается собственным кодом на Lisp. В версии 31.1, вышедшей в конце августа, под такой пользовательский код завели отдельный каталог, а в контекстное меню (context-menu-mode) добавили пункт «Send to...».

Полный перечень изменений лежит в файле NEWS, а разбор мелких удобств собрал Mickey Petersen, автор книги «Mastering Emacs»; обе ссылки есть в заметке LWN о релизе.

Где пригодится: если вы годами тащите свой init-файл из версии в версию, посмотрите, что переехало. Ставится как обычно — тарболл с ближайшего зеркала GNU, проверка подписи командой gpg --verify emacs-31.1.tar.gz.sig.

#инструменты
1
Neovim: терминальный редактор, который настраивается на Lua

Neovim — форк Vim для тех, кто правит код прямо в терминале и не хочет ставить туда полноценную IDE. От Vim отличается вменяемыми настройками по умолчанию и встроенной поддержкой Language Server Protocol: редактор сам получает от языкового сервера автодополнение, переход к определению и подсветку ошибок, и собирать это из плагинов не нужно.

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

Ставится на Linux, macOS (brew install neovim) и Windows. Пригодится, если вы часто редактируете файлы по ssh: подсветка ошибок и автодополнение будут и там, где графического редактора нет.

Установку и сборку первого конфига по шагам разбирают в The New Stack.

#инструменты
🔥1
Spec Kit от GitHub учит ИИ-агента работать как инженер: сначала спецификация и план, потом код. Работает с любым агентом, Copilot, Claude Code, Codex, Cursor и ещё тремя десятками. В августе вышла версия 1.0, у репозитория 135 тысяч звёзд.

Зачем это нужно: когда задача ставится в чате, агент додумывает недосказанное и часто строит не то. Spec Kit заставляет сначала записать, что и зачем строим, потом как, потом на какие задачи это делится, и только после этого кодить. Все документы лежат в репозитории рядом с кодом, их читают и правят до реализации.

Как применять:

🔘 Поставить в проект одной командой specify init, указав своего агента.
🔘 Один раз описать принципы проекта: стек, стиль, что запрещено.
🔘 На каждую новую функцию: описать, что строим, составить план, разбить на задачи, выполнить.
🔘 В конце попросить агента сверить готовый код со спекой: он сам допишет задачи на то, что не сделано.
🔘 Для багов есть отдельное дополнение: понять причину, починить, убедиться, что симптом исчез.

Ближайшие альтернативы: Kiro от AWS делает то же самое, но внутри своей IDE, а Tessl это CLI и MCP-сервер, сам фреймворк был в закрытой бете. Spec Kit это просто markdown-шаблоны и скрипты в репозитории, их легко подстроить под себя. Минус тот же: для правки в одну функцию цепочка избыточна, а спека и план это документы, которые кому-то надо читать. Три подхода сравнил Мартин Фаулер.

На сайте разобрали подробнее и добавили десять инструментов той же недели: ponytail, который заставляет агента писать вдвое меньше кода, ECC с готовым циклом «план, тест, ревью», humanizer против машинных оборотов в тексте и archify для схем архитектуры из чата.

Язык: Python. Лицензия: MIT.

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
Nokia 3310, которая переживёт тебя. QIWI-терминал во дворе. Рингтон за 300 рублей, оплаченный смской. Пройди ностальгический опрос и узнай какое ты храненилище информации!
Единая платформа разработки, внутреннее облако, сквозная видеоплатформа и общая дата-инфраструктура. Разобрали, из каких технических решений VK собрала фундамент для всех своих продуктов.

Если в вашей команде каждый сервис заново собирает инфраструктуру с нуля, мы нашли рабочий пример решения этой проблемы. Платформа разработки превращает запуск сервиса в готовый маршрут: шаблон, ресурсы, каталог зависимостей, сборка, мониторинг и self-service выпуск в продакшен. В результате сервис создаётся за час вместо 20-30 дней, это ли не комфортный уровень?

В статье также рассказываем про внутреннее облако One-cloud, технологии видеоплатформы и про то, как устроена единая система A/B-тестов OneAB.