Category : golang

golang
Паттерн Composite в Go на котиках

Привет, Хабр!Сегодня поговорим о паттерне «Компоновщик» (он же Composite) — на примере котиков. Котики идеально иллюстрируют структуру паттерна: в каждом доме есть простые котики, сложные котики (например, те, кто лазает по шкафам и открывает холодильники), а иногда — целые прайды из котиков. Зачем нам Компоновщик?Сам паттерн впервые был описан в книге «Design Patterns: Elements of Reusable Object‑Oriented Software». Его основная цель — упрощение работы с древовидными структурами. Представим, ч…

  • пятница, 20 декабря 2024 г. в 00:00:09
golang
Как построить оценку качества контакт-центра с помощью Speech Analytics API

Привет, Хабр! Контакт-центры — это важная линия взаимодействия бизнеса с клиентами. Клиенты могут быть разными: кто-то жалуется на задержки, кто-то хочет вернуть товар, а кто-то просто звонит выразить благодарность. Но для бизнеса важно понять одно: насколько хорошо оператор решил проблему клиента? И ушел ли клиент довольным?Раньше оценка качества работы операторов выглядела так: субъективные анкеты, прослушивание случайных звонков, мнения «экспертов» на основании пары реплик. Сегодня это прошл…

  • суббота, 14 декабря 2024 г. в 00:00:11
golang
Разработка на Go, верификация, DevOps и программирование микроконтроллеров на RISC-V: выбирай беспл…

Новость для тех, кто хочет сделать начало следующего года особенным для своего развития. Второй год мы запускаем бесплатные практические курсы по востребованным инженерным направлениям. К уже классическим трекам по верификации, DevOps и Go-разработке добавился новый: «Программирование микроконтроллеров RISC-V: от основ работы с открытой архитектурой до создания собственного устройства». Регистрируйтесь на курсы до 16 января 2025 года, чтобы изучить современные подходы к разработке, создать прое…

  • суббота, 14 декабря 2024 г. в 00:00:10
golang
Picostress — наш подход к нагрузочному тестированию

Привет, меня зовут Георгий Ломакин, и я инженер по нагрузочному тестированию в компании Picodata — разработчике одноимённой NewSQL СУБД. В этой статье я поделюсь своим опытом нагрузочного тестирования и расскажу, как мы строили эту практику с нуля.Мы выбираем распределённые системы за производительность и надёжность. Однако без постоянного нагрузочного тестирования и анализа отчётов после него, и то и другое лишь обещания. Конечно же, нагрузочное тестирование обязательно и в нашей команде, разр…

  • пятница, 13 декабря 2024 г. в 00:00:15
golang
5 паттернов проектирования в Go на примере котиков

Привет, Хабр! Сегодня мы рассмотрим реализацию паттернов проектирования на Go, и, чтобы было не скучно, возьмем главными героями котиков. Будем разбирать 5 популярных паттернов: Singleton, Factory Method, Strategy, Observer, Decorator. SingletonПаттерн будет хорош тогда, когда в компании есть один кот, который отвечает, например, за доступ к единственной миске с едой, мы хотим быть уверены, что он существует в единственном экземпляре, и все остальные обращаются к нему как к глобальному ресурсу.…

  • четверг, 12 декабря 2024 г. в 00:00:07
golang
Go: фокусы трассировки

ВведениеДоброго времени суток!Гошка знатна не только простотой реализации многопоточности, но и мощными встроенными инструментами мониторинга и тестирования. Одним из таких инструментов является трассировка. На эту тему есть множество статей. Казалось бы, что здесь обсуждать? Случится авария - выполнишь несложную команду, и всё станет понятно. Тем не менее, получить трассировку - полдела. Необходимо ещё её правильно понять, т.к. некорректное восприятие может, в лучшем случае, вызвать некоторое …

  • четверг, 12 декабря 2024 г. в 00:00:07
golang
Клиентоцентричность с точки зрения Go-разработчика и причем тут рефлексия

Когда всё, что делает компания — от продуктов, услуг и до обслуживания — направлено на то, чтобы клиент был доволен и возвращался снова, все команды объединяются вокруг единой цели — смотреть на задачи и искать решения с точки зрения проблем и нужд конечного клиента.  Я Александр Шакмаев — технический лидер в Cloud.ru. Поделюсь опытом нашей команды: расскажу, как с помощью gRPC-интерцепторов и рефлексии команда Go-разработчиков может изменить продукт и улучшить пользовательский опыт.Сразу отмеч…

  • среда, 11 декабря 2024 г. в 00:00:08
golang
Способ организации gRPC контрактов и их автоматизация для микросервисов

Привет! Меня зовут Данил, я бэкенд разработчик.На последнем проекте мне выпала удача разрабатывать микросервисную архитектуру в условиях широкого стэка технологий и языков, требующих стандартизации. Это и натолкнуло меня написать статью, в которой я бы хотел предложить способ автоматизации рутинной работы в gRPC контрактами.Что затронуто в данной статье:В этой статье я бы хотел поделиться, удобным и зарекомендовавшим себя во времени работе в продакшене способом управления gRPC спецификациями се…

  • вторник, 10 декабря 2024 г. в 00:00:12
golang
Решаем задачу моментальной навигации по коду для любого коммита

Привет, Хабр! Меня зовут Ольга Лукьянова, я работаю в Yandex Infrastructure, в команде, которая делает системы, сервисы и инструменты для разработчиков. Недавно Яндекс анонсировал новый продукт SourceCraft, который уже собирает вокруг себя сообщество. Последний год я руковожу группой навигации по коду этого проекта. Мои коллеги на конференциях уже рассказывали про планы развития SourceCraft — платформы от Яндекса для создания исходного кода, управления версиями, тестирования, сборки, развёртыва…

  • вторник, 10 декабря 2024 г. в 00:00:12