Category : golang

golang
Лень – двигатель прогресса, на примере создания облачной CLI

Привет! Я Эмиль Ибрагимов — старший Go-разработчик команды Development Platform в MWS Cloud Platform. В этой статье расскажу о том, как мы создали облачную CLI на Go и что из этого вышло. Спойлер: получилось реализовать утилиту и поддерживать её силами небольшой команды внутри Development Platform.Что такое облачная CLIОблачная CLI — консольная утилита для взаимодействия с облаком. С её помощью можно, например, просматривать бакеты в S3, создавать и просматривать виртуальные машины и базы данны…

  • суббота, 22 ноября 2025 г. в 00:00:06
golang
Кросс-компиляция и запуск консольного Go‑приложения на Android, Windows, macOS и Linux

Компилятор Go хорошо и быстро кросс-компилирует Я иногда пишу консольные утилиты на Go под Linux. Недавно я освоил кросс-компиляцию, и теперь они прекрасно работают на Android и Windows (и Linux само собой). В статье собран практический опыт кросс‑компиляции, подготовки релизной версии и развёртывания бинарника, плюс несколько подводных камней. 1. Консольные программы ещё живыОни до сих пор в деле, и вряд ли это когда-то изменится:сервисы, демоны;утилиты для пайплайнов, cron, CI/CD;криптоноды и…

  • суббота, 22 ноября 2025 г. в 00:00:05
golang
Микросервисная трансформация в Купере — как это было. Часть I: Начинаем распил монолитов

Привет! Меня зовут Фёдор Засечкин. С 2023 года я руковожу группой разработки операционной платформы в Купере. Наша команда отвечает за стабильность и развитие сервисов, которые обеспечивают сборку и доставку заказов, а также найм и выход партнёров в смены.Последние два года наша ключевая задача — микросервисная трансформация. Мы постепенно распиливаем монолит, перераспределяя нагрузку по сервисам. На сегодня более 1 000 RPS HTTP-трафика уже ушло с монолита; до полного завершения осталось около …

  • суббота, 22 ноября 2025 г. в 00:00:04
golang
Как юристу надоело объяснять, что дело швах: рождение «неШемяки!»

AI Legal веб-сервис для тех, кто устал гадать«Шемякин суд» — это не просто избитый фразеологизм, но реальность для многих, кто ввязался в судебную тяжбу, не оценив заранее все риски. Тысячи проигранных дел, потраченные нервы и деньги — всего этого можно было бы избежать, задай истец себе вовремя один простой вопрос: «Каковы мои шансы?».  “неШемяка!” — это маленькое веб‑приложение, которое пытается ответить на один простой вопрос, есть ли хоть малейший смысл подавать иск, это сервис, который пыт…

  • пятница, 21 ноября 2025 г. в 00:00:04
golang
Go: логирование

ВведениеВ этой статье затронем такую банальную тему, как логирование. Казалось бы, какие трудности здесь могут быть? Логирование, как написание тестов. Всё просто! Более того, когда я начинал писать свои первые тесты, я уже всё знал про тестирование, по крайней мере мне так казалось. А с логом-то ещё проще. Если тесты могут получиться нестабильными, то лог никак не повлияет на ход выполнения программы (если, конечно, библиотека не начнёт паниковать от переданных параметров). К тому же будем рас…

  • пятница, 21 ноября 2025 г. в 00:00:04
golang
Прекратите создавать интерфейсы

Я пишу всякое на Go в Ви.Tech (IT-дочка ВсеИнструменты.ру) и как и все, люблю подискутировать на технические темы.У этой заметки сложная судьба, мне загорелось написать ее еще летом, но совершенно не хотел говорить об очевидных вещах и писать миллион первую статью со ссылкой на гугловский go code review comments. Тема уже разобрана всеми кому не лень, на русском языке вот у  Николая @JustSkiv Тузова, есть замечательное видео на его ютуб канале, раскладывающее по полочкам, для чего это нужно.По…

  • четверг, 20 ноября 2025 г. в 00:00:06
golang
Как парсить гигабайты JSON в секунду на Go

В этой статье я расскажу о том, как эффективно парсить большие объемы JSON-данных используя Go.Мы рассмотрим библиотеку go-faster/jx, легковесного форка jsoniter, созданной для высокопроизводительной низкоуровневой работы с JSON.Входные данныеДля примера возьмем следующий JSON-объект:{ "Timestamp": "1586960586000000000", "Attributes": { "http.status_code": 500, "http.url": "http://example.com", "my.custom.application.tag": …

  • четверг, 20 ноября 2025 г. в 00:00:05
golang
Не все типы равны

Спустя годы работы с go и написания далеко не одного линтера - начинаешь невольно думать, что воробышек ты уже стреляный и типизация сюрпризов не подкинет.Но, у типов go свое мнение на этот счет. В видимой простоте системы типов go спрятана, кажется, львиная доля недопонимания. Особенно, если добавить сюда дженерики и тот факт, что некоторая часть работы с типами скрыта от разработчика или отложена на этап компиляции.Недавно, в телеге, я писал, что, кажется, нашел баг в ГО. "Свит саммер чай…

  • среда, 19 ноября 2025 г. в 00:00:08
golang
Kafka реально быстрая, но я возьму Postgres

Команда Go for Devs подготовила перевод статьи о том, почему большинству проектов не нужна Kafka, «веб-масштабные» очереди и зоопарк из пяти баз данных. Автор на бенчмарках показывает, как далеко можно уехать на одном Postgres — и заодно разбирает, почему карго-культ масштабирования и «инфраструктура ради резюме» только мешают делать работу.Мне кажется, в мире технологий есть два лагеря.1.Первый — те, кто гонится за модными словами.Этот лагерь выбирает всё популярное, не задумываясь, уместно ли…

  • вторник, 18 ноября 2025 г. в 00:00:10