Category : golang

golang
Пишем сервис инференса ML-модели на go, на примере BERT-а

Привет, на связи команда аналитиков Х5 Tech. В статье пишем сервис инференса ML-NLP модели на go. Допустим, вам нужно внедрить ML-модель (разработанную/обученную на Рython-фреймворке) в сервис в вашей инфраструктуре. По какой-то причине (не важно какой) этот сервис должен быть на golang-е. Здесь покажем, как это можно сделать, используя ONNX.Если вы это читаете, то, вероятно, или вы знакомы с обучением ML-моделей на Рython, библиотекой моделей huggingface, языковыми моделями BERT, или вы являет…

  • суббота, 7 декабря 2024 г. в 00:00:12
golang
Прощай, Индия: как мы создали свою систему отслеживания задач на замену Jira

Привет, Хабр!Зовут меня Егор, и в этой статье я хочу рассказать, как мы с ребятами из компании АИСА запилили свой аналог Jira – с блэкджеком и быстрым API на Go.«Хомячки плакали, кололись, но продолжали грызть суккулент»Рождение идеиЧуть больше года назад мы поняли, что планирование и отслеживание работы над проектами с помощью Jira всё ощутимее бьёт по карману. Atlassian тогда еще не ушла из России, но всё равно хотелось адекватной замены для внутреннего использования.Беглый анализ рынка показ…

  • пятница, 6 декабря 2024 г. в 00:00:07
golang
Для Go-разработчиков, которые хорошо себя вели в этом году: генерируем стабы для тестирования и пил…

Если бы мы организовывали предновогодний корпоратив «здорового» гофера, он выглядел бы так. 12 декабря, в четверг, собираем Go-разработчиков в Нижнем Новгороде и онлайн, чтобы обсудить практики тестирования микросервисов на Go, историю распила монолита, которая привела к… монолиту, и работу с монструозным Makefile (ждем откровений Даниила Подольского). В качестве нетайных Сант выступят эксперты из Wildberries, YADRO, Ви.Tech и Weborama — спикеры и участники GolangConf. Чтобы почувствовать прибл…

  • четверг, 5 декабря 2024 г. в 00:00:09
golang
App.Farm CI. Часть I. Проблемы и выбор решений

Привет, Хабр! На связи команда разработки App.Farm — продукта, созданного в РСХБ‑Интех. Хотели бы представить вам цикл статей о нем.App.Farm — продукт по типу PaaS, необходимый для стандартизации процесса разработки бизнес‑приложений: от хранения исходного кода до запуска сервисов. Основные подсистемы платформы включают хранилище исходного кода и CI, хранилище артефактов, среду исполнения приложений, SSO, интеграционную подсистему, observability и т. д.Подробнее ознакомиться с компонентами можн…

  • вторник, 3 декабря 2024 г. в 00:00:13
golang
Строим систему управления заказами с помощью Temporal: c нуля до десятков тысяч заказов в день

Обработка заказов — это один из самых сложных аспектов в e-commerce, особенно когда речь идёт о микросервисной архитектуре. Большинство существующих систем используют хореографию для управления заказами, что сложно реализовать и часто приводит к беспорядку. Бизнес-требования разбиты на множество мелких задач, и обеспечить отказоустойчивость бывает трудно. В таких системах часто возникает низкая прозрачность, поиск дефектов может занять дни, а внедрение новой функциональности — месяцы. Проблему …

  • вторник, 3 декабря 2024 г. в 00:00:12
golang
Играть = учиться. Как я создал образовательную игру для школьников

Всем привет! Меня зовут Андрей Волков, уже более семи лет я занимаюсь разработкой. За свою карьеру я также успел поработать в продуктовой разработке в России и на аутстаффе с российскими и западными заказчиками. Моим основным стеком был Symfony/PHP. Спустя несколько лет работы на фреймворке Symfony благодаря курсу «Продвинутый Go-разработчик» от Яндекс Практикума у меня получилось сменить стек и уйти на позицию PHP/Go разработчика в компанию Rambler.Обучающая игра: как пришла идеяЭто было ещё з…

  • суббота, 30 ноября 2024 г. в 00:00:14
golang
Netpoll: пишем сервера, которые не умирают от нагрузки

Вы знаете, что обычные сетевые библиотеки Go начинают «тяжело дышать», если их нагрузить десятками тысяч соединений? Неважно, делали вы HTTP API или свой TCP сервер — дефолтные инструменты вроде net всегда имеют свои лимиты. Тут-то хорош зайдет Netpoll — библиотека, которая позволяет серверам обрабатывать сотни тысяч соединений одновременно и при этом не терять в производительности.Почему Netpoll?Если вы уже успели поиграться со стандартной библиотекой net, то знаете: она классная... до поры до…

  • четверг, 28 ноября 2024 г. в 00:00:11
golang
Go отлаживать на проде, избавляться от хардкода и переходить на Ginkgo/Gomega: доклады для гоферов

Что делать, если сервис на проде внезапно лег, а куда копать — непонятно. Знакомая ситуация? Запускать отладчик ой как страшно, но иногда это единственное решение. Как подготовиться и избежать фиаско? Несколько полезных советов дал ведущий инженер платформы крупного e-commerce сервиса. А еще в нашей подборке — хардкор без хардкода на платформенном сервисе с CEL в конфиге и осознанный, но безболезненный переход на Ginko/Gomega для смелых Go-тестировщиков.Платформенный сервис без хардкода: CEL в …

  • четверг, 28 ноября 2024 г. в 00:00:10
golang
Go: нужно ли закрывать канал?

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

  • четверг, 28 ноября 2024 г. в 00:00:09