В первой части было разобрано, как настроить RLS в Go, почему is_local=true спасает от утечек в PgBouncer, и как покрыть это интеграционными тестами. Если вы еще не настроили базовую изоляцию, начните оттуда.Сегодня пойдем глубже. Не будем говорить о синтаксисе. Поговорим об архитектуре. О том, почему RLS - это не просто "удобный фильтр", а нативный механизм инкапсуляции, который решает проблемы распределенных систем и рисков безопасности прямо в слое данных, не раздувая Ops-сложность д…
Вчера я баловался с проектом API, которым занимаюсь уже долгое время. Подобные проекты мы обычно переписываем снова и снова на протяжении многих лет, чтобы поддерживать высокий уровень дофамина от рефакторинга. Вы понимаете, о чём я. На этот раз совершенно внезапно я кое-что осознал. Мне нужно отрефакторить одну вещь. Я достаточно активно пользуюсь UUID, поэтому URL моих ресурсов очень длинные и некрасивые.В зависимости от версии и варианта в UUID есть множество разной информации, но по большей…
Я давно увлекаюсь и изучаю технологии WebRTC. Устанавливал для клиентов множество WebRTC медиа серверов и кастомизировал их. Но постоянно не хватало гибкости. В итоге обнаружил чистую реализацию WebRTC на Golang, которая умеет и MESH, и SFU. Сейчас буду рассказывать, что удалось разработать и в чем польза.Всё началось с простой идеи - дать возможность посетителям сайта в один клик связаться с оператором по видеосвязи. Казалось бы, задача тривиальная: WebRTC давно стал стандартом, готовых решени…
Go рухнул с 7 на 16 место в TIOBE: пора пересмотреть технологический стек?В ноябре 2024 года язык программирования Go достиг своего исторического максимума — седьмого места в престижном индексе TIOBE, укрепив позиции в топ-10. Однако всего через 14 месяцев, в январе 2026 года, картина кардинально изменилась: Go обвалился на 16-е место, потеряв сразу 9 позиций. Это один из самых драматичных спадов года среди топовых языков. Парадокс в том, что в России Go переживает противоположную тенденцию — я…
Команда Go for Devs подготовила перевод большого обзора Go 1.26. Это один из самых масштабных релизов языка: серьёзные оптимизации производительности, улучшения стандартной библиотеки, новые инструменты для тестирования и логирования, а также обновлённый go fix. Разбираем, что именно изменилось и почему этот релиз важен для разработчиков.Go 1.26 выходит в феврале, так что сейчас самое время разобраться, что в нём нового. Официальные примечания к релизу довольно сухие, поэтому я подготовил интер…
Много лет я использовал сторонние пакеты, чтобы удобнее структурировать и управлять middleware в Go-веб-приложениях. В небольших проектах я часто брал alice, чтобы собирать «цепочки» middleware, которые можно переиспользовать на разных маршрутах. А в более крупных приложениях, где много middleware и маршрутов, я обычно использовал роутер вроде chi или flow, чтобы делать вложенные «группы» маршрутов со своим набором middleware для каждой группы.Но после того как в Go 1.22 в http.ServeMux появила…
Каждый, кто работает с Kubernetes, знает эту боль. Утро начинается с того, что нужно подключиться к базе данных в production для дебага, потом к Redis в staging для проверки кэша, затем к RabbitMQ для мониторинга очередей, и наконец к API-сервису для тестирования нового эндпоинта.И вот уже восемь открытых терминалов, в каждом — свой kubectl port-forward. Окна перемешиваются, названия похожи, и найти нужный терминал становится квестом.Ну да да, можно использовать Tmux, но это не сильно облегчает…
В мире разработки есть негласное правило: не пишите свою криптографию. В финтехе должно быть похожее правило: не пишите свой леджер (ledger) на SQL, если планируете масштабироваться.Меня зовут [Имя], и я хочу рассказать, как мы прошли классический путь «изобретения велосипеда», набили шишки на race condition-ах и в итоге поняли, что индустрии нужен не очередной необанк, а открытый стандарт финансового учета. Так появился проект Qazna.В этой статье я не буду продавать вам продукт. Я покажу код, …
Команда AI for Devs подготовила перевод статьи о том, как выжать максимум из маленьких языковых моделей. Автор показывает, что даже очень компактные LLM могут быть полезны в реальных задачах — если правильно работать с контекстом, embeddings и RAG.Здравствуйте, меня зовут Филипп, я Principal Solutions Architect и помогаю клиентам эффективно использовать Docker. Серьёзно интересоваться генеративным ИИ я начал около двух лет назад. Больше всего меня привлекает возможность запускать языковые модел…