Category : golang

golang
HTTP-серверы на Fiber в Golang

Привет, Хабр!Когда речь заходит о создании HTTP-серверов на Go, большинство сразу думают о привычных решениях, таких как net/http или Gin. Эти инструменты проверены временем, но что, если нужен сервер, который не просто стабилен, а работает очень быстро? Здесь помогает Fiber — лёгкий, но невероятно мощный HTTP-фреймворк, способный вывести производительность сервера на новый уровень.С синтаксисом, знакомым всем юзерам Express.js, Fiber избавляет от лишней сложности и позволяет сосредоточиться на…

  • вторник, 10 сентября 2024 г. в 00:00:07
golang
Трассировка на Go

Всем привет, этой мой первый пост на данной платформе, прошу любить и жаловать. Трассировка — это важный инструмент для мониторинга и диагностики микросервисов. Она позволяет понять, как запросы проходят через систему, где возникают узкие места, и как взаимодействуют различные компоненты приложения. В этой статье я расскажу про свой опыт, как интегрировал трассировку в сервис на Go, использующий GORM.1. Основы трассировки с OpenTelemetryOpenTelemetry — это популярная платформа для сбора, обрабо…

  • суббота, 7 сентября 2024 г. в 00:00:10
golang
Разбираемся, что такое S3 и делаем простое объектное хранилище на Go

Привет, Хабр! С вами снова Матвей Мочалов из cdnnow!, и в этом посте мы не будем разбираться с FFmpeg — в этот раз наша рубрика «Эээээксперименты!» будет затрагивать объектные хранилища. Разберёмся, чем S3 отличается от S3, а также почему не всё то S3, что называется S3. А заодно эксперимента ради сделаем своё собственное простенькое объектное хранилище на любимом языке всех DevOps и SRE-инженеров — Go.Что такое вообще объектные хранилища?Объектные хранилища — это способ хранения данных, созда…

  • пятница, 6 сентября 2024 г. в 00:00:07
golang
Погружение в параллелизм в Go

Привет, Хабр!Я просмотрел не мало источников, много из них были англоязычными, но хочу выделить отдельное спасибо авторам этих статей на Xабре:https://habr.com/ru/companies/mvideo/articles/778248/https://habr.com/ru/articles/141853/https://habr.com/ru/articles/490336/Эта статья является неким сборником многих статей про все, что связано с параллелизмом в Go, например: горутины, каналы, select и многое другое. При создании статьи моя "карта" выглядела так: Я хотел углубиться в тему горут…

  • четверг, 5 сентября 2024 г. в 00:00:14
golang
Первый питерский митап по Go в этом сезоне: построим PaaS без хардкода и научимся отлаживать прилож…

25 сентября в 19:00 инженеры из YADRO и AvitoTech расскажут, как подготовить CEL в конфиге, тестировать с Ginkgo/Gomega и аккуратно отлаживать сервис в проде.Если придете на митап офлайн, сможете полюбоваться «железом» для ЦОД и телеком-операторов, код для которого пишут Go-разработчики YADRO, и посетить выставку open source-инструментов от сообщества Go Spb. Регистрируйтесь, чтобы попасть на митап в Питере или получить ссылку на трансляцию, где можно будет задавать вопросы спикерам.Митап откро…

  • четверг, 5 сентября 2024 г. в 00:00:12
golang
Давайте работать с proto ошибками правильно :)

В программировании всегда есть несколько способов решения одной и той же проблемы. Но не все они одинаково эффективны. Сегодня поговорим о способах обработки ошибок в gRPC — удачных и не очень.message Result { oneof response { error.v1.Error error = 1; info.v1.Info info = 2; } }На первый взгляд может показаться, что использование oneof для представления либо ошибки, либо результата — это удобно. Однако такой подход вносит ненужную сложность в протокол обмена сообщениями и ухудшает ч…

  • четверг, 5 сентября 2024 г. в 00:00:11
golang
Как я свалил рутинные задачи на low-code-платформу и не пожалел

Больше не переживаю за горящие дедлайныПривет! На связи Леша Шамшур, разработчик ПО LiSeller[ссылка уд. мод.]. Недавно мой хороший знакомый Паша устроился джуниор-разработчиком в отдел бэкенд-разработки Debex: компания продает просроченные долги. После пришел ко мне и захотел поделиться уже своим опытом работы с low-код-инструментами. Решили, что будет круто выложить инсайты на Хабр. Начнем 👇 В первый месяц я успевал закрывать одну задачу за другой: и исправить нерабочую форму регистрации, и ав…

  • среда, 4 сентября 2024 г. в 00:00:07
golang
В поисках хорошего стиля. Часть 1. Зачем нам свои линтеры на Go в Островке

Мы написали свои линтеры для Go, которые умеют находить пустые инициализации и проверять экспортируемость полей и методов типов. Сегодня мы поговорим о том, как наша команда пришла к собственному линтеру, и немного погрузимся в детали его реализации.Всем привет! Меня зовут Артём Блохин, я Golang-разработчик в команде интеграций Островка.Если бы «Рождественская история» Чарльза Диккенса была про стиль кода, то получилось бы как-то так:«Начнём сначала: код-стайл умер. Сомневаться в этом не приход…

  • пятница, 30 августа 2024 г. в 00:00:12
golang
Собираем данные из сотни микросервисов, или Как мы разобрали Ozon на кубики, а потом собрали заново

Всем привет! Меня зовут Саша, я руковожу группой разработки Composer Core в Ozon Tech. В этой статье я расскажу о том, как устроена пользовательская часть одного из ведущих российских маркетплейсов, в развитии которой на момент написания статьи участвуют сотни специалистов из десятков команд. При наличии такого количества людей разработка новой функциональности, без риска сломать уже существующую, является достаточно сложной задачей.Поделюсь подходами, которые позволили нам организовать взаимод…

  • пятница, 30 августа 2024 г. в 00:00:12