prog_tools | Unsorted

Telegram-канал prog_tools - Инструменты программиста

12930

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

Subscribe to a channel

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

Рецепты curl для авторизации и проверки доступа к серверу

curl позволяет воспроизводить запросы из терминала: передавать логин и пароль, сохранять cookies после входа через форму и использовать их в следующих запросах. В подборке команд для загрузки файлов, авторизации и проверки сервисов разобраны эти сценарии с примерами.

Для cookies показана пара параметров: --cookie-jar сохраняет их в файл, а --cookie читает оттуда. Так можно запросить защищённую страницу после входа.

Отдельный пример посвящён --connect-to: curl подключается к указанному серверу и порту, сохраняя имя исходного узла в заголовках запроса. Это позволяет проверить сервис напрямую, исключив балансировщик как возможную причину ошибки.

#инструменты #терминал

Читать полностью…

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

Общая папка для работы Claude Code и Codex

Луи-Франсуа Бушар собрал заметки, инструкции-скиллы, скрипты и итоги встреч в Obsidian. Его связка устроена так:

Папка хранит исходные материалы и решения
↓
Индекс указывает, где искать данные для задачи
↓
Claude Code планирует работу
↓
Codex выполняет задачи по его вызову

В описании этого рабочего процесса Бушар объясняет, зачем даёт агенту сведения для конкретной задачи. Начать предлагает с общей папки, короткого индекса и одного повторно используемого скилла.

#ии #инструменты

Читать полностью…

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

Шпаргалка по GitHub Copilot CLI: история диалога, каталоги и экспорт сессий

GitHub Copilot CLI позволяет управлять работой ИИ-помощника в терминале командами с префиксом /. Для очистки истории или смены рабочего каталога не нужно каждый раз писать запрос обычным текстом.

Если Copilot ссылается на прошлую задачу, /clear удалит историю текущего диалога. Команда /cwd покажет рабочий каталог, а с указанным путём сменит его. Через /list-dirs можно проверить, к каким директориям у помощника есть доступ.

В шпаргалке с примерами команд и их вывода есть и экспорт: /share file сохраняет историю сессии в Markdown-файл, чтобы передать коллеге ход работы или приложить его к обсуждению задачи.

#cli #инструменты

Читать полностью…

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

git range-diff: проверка изменений в коммитах после rebase

Команда git range-diff сравнивает серии коммитов до и после переноса ветки на новую базу. Одинаковые сообщения в git log не гарантируют, что код сохранился: ручное разрешение конфликта становится частью переписанного коммита.

В воспроизводимом упражнении с тремя коммитами при разрешении конфликта намеренно меняют вычитание x.patch - y.patch на y.patch - x.patch. Ошибка оказывается в коммите про оформление кода.

Разбор показывает, как сохранить исходную ветку командой git branch before-rebase и прочитать результат сравнения: знак = отмечает совпавшие изменения, ! указывает на различия. Два уровня знаков в выводе помогают найти случайную правку внутри изменённого коммита.

#git #инструменты

Читать полностью…

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

Команды Git для восстановления коммитов и переноса изменений

Git позволяет отменить локальный коммит, найти потерянный и перенести изменения без нового коммита. В подборке команд под рабочие задачи разобраны эти сценарии и управление отложенными изменениями.

git reset --soft HEAD~1 отменяет последний коммит, сохраняя изменения подготовленными к следующему. Для уже отправленных и общих коммитов источник рекомендует git revert. Через git reflog можно найти хеш потерянного коммита и создать от него ветку.

Флаг -n у git cherry-pick переносит изменения без создания коммита, чтобы вы могли их доработать. Для stash, временно сохранённых изменений, показаны именование и выборочное применение с сохранением записи или её удалением.

#git #терминал

Читать полностью…

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

Локальная модель в Bruno: подключение через Ollama и LM Studio

Bruno 4.0.0+ позволяет подключить ИИ на вашем компьютере для генерации проверок ответов API, скриптов и документации. Запросы к модели остаются на машине, помощник работает без интернета. ИИ-функции пока в бете и по умолчанию выключены.

В руководстве по подключению локальных моделей разобраны выбор модели под доступную память, запуск сервера и добавление его адреса и идентификатора модели в настройки Bruno. Ollama запускает сервер автоматически; в LM Studio его нужно включить вручную через графический интерфейс.

Для проверки подключения показаны команды, которые запрашивают список моделей у локального сервера. Небольшие модели подходят для типовых проверок, но уступают ведущим облачным моделям в сложных рассуждениях.

#инструменты #автоматизация

Читать полностью…

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

bat: просмотр кода в терминале с подсветкой синтаксиса

bat выводит содержимое файлов с подсветкой синтаксиса, номерами строк и пометками изменений относительно индекса Git, то есть версии, подготовленной к коммиту. Если текст не помещается на экран, утилита по умолчанию открывает его в программе для постраничного просмотра.

Конкретный сценарий: предпросмотр файлов при поиске через fzf. Опция --line-range=:500 ограничивает вывод первыми 500 строками, чтобы сократить время загрузки длинных файлов. А --color=always сохраняет цветную подсветку в предпросмотре.

В руководстве bat есть готовая команда для fzf, способы установки и примеры работы с файлами. При передаче вывода другой программе bat автоматически отдаёт чистое содержимое без номеров строк и пометок.

#инструменты #терминал

Читать полностью…

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

Как найти самые большие файлы в Zsh

Zsh умеет отбирать и сортировать файлы по размеру прямо в шаблоне поиска. Команда du -h **/*(.OL[1,5]) покажет занятое место для пяти самых больших обычных файлов в текущем каталоге и подкаталогах. Точка исключает каталоги, OL сортирует файлы по убыванию размера, а [1,5] оставляет первые пять результатов.

Адам Джонсон на примере репозитория Django разбирает синтаксис этих квалификаторов, то есть правил отбора и сортировки после шаблона. Есть и пример поиска Python-файлов больше 150 КиБ. Такой список поможет выбрать, какие крупные файлы изучить перед очисткой репозитория.

#терминал #инструменты

Читать полностью…

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

Read. Write. Edit. Bash.

Это базовый набор операций Pi — агента, на котором построен OpenClaw. Дополнительные возможности появляются через расширения: агент может написать их по запросу пользователя, перезагрузить и проверить в работе.

У такого устройства есть полезные детали:
• состояние расширений хранится в сессии;
• беседу можно разветвить для отладки и вернуться с кратким пересказом;
• инструкции и примеры помогают агенту создавать новые функции.

Армин Ронахер разбирает Pi на собственных примерах: среди расширений, созданных по его запросам, есть список задач и ревью изменений кода. Получается взгляд на выбор ИИ-инструмента через то, что пользователь может настроить в нём под свою работу.

#ии #инструменты

Читать полностью…

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

Как настроить модель в SolonCode через веб-интерфейс

SolonCode подключает модель к агенту без ручного редактирования settings.json. Запустите soloncode web 0 из каталога проекта: инструмент откроет браузер и сделает этот каталог рабочей областью.

В разделе Models укажите адрес API, ключ, модель, размер контекста и тайм-аут. Перед сохранением запустите Test Connection, чтобы проверить ключ, адрес и прокси. После сохранения модель появится в чате без перезапуска.

Настройки можно сохранить для всех проектов или локально в .soloncode/settings.json. API-ключ в репозиторий добавлять нельзя. Полный путь от установки до первой задачи

Читать полностью…

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

Как настроить Ruff для единых проверок в VS Code и терминале

Ruff форматирует Python-код, проверяет его по правилам и сортирует импорты. Это разные операции: ruff format меняет оформление, а ruff check находит нарушения, включая неиспользуемые импорты. Проверку типов при этом можно оставить Pylance.

Правила храните в pyproject.toml, а расширению charliermarsh.ruff укажите исполняемый файл из проектного окружения через ruff.path. Для macOS, Linux и WSL это .venv/bin/ruff, для Windows: .venv/Scripts/ruff.exe. Конфликтующие действия Black и isort при сохранении стоит отключить.

Последовательная настройка Ruff связывает сохранение файла с теми же командами, которые запускаются в терминале: uv run --locked ruff format, ruff check и ruff check --fix. Так редактор и командная строка используют одну версию Ruff и один набор правил.

Читать полностью…

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

Как фильтровать JSON в терминале с jq

jq — утилита командной строки для фильтрации и преобразования JSON. Она принимает файл или вывод другой команды, поэтому ответ API можно обработать прямо в конвейере shell-скрипта.

Фильтр .servers[] перебирает объекты массива, select(...) оставляет подходящие, а {hostname: .hostname} собирает новый объект из нужных полей. Шаги соединяются оператором |, поэтому цепочку можно проверять по частям.

Флаг -r выводит строки без кавычек, чтобы сразу передать их другой команде. Примеры фильтрации и преобразования JSON также охватывают сортировку, группировку, переменные и обработку отсутствующих полей.

Читать полностью…

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

Nebula ArchRules: общие архитектурные проверки для JVM-проектов

Nebula ArchRules переносит правила ArchUnit из JUnit-тестов одного репозитория в любое число Gradle-проектов. Это пригодится командам, которым нужно одинаково отслеживать запрещённые зависимости и неправильное использование API.

ArchUnit анализирует скомпилированный байткод, поэтому одно правило работает для Java, Kotlin и Scala. Правила пишутся на Java через типобезопасный API, собираются в отдельный JAR-файл и могут поставляться вместе с библиотекой. Тогда плагин запускает их только для тех наборов исходников, где эта библиотека подключена.

Разбор устройства Nebula ArchRules показывает и практический сценарий Netflix: искать обращения к устаревшим, экспериментальным и внутренним API во множестве репозиториев. Результаты выводятся в консоль или JSON, а порог ошибки сборки можно настроить по приоритету нарушения.

Читать полностью…

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

Как проверить чужую ветку через 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 и безопасную очистку каталогов.

Читать полностью…

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

Как показывать лог пересборки сервера в браузере через systemfd

systemfd сохраняет слушающий сокет открытым, пока watchexec следит за исходниками и пересобирает сервер. Во время компиляции запросы некому обрабатывать, поэтому вместо пустой страницы socat передаёт в браузер поток лога сборки.

Bash-функция создаёт минимальный HTTP-ответ, а tee одновременно выводит результат cargo build в терминал и дописывает его в файл. socat читает новые байты из файла через уже открытый сокет. После успешной сборки скрипт завершает socat и запускает новую версию сервера. xterm.js возвращает терминальные цвета, а fetch позволяет корректно обработать закрытие потока и подключиться снова.

В готовом скрипте dev.sh разобрана вся связка. Пример написан для Rust, но подход переносится на другие компилируемые бэкенды, если они поддерживают наследование слушающего сокета.

Читать полностью…

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

curl: пароль для сервера и пароль для прокси — разные вещи

Получили 401? Сервер запрашивает авторизацию через WWW-Authenticate. Для него предназначен --user, который задаёт заголовок Authorization.

При 407 пароль нужен HTTP-прокси: ответ содержит Proxy-Authenticate. Здесь используйте --proxy-user, а не повторяйте пароль сервера. Учётные данные прокси передаются в Proxy-Authorization.

Если метод заранее неизвестен, --anyauth сначала проверяет ответ сервера. Для прокси есть отдельный --proxy-anyauth. Basic кодирует пароль в base64, а не шифрует его, поэтому для реальных паролей нужен защищённый транспорт.

📎 Авторизация в руководстве everything curl

#cli #инструменты

Читать полностью…

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

Logpoints в IntelliJ IDEA: поиск ошибок в gRPC-сервисе без остановки

Logpoints выводят значения в консоль, не приостанавливая программу. Выражения для вывода можно менять без пересборки и повторного развёртывания приложения.

В руководстве по отладке Java-сервиса в Docker показаны подключение отладчика и поиск причины неверной скидки: имя клиента сравнивается без учёта регистра. Затем исправление проверяют без изменения кода сервера.

Обычная точка останова мешает разбору: пока сервер стоит на паузе, истекает срок выполнения gRPC-запроса, заданный клиентом, и сервер отменяет работу. Logpoints позволяют наблюдать за обработкой без такой паузы.

Но выражения выполняются в той же виртуальной машине: тяжёлые вычисления добавляют нагрузку, а побочные эффекты могут менять состояние программы.

#ide #инструменты

Читать полностью…

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

🧑‍💻 Какие навыки помогают вам в разработке в 2026 году?

Что вы чаще используете в работе? В каких задачах помогает ИИ, а где проще справиться самостоятельно?

Мы решили собрать портрет современного разработчика — и приглашаем вас поделиться своим опытом. Расскажите, какие навыки вам пригодились и как вы используете ИИ. Если обходите его стороной, нам тоже интересно узнать почему.

Опрос анонимный и займёт около 5 минут. Результаты опубликуем в общем большом исследовании.

👉 Пройти опрос

Читать полностью…

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

Showboat и Rodney помогают показать работу ИИ-агента

Саймон Уиллисон собирает демонстрации кода с помощью двух своих инструментов. Showboat выполняет команды и записывает их вывод в документ. Rodney управляет Chrome из командной строки и делает скриншоты интерфейса.

uvx showboat --help

Эту команду автор предлагает дать агенту: в справке есть всё необходимое, чтобы тот создал документ с демонстрацией новой функции.

Уиллисон замечал и обход механизма: агент напрямую правит текст отчёта. Тогда записанный вывод может расходиться с реальным запуском. Содержимое демонстрации тоже требует проверки.

#ии #инструменты

Читать полностью…

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

Как подключить личный GitHub и корпоративные аккаунты к GitButler

GitButler позволяет работать с личными репозиториями GitHub и корпоративными серверами GitHub Enterprise в одном Git-клиенте. Для каждого репозитория он сохраняет свой аккаунт: при переходе между проектами вручную переключать учётные данные не нужно.

В руководстве по подключению аккаунтов показаны вход через код подтверждения в браузере и подключение с токеном доступа. Для Enterprise понадобятся адрес API сервера и токен именно этого сервера.

Отдельно разобрана блокировка корпоративного сервера сетевой политикой GitButler: нужные адреса добавляют в поле extraCsp файла настроек, затем перезапускают клиент. Учётные данные хранятся локально, в зашифрованном виде в системном хранилище ключей.

#git #инструменты

Читать полностью…

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

Для нового сервиса нужны репозиторий, ресурсы, сборка, тесты, доступы и мониторинг. Для каждого аспекта нужна была своя заявка и существовала отдельная очередь. В VK всё это свели в одну внутреннюю платформу: разработчик выбирает шаблон, получает ресурсы и сам может провести фичу от кода до запуска. Подготовка типового сервиса теперь занимает часы вместо недель.

В процесс встроены автопроверки, тесты в изолированной среде и фича-флаги. Среда ловит ошибки до релиза, а флаг позволяет включить функцию, например, для 1% пользователей и посмотреть, как она работает на реальных запросах.

Разобрали этот подход на примере ВКонтакте: какие операции автоматизировали, за что отвечает команда и с чего можно начать в своём проекте.

Читать полностью…

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

Поиск и замена кода по структуре с ast-grep

ast-grep ищет код по синтаксической структуре: вместо совпадений текста, как у grep, сопоставляет узлы дерева, представляющего устройство кода. Шаблон выглядит как обычный код, а метапеременная $A обозначает один узел этого дерева.

Например, можно найти в TypeScript проверку значения перед его вызовом. Пробелы и переносы строк не мешают совпадению:

sg run -p '$A && $A()' -l ts

В Linux имя sg может быть занято системной командой; тогда используйте ast-grep вместо sg.

В README есть установка, примеры поиска и замены кода, а также описание собственных правил проверки в YAML. Это пригодится, если нужно находить повторяющиеся конструкции или менять код при обновлении библиотеки.

#инструменты #cli

Читать полностью…

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

От чатбота к агентам: опыт Митчелла Хашимото

Для работы с кодом Хашимото перешёл от отдельного чата к агенту, который читает файлы проекта и запускает программы. После этого начал повторять собственную работу: сначала решал задачу сам, затем давал её агенту без готового решения.

Так он выяснял, какие задачи можно поручать ИИ. Дальше добавлял инструкции в AGENTS.md, файл с правилами проекта, и способы проверить изменения, включая запуск тестов.

В истории освоения ИИ в разработке Хашимото связывает выбор задач с настройкой рабочего окружения. Отдельные чаты при этом остались в его повседневной работе.

#ии #инструменты

Читать полностью…

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

git-cliff: как собрать список изменений из истории Git

git-cliff генерирует файл со списком изменений по истории Git. Для разбора сообщений коммитов он поддерживает Conventional Commits, соглашение об их формате, и собственные правила на основе регулярных выражений, которые находят заданные текстовые шаблоны.

Например, для проекта можно настроить формат списка изменений через конфигурационный файл: шаблон определяет, как будут выглядеть записи. Это позволяет подготовить CHANGELOG в нужном оформлении.

В репозитории git-cliff описаны способы разбора коммитов и настройки шаблона, а также собраны ссылки на документацию по установке, использованию и конфигурации.

#git #автоматизация

Читать полностью…

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

oyui: выбираем фрагменты диффа при jj split с подсветкой

oyui — терминальный редактор диффов для Jujutsu. Он помогает выбирать изменения при выполнении jj split: показывает код в цвете, подсвечивает синтаксис и позволяет выделять сразу группы фрагментов.

Инструмент развивает идеи scm-record, встроенного в jj интерфейса для команд split, restore и resolve. oyui стоит попробовать, если при разборе крупных диффов стандартному интерфейсу не хватает наглядности и группового выделения.

Установка: cargo install oyui. В обзоре инструментов для jj также собраны альтернативные редакторы диффов и другие дополнения к Jujutsu.

Читать полностью…

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

Как найти источник расхода памяти в живом Python-процессе с Memray

Memray подключается к запущенному Python-процессу без перезапуска приложения и записывает выделения памяти, включая операции в расширениях на C и нативных библиотеках. Установка: pip install memray.

В контейнере найдите PID процесса и запустите memray attach <PID>. Через несколько минут остановите запись и посмотрите, какие функции расходуют больше всего памяти: memray summary даст таблицу, memray flamegraph построит граф вызовов, а memray stats покажет общую статистику.

Для подключения нужен Python 3.7 или новее. В Kubernetes контейнеру также может потребоваться разрешение SYS_PTRACE. Такой профиль помогает найти крупные выделения памяти под реальной нагрузкой, когда проблема не воспроизводится локально.

Читать полностью…

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

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.

Читать полностью…

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

Как сохранить работу при обрыве SSH с помощью tmux

tmux сохраняет терминальную сессию на сервере и делит одно окно на несколько панелей. Запустите именованную сессию командой tmux new -s work: даже после разрыва SSH запущенная в ней задача продолжит выполняться.

Чтобы отключиться, нажмите Ctrl+b, отпустите клавиши и нажмите d. Вернуться можно командой tmux attach -t work. Список активных сессий покажет tmux ls.

Панели создаются сочетаниями Ctrl+b % для деления слева направо и Ctrl+b " для деления сверху вниз. Так в одном рабочем пространстве помещаются основная команда, логи и системный мониторинг.

Готовая конфигурация и команды tmux также охватывают работу с окнами, прокрутку вывода, мышь и запуск заранее собранных раскладок.

Читать полностью…

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

Как обновлять Go-код с ИИ без устаревших приёмов

JetBrains go-modern-guidelines подбирает рекомендации под версию Go в проекте. Благодаря этому ИИ-агент не предложит API, которого ещё нет в вашей сборке.

Команда list находит версию в go.mod или go.work и выдаёт краткий список доступных правил. Затем explain раскрывает выбранные пункты с примерами до и после. Такой порядок экономит контекст: для Go 1.24 автор получил 45 рекомендаций, но подробно запросил только шесть.

В проверке на main.go объёмом 1039 строк инструмент помог заметить самописный поиск подстроки, который заменяется на strings.Contains. Заодно правила предупреждают о нюансах: например, cmp.Or вычисляет все аргументы, поэтому дорогие функции в него лучше не передавать без проверки.

#инструменты

Читать полностью…

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

Как найти коммит с регрессией через git bisect

git bisect ищет коммит, который внёс регрессию, бинарным поиском. Вы отмечаете рабочую и проблемную точки истории, а Git переключается на середину диапазона. После каждой проверки указываете good или bad, и диапазон сокращается вдвое. В примере 32 коммита потребовали пяти проверок, а для 1000 хватит примерно десяти.

Если проверку можно запустить командой, git bisect run выполнит её на каждом выбранном коммите. Код возврата 0 означает успех, ненулевой код указывает на ошибку, а 125 пропускает коммит, который нельзя проверить.

В демонстрации с опечаткой в Bash-скрипте разобраны ручной и автоматический поиск. После сеанса выполните git bisect reset, чтобы вернуться к исходной ветке.

Читать полностью…
Subscribe to a channel