New We are sorting MAX channels into categories and territories. Read the news
Public channel ID 69133193729337

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

Полезные инструменты для программистов — бесплатные и платные

Всё о вебе: @tproger_web
IT Юмор: @ithumor
Типичный программист: @tproger
Новости IT: @your_tech
Для новичков в IT: @prog_point
Всё о Python: @zen_of_python
Мобильная разработка: @mobi_dev

Правила общения: tprg.ru/rules

Сайт: tprg.ru/site

Разместить рекламу: t.me/tproger_sales_bot

Channels in category
2 093
This channel's rank
№ 309
Open category →
Open in MAX

Posts for the period

By reactions

Search and the whole feed — after free registration. Custom dates — with a subscription; the channel owner sees them for free. Sorting by reactions — with a subscription. Sign up

Loading…

Loading image…
git rerere: повторное использование решений конфликтов

Git rerere запоминает, как вы разрешили конфликт, и при повторении того же содержимого с обеих сторон подставляет сохранённое решение в файл. Включить его для текущего репозитория можно командой git config rerere.enabled true.

В практикуме с командами и ожидаемым выводом конфликт в config.yml сначала решают при слиянии веток, затем отменяют слияние и выполняют rebase, перенос коммитов на другую основу. Git применяет записанное решение и останавливается для проверки.

По умолчанию файл не добавляется в индекс: нужно проверить изменения через git diff, выполнить git add и продолжить операцию. Если окружающий код изменился, прежнее решение может оказаться неверным.

#git #инструменты
Views: 65
Go to post Open in MAX Report an inaccuracy
Loading image…
GDB: отладка программ на C на двух примерах

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

В первом примере цикл выходит за границы массива и портит среднее значение. Условная точка останова останавливает выполнение при индексе 5, чтобы увидеть лишнее чтение. Во втором программа падает при передаче нулевого указателя в strlen. Стек вызовов показывает, откуда пришёл этот аргумент.

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

#инструменты #терминал
Views: 58
Go to post Open in MAX Report an inaccuracy
Loading image…
GDB: breakpoint и watchpoint отвечают на разные вопросы

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

Watchpoint следит за изменением значения переменной или выражения. Если данные портятся, а место записи неизвестно, он помогает поймать изменение без обхода всех возможных присваиваний.

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

📎 Breakpoint и watchpoint в руководстве GDB

#инструменты
Views: 30
Go to post Open in MAX Report an inaccuracy
Loading image…
Рецепты curl для авторизации и проверки доступа к серверу

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

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

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

#инструменты #терминал
Views: 31
Go to post Open in MAX Report an inaccuracy
Loading image…
Logpoints в IntelliJ IDEA: поиск ошибок в gRPC-сервисе без остановки

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

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

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

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

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

Ad post

Views: 34
Go to post Open in MAX Report an inaccuracy
Loading image…
Шпаргалка по GitHub Copilot CLI: история диалога, каталоги и экспорт сессий

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

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

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

#cli #инструменты
Views: 36
Go to post Open in MAX Report an inaccuracy
🧑‍💻 Какие навыки помогают вам в разработке в 2026 году?

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

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

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

👉 Пройти опрос
Views: 33
Go to post Open in MAX Report an inaccuracy
Loading image…
git range-diff: проверка изменений в коммитах после rebase

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

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

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

#git #инструменты
Views: 33
Go to post Open in MAX Report an inaccuracy
Loading image…
Команды Git для восстановления коммитов и переноса изменений

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

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

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

#git #терминал
Views: 39
Go to post Open in MAX Report an inaccuracy
Loading image…
Как подключить личный GitHub и корпоративные аккаунты к GitButler

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

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

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

#git #инструменты
Views: 38
Go to post Open in MAX Report an inaccuracy
The full feed — after free sign-up
VKontakte Telegram Odnoklassniki
Favorites at datool.ru

Follow the channel in your account

Sign up at datool.ru to add the channel “Инструменты программиста” to favorites and track its metrics.

Sign up
For channel owners

Verify your channel

Sign in or sign up at datool.ru, then add our bot to the channel following the instructions in your account. Once ownership is verified, the lock disappears and channel management becomes available.

Sign in or sign up

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go