Frog Proger 23 сентября 2024

⚡️🔫 Секретное оружие бэкендера: 6 инструментов, о которых вы не знали

Шесть малоизвестных, но невероятно мощных инструментов, которые превратят вас в настоящего супергероя бэкенд-разработки.
⚡️🔫 Секретное оружие бэкендера: 6 инструментов, о которых вы не знали
Этот материал взят из нашей еженедельной email-рассылки, посвященной бэкенду. Подпишитесь, чтобы быть в числе первых, кто получит дайджест.

picows

picows – высокопроизводительная Python-библиотека для создания клиентов и серверов WebSocket с использованием asyncio. Реализована на Cython и обеспечивает исключительную скорость и эффективность работы – примерно в 1,5-2 раза быстрее aiohttp.

picows значительно быстрее других популярных Python-библиотек для работы с WebSocket
picows значительно быстрее других популярных Python-библиотек для работы с WebSocket

Redbird

Redbird – гибкий и легковесный обратный прокси-сервер для Node.js. С его помощью можно легко и просто создавать динамические обратных прокси с поддержкой виртуальных хостов, балансировки нагрузки, проксирования веб-сокетов и SSL-шифрования. Основные возможности:

  • Гибкая и простая маршрутизация.
  • Поддержка WebSocket.
  • Бесшовная поддержка SSL (HTTPS -> HTTP прокси).
  • Автоматические редиректы с HTTP на HTTPS.
  • Автоматическая генерация и обновление TLS-сертификатов с помощью Let's Encrypt.
  • Поддержка HTTP/2.
  • Балансировка нагрузки.
  • Программная регистрация и отмена регистрации маршрутов без перезапуска (обеспечивает обновления без простоев).
  • Поддержка Docker для автоматической регистрации запущенных контейнеров.
  • Поддержка кластеризации для автоматической работы с несколькими процессами.
  • Опциональное логирование с использованием Pino.
  • Поддержка NTLM-аутентификации.

Redbird стоит использовать, если нужны:

  • Маршрутизация нескольких приложений с разных доменов на одном хосте.
  • Легкая обработка SSL-сертификатов.
  • Балансировка нагрузки между несколькими серверами.
  • Автоматическая регистрация Docker-контейнеров.
  • Программное управление маршрутами во время выполнения.
🐍 Библиотека питониста
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека питониста»
🐍🎓 Библиотека Python для собеса
Подтянуть свои знания по Python вы можете на нашем телеграм-канале «Библиотека Python для собеса»
🐍🧩 Библиотека задач по Python
Интересные задачи по Python для практики можно найти на нашем телеграм-канале «Библиотека задач по Python»

Wush

wush – CLI-утилита для безопасной и быстрой передачи файлов и удаленного доступа между компьютерами. Является более гибкой и безопасной альтернативой magic-wormhole, и не требует сложных настроек. Возможности и особенности:

  • Открывает SSH-соединение для удаленного управления.
  • Обеспечивает быстрые соединения благодаря использованию WireGuard и прямых UDP-соединений.
  • Может работать за NAT без настройки портов.
  • Можно использовать вместе с другими инструментами, например rsync.
  • Использует пакет tsnet от Tailscale для управления сетевыми соединениями.
  • Не требует учетной записи Tailscale, несмотря на использование их инфраструктуры.
  • Поддерживает два режима работы – через UDP (прямое соединение) и через DERP (relay-сервер).
  • Использует x25519 ключи для аутентификации соединений.

grgry

grgry (произносится как «грегори») – CLI-утилита для выполнения git-операций в массовом порядке. Основные возможности:

  • Может клонировать репозитории пользователей, групп и организаций с GitHub и GitLab.
  • Выполняет git pull --rebase, git add, git commit и git push для одного или нескольких репозиториев одновременно.
  • Поддерживает несколько профилей для работы с разными git-провайдерами и аккаунтами.
  • Использует регулярные выражения для фильтрации репозиториев при выполнении операций.
  • Предусматривает интерактивный режим для подтверждения действия для каждого репозитория.

grgry пригодится, если нужно:

  • Внести изменения в несколько репозиториев одновременно.
  • Настроить репозитории для новых членов команды.
  • Управлять несколькими git-провайдерами и аккаунтами одновременно.

FAIR

FAIRGo-библиотека для обеспечения справедливого распределения ограниченных ресурсов между несколькими клиентами. Основной алгоритм FAIR базируется на модифицированном алгоритме Stochastic Fair BLUE, который часто используется для контроля сетевых перегрузок. Философия работы FAIR заключается в том, чтобы ограничивать ресурсы только при реальном их дефиците, в отличие от других подходов, которые могут отклонять запросы даже при наличии свободных ресурсов. Ключевые особенности:

  • Не зависит от фреймворка и протокола, легко интегрируется в любые сервисы HTTP/GRPC.
  • Автоматическая настройка с минимальной конфигурацией по умолчанию и возможностью полной настройки при необходимости.
  • Масштабируемость до большого числа клиентов с постоянными требованиями к памяти.
  • Простая модель отслеживания ресурсов и ошибок, легко адаптируемая под различные сценарии ограничения.
FAIR справедливо подходит к распределению ресурсов
FAIR справедливо подходит к распределению ресурсов

Linutil

Linutil – универсальный набор инструментов для упрощения повседневных задач в любых дистрибутивах Linux. Помогает пользователям быстро и легко:

  • Устанавливать и настраивать различные приложения.
  • Оптимизировать систему для конкретных целей использования.
  • Выполнять рутинные задачи администрирования.
⚡️🔫 Секретное оружие бэкендера: 6 инструментов, о которых вы не знали

uv

uv – супербыстрый менеджер пакетов и проектов для Python, написанный на Rust. Он призван заменить собой все остальные популярные инструменты для управления пакетами и проектами – pip, pip-tools, pipx, poetry, pyenv, virtualenv и т. д.:

  • Позволяет устанавливать и управлять различными версиями Python.
  • Упрощает процесс запуска и установки Python-приложений
  • Поддерживает запуск скриптов с возможностью указания метаданных зависимостей прямо в коде.
  • Использует универсальный файл блокировки для зависимостей.
  • Поддерживает рабочие пространства в стиле Cargo для масштабируемых проектов.
  • Использует глобальный кэш для дедупликации зависимостей.
  • Экономит место на диске.
  • Можно установить без предварительной установки Rust или Python.
uv максимально ускоряет установку зависимостей
uv максимально ускоряет установку зависимостей
***

Какой из представленных инструментов вы считаете наиболее полезным для своих проектов и почему?

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ