За последние десять лет инструменты разработки существенно ускорили мою работу, но не изменили её сути: до недавних пор я тратил большую часть рабочего времени на написание кода и тестов. Но я смог это изменить, когда начал активно осваивать возможности ИИ.Меня зовут Александр Зайцев. Я Go-разработчик в команде Delivery компании «Флант» и работаю над werf и Deckhouse Delivery Kit (DevSecOps). В этой статье я:расскажу, как переводил свою работу на ИИ-рельсы и с какими вызовами столкнулся на этом…
…крайне болезненноПривет, Хабр. Меня зовут Серафим Недошивин, я 18-летний разработчик на Go, PHP и, видимо, TS. В предыдущей статье я делился опытом создания мультитенатной ERP-подобной системы для малого бизнеса на Go+chi+pgx. В прошлый раз я акцентировал внимание читателя на 10 основных архитектурных проблемах, которые вам, вероятнее всего, придётся решить при создании подобной системы (включая изоляцию данных организаций, связанность модулей и доступы).Сегодня же я хочу рассказать про то, ка…
В прошлой статье я разбирал архитектурные проблемы, которые возникают, когда клиентом становится AI-агент: адресация через handle/DID/endpoint, маршрутизация direct/relay, доверие на W3C Verifiable Credentials, гибридный поиск. Всё это — фундамент. На нём можно либо написать спецификацию и положить в ящик, либо собрать платформу, которая решает конкретные задачи бизнеса и пользователей.Мы пошли по второму пути. Результат — aigentix.org, слой между диалогом и действием, который уже можно трогать…
За последние десять лет инструменты разработки существенно ускорили мою работу, но не изменили её сути: до недавних пор я тратил большую часть рабочего времени на написание кода и тестов. Но я смог это изменить, когда начал активно осваивать возможности ИИ.Меня зовут Александр Зайцев. Я Go-разработчик в команде Delivery компании «Флант» и работаю над werf и Deckhouse Delivery Kit (DevSecOps). В этой статье я:расскажу, как переводил свою работу на ИИ-рельсы и с какими вызовами столкнулся на этом…
Однажды мне понадобился быстрый способ получить мониторинг SIP-трафика в Prometheus — без установки агентов на серверы, без настройки SPAN на коммутаторе, без привязки к конкретному софту — просто подключиться к сетевому интерфейсу и видеть всё, что происходит. Причём с минимальной задержкой и без влияния на производительность самой телефонии — мониторинг не должен становиться источником проблем.В этой статье — как я решил данную задачу мониторинга SIP-телефонии с помощью eBPF: от захвата пакет…
Бороздя просторы космоса Хабра, рабочих репозиториев и не только, в сегменте Java разработчиков и других JVM динозавров, была обнаружена извественная проблема, большинство фич закрыты фича-флагами в виде простых переменных в коде (иногда чересчур замедруенными). И в этом хаосе родилась идея просто менеджера флагов для разных приложений.В мире кубов и контейнеров JVM приложения чувствуют себя немного странного когда речь заходит о вопросах: кто сожрал все ресурсы в кластере? или как же мне вывер…
Не так давно в отдельной статье я описывал опыт построения примитивной ERP-lite системы, ориентированной на малый бизнес РФ. В общем виде были проговорены основные архитектурные и доменные проблемы, с решением которых возникли трудности в процессе реализации, в том числе изоляции данных организаций-тенантов, миграции схем и проблема ограничения доступов в рамках конкретной компании (и ещё 7 ключевых тем - в моей терминологии именуемые кругами ада).Причина, по которой написана уже эта статья, до…
Я пять лет писал на .NET, и там у меня сложилась привычка держать доменную модель отдельно от инфраструктуры хранения. Repository pattern — не как догма из книги Фаулера, а как рабочий способ не тащить DbContext, маппинги и названия колонок в сущности. Домен остаётся доменом. Когда я перешёл на Go, меня сразу царапнули struct tags. Большинство библиотек работы с БД ожидает примерно такое:type User struct { ID uuid.UUID `db:"id"` Email string `db:"email"` Age …
Часто про Go говорят: «это язык, где конкурентность почти бесплатная».И знаете что? Это правда. Почти.Но «почти» — это самое опасное во всей истории, так как либо ты управляешь системой, либо она управляет тобой руками runtime'а.В трёх статьях я разберу путь, через который проходит почти каждый Go-разработчик от наивного «я добавил go — получил параллельность», до взрослого «я проектирую concurrency-систему с понятными границами».Погнали.Иллюзия первая: «Горутины дешёвые — значит можно скол…