uz
Feedback
Инструменты программиста

Инструменты программиста

Kanalga Telegram’da o‘tish

Полезные инструменты для программистов — бесплатные и платные Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Регистрация в перечне РКН: https://tprg.ru/mX0S

Ko'proq ko'rsatish

📈 Telegram kanali Инструменты программиста analitikasi

Инструменты программиста (@prog_tools) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 12 924 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 9 463-o'rinni va Rossiya mintaqasida 49 781-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 12 924 obunachiga ega bo‘ldi.

30 Sentabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -15 ga, so‘nggi 24 soatda esa -1 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 12.71% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 6.33% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 1 643 marta ko‘riladi; birinchi sutkada odatda 818 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 2 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent github, git, docker, install, api kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Полезные инструменты для программистов — бесплатные и платные Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Регистрация в перечне РКН: https://tprg.ru/mX0S”

Yuqori yangilanish chastotasi (oxirgi ma’lumot 01 Oktabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

12 924
Obunachilar
-124 soatlar
-137 kun
-1530 kun
Obunachilarni jalb qilish
Okt '26
Oktabr '260
0 kanalda
Sentabr '26
+84
7 kanalda
Get PRO
Avgust '26
+57
3 kanalda
Get PRO
Iyul '26
+34
3 kanalda
Get PRO
Iyun '26
+58
2 kanalda
Get PRO
May '26
+74
0 kanalda
Get PRO
Aprel '26
+48
2 kanalda
Get PRO
Mart '26
+38
6 kanalda
Get PRO
Fevral '26
+46
4 kanalda
Get PRO
Yanvar '26
+75
2 kanalda
Get PRO
Dekabr '25
+82
4 kanalda
Get PRO
Noyabr '25
+74
7 kanalda
Get PRO
Oktabr '25
+57
3 kanalda
Get PRO
Sentabr '25
+123
2 kanalda
Get PRO
Avgust '25
+78
2 kanalda
Get PRO
Iyul '25
+108
2 kanalda
Get PRO
Iyun '25
+141
3 kanalda
Get PRO
May '25
+121
5 kanalda
Get PRO
Aprel '25
+103
1 kanalda
Get PRO
Mart '25
+149
7 kanalda
Get PRO
Fevral '25
+96
4 kanalda
Get PRO
Yanvar '25
+88
4 kanalda
Get PRO
Dekabr '24
+95
5 kanalda
Get PRO
Noyabr '24
+55
4 kanalda
Get PRO
Oktabr '24
+72
6 kanalda
Get PRO
Sentabr '24
+112
6 kanalda
Get PRO
Avgust '24
+83
6 kanalda
Get PRO
Iyul '24
+82
5 kanalda
Get PRO
Iyun '24
+43
2 kanalda
Get PRO
May '24
+114
2 kanalda
Get PRO
Aprel '24
+126
6 kanalda
Get PRO
Mart '24
+113
1 kanalda
Get PRO
Fevral '24
+119
3 kanalda
Get PRO
Yanvar '24
+100
5 kanalda
Get PRO
Dekabr '23
+89
3 kanalda
Get PRO
Noyabr '23
+3 608
35 kanalda
Get PRO
Oktabr '23
+99
2 kanalda
Get PRO
Sentabr '23
+112
0 kanalda
Get PRO
Avgust '23
+153
0 kanalda
Get PRO
Iyul '23
+142
0 kanalda
Get PRO
Iyun '23
+290
0 kanalda
Get PRO
May '23
+161
0 kanalda
Get PRO
Aprel '23
+237
0 kanalda
Get PRO
Mart '23
+248
0 kanalda
Get PRO
Fevral '23
+348
0 kanalda
Get PRO
Yanvar '23
+509
0 kanalda
Get PRO
Dekabr '22
+219
0 kanalda
Get PRO
Noyabr '22
+215
0 kanalda
Get PRO
Oktabr '22
+478
0 kanalda
Get PRO
Sentabr '22
+287
0 kanalda
Get PRO
Avgust '22
+754
0 kanalda
Get PRO
Iyul '22
+598
0 kanalda
Get PRO
Iyun '22
+1 143
0 kanalda
Get PRO
May '22
+692
0 kanalda
Get PRO
Aprel '22
+846
0 kanalda
Get PRO
Mart '22
+4 815
0 kanalda
Get PRO
Fevral '22
+166
0 kanalda
Get PRO
Yanvar '22
+2 400
0 kanalda
Get PRO
Dekabr '21
+2 492
0 kanalda
Get PRO
Noyabr '21
+2 933
0 kanalda
Sana
Obunachilarni jalb qilish
Esdaliklar
Kanallar
01 Oktabr0
Kanal postlari
Как найти источник расхода памяти в живом Python-процессе с Memray Memray подключается к запущенному Python-процессу без пере
Как найти источник расхода памяти в живом Python-процессе с Memray Memray подключается к запущенному Python-процессу без перезапуска приложения и записывает выделения памяти, включая операции в расширениях на C и нативных библиотеках. Установка: pip install memray. В контейнере найдите PID процесса и запустите memray attach <PID>. Через несколько минут остановите запись и посмотрите, какие функции расходуют больше всего памяти: memray summary даст таблицу, memray flamegraph построит граф вызовов, а memray stats покажет общую статистику. Для подключения нужен Python 3.7 или новее. В Kubernetes контейнеру также может потребоваться разрешение SYS_PTRACE. Такой профиль помогает найти крупные выделения памяти под реальной нагрузкой, когда проблема не воспроизводится локально.

2
Как фильтровать JSON в терминале с jq jq — утилита командной строки для фильтрации и преобразования JSON. Она принимает файл
Как фильтровать 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 bla
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-тестов о
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 сохраняет терминальную сессию на сервере и делит одно окно на несколь
Как сохранить работу при обрыве 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 создаёт для ветки отдельный рабочий каталог. Можно запустить тесты
Как проверить чужую ветку через 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 в проект
Как обновлять 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 с
Как показывать лог пересборки сервера в браузере через 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 запускает заданный в sto
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-трассировщик, который показывает систе
KernelLens: трассировка системных вызовов Linux с нагрузкой менее 1% KernelLens — eBPF-трассировщик, который показывает системные вызовы, их длительность и ошибки. В отличие от strace, он не останавливает процесс дважды на каждом вызове, а запускает обработчики во встроенных точках ядра. Нагрузку strace автор оценивает примерно в 40%. Фильтры по PID и списку вызовов работают в ядре, поэтому ненужные события не попадают в кольцевой буфер и пользовательскую программу. Переполнение буфера считают отдельно для каждого ядра процессора, а при высокой нагрузке отправляют только каждое N-е подходящее событие. В статье на DEV Community разобраны код обработчиков, измерение задержки и чтение строк из памяти процесса. Полезная основа для собственной утилиты наблюдения за Linux-серверами.
990
13
Как разбирать пути к файлам модификаторами Zsh Zsh умеет выделять части пути без отдельных вызовов dirname и basename. Суффик
Как разбирать пути к файлам модификаторами 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, которая сразу выводит крупнейшие ката
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 показывает связи сервисов во время рабо
Как плагин 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-документ о
Саймон Уиллисон выпустил 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 показывает несколько сессий агентов для написания кода рядом и позволяе
Herdr: параллельные ИИ-агенты в одном терминале Herdr показывает несколько сессий агентов для написания кода рядом и позволяет быстро переключаться между ними. Видно, кто пишет код, ждёт ответа или закончил работу. Для независимых задач автор статьи создаёт отдельное рабочее дерево Git с собственной веткой. Правки интерфейса он держит локально, чтобы запускать приложение и сразу давать обратную связь. Задачи с чётким описанием отправляет на виртуальный сервер (VPS): там агент выполняет реализацию и автоматические проверки, даже когда ноутбук спит. VPS не отменяет ограничений: соединение с сервером может оборваться, слабый сервер тормозит при одновременных сборках, а доступ агента к секретам всё равно нужно ограничивать. В разборе рабочего процесса автор советует сначала попробовать Herdr локально на паре ограниченных задач и лишь затем переносить автономные задачи на VPS.
1 234
20
Как переходить между каталогами с zoxide zoxide запоминает, какие каталоги вы открываете чаще. Команда z foo переводит в ката
Как переходить между каталогами с zoxide zoxide запоминает, какие каталоги вы открываете чаще. Команда z foo переводит в каталог с самым высоким рейтингом среди совпадений по foo. Обычные переходы тоже работают: z .. поднимает на уровень, а z - возвращает в предыдущий каталог. Для неоднозначного запроса есть zi foo: команда открывает интерактивный выбор через fzf. Например, так можно выбрать нужный каталог, если одному запросу соответствуют несколько путей. Установить утилиту можно командой cargo install zoxide --locked, затем её нужно подключить к используемой командной оболочке. В репозитории zoxide есть инструкции для Bash, PowerShell и других основных оболочек и платформ.
1 144