Category : golang

golang
Понимание контекста

Умение работать с пакетом context является очень важным: его использование в Golang пронизывает весь код, но не смотря на это очень часто он используется формально. Контекст создается (иногда непосредственно перед вызовом функции), передается из одной функции в другую и дальше по цепочке. Для чего это делается, в чем конечная цель? Для того, чтобы ответить на этот вопрос необходимо сделать шаг назад и опереться на знания о каналах, горутинах и шаблонах работы с ними.При программировании на go, …

  • суббота, 7 декабря 2024 г. в 00:00:13
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