ВступлениеКто хоть раз писал автотесты на Go, которые выходят за рамки простых unit-тестов, неизбежно сталкивался с одними и теми же вопросами.Как красиво завернуть тест в отчёт, не превращая его в главный объект теста?Как добавить сбор статистики?Как посчитать количество упавших и прошедших тестов?Как перезапускать только нестабильные тесты?Как измерить время выполнения каждого теста?Как запускать тесты по тегам или маркировкам?Вопросов много — стандартных ответов нет.И дело здесь даже не в Go…
ПроблемаМне, как backend‑разработчику, приходится работать с деплоем своих проектов. Каждый раз одна и та же рутина: настройка сервера, Nginx, SSL, безопасность сервера(fail2ban, отдельный пользователь), CD и многое другое. Это забирает много времени.Что сделалПосле десятков задеплоенных проектов я понял, что все эти действия можно автоматизировать, и решил написать скрипт. Работает так: я запускаю скрипт и ввожу свои данные, которые уникальны у каждого проекта: домен, сервер, Docker, .env. Код…
Меня зовут Нина Пакшина, и я работаю в IT уже более 15 лет. Я программировала ПЛК на языках МЭК, писала на Python. И последние 5 лет я пишу на Go в Lenta Tech (ИТ-бренд «Группы Лента»).Эту статью я пишу по следам своего доклада в BI.ZONE весной 2026. Cпустя пару месяцев после доклада, я немного сбавила категоричность относительно ООП-паттернов в Go. Но название статьи оставляю прежним, так как и в первый раз оно было умышленно провокационным.Язык Go сейчас очень популярен, и на него переходит м…
Недавно Claude уверенно пересказал мне большой документ, хотя прочитал только его начало.Я подключил mcp-server-fetch и попросил агента извлечь из документа несколько фрагментов. Ответ получился складным и уверенным. Проанализировав трафик JSON-RPC между клиентом и сервером, я выяснил, что ответ вернулся обрезанным на 6000 символах, причём сервер пометил его как успешный.В самом конце ответа сервер добавил для модели инструкцию:Content truncated. Call the fetch tool with a start_index of 6000 t…
Дисклеймер. Речь не о взломе и не о нагрузке на чужие серверы. Я работал с публичными страницами товаров — теми, что видит любой человек без логина, — и ходил туда раз в несколько часов. Это история о том, как я разбирался, почему меня блокируют. Рабочие параметры и точные обходы намеренно опущены: тут про механизмы, а не про готовый инструмент для взлома интернета.С чего все началосьХотел простую вещь: отслеживать цену на пару товаров, которые ждал со скидкой. Чтобы не заходить руками каждый д…
Недавно мы с женой придумали небольшой совместный проект: она креативит, я прогаю. Сделав каркас в Codex, я завел чат на троих с Hermes Agent. Пошерил ему доступы и контекст проекта через gbrain, и теперь моя пассия добавляет фичи и двигает пиксели голосовухами. Это сработало так круто, что я всунул Гермеса много куда — и не могу не поделиться этим с вами!В этой статье я расскажу: что такое Hermes Agentкак я его использую как сделать себе такжеЧитайте сами, а потом скиньте статью своему агенту …
Привет, хабр! В этой статье на примере простого чата реализуем E2E шифрование.Продолжаем нашу серию статей по сетевой разработке на Go. В прошлой статье мы писали простейший TCP-чат. Наши сообщения в открытую гуляли в сети, что делало их простой мишенью для компрометации. В этой статье добавим в наш чат шифрование для безопасного обмена данными.Немного теорииЭта статья нацелена на простое понимание и применение на практике. На Хабре полно материалов, которые отлично и досконально разбирают все …
Я перекатываюсь из бэкенда на Go в сторону AppSec, и по дороге разбираюсь с темой, про которую у нас на русском пишут мало — рантайм-безопасность через eBPF. Хочу разложить идею: что это за инструменты, как они устроены изнутри, что уже есть в мире и почему именно сейчас на это смотрят в России. Без рекламы конкретного продукта, просто как карта местности для тех, кто думает, куда копать.С чего вообще растёт эта идеяАнтивирус и сканер уязвимостей проверяют систему в какой-то момент и уходят. Он…
В прошлой статье я остановился на версии 0.9.49. Казалось, что дальше всё должно было пойти по привычному сценарию: новые пользовательские возможности, новые экраны, немного полировки интерфейса и постепенное движение к большим функциям.Но следующие восемь дней разработки неожиданно пошли совсем по другому пути.За это время вышли четыре релиза: 0.9.50, 0.9.51, 0.9.52 и 0.9.53. Если открыть CHANGELOG, создаётся ощущение, что проект серьёзно продвинулся вперёд. Но если открыть сам Messenger, поль…