Category : golang

golang
Асинхронность в WebAssembly (WASM)

WebAssembly (WASM) - это открытый стандарт и компактный бинарный формат байт-кода, созданный для выполнения кода в браузере с околонативной скоростью. Он работает внутри безопасной виртуальной машины и поддерживается всеми популярными браузерами (Chrome, Firefox, Safari, Edge). WASM не является самостоятельным языком программирования. Это target для C, C++, Rust, Go и других языков.Хоть технология и создавалась для решения проблем веба и браузеров, с выходом WASI WASM шагнул в сторону серверно…

  • суббота, 4 июля 2026 г. в 00:00:12
golang
B4 — сетевой мультитул по обходу блокировок

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

  • суббота, 4 июля 2026 г. в 00:00:11
golang
Плагины в Go-автотестах: как вынести инфраструктуру за пределы тестов

ВступлениеКто хоть раз писал автотесты на Go, которые выходят за рамки простых unit-тестов, неизбежно сталкивался с одними и теми же вопросами.Как красиво завернуть тест в отчёт, не превращая его в главный объект теста?Как добавить сбор статистики?Как посчитать количество упавших и прошедших тестов?Как перезапускать только нестабильные тесты?Как измерить время выполнения каждого теста?Как запускать тесты по тегам или маркировкам?Вопросов много — стандартных ответов нет.И дело здесь даже не в Go…

  • пятница, 3 июля 2026 г. в 00:00:09
golang
Я устал деплоить проекты вручную и автоматизировал этот процесс

ПроблемаМне, как backend‑разработчику, приходится работать с деплоем своих проектов. Каждый раз одна и та же рутина: настройка сервера, Nginx, SSL, безопасность сервера(fail2ban, отдельный пользователь), CD и многое другое. Это забирает много времени.Что сделалПосле десятков задеплоенных проектов я понял, что все эти действия можно автоматизировать, и решил написать скрипт. Работает так: я запускаю скрипт и ввожу свои данные, которые уникальны у каждого проекта: домен, сервер, Docker, .env. Код…

  • пятница, 3 июля 2026 г. в 00:00:08
golang
Go vs GoF: положите паттерны ООП на пол и отойдите

Меня зовут Нина Пакшина, и я работаю в IT уже более 15 лет. Я программировала ПЛК на языках МЭК, писала на Python. И последние 5 лет я пишу на Go в Lenta Tech (ИТ-бренд «Группы Лента»).Эту статью я пишу по следам своего доклада в BI.ZONE весной 2026. Cпустя пару месяцев после доклада, я немного сбавила категоричность относительно ООП-паттернов в Go. Но название статьи оставляю прежним, так как и в первый раз оно было умышленно провокационным.Язык Go сейчас очень популярен, и на него переходит м…

  • четверг, 2 июля 2026 г. в 00:00:11
golang
Почему вы не видите, что на самом деле происходит между моделью и MCP-сервером

Недавно Claude уверенно пересказал мне большой документ, хотя прочитал только его начало.Я подключил mcp-server-fetch и попросил агента извлечь из документа несколько фрагментов. Ответ получился складным и уверенным. Проанализировав трафик JSON-RPC между клиентом и сервером, я выяснил, что ответ вернулся обрезанным на 6000 символах, причём сервер пометил его как успешный.В самом конце ответа сервер добавил для модели инструкцию:Content truncated. Call the fetch tool with a start_index of 6000 t…

  • четверг, 2 июля 2026 г. в 00:00:10
golang
IP, браузер, TLS: три слоя, на которых палится парсер

Дисклеймер. Речь не о взломе и не о нагрузке на чужие серверы. Я работал с публичными страницами товаров — теми, что видит любой человек без логина, — и ходил туда раз в несколько часов. Это история о том, как я разбирался, почему меня блокируют. Рабочие параметры и точные обходы намеренно опущены: тут про механизмы, а не про готовый инструмент для взлома интернета.С чего все началосьХотел простую вещь: отслеживать цену на пару товаров, которые ждал со скидкой. Чтобы не заходить руками каждый д…

  • четверг, 2 июля 2026 г. в 00:00:09
golang
ИИ-ассистент на базе Hermes Agent в Telegram: для саппорта, семьи, пет-проектов и не только

Недавно мы с женой придумали небольшой совместный проект: она креативит, я прогаю. Сделав каркас в Codex, я завел чат на троих с Hermes Agent. Пошерил ему доступы и контекст проекта через gbrain, и теперь моя пассия добавляет фичи и двигает пиксели голосовухами. Это сработало так круто, что я всунул Гермеса много куда — и не могу не поделиться этим с вами!В этой статье я расскажу: что такое Hermes Agentкак я его использую как сделать себе такжеЧитайте сами, а потом скиньте статью своему агенту …

  • среда, 1 июля 2026 г. в 00:00:16
golang
Добавляем E2E шифрование в чат

Привет, хабр! В этой статье на примере простого чата реализуем E2E шифрование.Продолжаем нашу серию статей по сетевой разработке на Go. В прошлой статье мы писали простейший TCP-чат. Наши сообщения в открытую гуляли в сети, что делало их простой мишенью для компрометации. В этой статье добавим в наш чат шифрование для безопасного обмена данными.Немного теорииЭта статья нацелена на простое понимание и применение на практике. На Хабре полно материалов, которые отлично и досконально разбирают все …

  • вторник, 30 июня 2026 г. в 00:00:29