Инструменты программиста
Полезные инструменты для программистов — бесплатные и платные Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Регистрация в перечне РКН: https://tprg.ru/mX0S
显示更多📈 Telegram 频道 Инструменты программиста 的分析概览
频道 Инструменты программиста (@prog_tools) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 12 938 名订阅者,在 技术与应用 类别中位列第 9 552,并在 俄罗斯 地区排名第 50 273 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 12 938 名订阅者。
根据 26 八月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -80,过去 24 小时变化为 -8,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 10.43%。内容发布后 24 小时内通常能获得 5.90% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 1 349 次浏览,首日通常累积 763 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 4。
- 主题关注点: 内容集中在 github, git, docker, install, api 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Полезные инструменты для программистов — бесплатные и платные
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Регистрация в перечне РКН: https://tprg.ru/mX0S”
凭借高频更新(最新数据采集于 27 八月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
app.Start(): программа завершается ненулевым кодом, но хук app.OnTerminate всё равно отрабатывает;
🔘 появился DELETE /api/logs и кнопка в интерфейсе — удалить все логи, не трогая настройку хранения maxDays;
🔘 размер Log.Data ограничен примерно 16 килобайтами на случай, когда в лог пишут непроверенные пользовательские данные; лишнее помечается флагом __pb_truncated__;
🔘 создание резервной копии больше не держит базу в транзакции;
🔘 в заголовки по умолчанию добавлен Cross-Origin-Opener-Policy: same-origin;
🔘 modernc.org/sqlite обновлён до 1.57.0, а защитный режим SQLite включается по умолчанию через _defensive=1.
Порог входа поднялся: нужен Go 1.27 и encoding/json/v2. Автор советует сначала проверить приложение локально — в Go 1.27 старый encoding/json переведён на v2 под капотом и обратно совместим не полностью.
Supabase выигрывает как управляемый сервис на PostgreSQL, когда нужны масштабирование и команда. PocketBase выигрывает, когда приложение должно жить одним файлом на одной машине; до версии 1.0 его API ещё меняется.
60,8 тысячи звёзд. Язык: Go. Лицензия: MIT.
@prog_toolsopenlogi list читает список устройств у уже запущенного агента;
🔘 нажатие на колесо-качельку перестало вызывать App Exposé, а прокрутка идёт на родную величину колеса;
🔘 корректно пересобранные записи об устройствах больше не выбрасываются.
Options+ выигрывает официальной поддержкой и обновлением прошивок, и запускать их одновременно нельзя: приложения дерутся за доступ по HID++, ресивером владеет кто-то один. Сам проект честно пишет, что находится в активной разработке и стабильным пока не является. OpenLogi берёт своё там, где Options+ нет вовсе, и там, где настройки хочется держать текстом.
Больше 15 тысяч звёзд. Язык: Rust. Лицензия: Apache-2.0 или MIT на выбор.
@prog_toolsgit, jj и Mercurial.
🔘 Смотреть можно незакоммиченные правки, диапазон коммитов или чужой пул-реквест. Дифф идёт сплошным потоком по всем файлам, как на вебе.
🔘 Отметки «файл просмотрен» сохраняются между запусками, так что большое ревью можно бросить и вернуться. Клавиша H прячет уже отмеченное.
🔘 20 августа вышла версия 0.23.1, двумя днями раньше — 0.23.0 с командой :summary.
git diff универсальнее и не требует авторизации, но построчных замечаний и памяти о прогрессе у него нет. gh pr review выставляет официальный статус ревью, чего локальный просмотр не умеет, зато инлайн-комментарии через него не оставить. Для отправки tuicr нужны авторизованные gh, glab или bkt; у Bitbucket пока нет Request changes и черновиков. Звёзд на GitHub 2820 на 21 августа.
@prog_toolsbtm, — системный монитор для терминала: процессор, память, swap, сеть, диски, температуры, батарея и дерево процессов графиками на одном экране. 13 августа вышла версия 0.14.8, у проекта 13,9 тыс. звёзд на 17 августа.
🔘 релиз небольшой: починены закрытие меню сортировки по Enter, обработка значения swap в cgroups v1 и ссылки в JSON-схеме конфига;
🔘 графики масштабируются по времени, есть фильтры процессов, темы и собственные раскладки виджетов;
🔘 одна и та же сборка работает на Linux, macOS и Windows.
Альтернатива — htop: он есть в каждом дистрибутиве, проще и понятнее с первого взгляда, и для задачи «найти и убить процесс» его хватает. bottom берёт графиками во времени и тем, что показывает всё сразу, включая сеть и температуры; из той же ниши btop с более нарядным интерфейсом.
@prog_toolsnetdoc github.com прогоняет цепочку интерфейс, DNS, TCP, TLS, HTTP, прокси и path MTU и пишет вердикт обычным языком: DNS упал, всё зависимое пропущено, чинить надо запись. 14 августа вышла версия 1.11.4; у репозитория 253 звезды на 17 августа, проект молодой.
🔘 netdoc host:22 проверяет путь до SSH и баннер, netdoc без цели — локальный интерфейс, выход в интернет, прокси и Wi-Fi;
🔘 --watch ловит плавающие сбои, --json и коды выхода 0/1/2 годятся для скриптов и баг-репортов;
🔘 root не нужен даже для path MTU: только непривилегированные сокеты;
🔘 Linux, macOS, Windows; ставится через Homebrew, Scoop и winget.
Альтернатива — связка ping, dig, curl -v и mtr: она есть везде и показывает больше деталей, а mtr лучше видит потери по хопам. Network Doctor выигрывает, когда нужен не набор выводов, а ответ, чья это проблема: сети, пути или сервиса.
@prog_toolsUPDATE пол-базы.
pgcli — терминальный клиент PostgreSQL, который подсказывает по ходу набора запроса.
🔘 после FROM предлагает таблицы, после WHERE — колонки именно этих таблиц, учитывает псевдонимы;
🔘 подсвечивает синтаксис и печатает результат ровной таблицей;
🔘 \d, \dt, \dn, \du, \dx показывают устройство схемы, пользователей и расширения;
🔘 --warn all предупреждает перед разрушительным запросом, прежде чем выполнить;
🔘 --row-limit не даёт случайно вывалить в терминал миллион строк;
🔘 --auto-vertical-output разворачивает широкие результаты по вертикали, когда они не влезают;
🔘 \watch, \timing и \copy закрывают повторный запуск запроса, замер времени и выгрузку.
Для скриптов и полного покрытия возможностей PostgreSQL остаётся psql: он есть везде и ничего лишнего не делает. pgcli удобнее там, где вы руками разбираетесь в чужой базе.
13,3 тысячи звёзд. Язык: Python. Лицензия: BSD-3-Clause.
@prog_toolstail | grep | less в трёх окнах и ручным сопоставлением времени.
lnav открывает все файлы сразу, распознаёт формат каждого, распаковывает сжатые и показывает записи одной лентой по времени.
🔘 lnav app.log nginx/ syslog.gz — файлы, каталоги и архивы вперемешку, форматы определяются сами;
🔘 e и E прыгают к предыдущей и следующей ошибке, не заставляя искать глазами;
🔘 / ищет регулярным выражением, :highlight подсвечивает совпадения дальше по ленте;
🔘 ; открывает SQL по логам: записи разобраны на поля, и по ним можно считать группировки;
🔘 i рисует гистограмму сообщений по времени — сразу видно всплеск;
🔘 P разворачивает структурированный текст вроде JSON в читаемый вид;
🔘 F5 повторяет текущую операцию, включая последний SQL-запрос, когда логи доехали.
Для веб-аналитики с отчётами удобнее goaccess, для потоковой обработки в конвейере — angle-grinder. lnav сильнее именно как интерактивный просмотр разнородных логов на одной машине.
10,5 тысячи звёзд. Язык: C++. Лицензия: BSD-2-Clause.
@prog_toolsrr record ./program записывает выполнение вместе со всем, что программа получила извне;
🔘 rr replay открывает запись в GDB, где работают привычные команды;
🔘 reverse-cont продолжает выполнение назад — от места падения к причине;
🔘 watch -l ставит аппаратную точку наблюдения за адресом, после чего можно откатиться к предыдущей записи в него;
🔘 повторный run проигрывает тот же след заново, сохраняя расставленные точки останова;
🔘 rr pack делает след самодостаточным, чтобы передать его коллеге;
🔘 записываются деревья процессов и потоки, а режим хаоса помогает выловить редкие варианты планирования.
Ограничения честные: только Linux и только на процессорах с подходящими счётчиками производительности. Обычные GDB и LLDB переносимее, но обратной отладки не дают.
10,6 тысячи звёзд. Язык: C++. Лицензия: MIT.
@prog_toolspy-spy top --pid 1234 — живой список горячих функций, как top, только по функциям;
🔘 py-spy record -o profile.svg --pid 1234 — запись flame graph в файл;
🔘 py-spy dump --pid 1234 — стеки всех потоков прямо сейчас, полезно, когда процесс завис;
🔘 --locals добавляет к стекам значения локальных переменных;
🔘 --subprocesses включает дочерние процессы и обработчики очередей;
🔘 --native показывает и нативные расширения, а --gil отделяет время под глобальной блокировкой;
🔘 --nonblocking не приостанавливает процесс ради снимка — чуть менее точно, зато безопаснее на проде.
Встроенный cProfile требует запускать программу под собой, pyinstrument — правки кода. Если нужен разбор ещё и памяти с видеокартой, смотрите в сторону Scalene, но для «зайти и посмотреть, что происходит прямо сейчас» py-spy проще.
15,2 тысячи звёзд. Язык: Rust. Лицензия: MIT.
@prog_toolsperf, DTrace, SystemTap, eBPF и профилировщиков Windows. Кроме обычного графа по процессору есть графы по памяти, по времени вне процессора, разностные и горячие-холодные.
Отдельно стоит запомнить разницу: во флейм-чарте ось X — это действительно время, во флейм-графе — нет.
@prog_toolsnode, npm, tsx и jest.
20 августа вышла версия 1.4. Главное в ней — совместимость: в набор, который гоняется на каждом коммите, добавили 1517 тестов из официального тестового набора Node.js; файлов этого набора теперь проходит 3743 против 1450 на версии 1.2. node:events и node:sqlite проходят его на 100%, node:quic на 99%, node:http, node:fs, node:cluster и node:stream на 97%. Под Bun заработали Playwright, vitest и Next.js 16 с Turbopack.
Простой процесс ест впятеро меньше процессора, память до 35% меньше, старт на Linux быстрее наполовину. Реализация переписана с Zig на Rust.
Релиз задержался на три месяца — самый долгий разрыв между стабильными версиями с 2022 года. Теро Пиирайнен посчитал авторство коммитов за месяц: 15,8 тысячи от бота robobun, 790 от Джарреда Самнера. Полной совместимости с Node.js по-прежнему нет, команда это признаёт.
@prog_toolsDATA_PAGE_V2 с несогласованным полем сжатого размера;
🔘 исправлена взаимная блокировка в управлении временной памятью;
🔘 в журнал HTTP-запросов добавлены длина тела и ошибки транспорта — полезно при чтении данных прямо из S3.
Выпуск целиком про исправления, ломающих изменений нет.
@prog_toolsjobs, fg, bg, nohup; модель git как ориентированного графа из объектов; отладка через логи, gdb, strace и профилировщики; сборку и Makefile; хеши, энтропию и ssh; обработку данных стандартными утилитами.
Это тот случай, когда курс полезнее не студенту, а практикующему разработчику: большинство пробелов в этих темах закрываются годами по крупицам, а тут они собраны в один заход с упражнениями.
Ссылка ведёт на архив 2020 года — самодостаточный и без современных дополнений.
@prog_toolschromium.connectOverCDP(), то есть тест можно подключить к уже запущенному Chromium и брать адрес сессии во время выполнения;
🔘 TextEncoder и TextDecoder стали глобальными, а в экспериментальных потоках появился WritableStream;
🔘 SharedArray перестал замораживать примитивы и оборачивать длинные строки в объекты: в присланной репродукции потребление памяти упало примерно с 1 ГБ до 100 МБ.
Очевидная альтернатива это JMeter, и по ряду пунктов он лучше: графический редактор тест-планов, запись сценариев и протоколы, которых у k6 нет вовсе, вроде JDBC, LDAP, FTP и JMS. k6 берёт другим: тест это код в git, запускается в CI одной командой и ревьюится как обычный пул-реквест.
Оговорка из документации: на больших тестах узким местом становится сама машина-генератор, и завышенная задержка окажется вашей собственной. Авторы советуют оставлять около 20% процессора свободными.
brew install k6
@prog_toolsjustfile пишутся просто именованные команды с аргументами, и это всё, что нужно, когда цель — собрать в одном месте «прогнать тесты», «поднять окружение», «выложить».
3 августа вышла версия 1.58.0, небольшая:
🔘 у рецепта появился атрибут [timestamp], печатающий время выполнения, — удобно для долгих сборок, где раньше приходилось обкладывать команду вызовами date;
🔘 у него же есть аргумент формата;
🔘 --justfile-name теперь принимает несколько имён через запятую;
🔘 при форматировании вокруг выражений подстановки добавляются пробелы.
Ломающих изменений нет.
@prog_toolscp и rsync, разница проявляется на множестве мелких файлов и на медленных носителях, то есть на HDD, флешках и NAS.
🔘 склеивает мелкие файлы в один поток чтения;
🔘 пропускает дубликаты по хешу xxHash-128;
🔘 умеет reflink и жёсткие ссылки, понимает разрежённые файлы;
🔘 после копирования сверяет результат с исходником.
Цифры авторы приводят в заметках к версии 4.0.2: 85 ГБ с NVMe на USB скопировались за 44 минуты 47 секунд вместо часа и четырёх минут, а построение карты диска в Windows для 6600 файлов ускорилось с 12 минут 48 секунд до 0,7 секунды, потому что теперь файл открывается только на чтение атрибутов и Windows Defender не сканирует его содержимое. На тесте в Linux с 12 347 мелкими файлами вышло 5,93 секунды против 14,14 у rsync и 14,99 у cp -ar.
Автор сам говорит, где его инструмент не нужен: на быстром SSD без дубликатов обычный cp лучше, потому что хеширование и анализ диска добавляют накладные расходы. Для инкрементальной синхронизации с удалённым сервером rsync тоже остаётся более подходящим, и автор это признаёт.
mkdir -p ~/.local/bin && curl -fsSL https://raw.githubusercontent.com/gekap/blitcp/v4.0.2/blitcp.py -o ~/.local/bin/blitcp && chmod +x ~/.local/bin/blitcp
Для работы по SSH дополнительно нужен paramiko.
@prog_toolsHEAD, разница между merge и rebase, cherry-pick, отличие reset от revert, работа с удалённым репозиторием, разрешение конфликтов. Есть свободный режим, где можно ломать что угодно и откатывать через undo.
Особенно полезно тем, кто уже несколько лет пользуется git по трём заученным командам и каждый раз боится перебазирования. После пары уровней становится видно, что ветка — это просто указатель на коммит, и половина страха уходит.
Проекту тринадцать лет, и он не устарел: модель коммитов и ссылок с тех пор не менялась, а тренажёр учит именно ей, а не кнопкам конкретного интерфейса.
@prog_toolsquack даёт сетевой протокол, и через CONNECT один DuckDB подключается к другому, запрос выполняется на сервере, а результат течёт обратно.
Кроме этого — триггеры BEFORE и AFTER, тип VARIANT как полноценный, асинхронный ввод-вывод, новый парсер SQL и новый формат хранения. Рекурсивный обход графа из миллиона рёбер в замерах авторов ускорился с 4,90 до 0,12 секунды.
@prog_tools