Инструменты программиста
Полезные инструменты для программистов — бесплатные и платные Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Регистрация в перечне РКН: https://tprg.ru/mX0S
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Инструменты программиста
تُعد قناة Инструменты программиста (@prog_tools) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 12 917 مشتركاً، محتلاً المرتبة 9 742 في فئة التكنولوجيات والتطبيقات والمرتبة 50 028 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 12 917 مشتركاً.
بحسب آخر البيانات بتاريخ 22 أكتوبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -18، وفي آخر 24 ساعة بمقدار -5، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 23.58%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 4.83% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 3 046 مشاهدة. وخلال اليوم الأول يجمع عادةً 624 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 1.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل github, git, docker, install, api.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Полезные инструменты для программистов — бесплатные и платные
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Регистрация в перечне РКН: https://tprg.ru/mX0S”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 23 أكتوبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
جارٍ تحميل البيانات
| التاريخ | نمو المشتركين | الإشارات | القنوات | |
| 23 أكتوبر | +1 | |||
| 22 أكتوبر | 0 | |||
| 21 أكتوبر | +3 | |||
| 20 أكتوبر | +5 | |||
| 19 أكتوبر | +1 | |||
| 18 أكتوبر | +2 | |||
| 17 أكتوبر | 0 | |||
| 16 أكتوبر | +1 | |||
| 15 أكتوبر | +3 | |||
| 14 أكتوبر | +2 | |||
| 13 أكتوبر | +3 | |||
| 12 أكتوبر | +17 | |||
| 11 أكتوبر | +6 | |||
| 10 أكتوبر | +8 | |||
| 09 أكتوبر | +12 | |||
| 08 أكتوبر | +2 | |||
| 07 أكتوبر | +1 | |||
| 06 أكتوبر | 0 | |||
| 05 أكتوبر | +1 | |||
| 04 أكتوبر | 0 | |||
| 03 أكتوبر | +1 | |||
| 02 أكتوبر | 0 | |||
| 01 أكتوبر | +6 |
caffeinate, которая удерживает систему от автоматического сна из-за бездействия.
Передайте ей нужную команду:
caffeinate ./build.sh
Защита действует, пока команда работает. После завершения обычный режим сна вернётся.
Если процесс уже запущен, укажите его PID, например:
caffeinate -w 12345
А вариант caffeinate -id ./build.sh дополнительно не даст погаснуть дисплею. Без аргументов утилита работает до остановки через Ctrl+C.
В руководстве Адама Джонсона есть важное ограничение: закрытие крышки всё ещё может усыпить ноутбук. Блокировка экрана при этом не мешает задаче продолжать работу.
#инструменты #macos #терминал| 2 | Azure Developer CLI ограничивает параллелизм по этапам развёртывания
В проекте с несколькими сервисами одновременная сборка и публикация могут упираться в ресурсы машины или ограничения облака.
В сентябрьских обновлениях Azure Developer CLI добавили отдельные ограничения параллелизма для этапов package, provision, publish и deploy. Теперь число одновременно выполняемых операций можно настраивать под каждый этап.
Пригодится, например, когда сборку нескольких сервисов можно распараллелить, а создание ресурсов или публикацию нужно выполнять с меньшей нагрузкой.
В azure.yaml также появились слои инфраструктуры и сервисов для организации сложных проектов. А azd init --template предупреждает, если репозиторий шаблона архивирован.
Это возможности инструмента для развёртывания в Azure. В обзоре разобраны версии 1.33.0–1.34.2.
#инструменты #azure #cli | 496 |
| 3 | Zed сравнивает каталоги в двух соседних панелях
Нужно сопоставить две копии проекта или результат генерации файлов? В Zed 1.24.2 появился просмотр различий каталогов рядом друг с другом через zed --diff.
Например, для двух локальных папок:
zed --diff ./before ./after
Так удобнее просматривать изменения сразу в нескольких файлах: исходная и новая версии открываются в соседних панелях.
Ещё в релизе добавили создание Git-тегов из истории коммитов и Git Graph. Команда git: create tag at head ставит локальный тег на текущий коммит. Автоматической отправки тега на сервер нет.
А поиск файлов теперь может подставлять текст, выделенный в редакторе или терминале. Мелочь, которая убирает копирование имени файла из сообщения об ошибке в строку поиска.
#инструменты #zed #git | 717 |
| 4 | uv помогает подготовить окружение для тестов самого Django
Нашли ошибку во фреймворке и хотите проверить исправление? У Django есть собственный набор тестов. Адам Джонсон показывает, как подготовить для него окружение через uv.
В корне клонированного репозитория Django:
uv venv
uv pip install -e . -r tests/requirements/py3.txt
Первая команда создаёт .venv, вторая устанавливает Django в редактируемом режиме и зависимости тестов. Изменения в исходниках фреймворка будут доступны без повторной установки пакета.
Затем активируйте окружение, перейдите в tests и запустите runtests.py. Это подготовка к работе над самим Django; тесты вашего приложения запускаются отдельно.
В статье также разобрана проблема сборки pylibmc. Его можно исключить из установки, но тогда зависящие от него тесты будут пропущены.
#инструменты #python #django | 789 |
| 5 | GitHub Actions фиксирует зависимости workflow в lock-файле
Ссылка на action через тег удобна для чтения, но тег может переместиться. Тогда следующий запуск выполнит другой код, хотя файл workflow в вашем репозитории не менялся.
В GitHub Actions появился механизм lock-файлов, пока в public preview. Расширение gh actions-lock создаёт .github/workflows/actions.lock с конкретными коммитами зависимостей.
Фиксируются actions, их транзитивные зависимости и зависимости переиспользуемых workflow. Подключать механизм можно постепенно, для отдельных workflow. При обновлении action через Dependabot соответствующая запись в lock-файле обновляется в том же PR.
Так изменения зависимостей становятся видны на ревью. Но сначала проверьте сам код: фиксация коммита обеспечивает постоянство версии, а оценивать её безопасность всё равно нужно отдельно.
#инструменты #github #ci | 827 |
| 6 | DBeaver 26.2.3 запускает SQL-файлы без открытия в редакторе
Когда готовый SQL-скрипт нужно просто выполнить, отдельная вкладка бывает лишней. В DBeaver 26.2.3 добавили запуск файлов со скриптами без открытия в SQL-редакторе.
После успешного выполнения DDL — например, изменения структуры таблицы — появилось уведомление, предлагающее обновить затронутые метаданные. Это помогает привести дерево объектов в соответствие с изменениями в базе.
В той же версии исправили массовый импорт в PostgreSQL: раньше могли некорректно обрабатываться обратные слеши и пользовательские символы экранирования CSV.
Пригодится тем, кто регулярно запускает подготовленные SQL-файлы и загружает данные через настольный клиент. Перед выполнением всё равно проверьте подключение и содержимое скрипта: новый способ запуска не добавляет автоматического отката.
#инструменты #sql | 834 |
| 7 | Firefox DevTools MCP: полный скриншот и завершение сессии
В Firefox DevTools MCP 0.10.3 добавили несколько возможностей для автоматизированной проверки страниц.
По объявлению Mozilla, параметр fullPage у screenshot_page позволяет снять весь прокручиваемый документ вместо видимой области. При разрешении загрузок через set_download_behavior можно указать каталог в downloadFolder.
Отдельно появился close_firefox_session. Если сервер подключён к уже открытому Firefox, инструмент разрывает соединение. Если сервер сам запустил браузер, он его закрывает. Это различие важно для сценариев, работающих рядом с пользовательскими вкладками.
Сессии подключения к существующему Firefox теперь отключаются после 30 минут без вызовов инструментов. А restart_firefox перенесли во внутренний пакет Mozilla для контролируемых сред.
Пригодится для проверок длинных страниц, загрузок файлов и корректного завершения браузерных сценариев.
#firefox #mcp | 888 |
| 8 | Chrome DevTools: измерять переходы внутри SPA
В одностраничном приложении адрес и содержимое меняются без полной загрузки документа. Поэтому одной записи первоначального открытия страницы недостаточно, чтобы оценить следующие переходы.
В обзоре Chrome DevTools описана поддержка soft navigation в разделе Insights панели Performance. Она дополняет отображение таких переходов в Live Metrics и записи выполнения.
Для проверки откройте Performance, начните запись и выполните нужный переход в приложении. Если DevTools распознал его как soft navigation, можно рассмотреть соответствующий участок и связанные подсказки по производительности.
В том же обновлении поиск по Ctrl+F научился находить записи пользовательских дорожек, добавленных через Extensibility API, включая их свойства и текст подсказок.
Сценарии стоит записывать отдельно: открытие приложения, переход между экранами, повторное посещение уже загруженного раздела.
#devtools #производительность | 848 |
| 9 | IntelliJ IDEA: действия редактора через две точки
Нужная команда IDE часто существует, но её сочетание клавиш вспоминается дольше, чем занимает само действие. В IntelliJ IDEA можно начать с .. прямо в редакторе.
Как показано в заметке JetBrains, command completion предлагает действия с учётом кода и положения курсора: навигацию, рефакторинг, генерацию и исправления.
В 2026.3 EAP этот механизм расширили. Появился более прямой доступ к logpoints, подсветка элемента, к которому применится действие, и общий интерфейс с postfix completion и живыми шаблонами. Поддержку также развивают для файлов настроек и декомпилированного кода.
Базовый вызов через две точки можно попробовать в Java-, Kotlin- или Scala-файле в IDEA 2026.2. Новые возможности из статьи относятся к предварительной 2026.3 EAP, поэтому набор действий зависит от версии и контекста.
#intellij #ide | 930 |
| 10 | Docker Compose: корректный YAML ещё не гарантирует поведение
Параметр может существовать в спецификации Compose и проходить проверку схемы, но не поддерживаться при обычном запуске через docker compose up.
В Compose 5.6.0 добавили предупреждения о неподдерживаемых атрибутах файла. Это помогает заметить ситуацию, когда настройка записана, а ожидаемого эффекта нет.
Например, параметры обновления сервисов для Swarm не превращают локальный Compose в оркестратор с таким же механизмом развёртывания. При переносе конфигурации между средами стоит проверять поддержку конкретных полей, а затем фактическое поведение контейнеров.
В том же выпуске появилась частичная поддержка jobs: пока доступны только задания с ручным запуском. Задания по расписанию ещё ждут соответствующей поддержки Docker Engine.
Полезная проверка после обновления: перечитать предупреждения запуска и сопоставить их с настройками, на которые рассчитывает ваш проект.
#docker #конфигурация | 916 |
| 11 | Tachyon: найти медленный участок Python-программы
В Python 3.15 появился статистический профилировщик Tachyon в модуле profiling.sampling. Он периодически снимает состояние стеков и помогает увидеть, где программа проводит время.
В разборе Astral его запускают через uv и открывают диаграмму в браузере. Для своего файла команда выглядит так:
uv run --python=3.15 -m profiling.sampling run --flamegraph --browser app.py
На диаграмме ищите широкие участки стека и проверяйте, какая работа за ними стоит. В примере статьи заметную долю выборок занимало объединение списков через sum(). Замена этого участка сократила время конкретного запуска примерно вдвое.
Доля выборок не равна числу вызовов функции. После изменения кода отдельно измерьте полное время программы на той же нагрузке. В примере используется Python 3.15; запуск через uv требует доступного интерпретатора и зависимостей проекта.
#python #профилирование | 957 |
| 12 | VS Code: меньше ручной работы с Markdown
Скриншот для инструкции, ссылка на локальный файл, длинный README с десятком разделов — в VS Code 1.142 для этих задач обновили редактор Markdown.
В описании релиза перечислены несколько полезных изменений. Изображение можно вставить прямо из буфера обмена. Для файловых ссылок появился Rename Symbol по F2: переименование отражается по документу.
Редактор также подключили к Outline и навигационной цепочке над документом. По заголовкам проще переходить, не прокручивая весь файл. У блоков кода при наведении появляется кнопка копирования.
В режиме редактирования каждая исходная строка теперь занимает отдельную визуальную строку, чтобы структура Markdown читалась яснее. Режим просмотра сохраняет привычное отображение.
Пригодится тем, кто ведёт инструкции, заметки к релизам и документацию рядом с кодом. Эти изменения входят в стабильный выпуск от 14 октября.
#vscode #документация | 912 |
| 13 | Zsh: как отложить набранную команду
Набрали длинную команду запуска тестов и вспомнили, что сначала нужно переключить ветку? В Zsh можно временно убрать строку, выполнить другую команду и получить прежнюю обратно.
В раскладке Emacs нажмите Esc, отпустите, затем q. Виджет push-line сохранит строку и очистит приглашение. После выполнения следующей команды сохранённый текст вернётся, но автоматически не запустится.
В заметке Адама Джонсона есть настройка для многострочных команд:
bindkey '^[q' push-line-or-edit
Добавьте её в ~/.zshrc. Если команда вводится на нескольких строках, первое Esc → q соберёт её в единый редактируемый буфер. Повторное нажатие отложит уже весь буфер.
Удобно, когда перед запуском нужно перейти в каталог, включить окружение или проверить имя файла. Сочетание относится к Zsh и зависит от настроек клавиш вашей оболочки.
#терминал #zsh | 951 |
| 14 | Bruno: локальный сервер API из примеров ответов
Бэкенд ещё не готов, а в интерфейсе уже нужно проверить список, пустое состояние и ошибку. В Bruno для этого можно сохранить примеры ответов и поднять локальный сервер, который их возвращает.
В руководстве команды Bruno показан путь от коллекции запросов до работающей заглушки. Для примера задаются статус, заголовки и тело. Его можно написать вручную или сохранить из настоящего ответа API.
Из примеров создаётся mock server. Для одного метода и пути можно подготовить несколько ответов и правила их выбора. Запросы видны в журнале, а определения хранятся на диске рядом с коллекцией — их удобно передавать через Git.
Mock Servers пока в бета-версии. Такой сервер возвращает заданные ответы, не хранит данные и не исполняет бизнес-логику. При закрытии Bruno он останавливается; после перезапуска приложения его нужно запустить снова.
#api #тестирование | 928 |
| 15 | Tokens Brücke: из Figma в npm через проверяемый PR
У GitButler дизайн-токены живут в отдельном npm-пакете: его используют приложение и сайт. Даже изменение одного цвета должно пройти экспорт, сборку CSS и выпуск версии.
В разборе этого процесса Павел Лаптев использует плагин Tokens Brücke. Кнопка Push to server отправляет JSON токенов в GitHub PR, а Actions собирают CSS и показывают изменения. После ревью и слияния другой workflow публикует пакет и тег.
У CLI появился и режим работы с готовым снимком переменных:
npx tokens-bruecke --input snapshot.json --output tokens.json
Он преобразует входные данные в формат DTCG. Сам снимок нужно получить отдельно.
Автор сначала запускал цепочку через двух ИИ-агентов, но для повторных выпусков выбрал кнопку и CI. Агенты помогли подготовить CLI и workflows; проверка диффа перед выпуском осталась за человеком.
#инструменты #автоматизация | 1 049 |
| 16 | Delta: ревью с контекстом работы агента
Дифф показывает изменения, но не всегда объясняет, почему автор выбрал именно это решение. В публичной бете Delta коллегу можно пригласить в тред с агентом, чтобы он увидел обсуждение и продолжил работу с тем же контекстом.
Для ревью создаётся отдельный тред с изолированной копией рабочих деревьев. Ревьюер может исследовать код, пробовать исправления и обсуждать их с агентом, не меняя исходную рабочую копию. Правки затем можно перенести обратно.
В основе — DeltaDB: она сохраняет редактирования между коммитами вместе с сообщениями людей и агентов. Коммиты остаются точками, которые можно отправлять в обычный Git.
Переводить всю команду сразу не требуется: треды Delta можно прикладывать к привычным GitHub PR. В статье есть демонстрация пути от исправления до ревью и слияния. Часть возможностей ещё находится в планах развития.
#инструменты #codereview | 1 057 |
| 17 | Zsh: как поставить файл 2 перед файлом 10
При раскрытии *.png оболочка сортирует имена посимвольно. Поэтому Page 10.png может оказаться перед Page 2.png. Это легко пропустить при сборке PDF из изображений.
Адам Джонсон показывает числовую сортировку через квалификатор n. Сначала проверьте порядок файлов, затем передайте их ImageMagick:
print -l *.png(n)
magick *.png(n) document.pdf
Теперь числовые части имён сравниваются как числа. Для обратного порядка используйте *.png(nOn).
Если такое поведение нужно для всех glob-шаблонов, в Zsh можно включить:
setopt numeric_glob_sort
Глобальная настройка меняет порядок и в других командах, поэтому для разовой задачи удобен квалификатор в конкретном шаблоне. Этот синтаксис относится к Zsh; в Bash и PowerShell он не работает.
#терминал #zsh | 1 112 |
| 18 | Что проверить после переноса Postman-коллекции в Bruno
Bruno переводит знакомые вызовы pm.* в свой API при импорте. Но неподдерживаемые строки остаются в скрипте и могут упасть только при запуске запроса.
В руководстве по конвертации советуют найти оставшиеся обращения к Postman API, затем запустить коллекцию целиком. Импортированные тесты находятся в Post Response, а результаты отображаются в панели Tests.
Отдельно проверьте переменные: после импорта значения имеют строковый тип. Сравнение числа с такой переменной не сработает без настройки типа или преобразования.
Есть и разница в порядке скриптов: Bruno по умолчанию выполняет post-response от запроса к папке и коллекции. Если тесты зависят от обратного порядка, нужен sequential flow.
Перед коммитом коллекции проверьте токены. Запись через bru.setEnvVar() сохраняет значение в файл окружения; секреты нужно хранить отдельно.
#инструменты #api | 1 092 |
| 19 | git rerere: повторное использование решений конфликтов
Git rerere запоминает, как вы разрешили конфликт, и при повторении того же содержимого с обеих сторон подставляет сохранённое решение в файл. Включить его для текущего репозитория можно командой git config rerere.enabled true.
В практикуме с командами и ожидаемым выводом конфликт в config.yml сначала решают при слиянии веток, затем отменяют слияние и выполняют rebase, перенос коммитов на другую основу. Git применяет записанное решение и останавливается для проверки.
По умолчанию файл не добавляется в индекс: нужно проверить изменения через git diff, выполнить git add и продолжить операцию. Если окружающий код изменился, прежнее решение может оказаться неверным.
#git #инструменты | 1 096 |
| 20 | Вебинар в прямом эфире уже идёт десять минут. Вы только открыли трансляцию. Что для вас важнее всего? | 823 |
