Category : golang

golang
Разбираем подводные камни, ошибки и лучшие практики при разработке Kubernetes-операторов. Часть 3

Привет! Это снова Стас Иванкевич, техлид в команде разработки управляющего слоя Platform V DropApp в СберТехе. Наши операторы продолжают бороздить просторы K8s, а инсталляторы — разворачивать новые кластеры, и мы готовы поделиться с вами новыми полезностями.В первой и второй частях мы уже о многом поговорили. Обсудили и базовые штуки, и принципы использования патчинга. В этой части детальнее поговорим про ошибки, как с ними можно и нужно работать, а как делать не стоит.Обработка ошибки и повтор…

  • вторник, 31 марта 2026 г. в 00:00:13
golang
Go, TUN и UDP: пишем сетевой relay с гибкой конфигурацией

Продолжаю пилить на Go утилиту для работы с TUN-интерфейсами. В предыдущей версии пакеты проходили путь system <-> tun10 <-> go app <-> tun11 <-> inet. Основная цель тогда была одна — разобраться с TUN-интерфейсами и сетевыми настройками. В текущей версии я добавил простейший udp relay, вынес сложность в конфиг и в целом переработал проект.В проекте появился YAML-конфиг, и теперь верхнеуровневая логика движения данных находится там:relays: - ingress: type: tun …

  • понедельник, 30 марта 2026 г. в 00:00:05
golang
Ударим автопробегом по галактическому бездорожью и разгильдяйству

или как уместить Вселенную в iPhone, не привлекая внимания санитаровРазработчики — люди в целом неплохие, но с одной странностью: когда задача кажется им большой, они добавляют слой. Потом ещё слой. Потом, в три часа ночи, смотрят на то, что получилось, и долго молчат.https://habr.com/ru/articles/1008806/Автор проекта «ЭХО» взял и убрал всё лишнее. Без предупреждения, без RFC, без голосования в команде. Остался минимальный Linux, один бинарник на Go и файловая система — всё остальное полетело в…

  • суббота, 28 марта 2026 г. в 00:00:12
golang
Headless CMS на Go — самая минималистичная система управления сайтом

Когда очередной лендинг требует «просто принимать заявки и показывать новости», разработчик оказывается перед выбором: поднять Laravel/Django с кучей зависимостей, купить SaaS-подписку, или написать что-то своё. Я выбрал третий путь — и это оказалось интереснее, чем я ожидал.В этой статье разбираю архитектурные решения, которые принял при написании LightHeadless — минималистичного headless CMS на Go. Ни одного внешнего веб-фреймворка, никакого ORM, никакого CGO, никакого Redis. Только стандартн…

  • суббота, 28 марта 2026 г. в 00:00:11
golang
Приключения с Go и YDB Serverless: как я уложился в бесплатный тир Yandex Cloud после Spring Boot и…

Долгое время я пытался научиться слепому десятипальцевому методу печати, но всегда это заканчивалось поражением. Учился на Keybr — на нём освоил английский. Частотный метод, когда ты печатаешь настоящие слова из самых частых букв, мне подошёл. Но столкнулся с тем, что заглавные буквы, пунктуация и цифры спрятаны за кучей настроек. Подумал — зачем это прятать, если можно сделать структурированные этапы и дать чёткий путь прохождения? Так я начал разработку TypeStep — тренажёра слепой печати с ча…

  • суббота, 28 марта 2026 г. в 00:00:10
golang
Как воспроизводить WebRTC видео на Qt клиенте

Что ж... Недавно я увлекся C++, поэтому давайте разберемся в какой-нибудь технологии и напишем по ней статью. Мой выбор пал на WebRTC и клиент на Qt.РезультатыНачнем с теории и обозначим фронт работ.ВведениеВидео занимает значительную долю интернет-трафика. Ролики с котиками, созвоны с коллегами, скучные доклады с конференций - все это "тяжелый" контент, нагружающий сетевой канал. Чтобы накладные расходы на передачу были минимальны, поставщики видео зачастую предпочитают использовать UD…

  • суббота, 28 марта 2026 г. в 00:00:09
golang
Как я проверяю архитектурное мышление на собеседованиях одной задачей

Всем привет!Недавно мне нужно было нанять людей в команду по созданию системы на Python, Java, Go. Для меня крайне важны соблюдения принципов SOLID, Чистой архитектуры, Чистого кода.Я придумал задачу, которую спрашиваю на собеседованиях в свою команду. И мне хочется поделиться ею с вами.Надеюсь, она будет вам полезна!ЗадачаДля GoПредставь, у тебя есть структура, которая считает зарплату сотрудника: его KPI, премии и т. п., и создает PDF-отчет. Тебе нужно создать структуру для подсчета зарплаты …

  • пятница, 27 марта 2026 г. в 00:00:11
golang
Новый слабо централизованный мессенджер с E2E-шифрованием и групповыми чатами, написанный на Go при…

ВведениеМысль написать свой мессенджер у меня возникла ещё этак в прошлом году, почти четыре месяца назад. Тогда ещё трава была зеленее и Telegram нормально функционировал, без замедления и финального блокирования. Из-за работы, других проектов и в конце-концов лени я откладывал написание мессенджера до лучших худших времён. И вот такие времена настали, телеграм был полностью заблокирован и без использования VPN до него уже нормально не достучаться. С полыхающей пятой точкой и мотивацией Вергил…

  • пятница, 27 марта 2026 г. в 00:00:10
golang
Безопасный file upload в Go: 7 атак на загрузку файлов и как мы их закрывали

«Сделай форму загрузки PDF» – звучит как задача на полчаса. Claude/GPT напишет handler, мы добавим accept=".pdf" на фронте, multer на бэке – и вот у нас работающий upload. Можно деплоить.Проблема в том, что работающий upload и безопасный upload – это разные вещи. Разница между ними – несколько уязвимостей, каждая из которых может превратить ваш сервер в точку входа для атакующего.С распространением LLM-инструментов порог входа в разработку снизился радикально. Это прекрасно – больше люд…

  • пятница, 27 марта 2026 г. в 00:00:09