Привет, Хабр!Когда речь заходит о создании HTTP-серверов на Go, большинство сразу думают о привычных решениях, таких как net/http или Gin. Эти инструменты проверены временем, но что, если нужен сервер, который не просто стабилен, а работает очень быстро? Здесь помогает Fiber — лёгкий, но невероятно мощный HTTP-фреймворк, способный вывести производительность сервера на новый уровень.С синтаксисом, знакомым всем юзерам Express.js, Fiber избавляет от лишней сложности и позволяет сосредоточиться на…
Всем привет, этой мой первый пост на данной платформе, прошу любить и жаловать. Трассировка — это важный инструмент для мониторинга и диагностики микросервисов. Она позволяет понять, как запросы проходят через систему, где возникают узкие места, и как взаимодействуют различные компоненты приложения. В этой статье я расскажу про свой опыт, как интегрировал трассировку в сервис на Go, использующий GORM.1. Основы трассировки с OpenTelemetryOpenTelemetry — это популярная платформа для сбора, обрабо…
Привет, Хабр! С вами снова Матвей Мочалов из cdnnow!, и в этом посте мы не будем разбираться с FFmpeg — в этот раз наша рубрика «Эээээксперименты!» будет затрагивать объектные хранилища. Разберёмся, чем S3 отличается от S3, а также почему не всё то S3, что называется S3. А заодно эксперимента ради сделаем своё собственное простенькое объектное хранилище на любимом языке всех DevOps и SRE-инженеров — Go.Что такое вообще объектные хранилища?Объектные хранилища — это способ хранения данных, созда…
Привет, Хабр!Я просмотрел не мало источников, много из них были англоязычными, но хочу выделить отдельное спасибо авторам этих статей на Xабре:https://habr.com/ru/companies/mvideo/articles/778248/https://habr.com/ru/articles/141853/https://habr.com/ru/articles/490336/Эта статья является неким сборником многих статей про все, что связано с параллелизмом в Go, например: горутины, каналы, select и многое другое. При создании статьи моя "карта" выглядела так: Я хотел углубиться в тему горут…
25 сентября в 19:00 инженеры из YADRO и AvitoTech расскажут, как подготовить CEL в конфиге, тестировать с Ginkgo/Gomega и аккуратно отлаживать сервис в проде.Если придете на митап офлайн, сможете полюбоваться «железом» для ЦОД и телеком-операторов, код для которого пишут Go-разработчики YADRO, и посетить выставку open source-инструментов от сообщества Go Spb. Регистрируйтесь, чтобы попасть на митап в Питере или получить ссылку на трансляцию, где можно будет задавать вопросы спикерам.Митап откро…
В программировании всегда есть несколько способов решения одной и той же проблемы. Но не все они одинаково эффективны. Сегодня поговорим о способах обработки ошибок в gRPC — удачных и не очень.message Result { oneof response { error.v1.Error error = 1; info.v1.Info info = 2; } }На первый взгляд может показаться, что использование oneof для представления либо ошибки, либо результата — это удобно. Однако такой подход вносит ненужную сложность в протокол обмена сообщениями и ухудшает ч…
Больше не переживаю за горящие дедлайныПривет! На связи Леша Шамшур, разработчик ПО LiSeller[ссылка уд. мод.]. Недавно мой хороший знакомый Паша устроился джуниор-разработчиком в отдел бэкенд-разработки Debex: компания продает просроченные долги. После пришел ко мне и захотел поделиться уже своим опытом работы с low-код-инструментами. Решили, что будет круто выложить инсайты на Хабр. Начнем 👇 В первый месяц я успевал закрывать одну задачу за другой: и исправить нерабочую форму регистрации, и ав…
Мы написали свои линтеры для Go, которые умеют находить пустые инициализации и проверять экспортируемость полей и методов типов. Сегодня мы поговорим о том, как наша команда пришла к собственному линтеру, и немного погрузимся в детали его реализации.Всем привет! Меня зовут Артём Блохин, я Golang-разработчик в команде интеграций Островка.Если бы «Рождественская история» Чарльза Диккенса была про стиль кода, то получилось бы как-то так:«Начнём сначала: код-стайл умер. Сомневаться в этом не приход…
Всем привет! Меня зовут Саша, я руковожу группой разработки Composer Core в Ozon Tech. В этой статье я расскажу о том, как устроена пользовательская часть одного из ведущих российских маркетплейсов, в развитии которой на момент написания статьи участвуют сотни специалистов из десятков команд. При наличии такого количества людей разработка новой функциональности, без риска сломать уже существующую, является достаточно сложной задачей.Поделюсь подходами, которые позволили нам организовать взаимод…