Меня зовут Миша, я бэкенд‑разработчик в платформе Яндекс Еды, и сейчас я покажу немного настоящего кода процессинга заказа.e, err := w.prepareExecutor(ctx, req) if err != nil { return nil, err } if err := e.CreateAndPay(); err != nil { return e.HandleResult(err) } if err := e.InitializeNativeDelivery(); err != nil { return e.HandleResult(err) } if err := e.WaitForOrderConfirmation(); err != nil { return e.HandleResult(err) } if err := e.WaitDelivery(); err != nil { retur…
Всем привет! Меня зовут Герман Кравец, я больше десяти лет в IT. В МойОфис работаю руководителем группы Календаря в отделе разработки Mailion — это наша отказоустойчивая корпоративная почта для крупного бизнеса.В этой статье расскажу, как мы с командой искали новое решение для нашего API Gateway: зачем вообще понадобилось его менять, с какими проблемами столкнулись и как проходили все этапы — от первых «что-то идёт не так» до финального рефакторинга и запуска нового Gateway в прод.Будет немного…
Добрый день, всем читающим данную статью. Недавно эксперементируя с eBPF для разработки нового функционала своей EDR для linux-серверов, я столкнулся с огромной проблемой: на просторах интернета есть огромный пласт статей по теории работы с eBPF, однако кратких практических статей как работать с BPF мной найдено не было. Если быть более точным, то такие статьи есть, однако, они не дают понимания функционала. В общем, в данной статье хотелось бы написать краткий гайд по работе с eBPF с уклоном …
Команда Go for Devs подготовила перевод статьи о том, как работает первый этап компиляции Go — сканер. Автор подробно показывает, как исходный код превращается в поток токенов, что происходит с каждым символом и откуда берётся автоматическая вставка точек с запятой. Если вы хотите понять Go «изнутри» — начинайте именно отсюда. Это первая статья в серии, где я шаг за шагом проведу вас по всему компилятору Go — от исходного кода до исполняемого файла. Если вам когда-то было интересно, что происх…
27 ноября мы встретились на Golang Meetup и обсудили, как строить надёжную бизнес-логику, оптимизировать работу с памятью и проектировать масштабируемую событийную архитектуру.Делимся записями докладов:Иерархические стейт-машины: инструмент для организации бизнес-логики | Сергей Шлянин, Go-разработчик в WB BankHSM помогает командам декомпозировать сложные процессы и не смешивать контексты. Сергей рассказал, как строгая архитектура упрощает тестирование, делает код прозрачнее и позволяет системн…
Каждый создатель языка программирования мечтает о своем символе. Кто-то рисует змей, слонов, кто-то выбирает чашки кофе… Но Go пошёл по другому пути и сделал своим маскотом существо, которое выглядит как нечто среднее между морской свинкой, бобром и кроликом.Меня зовут Дмитрий Буров, я Golang-разработчик, автор Telegram-канала Go Advocate, и лидер внутреннего Go-сообщества в Lamoda Tech. Расскажу историю создания Гофера (Gopher) – от идеи до финального образа, который вы привыкли видеть, и доп…
Команда Go for Devs подготовила перевод статьи о том, как на Go и raylib-go построить лёгкую симуляцию воды на клеточном автомате. Автор шаг за шагом добавляет гравитацию, боковой поток, диагональное давление и препятствия — и в итоге получает частичную физику, больше похожую на «песочный» движок для 2D-игр.В этом посте мы будем использовать raylib-go, чтобы создать лёгкую симуляцию воды для 2D-игр. Цель — получить модель воды, которая выглядит естественно, «течёт» как настоящая и создаёт ощуще…
Всем привет! Мы давно и усердно работаем по направлению наблюдаемости и регулярно находим интересные статьи. Например, в этой вы узнаете подробности об устройства популярной системы хранения временных рядов — VictoriaMetrics. Перевод мы сделали специально для телеграм-канала Мониторим ИТ. Подписывайтесь! Там еще больше полезных постов о мониторинге.Раскрываем возможности VictoriaMetrics: подробное изучение архитектуры, ключевых файлов Go и структуры проектаVictoriaMetrics — это высокопроизводит…
Привет! Меня зовут Влад, и я разрабатываю сердце витрины Ozon — сервис product-facade. Пару лет назад мы уже делились нашим опытом в этой статье, но с тех пор многое изменилось: выросли нагрузки, появились новые фичи и оптимизации, система стала сложнее и надёжнее. Прежде чем перейти непосредственно к актуальности кешей, давайте разберёмся, почему это так важно. Представьте: вы добавляете товар в корзину, но что-то пошло не так, и покупку совершить не удаётся — склад больше не возит в ваш ПВЗ. …