ВведениеКогда речь заходит о WebSocket, многие думают: «Ну это же просто протокол для real-time связи, что там сложного?»А потом начинаются вопросы:Почему соединения рвутся через минуту?Как настроить таймауты между клиентом, прокси и сервером?Какую библиотеку выбрать — и почему это вообще важно?Как масштабировать и балансировать stateful-соединения?WebSocket - это не просто протокол. Это целая экосистема, где критически важны выбор языка, библиотек, настройка прокси и понимание того, как всё эт…
Всем привет!В этой статье я решил разобрать стек OpenTelemetry (OTel) для Go приложений:Tracing → TempoMetrics → PrometheusLogs → LokiБудет минимум теории — пройду чисто по шагам: что сделать, для чего и как увидеть результат.Запуск контейнеровМы будем запускать:app-1 — клиентapp-2 — серверotel-collector — точка входа для всех источников телеметрииprometheus — метрикиtempo — трейсыloki — логгированиеgrafana — UI для всего вышеВот docker-compose.yml для всего стека:services: # client app-1: …
Привет! Я Владислав Попов, автор курса «Go-разработчик с нуля» в Яндекс Практикуме. В серии статей я хочу помочь начинающим разработчикам упорядочить знания и написать приложение на Go с нуля: мы вместе пройдём каждый шаг и создадим API для получения информации о книгах и управления ими. На данном этапе наш API отправляет хорошо отформатированные JSON-ответы на успешные запросы, но если клиент отправляет некорректный запрос или в приложении что-то идёт не так, он получает текстовое сообщение об…
В мире, где всё чаще во главу угла ставятся деньги, а не реальная польза, легко потерять ориентиры. Мы привыкли к тому, что образовательные курсы - это конвейер по выкачиванию средств, а Junior-разработчики - просто статистика. Мне захотелось создать что-то, что выбивается из этой парадигмы. Что-то, что принесет реальную пользу сообществу Гоферов.Представляю вам The Gopher Shop - бесплатный open-source проект для обучения Go-разработке.Почему сейчас?Многие говорят: «Зачем учить программирование…
Почему Python больше не могЁтМне нравится Python, неплохой язык. Он неплох для прототипирования, ML и скриптов (фсё). Но когда ты пишешь Strike Force — инструмент для активного Red Teaming, который должен молотить тысячи запросов в секунду, анализировать заголовки и уклоняться от WAF — Python начинает хромать как сивая кобыла.Проблемы, с которыми я столкнулся:GIL (Global Interpreter Lock): Даже с asyncio я упирался в CPU bound при генерации трафика и парсинге ответов.Dependency Hell: Поддержива…
Подробный технический разбор: как создать масштабируемое гибридное SaaS-хранилище для данных из области анализа безопасности.В области SaaS-безопасности наиболее уязвимая плоскость атаки — это объём данных. При создании платформы для обнаружения мошенничества, аномалий или нарушения соответствия в таких корпоративных средах как Google Workspace или Microsoft 365, одной обработки данных недостаточно. Кроме этого приходится поглощать миллионы электронных сообщений, логов о прикреплённых файлах и …
Сегодня проведём полный экономический анализ для каждого языка программирования, основанный на реальных данных и кейсах и покажем, как количественно оценить trade-off между скоростью разработки и производительностью, учесть долгосрочные затраты на поддержку кода.В меню — исследования скорости разработки, стоимость изменений, скорость обновления кода для разных отраслей, стоимость инфры. Учитывая эти факторы, посчитаю для скольких RPS экономически оправдано использовать тот или иной язык разрабо…
Привет! Это команда Яндекс Практикума. В конце 2025 года мы провели исследование рынка и узнали, как меняются требования работодателей и к чему стоит готовиться джуниору Go-разработчику при трудоустройстве. Рассказываем самое важное.Что мы сделалиЧтобы выяснить актуальные требования работодателей и узнать, как проходит наём, мы изучили процесс трудоустройства с обеих сторон:взяли интервью у нанимающих менеджеров — тимлидов и синьоров из средних и крупных компаний, включая видеохостинги, маркетп…
Привет, Хабр! 👋В современной разработке мы привыкли решать проблемы производительности стандартным набором инструментов. "База не тянет? Поставь Redis!" — это стало почти рефлексом. Но всегда ли оправдано тащить в инфраструктуру лишний сервис, настраивать сетевые хопы и следить за инвалидацией, если ваша задача — это всего лишь быстрый доступ к небольшому справочнику?В нашем Open Source проекте BMSTU-ITSTECH/SSO мы столкнулись именно с таким кейсом. И решение оказалось элегантнее, чем п…