Category : golang

golang
Единый код валидаторов на фронте и бэке (PHP + FFI + Go + JS)

Бывает полезно проводить валидацию данных из формы ввода и на фронте и на бэке, например чтобы не гонять лишний запрос с заведомо "плохими" данными. Отсюда появляется задача написания двух одинаковых валидаторов для фронта и бэка.Если фронт и бэк написан на одном языке (привет js+node), то мы можем напрямую использовать один код валидатора и там, и там.В остальных случаях (js+php, java, python, go, dotnet) есть проблема. Во-первых, придётся два раза писать примерно одно и то же на двух …

  • четверг, 28 августа 2025 г. в 00:00:10
golang
Увеличиваем дисковое пространство физического сервера за одну минуту

Можно ли подключить сетевой диск к железному серверу за минуту, при этом не выключая его, сохраняя отказоустойчивость и не привлекая инженеров?Я Беляков Алексей — Go-разработчик в Cloud.ru, в статье расскажу, как нам удалось это сделать. Сначала поделюсь кейсами, которые натолкнули на создание такой фичи, затем расскажу, как мы реализовали ее интеграцию со стороны сервиса Bare Metal, а в конце покажу, как всего за минуту можно расширить дисковое пространство физического сервера.Когда локальных …

  • четверг, 28 августа 2025 г. в 00:00:09
golang
CRUD generator для golang + PostgreSQL

Для работы любого сервиса обычно нужна база данных. Чаще всего PostgreSQL. Также требуются общие функции по работе с БД, так называемые CRUD операции, операции CREATE + READ + UPDATE + DELETE, а также другие функции по работе с БД.Без создания общих функций получится полный хаос в работе, каждый программист будет делать по-своему, получится много ошибок и др. Для создания функций CRUD требуется написать много однотипного кода, достаточно трудоёмкая работа, и при этом очень важная, как в доме са…

  • вторник, 26 августа 2025 г. в 00:00:07
golang
Bubble Tea — TUI-фреймворк для Go. Мои открытия и ошибки

Недавно я наткнулся на Bubble Tea — терминальный UI-фреймворк для Go, и буквально влюбился в то, как он отрисовывает интерфейсы в консоли. В репозитории есть множество примеров — и выглядят они действительно красиво.Пример возможностей Bubble TeaЯ никак не связан с разработчиками — просто захотел поделиться личным опытом.Первое открытие: низкоуровневое управление и архитектура ELMС первого взгляда Bubble Tea выглядит как высокоуровневый фреймворк с красивой абстракцией. Но под капотом он доволь…

  • суббота, 23 августа 2025 г. в 00:00:08
golang
Goffeeйнная гуща: актуальные инструменты и особенности группировки GOFFEE в атаках на Россию

В течение 2024 года несколько российских организаций обращались к команде по реагированию на киберинциденты экспертного центра Positive Technologies (PT ESC IR) для расследования инцидентов, между которыми удалось обнаружить сходство. В рамках анализа вредоносная активность инцидентов была объединена в один кластер и связана с группой Goffee, атакующей российские организации с помощью фишинга с 2022 года. В этой статье мы расскажем про вредоносное ПО, которое используют злоумышленники в атаках,…

  • суббота, 23 августа 2025 г. в 00:00:07
golang
Самый лучший мок на свете: разбираемся с инструментами для генерации моков в Go

Всем привет! Меня зовут Семён Эйгин, я бэкендер в Авито, люблю опенсорс и периодически что-то туда контрибьючу. В этой статье разбираемся с моками и выбираем самый удобный инструмент (не обязательно лучший!). Это достаточно холиварная тема, хотя при подготовки статьи я не ожидал, что она окажется настолько спорной — у каждого разработчика своё мнение на этот счёт.Почему вообще возникла идея сделать такую статью? Я — один из мейнтейнеров Minimoсk. Может быть, кто-то из вас его использовал, может…

  • суббота, 23 августа 2025 г. в 00:00:07
golang
Сказка о зачарованной пасеке

Басня о коде и мёде (Пролог)В некотором царстве, в некотором цифровом государстве, жила-была гильдия строителей. Но строили они не замки и мосты, а сложные, невидимые структуры из чистой логики. Это были архитекторы и разработчики программного обеспечения, и их величайшей задачей было создание систем, которые могли бы расти и адаптироваться, не рассыпаясь в хаос.Они трудились день и ночь, используя всевозможные чертежи и заклинания, но их творения часто превращались в запутанные клубки — хрупки…

  • пятница, 22 августа 2025 г. в 00:00:10
golang
Youtube TG бот на GO cо всеми «прелестями»

Привет, Хабр! Сегодня хочу поделиться с сообществом TG ботом, которого я написал пару лет назад и который до сих пор актуален и работает.Немного историиСвое знакомство с телеграмм ботами я начал как раз с разработки ютуббота, было это около 5 лет назад. Первая версия этого бота была реализована на php, реализовывалась она на коленке и скорее ради интереса пощупать что такое боты и закрыть мою потребность в удобном скачивании роликов с ютуба. Версия на php прожила около 2-х лет, бот рос, был неу…

  • пятница, 22 августа 2025 г. в 00:00:09
golang
Паттерны обработки ошибок в GO: это должен знать каждый разработчик

Обработка ошибок в Go — это нечто большее, чем просто предотвращение падений программы. Она помогает строить системы, которые “ломаются красиво”, ясно сообщают о проблемах и упрощают отладку. В отличие от языков в которых есть обработка исключений, Go заставляет нас явно думать о том, что может пойти не так. Это одновременно и преимущество, и недостаток.Роб Пайк однажды сказал: “Ошибки — это значения” (прим. переводчика: В Go ошибка — это не исключение и не что-то “особенное”, а просто значение…

  • четверг, 21 августа 2025 г. в 00:00:16