Category : golang

golang
Ory Kratos — конструктор для сборки цифрового продукта любой сложности

Привет! Я Андрей Баронский, бэкенд-тимлид в KTS.Одно из ключевых направлений деятельности нашей компании — это аутсорс-разработка цифровых продуктов. При создании очередной системы мы хотим уделять больше времени и сил необходимым фичам для клиентов, а не настройке рутинного взаимодействия с юзерами, и для ускорения проработки основных пользовательских сценариев мы используем технологию Ory Kratos. В статье я расскажу, почему я рекомендую обратить на нее внимание и как с ней работать.Для тех, к…

  • вторник, 31 декабря 2024 г. в 00:00:07
golang
Отмена defer вызова функции в Golang

Недавно столкнулся с такой проблемой, что не всегда приходиться выполнять defer вызов функции. Те кто знают, как работает defer можете листать вниз до реализации моего паттерна.Представьте, что у вас есть 10 кейсов, в одном из которых не вам не нужен вызов defer func. Что же тогда делать...... Оператор defer помещает вызов функции в список. Список сохраненных вызовов выполняется после того, как возвращается функция. Defer обычно используется для упрощения функций, выполняющих различные действия…

  • суббота, 28 декабря 2024 г. в 00:00:16
golang
Антипаттерны Go: чего нельзя делать и почему

Привет, Хабр! Go часто называют «языком простоты»: мол, нет лишних фич, легко стартовать, запустил горутину — и вперед! Но в реальности эта «простота» — палка о двух концах. Я собрал самые распространенные (на мой взгляд) антипаттерны в Go, которые приводят к дедлокам, паникам и километрам непонятного кода.Злоупотребление горутинами«Запустим горутину, а там посмотрим…»В Go очень легко распараллелить задачу: пишешь go func() { ... }() — и вуаля, новая горутина. Однако за видимой простотой скрыва…

  • суббота, 28 декабря 2024 г. в 00:00:15
golang
Как я узнал данные 70 тысяч игроков MMORPG

Мне нравится рубить дерево в Minecraft'е. Я рубил дерево целый год и мне стало интересно сколько дерева срубаю каждый день. Так получилось сделать сервис по сбору статистики https://foragingupdate.com.страница статистики срубленного дереваУже более года я играю на сервере Hypixel в MMORPG режим Skyblock. Любопытно, что там есть таблица лидеров для самых разных абсурдных действий. Так сформировалось сообщество "элитных фермеров", где игроки каждый час соревнуются в скорости сбора раз…

  • суббота, 28 декабря 2024 г. в 00:00:14
golang
Создаем систему напоминаний о приёме лекарств

Утро, аромат свежесваренного кофе, и телефон тихонько напоминает вам о приеме важного лекарства. «Привет! Не забудь принять лекарство!» Такую систему можно реализовать самостоятельно с помощью Golang и Exolve API.SMS остается простым, универсальным и проверенным временем методом коммуникации, работающим на любом телефоне. В этой статье я покажу, как клиники и медцентры могут построить надежную систему SMS-напоминаний.Что понадобится:Golang: язык программирования, идеально подходящий для создани…

  • пятница, 27 декабря 2024 г. в 00:00:21
golang
bufio в Go

Привет, Хабр! Сегодня мы рассмотрим замечательный пакет в Golang bufio. Пакет bufio — это стандартная библиотека Go, предназначенная для буферизации ввода-вывода. Почему буферизация важна? Представьте, что вы пытаетесь читать или записывать данные по одному байту за раз. Это утомительно и неэффективно. bufio помогает объединить множество мелких операций в более крупные блоки.Пакет bufio имеет несколько основных структур и методов:bufio.Reader — буферизованный ридер для чтения данных из io.Reade…

  • пятница, 27 декабря 2024 г. в 00:00:19
golang
Безболезненная миграция с NATS на Kafka

Привет, Хабр! Меня зовут Максим, я Go-разработчик из Wildberries. Свою дебютную статью я хочу посвятить довольно популярной теме, когда на проекте приходится уходить с одной технологии на другую. Данная статья будет полезна разработчикам, кто активно использует асинхронный способ передачи данных в своих проектах. Статья несет исключительно опыт автора.В первую очередь заглянем поглубже во внутреннее устройство каждого брокера и особенности при работе с ним.NatsNATS — это высокопроизводительный …

  • пятница, 27 декабря 2024 г. в 00:00:19
golang
Как, имея более 200 методов HTTP, смэтчить их с тем, в какие сервисы они ходят

Привет, Хабр! На связи команда Seller API, а именно её тимлид Саша Валов и старший разработчик Никита Денисенко. В этой статье мы разберём одну из проблем большого API и расскажем, как мы её решили.ВступлениеSeller API — это продукт, предоставляющий программный интерфейс для работы с маркетплейсом Ozon. Он позволяет системам продавца и Ozon обмениваться информацией.Seller API насчитывает более 200 методов. Эти методы удовлетворяют множество бизнес-потребностей и предоставляют доступ к широкому …

  • четверг, 26 декабря 2024 г. в 00:00:13
golang
Fullstack v2: учимся писать UI на Go

Меня зовут Илья Глухов.  Последние 7 лет я пишу на Go. Я люблю этот язык, а ещё люблю задаваться странными, на первый взгляд, вопросами. Например, как разные интересные штуки, которые мы пишем на Go взаимодействуют с пользователем? В классическом бэкенде мы при помощи RPC (Remote Procedure Call), протокола HTTP или разных очередей модифицируем поведение нашей программы. А что насчёт graphic UI? Он же из фронтенда? Или нам так только кажется? Давайте  создадим пользовательский интерфейс (UI) на …

  • среда, 25 декабря 2024 г. в 00:00:17