Category : golang

golang
Создаем скелеты микросервисов быстро и без боли

Всем привет! Меня зовут Виталий Карпенко, я Go-разработчик в tooling-команде Lamoda Tech. Наша команда занимается разработкой внутренних библиотек и Go-инструментария, а также поддержкой существующих opensource-инициатив.При создании новых сервисов повсеместно используют шаблонизацию, в крайнем случае — в формате ручного копирования кода. Но ручное копирование не исключает ошибок, а еще это муторно и долго. Быстрее и приятнее ответить CLI-утилите на несколько вопросов о будущем проекте и получ…

  • среда, 17 мая 2023 г. в 00:04:48
golang
Нахождение минимальных путей в разреженных графах, используя матрицу 5xN

ВведениеЗдравствуйте, дорогие читатели! Я рад представить вам алгоритм, который разработал для решения задачи нахождения кратчайших путей в графе, когда использование алгоритма Дейкстры было неэффективно из-за ограничений по памяти. Этот алгоритм имеет ряд преимуществ перед традиционным алгоритмом Дейкстры. В данной статье мы рассмотрим ключевые особенности этого алгоритма, его преимущества и недостатки, а так же примеры реализации.Описание алгоритма Алгоритм использует матрицу размером 5xN дл…

  • среда, 17 мая 2023 г. в 00:04:37
golang
create-react-app, но для Go?

Не хочешь создавать проект сам? И не надо - используй cps!Я начинал свой путь в разработке с JavaScript/React и всегда, когда я начинал новый проект, то я просто делал `create-react-app .` и не думал на тот счет, что мне надо будет самому создавать файловую структура своего проекта с нуля.Спустя какое-то время работы с front-end'ом я решил перейти в страшный лес, каким его всегда представляли всякие мемы - back-end. Конечно же я выбрал node.js и начал с express.js. Для меня было необычно, …

  • среда, 17 мая 2023 г. в 00:04:36
golang
Jaeger для трассировки в микросервисной архитектуре

Меня зовут Алексей Мясников, я тимлид на проекте YDB в Яндекс Облаке. А ещё — старший ментор на курсе «Go-разработчик» в Яндекс Практикуме и кандидат технических наук. В коммерческой разработке более 15 лет, стек — C++, Java, Go, TypeScript, а пробовал около 20 языков программирования, в том числе в продакшен. Эта статья про Go и микросервисную архитектуру написана на основе вебинара для Яндекс Практикума. Рассмотрим, как работает Jaeger, один из популярных инструментов, который помогает рассл…

  • среда, 17 мая 2023 г. в 00:02:05
golang
Облегчаем жизнь разработчиков на Go: полезные советы и лайфхаки для начинающих

В #CloudMTS мы активно используем Go. Например, Go основной язык в балансировщике нагрузки (GSLB), в сервисах создания и управления кластерами PostgreSQL и Redis. Благодаря производительности, скорости, встроенной поддержке параллелизма, упрощенному синтаксису, Go становится естественным выбором при написании облачных сервисов. Сегодня поговорим об инструментарии и подходах, которые помогают получить читаемый и поддерживаемый код, а вместо с ним — производительные и надежные сервисы. Back…

  • среда, 17 мая 2023 г. в 00:01:53
golang
Go-митап для тех, кто переходит или недавно перешел на Go

Привет, Хабр! 25 мая в Петербурге и онлайн проведём митап для разработчиков любого уровня, тимлидов и целых команд, которые задумываются о переходе на Go или уже начали применять его в коммерческой разработке. У нас большой опыт в этом — в YADRO существует практика, когда разработчики переходят на Go с других языков программирования. В рамках митапа наши инженеры поделятся подходами, которые помогают быстро изучить нюансы и влиться в работу на новой технологии. Поговорим, как писать производит…

  • среда, 17 мая 2023 г. в 00:01:48
golang
Создаём репозиторий в Go через менеджер транзакций

Всем привет! Я Илья Сергунин, веб-разработчик из продуктовой команды Авито. Мы пишем на Go сервис для выкупа мобильных телефонов, про MLP которого уже писали в блоге. В качестве примеров я буду использовать всем знакомый интернет-магазин, чтобы показать, как создать репозиторий через менеджер транзакций. Важное замечание: в Go нужно явно прописывать обработку каждой ошибки. В некоторых примерах я скрываю эту часть кода, чтобы они легче читались.Для чего нам нужен менеджер транзакцийПаттерн Rep…

  • среда, 17 мая 2023 г. в 00:01:44
golang
Русские шашки: представление доски с помощью двух uint64

Серия статей про создание AI для игры в русские шашки:Русские шашки: эффективная генерация ходов в GolangРусские шашки: представление доски с помощью двух uint64ВведениеПри разработке игр, особенно таких настольных игр, как шашки, представление доски является важнейшим компонентом производительности игры. Доска - это, по сути, состояние игры: на ней хранится вся информация о положении фигур, о том, чей сейчас ход, и другие важные данные игры. Эффективность представления доски влияет на скорост…

  • среда, 17 мая 2023 г. в 00:01:41
golang
[По полочкам] Кэширование

Всем привет! Меня зовут Илья Денисов, я занимаюсь backend разработкой уже более пяти лет и сейчас пишу на языке go. Сегодня я предлагаю вам поговорить о кэшировании. Постараюсь рассказать о базовых концепциях, а также затронуть ряд особенностей, неочевидных на первый взгляд.Что такое кэширование?Кэширование – это способ хранения данных как можно ближе к месту их использования. Как правило, для этого используется быстродействующая память (RAM).Для чего нужно кэширование?Кэширование появилось да…

  • среда, 17 мая 2023 г. в 00:01:37