RU

Своя self-hosted двухсерверная VPN-архитектура. Подробный путь разработки и ошибки, с которыми вы можете столкнуться

Проект представляет из себя быстрый способ воссоздать архитектуру состоящую из 2 серверов (локальный + удаленный) с определенными сервисами, которые р…

APIТестированиеLinuxИнструментыGitБезопасностьPythonRubyunixIDEМузыкаРаботаHTMLDIYGitHubНавыкиVPNTelegramСервисыDockerCloudflareФронтендRedisQAМессенджерdevСерверNFTМашин1CDeFiGrafanaVPSСтатьи
Tproger
RU

Как приручить legacy-код: безопасная модернизация без заморозки фич

Как модернизировать legacy-код без остановки продукта: Strangler Fig Pattern, feature flags, shadow testing и безопасная миграция данных. Практика и а…

ИнтернетAPIJavaGitОпросPythonRubyMySQLПрактикаSQLРефакторингРаботаTorGitHubБотыHRMITФинтехICORedisQAБэкендTwitterИграПриложениеСерверKubernetesБиблиотекианалитикOpenTelemetryPostgreSQLDeFiGrafanaБизнесLegacyТехникаСтатьи
Tproger
RU

Как я написал E2EE-мессенджер на Spring Boot и WebCrypto — и почему сервер не видит сообщения

Разбор архитектуры E2EE-мессенджера на Spring Boot 3, React и WebCrypto: X3DH, symmetric ratchet, AES-GCM, WebSocket, multi-device и ограничения реали…

APIJavaScriptJavaAndroidStack OverflowGitБезопасностьОпросIDESQLiOSРаботаTorGitHubБазы данныхHRReactDockerMITАлисаRedisQAМессенджер5gПриложениеВзломdevСервер1CPostgreSQLGrafanaСтатьи