Инструменты программиста
Полезные инструменты для программистов — бесплатные и платные Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Регистрация в перечне РКН: https://tprg.ru/mX0S
Показати більше📈 Аналітичний огляд Telegram-каналу Инструменты программиста
Канал Инструменты программиста (@prog_tools) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 12 924 підписників, посідаючи 9 463 місце в категорії Технології та додатки та 49 781 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 12 924 підписників.
За останніми даними від 30 вересня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -15, а за останні 24 години на -1, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 12.71%. Протягом перших 24 годин після публікації контент зазвичай збирає 6.33% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 1 643 переглядів. Протягом першої доби публікація в середньому набирає 818 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 2.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як github, git, docker, install, api.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Полезные инструменты для программистов — бесплатные и платные
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Регистрация в перечне РКН: https://tprg.ru/mX0S”
Завдяки високій частоті оновлень (останні дані отримано 01 жовтня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
Триває завантаження даних...
| Дата | Залучення підписників | Згадування | Канали | |
| 01 жовтня | 0 |
pip install memray.
В контейнере найдите PID процесса и запустите memray attach <PID>. Через несколько минут остановите запись и посмотрите, какие функции расходуют больше всего памяти: memray summary даст таблицу, memray flamegraph построит граф вызовов, а memray stats покажет общую статистику.
Для подключения нужен Python 3.7 или новее. В Kubernetes контейнеру также может потребоваться разрешение SYS_PTRACE. Такой профиль помогает найти крупные выделения памяти под реальной нагрузкой, когда проблема не воспроизводится локально.| 2 | Как фильтровать JSON в терминале с jq
jq — утилита командной строки для фильтрации и преобразования JSON. Она принимает файл или вывод другой команды, поэтому ответ API можно обработать прямо в конвейере shell-скрипта.
Фильтр .servers[] перебирает объекты массива, select(...) оставляет подходящие, а {hostname: .hostname} собирает новый объект из нужных полей. Шаги соединяются оператором |, поэтому цепочку можно проверять по частям.
Флаг -r выводит строки без кавычек, чтобы сразу передать их другой команде. Примеры фильтрации и преобразования JSON также охватывают сортировку, группировку, переменные и обработку отсутствующих полей. | 723 |
| 3 | Delta и fzf: Git-диффы с посимвольной подсветкой и меню файлов
Delta оформляет вывод git diff, git show, git add -p и git blame: изменения внутри строк выделяются двумя оттенками, поэтому при ревью легче заметить отдельные исправленные символы.
Скрипт gd добавляет меню fzf для переключения между изменёнными файлами. Аргументы передаются напрямую в git diff: gd --staged показывает подготовленные к коммиту изменения, gd main.. сравнивает текущую ветку с main, а флаг --side включает просмотр бок о бок.
В настройке Delta и готовом скрипте gd есть конфигурация Git и важная оговорка: при переносе скрипта без авторских dotfiles к fzf нужно добавить флаг --ansi. | 745 |
| 4 | Nebula ArchRules: общие архитектурные проверки для JVM-проектов
Nebula ArchRules переносит правила ArchUnit из JUnit-тестов одного репозитория в любое число Gradle-проектов. Это пригодится командам, которым нужно одинаково отслеживать запрещённые зависимости и неправильное использование API.
ArchUnit анализирует скомпилированный байткод, поэтому одно правило работает для Java, Kotlin и Scala. Правила пишутся на Java через типобезопасный API, собираются в отдельный JAR-файл и могут поставляться вместе с библиотекой. Тогда плагин запускает их только для тех наборов исходников, где эта библиотека подключена.
Разбор устройства Nebula ArchRules показывает и практический сценарий Netflix: искать обращения к устаревшим, экспериментальным и внутренним API во множестве репозиториев. Результаты выводятся в консоль или JSON, а порог ошибки сборки можно настроить по приоритету нарушения. | 802 |
| 5 | Как сохранить работу при обрыве SSH с помощью tmux
tmux сохраняет терминальную сессию на сервере и делит одно окно на несколько панелей. Запустите именованную сессию командой tmux new -s work: даже после разрыва SSH запущенная в ней задача продолжит выполняться.
Чтобы отключиться, нажмите Ctrl+b, отпустите клавиши и нажмите d. Вернуться можно командой tmux attach -t work. Список активных сессий покажет tmux ls.
Панели создаются сочетаниями Ctrl+b % для деления слева направо и Ctrl+b " для деления сверху вниз. Так в одном рабочем пространстве помещаются основная команда, логи и системный мониторинг.
Готовая конфигурация и команды tmux также охватывают работу с окнами, прокрутку вывода, мышь и запуск заранее собранных раскладок. | 799 |
| 6 | Как проверить чужую ветку через Git worktree
Git worktree создаёт для ветки отдельный рабочий каталог. Можно запустить тесты и изучить изменения коллеги, не пряча свои незавершённые правки в stash, не переключая текущую ветку и не клонируя репозиторий заново.
Сначала обновите ссылки на удалённые ветки, затем создайте каталог для ревью:
git fetch origin
git worktree add ../review-123 origin/feature/some-branch
Такой каталог откроется с detached HEAD: он подходит для чтения кода и тестов, но новые коммиты не будут привязаны к ветке. Если проверка переросла в доработку, выполните git switch -c review/fix-123.
После ревью удалите каталог командой git worktree remove ../review-123. Практический разбор Git worktree также объясняет создание рабочих веток, обновление через rebase или merge и безопасную очистку каталогов. | 829 |
| 7 | Как обновлять Go-код с ИИ без устаревших приёмов
JetBrains go-modern-guidelines подбирает рекомендации под версию Go в проекте. Благодаря этому ИИ-агент не предложит API, которого ещё нет в вашей сборке.
Команда list находит версию в go.mod или go.work и выдаёт краткий список доступных правил. Затем explain раскрывает выбранные пункты с примерами до и после. Такой порядок экономит контекст: для Go 1.24 автор получил 45 рекомендаций, но подробно запросил только шесть.
В проверке на main.go объёмом 1039 строк инструмент помог заметить самописный поиск подстроки, который заменяется на strings.Contains. Заодно правила предупреждают о нюансах: например, cmp.Or вычисляет все аргументы, поэтому дорогие функции в него лучше не передавать без проверки.
#инструменты | 821 |
| 8 | Как показывать лог пересборки сервера в браузере через systemfd
systemfd сохраняет слушающий сокет открытым, пока watchexec следит за исходниками и пересобирает сервер. Во время компиляции запросы некому обрабатывать, поэтому вместо пустой страницы socat передаёт в браузер поток лога сборки.
Bash-функция создаёт минимальный HTTP-ответ, а tee одновременно выводит результат cargo build в терминал и дописывает его в файл. socat читает новые байты из файла через уже открытый сокет. После успешной сборки скрипт завершает socat и запускает новую версию сервера. xterm.js возвращает терминальные цвета, а fetch позволяет корректно обработать закрытие потока и подключиться снова.
В готовом скрипте dev.sh разобрана вся связка. Пример написан для Rust, но подход переносится на другие компилируемые бэкенды, если они поддерживают наследование слушающего сокета. | 886 |
| 9 | Как найти коммит с регрессией через git bisect
git bisect ищет коммит, который внёс регрессию, бинарным поиском. Вы отмечаете рабочую и проблемную точки истории, а Git переключается на середину диапазона. После каждой проверки указываете good или bad, и диапазон сокращается вдвое. В примере 32 коммита потребовали пяти проверок, а для 1000 хватит примерно десяти.
Если проверку можно запустить командой, git bisect run выполнит её на каждом выбранном коммите. Код возврата 0 означает успех, ненулевой код указывает на ошибку, а 125 пропускает коммит, который нельзя проверить.
В демонстрации с опечаткой в Bash-скрипте разобраны ручной и автоматический поиск. После сеанса выполните git bisect reset, чтобы вернуться к исходной ветке. | 887 |
| 10 | Как быстрее освоить tcpdump и dig по man-страницам
В официальных руководствах tcpdump и dig появились базовые примеры для тех, кто редко пользуется этими утилитами или запускает их впервые. Команды можно сразу повторить, а их корректность проверили сопровождающие проектов.
Практическая находка для tcpdump: при сохранении пакетов командой tcpdump -w out.pcap стоит добавить -v. Тогда утилита выводит сводку о количестве уже захваченных пакетов, пока запись продолжается.
В разборе обновления man-страниц также показано, как автор подготовил примеры в Markdown и преобразовал их в формат roff собственным скриптом. Полезный материал, если обычно вместо официальной документации приходится искать подходящую команду по блогам и комментариям. | 953 |
| 11 | shot-scraper 1.10 научился записывать видеодемонстрации веб-приложений
Инструмент shot-scraper video запускает заданный в storyboard.yml сценарий: открывает страницы, нажимает кнопки, заполняет поля и записывает результат через Playwright. Так кодовый агент может не только изменить приложение, но и подготовить ролик, который показывает работу новой функции.
В разборе в Simon Willison’s Weblog агент GPT-5.5 xhigh по справке команды целиком составил YAML-сценарий для Datasette. Он запустил локальный сервер и записал добавление строк и создание таблицы из CSV.
Для знакомства с форматом достаточно выполнить uvx shot-scraper video --help. В YAML можно задать адрес, размер окна, ожидание элементов, клики, ввод текста и паузы между действиями. | 957 |
| 12 | KernelLens: трассировка системных вызовов Linux с нагрузкой менее 1%
KernelLens — eBPF-трассировщик, который показывает системные вызовы, их длительность и ошибки. В отличие от strace, он не останавливает процесс дважды на каждом вызове, а запускает обработчики во встроенных точках ядра. Нагрузку strace автор оценивает примерно в 40%.
Фильтры по PID и списку вызовов работают в ядре, поэтому ненужные события не попадают в кольцевой буфер и пользовательскую программу. Переполнение буфера считают отдельно для каждого ядра процессора, а при высокой нагрузке отправляют только каждое N-е подходящее событие.
В статье на DEV Community разобраны код обработчиков, измерение задержки и чтение строк из памяти процесса. Полезная основа для собственной утилиты наблюдения за Linux-серверами. | 990 |
| 13 | Как разбирать пути к файлам модификаторами Zsh
Zsh умеет выделять части пути без отдельных вызовов dirname и basename. Суффикс :h оставляет каталог, :t возвращает имя файла, :r убирает расширение, а :e сохраняет только расширение.
Модификаторы применяются слева направо и складываются в цепочки. Например, для пути talks/robot.png выражение ${f:t:r} сначала оставит robot.png, а затем превратит его в robot.
Практический случай: при пакетном преобразовании PNG в WebP выражение ${i:r}.webp собирает новое имя файла. В разборе Адама Джонсона показан цикл с ImageMagick и объяснено, почему в Zsh имя с пробелами остаётся целым даже без кавычек. | 1 069 |
| 14 | Dust показывает, что занимает место на диске
Dust — написанная на Rust альтернатива du, которая сразу выводит крупнейшие каталоги и файлы. Утилита рекурсивно проходит дерево, выбирает самые тяжёлые элементы и рисует полосы с долями. Оттенки полос показывают, к какой родительской папке относится вложенная. Поэтому не придётся отдельно сортировать вывод и обрезать его через head.
По умолчанию Dust показывает чуть меньше строк, чем помещается в терминале. Глубину можно ограничить командой dust -d 2, число элементов задать через dust -n 10, а оставить только файлы через dust -F.
Установить утилиту через Cargo можно командой cargo install du-dust. Она пригодится, когда нужно быстро найти каталог или файл, который съел место на рабочей машине или сервере. | 1 129 |
| 15 | Как плагин OpenTelemetry строит карту сервисов
Плагин OpenTelemetry для JetBrains IDE показывает связи сервисов во время работы приложения. Вместо статической схемы он использует спаны: записи об отдельных операциях в трассировке запроса.
Спаны поступают в локальный обработчик. Он распознаёт HTTP-вызовы, запросы к базам данных и работу с очередями, добавляет сервисы на карту и связывает клиентскую операцию с серверной. Если парная запись ещё не пришла, плагин сохраняет первую и обновляет схему позже. Поэтому данные можно обрабатывать по мере поступления, даже не по порядку.
Установите плагин OpenTelemetry, запустите приложение с отправкой спанов и откройте Service Map. Так можно до релиза заметить лишний HTTP-вызов или запрос к базе. Механика разобрана в статье JetBrains Blog. | 1 143 |
| 16 | Helix вместо Vim: что меняется при переходе
Helix даёт переход к определению и переименование символов через встроенные языковые серверы, без сборки конфигурации Vim или Neovim. После нажатия g редактор показывает подсказку по переходам.
Поиск по репозиторию выводит совпадение вместе с соседними строками. Для массовых правок вместо макросов можно использовать несколько курсоров: выделить документ, выбрать совпадения регулярным выражением и редактировать их одновременно.
Компромиссы тоже есть: редактор пока не сохраняет историю отмены после выхода, не перезагружает изменённые на диске файлы автоматически и хуже Vim переформатирует списки Markdown. Автору статьи «Notes on switching to Helix from vim» оказалось проще освоить сочетания Helix, чем переносить привычные клавиши Vim. | 1 198 |
| 17 | Саймон Уиллисон выпустил Showboat и Rodney для демонстрации кода агентов
Showboat помогает агенту собрать Markdown-документ о новой функции: записывает выполненные команды, их вывод и созданные изображения. После автоматических тестов разработчик может увидеть, что именно запустилось, а не принимать отчёт агента на веру.
Rodney управляет Chrome из командной строки в рамках одной сессии: открывает страницы, нажимает элементы, выполняет JavaScript и делает скриншоты. Вместе с Showboat он позволяет собрать демонстрацию веб-интерфейса.
Быстрый старт: uvx showboat --help и uvx rodney. Есть оговорка: агент иногда редактирует Markdown напрямую, и тогда вывод в документе может не соответствовать запуску. Устройство инструментов и примеры автор разобрал в Simon Willison’s Weblog. | 1 211 |
| 18 | Rust Glancer тратит в 100 раз меньше памяти при анализе Rust-кода
Rust Glancer — работающий языковой сервер для Rust. По данным статьи, он использует примерно в 100 раз меньше оперативной памяти, чем rust-analyzer. Это может пригодиться в больших рабочих пространствах, где нужно учитывать тысячи функций, структур, трейтов и связей между ними.
Автор разбирает возможную архитектуру: индексировать все объявления, но тела функций анализировать по запросу, например только в открытом файле. Сведения о зависимостях можно читать из компактных файлов компилятора .rmeta, а подробный анализ включать лишь для открытого или изменяемого кода.
Ограничение Rust Glancer: полная поддержка сборочных скриптов и процедурных макросов, требующих запуска реального кода, маловероятна. Инструмент стоит попробовать, если rust-analyzer упирается в память, а эти возможности проекту не нужны. | 1 186 |
| 19 | Herdr: параллельные ИИ-агенты в одном терминале
Herdr показывает несколько сессий агентов для написания кода рядом и позволяет быстро переключаться между ними. Видно, кто пишет код, ждёт ответа или закончил работу.
Для независимых задач автор статьи создаёт отдельное рабочее дерево Git с собственной веткой. Правки интерфейса он держит локально, чтобы запускать приложение и сразу давать обратную связь. Задачи с чётким описанием отправляет на виртуальный сервер (VPS): там агент выполняет реализацию и автоматические проверки, даже когда ноутбук спит.
VPS не отменяет ограничений: соединение с сервером может оборваться, слабый сервер тормозит при одновременных сборках, а доступ агента к секретам всё равно нужно ограничивать. В разборе рабочего процесса автор советует сначала попробовать Herdr локально на паре ограниченных задач и лишь затем переносить автономные задачи на VPS. | 1 234 |
| 20 | Как переходить между каталогами с zoxide
zoxide запоминает, какие каталоги вы открываете чаще. Команда z foo переводит в каталог с самым высоким рейтингом среди совпадений по foo. Обычные переходы тоже работают: z .. поднимает на уровень, а z - возвращает в предыдущий каталог.
Для неоднозначного запроса есть zi foo: команда открывает интерактивный выбор через fzf. Например, так можно выбрать нужный каталог, если одному запросу соответствуют несколько путей.
Установить утилиту можно командой cargo install zoxide --locked, затем её нужно подключить к используемой командной оболочке. В репозитории zoxide есть инструкции для Bash, PowerShell и других основных оболочек и платформ. | 1 144 |
