Инструменты программиста
Полезные инструменты для программистов — бесплатные и платные Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Регистрация в перечне РКН: https://tprg.ru/mX0S
Mostrar más📈 Análisis del canal de Telegram Инструменты программиста
El canal Инструменты программиста (@prog_tools) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 12 937 suscriptores, ocupando la posición 9 492 en la categoría Tecnologías y Aplicaciones y el puesto 49 963 en la región Rusia.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 12 937 suscriptores.
Según los últimos datos del 27 agosto, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -74, y en las últimas 24 horas de 4, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 9.83%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 5.93% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 1 272 visualizaciones. En el primer día suele acumular 767 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 4.
- Intereses temáticos: El contenido se centra en temas clave como github, git, docker, install, api.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“Полезные инструменты для программистов — бесплатные и платные
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Регистрация в перечне РКН: https://tprg.ru/mX0S”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 28 agosto, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.
Carga de datos en curso...
| Fecha | Crecimiento de Suscriptores | Menciones | Canales | |
| 28 agosto | 0 | |||
| 27 agosto | +5 | |||
| 26 agosto | 0 | |||
| 25 agosto | 0 | |||
| 24 agosto | +4 | |||
| 23 agosto | +1 | |||
| 22 agosto | +4 | |||
| 21 agosto | 0 | |||
| 20 agosto | 0 | |||
| 19 agosto | +1 | |||
| 18 agosto | +3 | |||
| 17 agosto | +1 | |||
| 16 agosto | 0 | |||
| 15 agosto | 0 | |||
| 14 agosto | +1 | |||
| 13 agosto | +1 | |||
| 12 agosto | 0 | |||
| 11 agosto | +1 | |||
| 10 agosto | +1 | |||
| 09 agosto | +1 | |||
| 08 agosto | +1 | |||
| 07 agosto | +1 | |||
| 06 agosto | +1 | |||
| 05 agosto | +2 | |||
| 04 agosto | +4 | |||
| 03 agosto | +1 | |||
| 02 agosto | +2 | |||
| 01 agosto | +5 |
v2.0.0-rc.2 с зеркальным спектроанализатором, режимом 60 кадров в секунду и упрощённым режимом воспроизведения. Стабильной остаётся 1.63.2 от 13 августа. Звёзд у репозитория 3751 на 27 августа.
Очевидная альтернатива — cmus: он легче и старше, и если задача — управлять локальной фонотекой с клавиатуры, брать стоит его. cliamp берёт числом источников и картинкой, но для AAC, ALAC, Opus и WMA ему нужен ffmpeg, а для YouTube, SoundCloud и Bandcamp — yt-dlp.
Ставится через brew install bjarneo/cliamp/cliamp, есть пакет в AUR и запуск одной командой nix run github:bjarneo/cliamp.
@prog_tools| 2 | Tailcat — это netcat, у которого канал уже зашифрован. Tailscale открыла его исходники в августе на своей конференции TailscaleUp: одна машина запускает сервер и печатает короткий токен, вторая подключается по этому токену, трафик идёт через WireGuard.
Аккаунт Tailscale при этом не нужен — утилита берёт сетевой слой продукта, но не его control plane. Соединение сначала поднимается через ретрансляторы DERP, а потом пытается перейти в прямой UDP-канал между машинами.
Root тоже не нужен, и это главное отличие от обычного VPN: всё живёт в user space, без tun-интерфейса, без правки таблиц маршрутизации и без настройки DNS.
Что умеет, кроме передачи потока: пробросить локальный порт на удалённую машину, поднять на Linux и macOS встроенный SSH-сервер, когда системного sshd на той стороне нет, и работать прокси по SOCKS5.
Оговорка от авторов: формат токенов, CLI и Go-API пока без гарантий совместимости — в скрипты, которые потом никто не будет чинить, ставить рано.
@prog_tools | 612 |
| 3 | Hister индексирует полное содержимое страниц, которые вы открывали, и локальных файлов, а потом ищет по ним — из веб-интерфейса, терминала, командной строки или по MCP. Это ответ на ситуацию «я это точно читал, но не помню где»: история браузера хранит только заголовки и адреса. 23 августа вышла версия 0.18.0.
🔘 Строка поиска подсказывает запросы из истории, алиасы, поля, сортировки и значения фасетов с числом результатов. Сортировки задаются прямо в запросе: sort:date, sort:visits, sort:domain, минус перед значением разворачивает порядок.
🔘 Появились извлекатели для Twitter, Bluesky, Reddit и Discourse: сохраняются авторы, даты, реакции и структура тредов, а ленты и треды можно разложить на отдельные документы.
🔘 hister import file принимает PDF, DOCX, Markdown, Org mode и обычный UTF-8 — файлами или целыми каталогами. Разбор идёт в процессе командной строки, поэтому серверу доступ к исходным файлам не нужен.
🔘 Инкрементальный импорт из Linkding, Readeck и wallabag, а команда hister update меняет владельца, метку, заголовок или язык у всего, что нашлось по запросу, с пробным прогоном и подтверждением.
🔘 При обновлении с 0.17.0 придётся один раз заново войти в веб-интерфейс и расширение; токены доступа не затронуты.
ripgrep и Recoll проще, быстрее и не требуют сервера, и для поиска по локальным файлам их достаточно. Hister нужен там, где искать надо разом по прочитанному в браузере, сохранённым закладкам и файлам.
3 тысячи звёзд на 26 августа. Язык: Go. Лицензия: AGPL-3.0.
@prog_tools | 652 |
| 4 | terminal-notifier — маленькая утилита для macOS, которая показывает системное уведомление из шелла: собралась сборка, упали тесты, доехал деплой. 23 августа вышла версия 3.0.0 — первый релиз за девять лет.
Всё переписано на Apple UserNotifications: старый NSUserNotification объявлен устаревшим ещё в macOS 11 и с тех пор ломался по частям. Бинарник универсальный, минимальная версия системы — 10.14; для более старых остаётся ветка 2.0.0.
🔘 Вернулись -action TITLE и -reply, которые убрали в 2.0.0 из-за приватного API. Они ждут человека и печатают ответ в stdout, так что скрипт может ветвиться по нажатой кнопке; ожидание ограничивается флагом -timeout.
🔘 -diagnose объясняет, почему уведомления не видно: разрешения, стиль баннера, звук, Фокусирование, сводка по расписанию, запущен ли Центр уведомлений.
🔘 Коды возврата со 2 по 6 различают неверный аргумент, проблему с разрешениями, таймаут и отказ сервиса.
🔘 Уведомления без -group перестали затирать друг друга, -remove действительно удаляет доставленные, а -contentImage больше не удаляет переданный ему файл.
🔘 Флаги -sender, -appIcon и -ignoreDnD теперь только печатают предупреждение и ничего не делают — старые скрипты не падают, но и эффекта нет.
Штатный osascript -e 'display notification ...' уже стоит в системе и ничего ставить не нужно — для одноразового «готово» этого хватает. terminal-notifier берёт своё там, где нужны группировка, удаление, звук, коды возврата и ответ пользователя.
7,3 тысячи звёзд на 26 августа. Язык: Objective-C. Лицензия: MIT.
@prog_tools | 743 |
| 5 | PocketBase — бэкенд в одном исполняемом файле: внутри SQLite, пользователи, файлы, REST API, подписки в реальном времени и админка. Рядом не нужны ни отдельная база, ни очередь.
23 августа вышла версия 0.40.0:
🔘 ошибки команд и перехваченные паники доходят до 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_tools | 829 |
| 6 | Мышь Logitech умеет больше, чем показывает система: переназначение кнопок, DPI, поведение колеса, жесты. Штатно это настраивается только через Logitech Options+, а под Linux его просто нет.
OpenLogi говорит с устройствами по HID++ напрямую — без аккаунта и телеметрии. Вся конфигурация лежит в одном TOML-файле, который можно синхронизировать между машинами, и рядом с интерфейсом есть полноценная командная строка. 23 августа вышла версия 0.7.10:
🔘 ошибки открытия HID теперь видны в статусе агента, а не гасят работу молча;
🔘 интерфейс проверяет код возврата вспомогательного процесса при запуске агента;
🔘 openlogi list читает список устройств у уже запущенного агента;
🔘 нажатие на колесо-качельку перестало вызывать App Exposé, а прокрутка идёт на родную величину колеса;
🔘 корректно пересобранные записи об устройствах больше не выбрасываются.
Options+ выигрывает официальной поддержкой и обновлением прошивок, и запускать их одновременно нельзя: приложения дерутся за доступ по HID++, ресивером владеет кто-то один. Сам проект честно пишет, что находится в активной разработке и стабильным пока не является. OpenLogi берёт своё там, где Options+ нет вовсе, и там, где настройки хочется держать текстом.
Больше 15 тысяч звёзд. Язык: Rust. Лицензия: Apache-2.0 или MIT на выбор.
@prog_tools | 886 |
| 7 | tuicr — просмотрщик диффов для терминала, где можно оставлять построчные замечания, как в интерфейсе пул-реквеста, и одной командой отправить их ревью в GitHub, GitLab или Bitbucket. Управление вимовское, работает поверх git, 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_tools | 921 |
| 8 | Есть у нас один знакомый разработчик, который давно не отдыхал.
Последний отпуск — где-то в районе позапрошлого года. Чемодан на антресолях, паспорт неизвестно где, в комнате — бардак.
Сам он не соберётся, нужна ваша помощь → https://tprg.ru/0Q5k | 924 |
| 9 | bottom, в командной строке btm, — системный монитор для терминала: процессор, память, swap, сеть, диски, температуры, батарея и дерево процессов графиками на одном экране. 13 августа вышла версия 0.14.8, у проекта 13,9 тыс. звёзд на 17 августа.
🔘 релиз небольшой: починены закрытие меню сортировки по Enter, обработка значения swap в cgroups v1 и ссылки в JSON-схеме конфига;
🔘 графики масштабируются по времени, есть фильтры процессов, темы и собственные раскладки виджетов;
🔘 одна и та же сборка работает на Linux, macOS и Windows.
Альтернатива — htop: он есть в каждом дистрибутиве, проще и понятнее с первого взгляда, и для задачи «найти и убить процесс» его хватает. bottom берёт графиками во времени и тем, что показывает всё сразу, включая сеть и температуры; из той же ниши btop с более нарядным интерфейсом.
@prog_tools | 922 |
| 10 | Network Doctor — консольная утилита, которая отвечает на вопрос «интернет вроде есть, а сервис не работает — где именно рвётся». Одна команда netdoc 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_tools | 971 |
| 11 | Подключились по SSH к незнакомой базе, и дальше начинается археология: как называется таблица, какие в ней колонки, не снесёт ли этот UPDATE пол-базы.
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_tools | 996 |
| 12 | После выката надо свести три лога: веб-сервера, приложения и системный. Обычно это заканчивается связкой tail | 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_tools | 999 |
| 13 | Баг воспроизводится раз в сотню запусков, а под отладчиком не воспроизводится вообще.
rr записывает выполнение программы под Linux целиком, а потом проигрывает эту запись сколько угодно раз — с точностью до инструкции. Тот самый неудачный запуск можно пересматривать, ставить точки останова задним числом и двигаться по времени назад.
🔘 rr record ./program записывает выполнение вместе со всем, что программа получила извне;
🔘 rr replay открывает запись в GDB, где работают привычные команды;
🔘 reverse-cont продолжает выполнение назад — от места падения к причине;
🔘 watch -l ставит аппаратную точку наблюдения за адресом, после чего можно откатиться к предыдущей записи в него;
🔘 повторный run проигрывает тот же след заново, сохраняя расставленные точки останова;
🔘 rr pack делает след самодостаточным, чтобы передать его коллеге;
🔘 записываются деревья процессов и потоки, а режим хаоса помогает выловить редкие варианты планирования.
Ограничения честные: только Linux и только на процессорах с подходящими счётчиками производительности. Обычные GDB и LLDB переносимее, но обратной отладки не дают.
10,6 тысячи звёзд. Язык: C++. Лицензия: MIT.
@prog_tools | 994 |
| 14 | Сервис на проде внезапно ест процессор. Перезапускать с профилировщиком нельзя: проблема как раз пропадёт.
py-spy подключается к уже работающему процессу Python по идентификатору и показывает, где тот проводит время. Код менять не нужно, перезапускать тоже, сам процесс при этом продолжает работать.
🔘 py-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_tools | 1 010 |
| 15 | Профилировщик выдал десятки тысяч стеков вызовов. Читать это построчно бессмысленно, и ровно для этого Брендан Грегг придумал флейм-графы — способ свернуть все стеки в одну картинку.
Читается она не так, как кажется на первый взгляд. По горизонтали не время, а совокупная частота: ширина блока показывает, в скольких снимках встретился этот кадр. По вертикали — глубина вызовов, родитель снизу, потомки сверху. Верхняя кромка — то, где программа реально находилась в момент снятия. Цвет смысла не несёт, он нужен только чтобы блоки различались.
Появилась техника из практической беды: трассировка производительности MySQL оказалась слишком дорогой, и вместо полного трассирования Грегг стал брать выборку стеков.
Скрипты работают поверх perf, DTrace, SystemTap, eBPF и профилировщиков Windows. Кроме обычного графа по процессору есть графы по памяти, по времени вне процессора, разностные и горячие-холодные.
Отдельно стоит запомнить разницу: во флейм-чарте ось X — это действительно время, во флейм-графе — нет.
@prog_tools | 1 052 |
| 16 | Bun — среда выполнения JavaScript и TypeScript, которая заодно работает пакетным менеджером, сборщиком и тест-раннером: один бинарник вместо связки node, 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_tools | 1 089 |
| 17 | DuckDB — аналитическая база, которая живёт внутри вашего процесса, как SQLite. Отличие в том, что SQLite заточена под много мелких операций со строками, а DuckDB под запросы, которые читают миллионы строк и считают агрегаты. Практический смысл: SQL прямо по файлам Parquet и CSV, без поднятия сервера и без загрузки данных куда-либо.
Именно из-за этого сценария важен свежий выпуск 1.5.5 от 22 июля: файлы часто приходят извне, а база встроена в приложение, поэтому падает не отдельный сервер, а весь процесс.
🔘 перенесены исправления чтения за границами выделенной памяти;
🔘 разбор Parquet отклоняет страницы DATA_PAGE_V2 с несогласованным полем сжатого размера;
🔘 исправлена взаимная блокировка в управлении временной памятью;
🔘 в журнал HTTP-запросов добавлены длина тела и ошибки транспорта — полезно при чтении данных прямо из S3.
Выпуск целиком про исправления, ломающих изменений нет.
@prog_tools | 1 055 |
| 18 | В университетах учат алгоритмам и системам, но не учат пользоваться инструментами, на которых стоит вся работа. MIT сделал под это отдельный курс — The Missing Semester of Your CS Education: одиннадцать лекций примерно по часу, с конспектами, упражнениями и видео, бесплатно.
Что разбирают: устройство оболочки и почему пробелы и кавычки ведут себя так странно; перенаправление потоков и конвейеры; сценарии на bash с переменными, циклами и кодами возврата; редактор Vim по режимам; управление процессами, сигналы, jobs, fg, bg, nohup; модель git как ориентированного графа из объектов; отладка через логи, gdb, strace и профилировщики; сборку и Makefile; хеши, энтропию и ssh; обработку данных стандартными утилитами.
Это тот случай, когда курс полезнее не студенту, а практикующему разработчику: большинство пробелов в этих темах закрываются годами по крупицам, а тут они собраны в один заход с упражнениями.
Ссылка ведёт на архив 2020 года — самодостаточный и без современных дополнений.
@prog_tools | 1 086 |
| 19 | k6 гоняет нагрузочные тесты, которые пишутся обычным JavaScript и запускаются одной командой из терминала. Сценарий лежит в репозитории рядом с кодом, порог вида «99-й перцентиль меньше трёх секунд» описывается прямо в файле, а результат печатается в консоль или уезжает в дашборд.
🔘 HTTP, WebSockets, gRPC и браузерные сценарии в одном инструменте;
🔘 в версии 2.2.0 от 10 августа появился chromium.connectOverCDP(), то есть тест можно подключить к уже запущенному Chromium и брать адрес сессии во время выполнения;
🔘 TextEncoder и TextDecoder стали глобальными, а в экспериментальных потоках появился WritableStream;
🔘 SharedArray перестал замораживать примитивы и оборачивать длинные строки в объекты: в присланной репродукции потребление памяти упало примерно с 1 ГБ до 100 МБ.
Очевидная альтернатива это JMeter, и по ряду пунктов он лучше: графический редактор тест-планов, запись сценариев и протоколы, которых у k6 нет вовсе, вроде JDBC, LDAP, FTP и JMS. k6 берёт другим: тест это код в git, запускается в CI одной командой и ревьюится как обычный пул-реквест.
Оговорка из документации: на больших тестах узким местом становится сама машина-генератор, и завышенная задержка окажется вашей собственной. Авторы советуют оставлять около 20% процессора свободными.
brew install k6
@prog_tools | 1 114 |
| 20 | just — запускальщик команд проекта. Ту же роль обычно играет Makefile, но make всё-таки система сборки: он думает про файлы и зависимости, ругается на пробелы вместо табов и норовит не выполнить цель, если рядом лежит одноимённый файл. В justfile пишутся просто именованные команды с аргументами, и это всё, что нужно, когда цель — собрать в одном месте «прогнать тесты», «поднять окружение», «выложить».
3 августа вышла версия 1.58.0, небольшая:
🔘 у рецепта появился атрибут [timestamp], печатающий время выполнения, — удобно для долгих сборок, где раньше приходилось обкладывать команду вызовами date;
🔘 у него же есть аргумент формата;
🔘 --justfile-name теперь принимает несколько имён через запятую;
🔘 при форматировании вокруг выражений подстановки добавляются пробелы.
Ломающих изменений нет.
@prog_tools | 1 032 |
