Category : golang

golang
Вас вычислили: как простая утилита на Go находит пользователей «Telega» в ваших чатах за считанные …

Знаете, что происходит, когда вы ставите «Telega», «альтернативный клиент Telegram от ВКонтакте»? Ваш Telegram ID тихо уезжает в инфраструктуру OK/VK Calls. Без уведомлений. Без галочки «я согласен». Просто раз, и вы в индексе. Навсегда.Я решил проверить, сколько людей в моих чатах уже засветились. Руками долго. Через плагин exteraGram можно по одному профилю за раз. Хотелось масштаба. Так появился antitelega: Go userbot, который сканирует целый чат и выдаёт список «засвеченных» прямо в Saved M…

  • вторник, 14 апреля 2026 г. в 00:03:53
golang
Особенности и ловушки модели памяти в Go: тайны синхронизации. Часть 1

Большинство программистов, работая с многопоточным кодом, осведомлены о примитивах синхронизации. При этом мало кто задумывается о существующей за этим сложной теории.Привет, Хабр! Меня зовут Игорь Панасюк, я работаю в Яндекс, преподаю в ИТМО и ШАД, а также в свободное время выступаю на конференциях, делюсь опытом в соцсетях и помогаю развитию Go-сообщества, веду Telegram-канал и YouTube-канал.В этой статье по мотивам моего доклада для Golang Conf я расскажу про Go Memory Model, понятным языком…

  • вторник, 14 апреля 2026 г. в 00:03:22
golang
Dart на бекенде: почему его бросила бывшая

Дисклеймер: самая большая ошибка в этой истории даже не выбор Dart, порядок действий. Вместо того чтобы в первый же день сделать честный raw benchmark на нашем production-like сценарии, я поверил в AOT, в статическую типизацию и в обещания ready for cloud - и сразу начал переносить сервис. Поэтому этот текст не только про Dart, но и про очень дорогой инженерный урок: сначала валидируй runtime-гипотезу, потом строй архитектуру вокруг неё. Чтобы не превращать текст в войну микрооптимизаций — все …

  • вторник, 14 апреля 2026 г. в 00:02:51
golang
Как я спас агентов в VS Code от передоза инструментами, сжав зоопарк MCP-серверов в один Go-бинарни…

Когда вы ставите в VS Code популярные агентные расширения (Cline, Roo Code, Kilo), быстро выясняется одна мерзкая вещь. Обычно начинаешь подключать к ним новые инструменты быстрее , чем LLM под их капотом способна их адекватно переварить.Сначала все выглядит безобидно. Вы подключаете к редактору пару MCP-серверов: один для файлов, другой для поиска. Агент радуется, вы радуетесь, всё работает. Но потом начинается: "О, прикручу-ка я еще сервер для базы данных... и GitHub... и внутреннюю Jira…

  • вторник, 14 апреля 2026 г. в 00:02:20
golang
Новый народный мессенджер России ч.2. Ловите Ласточку

Несколько недель назад я описал на Хабре идею «честного российского мессенджера» с открытым кодом и прозрачным compliance. Та статья была про «зачем». Эта — про «как получилось». Web-клиент и Android-приложение полностью переписаны и работают в production, серверная часть развёрнута и обслуживает реальные подключения. iOS пока не трогали. Ниже — разбор архитектуры, решения, которые мы приняли, грабли, на которые наступили, и открытый набор людей в проект.Что готовоBackend (Tinode) — Личные чаты…

  • вторник, 14 апреля 2026 г. в 00:01:49
golang
Маленькое инженерное чудо: почему я переписал ввод-вывод для контестов на Go

Python берут за скорость реализации. C++ - за производительность и контроль над памятью.А Go? Go выбирают те, кто любит Go. Я один из них. Долгое время я использовал связку bufio.Scanner + ScanWords + strconv.Atoi. Но стоит в задаче смешать числа, строки или посимвольный ввод - начинаются “танцы с бубном”. В какой-то момент мне надоело, и я написал contestio. Решения оказались простыми. То чувство, когда: “Чёрт возьми! Почему мне это не пришло в голову раньше!?”Мотивация: хочется удобно и быстр…

  • понедельник, 13 апреля 2026 г. в 00:00:33
golang
Как работает система фейков для сквозного тестирования в Авито

В мире микросервисов и сложной продуктовой логики наступает момент, когда классические E2E-тесты превращаются в проблему. Количество пользовательских сценариев исчисляется сотнями, каждый новый конфиг требует десятков тестов, а регресс вместо быстрой проверки становится многочасовым процессом.Но если сценарий становится нелинейным (появляются развилки, выбор пользователя ведёт на разные экраны) всё усложняется. С этим E2E-тесты ещё справляются: пишем несколько тестов, каждый под свой путь. Слож…

  • воскресенье, 12 апреля 2026 г. в 00:01:35
golang
Модели LLM их проблема правдоподобных ответов

Добрый день, это моя первая статья на Хабре, прошу не судить строго.Я хочу рассказать вам немного о моём исследовании и то как стоит честно относиться к LLM моделям, так как вы скорее всего знаете, что такое LLM модель не будем терять времени на её определение давайте перейдём к сути моей работы: LLM не дают гарантии правильности ответа особенно операций с большим количеством шагов и формальным рассуждением, даже когда ответ правдоподобный или оказывается верный. (Вы же все видели дисклеймер Ch…

  • суббота, 11 апреля 2026 г. в 00:05:11
golang
Проектирование микросервисов на Go: типичные сложности и лучшие практики

Баланс между производительностью, читаемостью и поддерживаемостью — ключевая задача при разработке микросервисов на Go. На практике всё сложнее из-за неочевидных факторов: от влияния частоты вызовов GC на время отклика до последствий избыточной вложенности в контрактах API. Если не учесть эти нюансы, даже грамотно спроектированный сервис может просаживаться по RPS (requests per second) — или его может быть сложно обновлять и дорабатывать.Меня зовут Артём Кущ. Я Go-разработчик в команде VK Видео…

  • суббота, 11 апреля 2026 г. в 00:04:40