Привет! Я Эмиль Ибрагимов — старший Go-разработчик команды Development Platform в MWS Cloud Platform. В этой статье расскажу о том, как мы создали облачную CLI на Go и что из этого вышло. Спойлер: получилось реализовать утилиту и поддерживать её силами небольшой команды внутри Development Platform.Что такое облачная CLIОблачная CLI — консольная утилита для взаимодействия с облаком. С её помощью можно, например, просматривать бакеты в S3, создавать и просматривать виртуальные машины и базы данны…
Компилятор Go хорошо и быстро кросс-компилирует Я иногда пишу консольные утилиты на Go под Linux. Недавно я освоил кросс-компиляцию, и теперь они прекрасно работают на Android и Windows (и Linux само собой). В статье собран практический опыт кросс‑компиляции, подготовки релизной версии и развёртывания бинарника, плюс несколько подводных камней. 1. Консольные программы ещё живыОни до сих пор в деле, и вряд ли это когда-то изменится:сервисы, демоны;утилиты для пайплайнов, cron, CI/CD;криптоноды и…
Привет! Меня зовут Фёдор Засечкин. С 2023 года я руковожу группой разработки операционной платформы в Купере. Наша команда отвечает за стабильность и развитие сервисов, которые обеспечивают сборку и доставку заказов, а также найм и выход партнёров в смены.Последние два года наша ключевая задача — микросервисная трансформация. Мы постепенно распиливаем монолит, перераспределяя нагрузку по сервисам. На сегодня более 1 000 RPS HTTP-трафика уже ушло с монолита; до полного завершения осталось около …
AI Legal веб-сервис для тех, кто устал гадать«Шемякин суд» — это не просто избитый фразеологизм, но реальность для многих, кто ввязался в судебную тяжбу, не оценив заранее все риски. Тысячи проигранных дел, потраченные нервы и деньги — всего этого можно было бы избежать, задай истец себе вовремя один простой вопрос: «Каковы мои шансы?». “неШемяка!” — это маленькое веб‑приложение, которое пытается ответить на один простой вопрос, есть ли хоть малейший смысл подавать иск, это сервис, который пыт…
ВведениеВ этой статье затронем такую банальную тему, как логирование. Казалось бы, какие трудности здесь могут быть? Логирование, как написание тестов. Всё просто! Более того, когда я начинал писать свои первые тесты, я уже всё знал про тестирование, по крайней мере мне так казалось. А с логом-то ещё проще. Если тесты могут получиться нестабильными, то лог никак не повлияет на ход выполнения программы (если, конечно, библиотека не начнёт паниковать от переданных параметров). К тому же будем рас…
Я пишу всякое на Go в Ви.Tech (IT-дочка ВсеИнструменты.ру) и как и все, люблю подискутировать на технические темы.У этой заметки сложная судьба, мне загорелось написать ее еще летом, но совершенно не хотел говорить об очевидных вещах и писать миллион первую статью со ссылкой на гугловский go code review comments. Тема уже разобрана всеми кому не лень, на русском языке вот у Николая @JustSkiv Тузова, есть замечательное видео на его ютуб канале, раскладывающее по полочкам, для чего это нужно.По…
В этой статье я расскажу о том, как эффективно парсить большие объемы JSON-данных используя Go.Мы рассмотрим библиотеку go-faster/jx, легковесного форка jsoniter, созданной для высокопроизводительной низкоуровневой работы с JSON.Входные данныеДля примера возьмем следующий JSON-объект:{ "Timestamp": "1586960586000000000", "Attributes": { "http.status_code": 500, "http.url": "http://example.com", "my.custom.application.tag": …
Спустя годы работы с go и написания далеко не одного линтера - начинаешь невольно думать, что воробышек ты уже стреляный и типизация сюрпризов не подкинет.Но, у типов go свое мнение на этот счет. В видимой простоте системы типов go спрятана, кажется, львиная доля недопонимания. Особенно, если добавить сюда дженерики и тот факт, что некоторая часть работы с типами скрыта от разработчика или отложена на этап компиляции.Недавно, в телеге, я писал, что, кажется, нашел баг в ГО. "Свит саммер чай…
Команда Go for Devs подготовила перевод статьи о том, почему большинству проектов не нужна Kafka, «веб-масштабные» очереди и зоопарк из пяти баз данных. Автор на бенчмарках показывает, как далеко можно уехать на одном Postgres — и заодно разбирает, почему карго-культ масштабирования и «инфраструктура ради резюме» только мешают делать работу.Мне кажется, в мире технологий есть два лагеря.1.Первый — те, кто гонится за модными словами.Этот лагерь выбирает всё популярное, не задумываясь, уместно ли…