Инструменты программиста
13.6K subscribers
1.56K photos
147 videos
4 files
1.84K links
Полезные инструменты для программистов — бесплатные и платные

Разместить рекламу: @tproger_sales_bot

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

Другие каналы: @tproger_channels

Регистрация в перечне РКН: https://tprg.ru/mX0S
Download Telegram
RenderCV v2.5 — вышла новая версия генератора резюме для тех, кто не любит возиться с Word.

Идея простая: пишешь контент в YAML-файле, получаешь pixel-perfect PDF без ручной возни с отступами и выравниванием.​

➡️ Как работает
Один YAML-файл → PDF + Markdown + HTML + PNG-превью страниц. Весь контент структурирован: секции experience, education, skills — каждая со своим типом записей. Движок на Typst (раньше был LaTeX), валидация через Pydantic — если опечатка в дате или кривое поле, скажет где и что исправить до рендера.​

➡️ Почему это удобно

🔘Git для резюме — git diff показывает изменения, история коммитов = история карьеры

🔘Автокомплит в VS Code — JSON Schema подсказывает поля прямо в редакторе

🔘Live preview — видишь PDF в реальном времени при редактировании

🔘5 встроенных тем: Classic, Modern, Sb2nov, EngineeringResumes, EngineeringClassic​

➡️ Установка
pip install "rendercv[full]"
rendercv new "Your Name"
rendercv render "Your_Name_CV.yaml"


Требует Python 3.12+. Проект набрал 2500+ звёзд на GitHub и 70k+ скачиваний на PyPI.​ Код на GitHub, доки на сайте.

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
NETworkManager — швейцарский нож для сетевого админа под Windows

Open-source комбайн, который объединяет десятки сетевых инструментов в одном интерфейсе. 7,6k звёзд на GitHub, активно развивается .

Удалённые подключения
🔘Remote Desktop (RDP)
🔘PuTTY (SSH, Telnet, Serial)
🔘PowerShell (WinRM, WSL, K9s)
🔘TigerVNC
🔘AWS Console (SSM)

Диагностика и анализ
🔘WiFi Analyzer
🔘IP Scanner, Port Scanner
🔘Ping Monitor, Traceroute
🔘DNS Lookup
🔘LLDP/CDP Capture
🔘Subnet Calculator

Для продакшна
🔘Зашифрованные профили для хранения хостов и credentials
🔘Подписанные бинарники
🔘Установка через Chocolatey, WinGet, MSI
🔘Мультиязычность и темы

Всё бесплатно по GPL-3.0.

📎 GitHub: https://github.com/BornToBeRoot/NETworkManager
📎 Доки: https://borntoberoot.net/NETworkManager/

# Установка
winget install BornToBeRoot.NETworkManager
# или
choco install networkmanager


@prog_tools
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41
CodeWeaver — весь код в одном Markdown-файле

Удобный CLI-инструмент, который собирает вашу кодовую базу в один читаемый документ: дерево файлов + содержимое каждого файла в code-блоках.​

Зачем это нужно
🔘Скормить проект ИИ-ассистенту одним файлом (Cursor, Claude, ChatGPT)
🔘Поделиться структурой проекта с коллегой
🔘Создание документации

Что умеет
🔘Рекурсивный обход директорий с tree-view
🔘Фильтрация через regex: -include, -ignore
🔘Автоматическое исключение бинарников
🔘Копирование в буфер обмена: -clipboard
🔘Логи включённых/исключённых файлов

Установка
go install github.com/tesserato/CodeWeaver@latest


Пример
codeweaver -input=. -output=codebase.md -include="\.go$,\.md$" -clipboard

Получите один codebase.md со всей структурой и кодом — готов для вставки в чат с ИИ.

📎 GitHub

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Let's Encrypt теперь выдаёт SSL-сертификаты на голые IP-адреса — домен не нужен

Фича официально запущена и открыта для всех. Раньше для HTTPS на IP приходилось либо платить (от $40/год), либо мириться с self-signed и предупреждениями браузера.​

Нюансы и ограничения
🔘Сертификат живёт только ~6 дней — политика безопасности, IP могут менять владельцев​
🔘Нужен ACME-клиент с поддержкой shortlived profile (Certbot, acme.sh, Caddy — уже умеют)​
🔘DNS-challenge не работает — только HTTP-01 или TLS-ALPN-01​
🔘Автопродление обязательно — иначе протухнет за неделю

Кому пригодится
Хоумлабы, NAS, IoT-девайсы, камеры — всё, что торчит наружу по IP без домена. Тестовые и staging-окружения, эфемерные облачные сервисы. Для продакшена с нормальным доменом смысла мало — 90-дневные сертификаты удобнее.​

➡️ Также важно, что Let's Encrypt переходит на новую иерархию корневых сертификатов «Generation Y» и начнёт сокращать срок действия всех сертификатов: 64 дня в 2027-м, 45 дней в 2028-м.​

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍1
Весь год вы носили футболки и джинсы… Хватит!

Заглядывайте к нам в виртуальную примерочную и выбирайте себе идеальный скин для встречи Нового года.

Осторожно, эти наряды могут наповал сразить ваших коллег…

Реклама
👎72🤣2💊2👍1
Forwarded from Zen of Python
Kreuzberg v4 — вышла новая версия библиотеки для извлечения текста, таблиц и метаданных из 56+ форматов.

Была на Python, теперь переписана на Rust, в 5-15 раз легче конкурентов, есть готовые биндинги под популярные языки. Есть настоящий async без GIL и стриминг для гигабайтных файлов.

Главное: 16–31 MB полная установка против 146 MB – 9,7 GB у Unstructured/Docling/MarkItDown. Также в новой версии встроили эмбеддинги (FastEmbed + ONNX), семантический чанкинг, определение 68 языков и MCP-сервер для Claude Desktop.

Установка для Python:
pip install kreuzberg


📎 GitHub: https://github.com/kreuzberg-dev/kreuzberg

На картинке сравнение с альтернативами.

@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Every PDF — локальный редактор PDF без подписок, рекламы и отправки файлов на сервер. Автор устал от выбора: платить Adobe за простые задачи или заливать контракты и финансовые документы на «бесплатные» онлайн-сервисы непонятно кому. Сделал своё решение — всё работает локально, файлы никуда не уходят .

Что умеет
🔘Редактор: добавление текста, изображений, чекбоксов
🔘Подписи: рисуешь или загружаешь картинку
🔘Merge/Split: объединение и разбивка по страницам
🔘Конвертация в/из PDF
🔘Водяные знаки (текст или картинка)
🔘Поворот, перестановка страниц
🔘Шифрование/дешифрование паролем

Стек: Nextron (Next.js + Electron) + Python/FastAPI. Работает на Windows и macOS, лицензия MIT.

📎 Код на GitHub, скачать можно на странице с релизами, на видео демо

@prog_tools
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
7👎1
The-One-File — сетевые диаграммы в одном HTML-файле. Открывается в любом браузере, работает полностью офлайн. Подходит для air-gapped окружений, документации, мониторинга статуса — от корпоративных сетей до домашних лабов.

Фичи
🔘Ортогональная маршрутизация линий
🔘Анимация потоков данных
🔘Камерные конусы (для визуализации видеонаблюдения)
🔘Кастомные иконки
🔘Live status monitoring
🔘Стены, темы, настройки отображения
🔘Экспорт диаграммы — сохраняется прямо в тот же HTML

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

📎 Проект на GitHub, 33 релиза, последний буквально на днях, так что проект живой. На видео демо

@prog_tools
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
OnlineDevTools — набор инструментов для разработчиков прямо в браузере. Всё работает локально на странице — данные никуда не отправляются. Без регистрации, бесплатно, open source.

Какие инструменты
🔘Форматирование и минификация: JSON, HTML, YAML, CSS
🔘Конвертеры: YAML ↔️ JSON, HTML → Markdown, HTML → Plain Text
🔘Encoding/Decoding: Base64, URL, HTML entities
🔘Генератор фейковых данных для тестов
🔘HTML-превью и WYSIWYG-редактор
🔘Для текста: подсчёт символов, ИИ-токенов, сравнение, регэкспы
... и ещё куча всякого
​​
Написано на Vite + React + TypeScript + Tailwind + shadcn-ui. Можно форкнуть и запустить локально.

📎 Код на GitHub, пользоваться можно на сайте

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65❤‍🔥3
iceoryx2 v0.8 — zero-copy IPC с латентностью <100 наносекунд

Eclipse выпустили новую версию iceoryx2 — middleware для межпроцессного взаимодействия без копирования данных.

➡️ Что это

Библиотека для сверхбыстрой коммуникации между процессами. Вместо копирования данных через сокеты — shared memory + lock-free очереди. Отправляешь 100MB в 10 процессов? Данные пишутся один раз, остальным летит только 8-байтный указатель.

➡️ Что нового в v0.8

🔘C# bindings — теперь Rust, C++, C, Python и C#
🔘no_std + bare metal — можно запускать без ОС
🔘Blackboard pattern для Python — key-value хранилище между процессами
🔘Поддержка Android (proof of concept)
🔘Bazel bzlmod support

➡️ Поддерживаются паттерны

Publish/Subscribe
Request/Response
Events
Pipeline (в планах)
Blackboard (в процессе)

➡️ Платформы

Linux, macOS, Windows, FreeBSD, QNX 7.1/8.0, VxWorks (PoC), Android (PoC)

📎 Код на GitHub, документация на сайте, на картинке сравнение задержки для разных инструментов/библиотек

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
52
ButtFish — proof of concept самой безумной теории о читерстве в шахматах

В 2022 году Магнус Карлсен проиграл матч, после чего вышел из турнира и выложил мем «I prefer not to speak». Шахматное сообщество восприняло это как обвинение в читерстве. Началась охота на ведьм и генерация теорий — включая самую дикую: что ходы передавались через... вибрирующее устройство.

➡️ Что сделал разработчик

Реализовал эту теорию. ButtFish подключается к шахматному движку (Stockfish/Leela), получает лучший ход, кодирует его в азбуку Морзе и отправляет на подключённое устройство.

➡️ Поддерживаемые устройства:
🔘Лампы Yeelight (мигают)
🔘Любые девайсы через библиотеку Buttplug.io

Да, Buttplug.io — это реальная open-source библиотека для управления определённой категорией устройств. Список совместимых девайсов впечатляет.

➡️ Зачем это существует

Автор нарисовал диаграмму Венна: пересечение множеств «играют в шахматы», «умеет программировать» и «нравятся шутки про задницу». Решил, что избранный может никогда не появиться, поэтому взял дело в свои руки.

⚡️ Проект попал на главную VICE — рядом с новостью о миссии NASA DART. Хикару Накамура (5-кратный чемпион США) читал статью на стриме.

📎 Код на GitHub, на видео демо работы

P.S. Автор кода подчёркивает: это мем. Не надо так делать на турнирах.

P.P.S. Автору этого поста всё равно. Делайте так и без турниров, если хотите.

@prog_tools
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5🌚1
epicgames-freegames-node — автосбор бесплатных игр из Epic Games Store, вы знали, что такое существует?

Каждую неделю Epic раздаёт игры бесплатно, но нужно заходить и забирать вручную. Этот инструмент делает это автоматически.

Как работает
🔘Запускается по расписанию (cron)
🔘Логинится в аккаунт, находит текущие бесплатные игры
🔘Отправляет уведомление со ссылкой на чекаут (Discord, Telegram, email)
🔘Из-за капчи полностью автоматический клейм невозможен — нужен один клик

Docker-образ готов:
services:
epicgames:
image: charlocharlie/epicgames-freegames:latest
ports:
- 3000:3000
volumes:
- ./config:/usr/app/config


➡️ Альтернатива: free-games-claimer — забирает игры ещё и с Amazon Prime Gaming и GOG.

📎 GitHub, Docker Hub

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👎1
Если вы тестируете API, скорее всего используете Postman. Он мощный, но тяжёлый — отдельное приложение, долго грузится, требует регистрации для синхронизации.

Thunder Client — расширение для VS Code, которое делает то же самое, но легче и быстрее. Устанавливается за секунду, работает прямо в редакторе.

Что умеет:
🔘 Отправлять GET/POST/PUT/DELETE запросы
🔘 Сохранять коллекции запросов
🔘 Переменные окружения (dev/staging/prod)
🔘 Импорт из Postman

📎 Проект на GitHub, доки

Альтернативы:
REST Client (ещё проще, запросы пишутся в .http файлах)
HTTPie (CLI-инструмент для терминала)

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👎1
Терминальные редакторы живут где-то между «слишком просто» (nano) и «нужна неделя на изучение» (vim). PNANA пытается занять золотую середину — взять простоту nano, современный UI от micro и продуктивные фичи Sublime.

Выложили буквально на днях. По сути это TUI-редактор на C++17 с использованием библиотеки FTXUI. Идея в том, чтобы можно было просто открыть и работать, без изучения мануалов. При этом есть поддержка tree-sitter для подсветки синтаксиса. FTXUI под капотом даёт кроссплатформенность, поддержку UTF-8, мыши и анимаций.

Как запустить
git clone https://github.com/Cyxuan0311/PNANA.git
cd PNANA
# сборка через CMake (нужен компилятор с поддержкой C++17)

Бинарных релизов пока нет, нужно собирать из исходников.

📎 Код на GitHub, на видео демо

@prog_tools
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Представьте: строил вы свой сервер, дашборды красивые, открываете htop — а RAM простаивает, есть ещё свободные мегабайты. Непорядок! Автор решил эту проблему и написал Hypermind — P2P-счётчик, который показывает, сколько людей прямо сейчас тратят 50 МБ RAM на запуск этого контейнера.

➡️ Как запустить
docker run -d \
--name hypermind \
--network host \
--restart unless-stopped \
ghcr.io/lklynet/hypermind:latest

--network host нужен для NAT traversal — без него P2P не работает, а на localhost:3000 крутится визуализация с частицами — каждая нода = одна точка.

После релиза:
🔘За сутки установили почти 100 000 нод
🔘Кто-то нашёл уязвимость — можно было спамить heartbeats и крашить UI всем участникам через перегрузку частиц
🔘Автор в панике фиксил баги, забив на основную работу
🔘Уже появилась интеграция для Home Assistant
🔘Добавили P2P-чат между нодами

Зачем это нужно
:
Незачем. В этом и суть. Но если хочется потрогать DHT руками, посмотреть как работает P2P discovery или просто поддержать коллективное безумие — welcome.
«Если не используешь RAM — потеряешь её» — автор проекта


📎 Код на GitHub, на картинке состояние на момент написания этого поста

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣52😱1
Знакомо: создаёшь новый репозиторий, нужна лицензия. Идёшь на choosealicense.com, копируешь текст, вставляешь, правишь год и имя. lic делает это одной командой в терминале.

Не бог весть какое улучшение, но приятно же.

➡️ Как работает

Запускаешь lic, выбираешь лицензию из TUI-меню, вводишь имя и год — готово. Файл LICENSE создаётся в текущей директории. Данные берутся из официальной базы лицензий GitHub.

# Установка
brew install kushvinth/tap/lic # macOS/Linux
pip install lic-cli


Проект свежий (вышел в конце декабря), но уже набрал 21 звёздe и попал в Homebrew.

📎 Код на GitHub, на видео демо

@prog_tools
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👏4
Вышла версия 2.0 Pocket ID — это OIDC-провайдер, который работает только на passkeys. Никаких паролей. Добавил passkey через Bitwarden или Touch ID — логинишься в свои сервисы одним касанием. Проще Keycloak и Authentik на порядок.

Лично мне так понравилась идея, что в текущем проекта первёл на Pocket ID админку. Обычным юзера я думаю может не очень зайдёт концепция «у нас совсем нет паролей», а вот для себя очень удобно.

➡️ Что нового в 2.0

Добавили SCIM Provisioning — автоматическое создание и удаление пользователей. Пока не все сервисы поддерживают, но штука перспективная. Второе — нормальный экспорт и импорт данных через CLI. Есть breaking changes, перед апгрейдом стоит глянуть гайд по миграции.

➡️ Как работает

Подключаешь Pocket ID к Synology, Portainer, Grafana — везде логинишься через passkey. Один тап на телефоне или посмотреть в камеру. В комментариях просят добавить proxy-режим для сервисов без встроенного OIDC. Пока нужен oauth2-proxy, но разработчик отвечает и активно пилит проект, что радует.

➡️ Запуск

Docker-compose, пара переменных окружения. Первый вход на /login/setup — создаёшь админа с passkey, URL закрывается автоматически.

📎 Код на GitHub, на скрине пример формы логина

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
LLM-Shield — прокси между вашим приложением и LLM-провайдером для защиты персональных данных. Маскирует персональные данные перед отправкой в OpenAI, Azure и другие API. Или перенаправляет чувствительные запросы на локальную модель.

➡️ Как работает

Два режима:

1️⃣Mask Mode — находит в запросе перс. данные (имена, email, телефоны, адреса), заменяет на плейсхолдеры, отправляет в облачный API, в ответе подставляет обратно реальные данные.

3️⃣Route Mode — если запрос содержит чувствительные данные, перенаправляет его на локальную LLM вместо облака и данные не покидают инфраструктуру.

Установка
git clone https://github.com/sgasser/llm-shield
cd llm-shield
cp config.yaml config
docker compose up -d


Направляете приложение на http://localhost:3000/openai/v1. Совместим с любым инструментом, использующим OpenAI API: Open WebUI, Cursor, собственные скрипты. Есть дашборд для мониторинга.

Поддерживает несколько языков для детекции перс. данных, включая русский.

📎 Код на GitHub, на картинке пример дашборда

@prog_tools
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Свежая Python-библиотека для создания реалистичных траекторий курсора. Не прямые линии и не простые кривые Безье, а движения с overshoot, коррекциями, микрозадержками — как у живого человека.

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

Установка
pip install pathgenerator
pip install pathgenerator[windows] # эмулятор для Windows
pip install pathgenerator[server] # веб-визуализация


Пример
from pathgenerator import PathGenerator, PathEmulator

emulator = PathEmulator()
gen = PathGenerator()

start_x, start_y = emulator.get_position()
path, *_ = gen.generate(start_x, start_y, 500, 500)

emulator.execute_path(path)


📎 Код на GitHub, доки на сайте, на видео демо

@prog_tools
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1