Category : golang

golang
Как добиться 8 Гбит/с видеотрафика на одном ядре CPU в Go

Дисклеймер: Это вторая публикация моей статьи, прошлый вариант удалила модерация по п.п 4. Каюсь, грешен, ну, не умею я красиво писать (я же все-таки технарь J), поэтому засунул сырой и страшный текст в нейронку чтобы она сделала «красиво».  Так что все было удалено честно, но небольшой крик души к администрации Хабра – ребят, полностью сгенерированный текст это 100% плохо, вопросов нет. Но хорошо отредаченный текст нейронкой, вроде бы не абсолютное зло? Ладно, это все лирика, приступаем. Преди…

  • суббота, 8 августа 2026 г. в 00:00:12
golang
ConnectRPC против gRPC: практическое сравнение

Артём ТрофимовРазработчикПривет, Хабр! Меня зовут Артём Трофимов, я работаю backend‑разработчиком в компании «Юзтех». Последние 5 лет я занимаюсь разработкой backend‑сервисов на Golang, и мне регулярно приходится работать с микросервисами, общающимися по gRPC.Статья будет полезна backend‑разработчикам, которые выбирают RPC‑фреймворк для нового проекта, а также тем, кто уже работает с gRPC.Для многих gRPC стал стандартом межсервисного взаимодействия: быстрый, строго типизированный, с кодогенерац…

  • суббота, 8 августа 2026 г. в 00:00:11
golang
Обработка отложенных задач c YDB: от таблицы до распределённого координатора

Почти любой бэкенд рано или поздно сталкивается с необходимостью отложенной обработки задач: отправить email после регистрации, пересчитать агрегаты, выполнить задачу по расписанию. Часто для этого подключают отдельную систему — RabbitMQ, Kafka, Redis-очереди. Но если ваши данные уже живут в YDB, нужные примитивы уже рядом: таблицы, changefeed, топики и координационные ноды.В этой статье разберём четыре подхода к асинхронной обработке задач — от простой таблицы до архитектуры, пригодной для pro…

  • суббота, 8 августа 2026 г. в 00:00:10
golang
Как мы раздали 8 Гбитс видео на одном ядре CPU на GO. Проблема грохочущего стада

Я до сих пор помню тот день, когда случайно положил собственный тестовый сервер.Схема была банальной: пара IP-камер, простенький бэкенд, всё это выплёвывает видео в веб-морду. На тестах работало идеально. А потом кто-то закинул ссылку на трансляцию в корпоративный чат.По ссылке одновременно кликнула тысяча(ладно, ладно вру конечно, но запросов было много) человек. Сервер завизжал кулерами, оператива кончилась за три секунды, а камера вообще перестала пинговаться.Добро пожаловать в проблему Thun…

  • пятница, 7 августа 2026 г. в 00:00:06
golang
Три паттерна написания Agent Skills

Еще год-два назад большинство разработчиков даже не задумывались о том, что будут программировать агентами с помощью обычных Markdown-файлов. Сегодня ситуация изменилась буквально за несколько месяцев.Практически каждый современный AI-агент, будь то Claude Code, Cursor, Codex, Gemini CLI или OpenCode, предлагает один и тот же механизм расширения своих возможностей - напишите Skill, опишите процесс решения задачи, добавьте примеры, подключите документацию и агент начнет выполнять эту работу знач…

  • среда, 5 августа 2026 г. в 00:00:11
golang
Правила программирования Роба Пайка

Роб Пайк выступает на конференции OSCON 2010, источникВ этой рубрике мы уже рассказывали про Кена Томпсона и Денниса Ритчи, соавторов Unix, UTF-8 и операционной системы Plan 9. Они практически всю жизнь работали вместе в Bell Labs (AT&T, потом Lucent) как коллеги и единомышленники. Так вот, третьим членом их коллектива был Роб Пайк.Кроме соавторства Unix и нескольких учебников по программированию, он известен как создатель языка программирования Go. Этот язык родился из философии простоты в…

  • вторник, 4 августа 2026 г. в 00:00:13
golang
Выпекаем тесты на Go с Testo: делимся нашим open-source-фреймворком

Привет, Хабр! Я Вадим, разработчик QA-платформы в Ozon: делаю тестирование на Go лёгким и развиваю нашу собственную TMS-систему.Большим end-to-end-тестам часто необходима целая инфраструктура: наглядные отчёты, подключение к внешним ресурсам, хуки, фикстуры, параметризация, параллельные запуски и возможность расширения под процессы конкретной команды. Когда таких сценариев становится много, разрозненные решения усложняют разработку и поддержку тестов.С этим мы столкнулись внутри Ozon. Нам было …

  • вторник, 4 августа 2026 г. в 00:00:12
golang
Go прощает меньше, чем кажется: восемь ошибок, на которых спотыкается каждый новичок

Привет, Хабр! Go специально сделали маленьким языком. Ключевых слов немного, конструкций мало, за неделю осваиваешь синтаксис и начинаешь писать. Именно из-за этой простоты возникает ложное ощущение, что тут негде ошибиться — код компилируется, значит всё правильно.А потом оказывается, что компилятор пропускает целый класс вещей, которые в других языках он бы отловил или которые просто устроены не так, как ты привык. Цикл, который выдаёт не те значения. Слайс, который меняется сам собой. Горути…

  • вторник, 4 августа 2026 г. в 00:00:11
golang
Мониторинг, который не переживёт собственного падения

Всем привет! Хотел бы поговорить о мониторинге наших web, да и не только web, приложений, в первую очередь, о проблемах, с которыми мы сталкиваемся. В этой статье я буду использовать язык python и популярные сервисы, чтобы содержимое было максимально понятно большинству.К примеру, мы написали простой проект, ставить Prometheus с Grafana ради одной машины скорее избыточно, поэтому мы используем что‑то типо этого:curl -sf https://example.com/ >/dev/null || \ curl -s "https://api.telegram.o…

  • вторник, 4 августа 2026 г. в 00:00:09