Category : golang

golang
Делаем форму обратного звонка: лендинг, Go и SMS-уведомления

Привет, Хабр! Меня зовут Екатерина Саяпина, я Product Owner личного кабинета платформы МТС Exolve. Сегодня расскажу, как создать простую, но эффективную форму обратного звонка с SMS-уведомлениями. Дам пример для сценария, когда клиент оставляет заявку через форму, а менеджер связывается с ним через Callback API. После успешного разговора система автоматически отправляет SMS через SMS API с подтверждением договоренностей и следующими шагами.SMS-уведомления здесь играют роль надежного канала для …

  • среда, 6 ноября 2024 г. в 00:00:07
golang
Погружение в интерфейсы Go

Интерфейсы — одна из самых сложных тем для начинающих в Go. Я решил тщательно разобраться с этой темой и одновременно написать эту статью. После прочтения этой статьи вы сможете ответить на следующие вопросы:Что такое интерфейс?Что такое значение интерфейса?Что такое пустой интерфейс?Почему nil-интерфейс не равен nil?Где разместить интерфейс?Какая структура интерфейса?Эта статья поможет вам лучше понять, как работают интерфейсы в Go и как их правильно использовать в вашем коде.Что такое интерфе…

  • среда, 6 ноября 2024 г. в 00:00:06
golang
Строим микрокernel на Golang

Привет, Хабр! Сегодня рассмотрим, как построить гибкую и масштабируемую систему с использованием микрокernel архитектуры на Golang. Перед тем как взяться за код, разберёмся, о чём вообще идёт речь. Микрокernel — это архитектурный стиль, при котором минимальное ядро системы отвечает за основные функции: управление процессами, памятью, коммуникациями и т. д., а всё остальное делегируется в виде отдельных модулей или сервисов. Почему стоит использовать микрокernel? Простота модификации, высокая ст…

  • воскресенье, 3 ноября 2024 г. в 00:00:09
golang
Golang + Redux

Привет, Хабр!Сегодня мы попробуем реализовать управление состоянием в Go‑приложениях с помощью паттерна Redux. Да‑да, Redux не только для JS.Redux — это предсказуемый контейнер состояния для приложений. Он помогает управлять состоянием приложения централизованно, делая его более предсказуемым и удобным для отладки. В основном Redux ассоциируется с фронтендом на JavaScript, но принципы, лежащие в его основе, иногда могут подойти и для Go‑приложений.Основные концепции Redux:Store: Централизованно…

  • суббота, 2 ноября 2024 г. в 00:00:10
golang
Лёгкости перехода: четыре разработчика о том, почему они перешли на Go

Микросервисная архитектура — это новый черный: кажется, уже все бигтехи пилят монолиты на сервисы и и ищут гошников в штат. Спрос рождает предложение — всё больше ребят переходят с других бэкенд-языков на Golang. Мы попросили наших разработчиков поделиться своим опытом перехода на Go и рассказать, почему они решили освоить новый язык программирования, какие плюсы и минусы видят в нём, дал ли переход на Go буст в новых карьерных возможностях и кому и в каких случаях они бы они советовали освоить…

  • суббота, 2 ноября 2024 г. в 00:00:10
golang
Как мы внедрили CockroachDB на DBaaS в компанию классических СУБД

Привет! Меня зовут Полина Кудрявцева, я инженер DBA в Авито. Мы с командой развиваем и поддерживаем системы управления базами данных (СУБД) PostgreSQL и CockroachDB на платформе DBaaS. Если с PostgreSQL всё более-менее понятно, то к смузи-технологии CockroachDB может возникнуть немало вопросов. Сегодня расскажу, как этот «таракан» заполз и обжился в Авито.Что внутри статьи:Мир баз данных в Авито до CockroachDBКак мы пришли к Cockroach DBКак распределяются данныеКак выполняется запросКак Cockroa…

  • пятница, 1 ноября 2024 г. в 00:00:09
golang
Как я отказался от оффера

Вы, наверное, хотите сказать: "Ну отказался и отказался, что тут такого?". Чтобы добавить контекста, расскажу немного о себе. Ещё год назад я новоиспечённый гофер, только начинаю познавать основы языка, делаю свои первые пет-проекты и начинаю делать свои первые отклики. Естественно получаю кучу отказов. В тот момент я готов хвататься за любые возможности, лишь бы получить бесценный коммерческий опыт, даже работать бесплатно. По сути обучение и самообразование - это такая же неоплачиваем…

  • четверг, 31 октября 2024 г. в 00:00:09
golang
Как писать качественные unit-тесты: процент покрытия, мутанты и работа с моками

Привет, Хабр! Меня зовут Марина, я Backend-инженер в компании Авито. Сегодня я хочу поделиться собственными рекомендациями, к которым удалось прийти при работе над качеством тестового покрытия сервисов нашей команды.Итак, дело было давным-давно, у нас было пять сервисов, около 70% покрытия, интеграционные тесты... и всё равно баги оставались неуловимыми. Шутка, конечно, все куда проще. Процент покрытия и правда выглядел неплохо, но почему тогда мы решили что-то менять?В чём подвох процента покр…

  • четверг, 31 октября 2024 г. в 00:00:07
golang
Приложение на Go шаг за шагом. Часть первая: скелет, НТТР-сервер и конфигурация

Современные курсы стараются максимально охватить спектр технологий, которые используют компании. Ориентироваться в этом океане модных фич всё труднее, особенно это касается новичков, которые только начали знакомство с программированием. В итоге может случиться так, что выпускник курса вроде бы всё знает, а применять не может. Привет! Я Владислав Попов, автор курса «Go-разработчик с нуля» в Яндекс Практикуме. В серии статей я хочу помочь начинающим разработчикам упорядочить знания и написать при…

  • четверг, 31 октября 2024 г. в 00:00:06