<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>fxcode.ru — Блог</title><description>Технические статьи о разработке, архитектуре и DevOps</description><link>https://fxcode.ru/</link><language>ru-ru</language><item><title>fxTunnel: self-hosted reverse tunnel на Go с HTTP/TCP/UDP и GUI-клиентом</title><link>https://fxcode.ru/blog/fxtunnel-self-hosted-tunnels/</link><guid isPermaLink="true">https://fxcode.ru/blog/fxtunnel-self-hosted-tunnels/</guid><description>Техническая история создания self-hosted reverse tunnel сервера с HTTP/TCP/UDP туннелями, Web UI, GUI-клиентом и yamux-мультиплексированием.</description><pubDate>Tue, 10 Feb 2026 00:00:00 GMT</pubDate></item><item><title>9 микросервисов Tirebase: что делает каждый и зачем он отдельный</title><link>https://fxcode.ru/blog/microservices-15-services-lessons/</link><guid isPermaLink="true">https://fxcode.ru/blog/microservices-15-services-lessons/</guid><description>Реальная архитектура Tirebase — от API-агрегатора до маркетплейсов, CRM, системы уведомлений и Telegram-ботов. Каждый сервис решает конкретную боль.</description><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title>SyncFlow: как я проектирую SaaS для синхронизации маркетплейсов</title><link>https://fxcode.ru/blog/saas-from-zero/</link><guid isPermaLink="true">https://fxcode.ru/blog/saas-from-zero/</guid><description>Проектирование SyncFlow — сервиса синхронизации товаров между маркетплейсами. Multi-tenancy, биллинг, выбор стека, архитектурные решения на раннем этапе.</description><pubDate>Sun, 25 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Очередь задач на Redis Streams для Tirebase вместо Celery</title><link>https://fxcode.ru/blog/redis-task-queue/</link><guid isPermaLink="true">https://fxcode.ru/blog/redis-task-queue/</guid><description>Когда Celery - overkill: строим очередь задач на Redis Streams с надёжной доставкой, dead letter queue и мониторингом. Рабочий код producer/consumer, обработка ошибок, сравнение с Celery.</description><pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Мониторинг микросервисов Tirebase: structlog, Prometheus, Grafana</title><link>https://fxcode.ru/blog/monitoring-microservices/</link><guid isPermaLink="true">https://fxcode.ru/blog/monitoring-microservices/</guid><description>Как я построил систему мониторинга для микросервисов Tirebase — structlog, Prometheus, Grafana, алерты. От «что-то не работает» до конкретной причины за минуту.</description><pubDate>Sat, 20 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Генерация PDF-каталогов шин: путь от 5 минут к секундам</title><link>https://fxcode.ru/blog/pdf-generation-scale/</link><guid isPermaLink="true">https://fxcode.ru/blog/pdf-generation-scale/</guid><description>Как я ускорял генерацию PDF-каталогов для Tirebase - сравнение WeasyPrint, ReportLab и wkhtmltopdf, параллельная генерация, кеширование и шаблонная система.</description><pubDate>Mon, 08 Dec 2025 00:00:00 GMT</pubDate></item><item><title>SSO через Keycloak для микросервисов Tirebase</title><link>https://fxcode.ru/blog/keycloak-sso-microservices/</link><guid isPermaLink="true">https://fxcode.ru/blog/keycloak-sso-microservices/</guid><description>Как я настроил единую авторизацию через Keycloak для сервисов Tirebase — OIDC, FastAPI-middleware, role-based access, социальные логины. Docker-compose, рабочий код, типичные ошибки.</description><pubDate>Tue, 25 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Docker Compose в продакшене Tirebase: почему мы не перешли на Kubernetes</title><link>https://fxcode.ru/blog/docker-compose-production/</link><guid isPermaLink="true">https://fxcode.ru/blog/docker-compose-production/</guid><description>Как я выстроил продакшен-инфраструктуру на Docker Compose и Kamal для команды из 2 человек — zero-downtime деплои, мониторинг, бэкапы и реальное сравнение с Kubernetes.</description><pubDate>Wed, 12 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Как мы разгоняли PostgreSQL для каталога шин</title><link>https://fxcode.ru/blog/postgresql-optimization/</link><guid isPermaLink="true">https://fxcode.ru/blog/postgresql-optimization/</guid><description>Оптимизация PostgreSQL для каталога на ~250К товаров в Tirebase - EXPLAIN ANALYZE, индексы, PgBouncer, партиционирование и другие приёмы.</description><pubDate>Wed, 15 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Active-Active кластер HAProxy с DNS-фейловером и Python-дашбордом</title><link>https://fxcode.ru/blog/haproxy-active-active/</link><guid isPermaLink="true">https://fxcode.ru/blog/haproxy-active-active/</guid><description>Проектирование и реализация Active-Active кластера HAProxy с Python-дашбордом для мониторинга и управления — zero downtime и полный контроль.</description><pubDate>Fri, 03 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Wails: десктоп-приложения на Go + Vue без боли Electron</title><link>https://fxcode.ru/blog/wails-desktop-apps/</link><guid isPermaLink="true">https://fxcode.ru/blog/wails-desktop-apps/</guid><description>Как я собрал GUI-клиент для fxTunnel на Wails — Go-бэкенд, Vue-фронтенд, нативный webview, 15 MB бинарник вместо 150 MB Electron. Сборка, IPC, авто-обновления и кросс-платформа.</description><pubDate>Thu, 18 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Поиск по каталогу ~250K товаров: PostgreSQL vs Elasticsearch</title><link>https://fxcode.ru/blog/search-engine-million-products/</link><guid isPermaLink="true">https://fxcode.ru/blog/search-engine-million-products/</guid><description>Как я оптимизировал поиск по каталогу Tirebase (~250K товаров) — от 2 секунд на LIKE до 15 мс с полнотекстовым поиском, триграммами и Elasticsearch.</description><pubDate>Fri, 05 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Наш CI/CD на GitHub Actions + Kamal для 6 сервисов</title><link>https://fxcode.ru/blog/cicd-from-zero/</link><guid isPermaLink="true">https://fxcode.ru/blog/cicd-from-zero/</guid><description>Как я настроил пайплайн на GitHub Actions + Docker + Kamal для Tirebase — от ручного деплоя через SSH до автоматического. Конфиги, кэширование, откаты.</description><pubDate>Thu, 28 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Неочевидные проблемы asyncio в продакшене</title><link>https://fxcode.ru/blog/async-python-pitfalls/</link><guid isPermaLink="true">https://fxcode.ru/blog/async-python-pitfalls/</guid><description>Реальные проблемы с asyncio в продакшене — утечки памяти, исчерпание пулов соединений, graceful shutdown и TaskGroup. Опыт из Tirebase.</description><pubDate>Thu, 14 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Go vs Python для сетевых утилит: опыт из fxTunnel</title><link>https://fxcode.ru/blog/go-vs-python-networking/</link><guid isPermaLink="true">https://fxcode.ru/blog/go-vs-python-networking/</guid><description>Реальный опыт разработки сетевых инструментов на Go и Python — goroutines vs asyncio, потребление памяти, кросс-компиляция и дистрибуция бинарников.</description><pubDate>Tue, 22 Jul 2025 00:00:00 GMT</pubDate></item><item><title>Выгрузка каталога Tirebase на Яндекс.Маркет: YML, API и подводные камни</title><link>https://fxcode.ru/blog/yandex-market-integration/</link><guid isPermaLink="true">https://fxcode.ru/blog/yandex-market-integration/</guid><description>Как я строил пайплайн выгрузки ~300K товаров Tirebase на Яндекс.Маркет - генерация YML-фидов, валидация, обновление цен и борьба с модерацией.</description><pubDate>Wed, 25 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Telegram-бот для бизнеса: от уведомлений до полноценной CRM</title><link>https://fxcode.ru/blog/telegram-bot-business/</link><guid isPermaLink="true">https://fxcode.ru/blog/telegram-bot-business/</guid><description>Как я собрал Telegram-бота, который заменил 5 вкладок в браузере: агрегация заказов, контроль остатков, ежедневные отчёты и маршрутизация обращений клиентов.</description><pubDate>Mon, 28 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Ozon Seller API в продакшене: что ломается и как чинить</title><link>https://fxcode.ru/blog/ozon-api-pitfalls/</link><guid isPermaLink="true">https://fxcode.ru/blog/ozon-api-pitfalls/</guid><description>Реальный опыт работы с Ozon Seller API в Tirebase — неполная документация, агрессивные rate limits, меняющиеся ответы. Retry-стратегии, кеширование и рождение python-ozon-api.</description><pubDate>Fri, 18 Apr 2025 00:00:00 GMT</pubDate></item></channel></rss>