Прошлая статья про «Свой» заканчивалась вопросом: что вообще делать с этим проектом — добивать и выкладывать в опенсорс, тянуть в «серую зону» на зарубежных моделях, или забыть. В итоге: я разобрался с 152-ФЗ, зарегистрировал все необходимые документы на обработку ПДн и трансграничную передачу и выложил проект в OpenSource.- основное приложение: https://github.com/Zazza/svoi-oss - внешний RAG (про него ниже — отдельная история): https://github.com/Zazza/svoi-oss-rag Лицензия — AGPL-3.0.Переска…
Есть особый жанр боли, знакомый всем гоферам, которые хоть раз отдавали свою HTTP‑ручку наружу: документация. Не та, что «напишите README», а честная машиночитаемая спека, по которой фронтенд сгенерирует клиент, QA — коллекцию, а API Gateway — валидацию.// CreateUser godoc // @Summary Create user // @Accept json // @Produce json // @Param request body CreateUserRequest true "user" // @Success 201 {object} models.User // @Failure 400 {object} ErrorRespons…
Дядя Хашимото сказал разобраться, я попытался. Речь про его эссе «Everyone Should Know SIMD»: SIMD должен знать каждый разработчик; примеры там на Zig, но суть от языка не зависит. Мой язык - Go, и в февральском обзоре Go 1.26 я написал про новый SIMD-пакет грустную строчку: «поддержка ARM64 планируется в будущих версиях».Будущее пришло быстрее, чем я ждал: в go1.27rc2 пакет simd стал портируемым, и один Go-код разворачивается в Neon на Apple Silicon и в AVX2 на Intel. У меня под рукой обе маши…
В статье разберём основные изменения GoLand 2026.2, а также расскажем, какие возможности для Go-разработки уже доступны в OpenIDE и чего ожидать от её предстоящего перехода на платформу 2026.2.GoLand 2026.2 помогает найти узкие места, снижающие производительность приложения, и оптимизировать его, а также без проблем модернизировать кодовую базу. В этой версии появилось новое окно Go Optimization, которое объединяет профилирование, escape-анализ и оптимизацию struct в единый рабочий процесс. Кро…
Мне нужна была observability для собственных сервисов, и хотелось держать её у себя: логи ошибок — часто самые чувствительные данные в системе, и отдавать их наружу не хотелось. Официальный self-hosted-вариант знакомого стека — серьёзная инсталляция: приёмник, брокер, воркеры, кэш, отдельное аналитическое хранилище — в референсном docker-compose набегает под два десятка контейнеров. Для одного человека и нескольких проектов это несоразмерно: такое надо не только поднять, но и обновлять, чинить …
Привет, Хаброжители! У нас отличные новости для всех, кто хочет освоить Go или систематизировать свои знания. Мы открыли предзаказ на новую книгу Станислава Чернышева «Основы Go». Чтобы вы могли оценить подачу материала и глубину погружения, мы делимся с вами эксклюзивным отрывком. Первая версия игры была написана с использованием функций. Теперь же мы рассмотрим, как изменить кодовую составляющую проекта, распределив необходимый функционал по структурам, связанным с предметной областью. Если…
Представим обычную обработку заказа. Сервис заказов публикует событие order.created. Сервис склада получает его и резервирует товар в PostgreSQL. После успешной транзакции обработчик должен отправить RabbitMQ подтверждение (Ack), чтобы broker удалил сообщение из queue.Но процесс может остановиться после записи в PostgreSQL и до отправки Ack. RabbitMQ не знает, успел ли сервис зарезервировать товар. Broker видит только неподтверждённое сообщение, поэтому доставляет его ещё раз. С точки зрения до…
Всем привет! Меня зовут Егор Гурин и я разработчик в компании MTC Web Services. Работаю в стриме, который занимается разработкой контактного центра МТС. Практически любые обращения клиентов в компанию, будь то неработающий интернет или вопрос по заказу в интернет-магазине, проходят через нас. Продукт большой, у нас несколько команд и множество интерфейсов интеграции как между самими командами, так и с внешними вендорами, поэтому не согласованные вовремя контракты могут привести не просто к поте…
AI уже неплохо пишет отдельные функции, исправляет ошибки и собирает небольшие приложения. Но чем больше проект, тем заметнее странный парадокс: прежде чем изменить несколько строк, агенту приходится прочитать сотни файлов и попытаться восстановить устройство всей системы.Мы привыкли считать исходный код наиболее точным описанием программы. Для машины это действительно исполняемая истина. Но код не всегда хорошо отвечает на другой вопрос: почему система устроена именно так?Где в репозитории зак…