Category : golang

golang
Ещё один инструмент для обновления зависимостей

ВкратцеЭта статья — рассказ о небольшом и полезном скрипте для обновления зависимостей go-mod-bump. Здесь вас может заинтересовать проблематика, решение или история написания скрипта. Если вы хотите потрогать скрипт руками, его можно найти в публичном репозитории.ДисклеймерСкрипт не использовался в CI и может быть непригоден для такого использования.История описана постфактум, спустя значительный промежуток времени, поэтому может содержать явные несостыковки или искажения.Скрипт изменяет файлы …

  • четверг, 26 сентября 2024 г. в 00:00:10
golang
Программист-4chan'овец

ВведениеМы используем Go для создания Dolt, первая в мире БД SQL с контролем версий. Как и большинство кодовых баз, основанных Go, мы используем каналы и горутины(от переводчика, автора этой статьи на Хабре: у меня есть хорошая статья на тему параллелизма в Go) для реализации параллелизма. Как правило мы используем эти конструкции очень скучным и обычным путем, ведь параллелизм и так сложен без всяких выдумок. Но в одном месте мы все-таки взяли маленький кусочек кода из другого open-source прое…

  • среда, 25 сентября 2024 г. в 00:00:07
golang
Визуализация покрытия автотестами для gRPC сервисов

ВступлениеВ данной статье хочу рассказать про инструмент измерения покрытия gRPC сервисов tests-coverage-tool, написанный на языке Golang. Основная задача инструмента — автоматическое измерение покрытия требований на основе proto контрактов. Поговорим про использование в автотестах, концепцию, отчет и кратко про архитектуру самого инструмента tests-coverage-toolВыделяют два вида покрытия: по коду, по требованиям. Данная статья рассказывает про инструмент, который ориентирован на измерение покры…

  • вторник, 24 сентября 2024 г. в 00:00:04
golang
go-collections: структуры данных для Go с поддержкой дженериков

ВведениеЯзык программирования Go предоставляет базовые контейнеры, но часто разработчикам необходимы более специализированные структуры данных. Пакет go-collections предлагает реализации распространенных структур данных с поддержкой дженериков, что делает код более выразительным и удобным.В этой статье мы подробно рассмотрим возможности пакета go-collections, его установку и примеры использования различных структур данных.!В комментариях написали, что нужно упомянуть, что это моя библиотека, ин…

  • понедельник, 23 сентября 2024 г. в 00:00:05
golang
Пользуемся Docker, не выходя из Go

Привет, Хабр!Зовут меня Егор, я программирую на Go и в этой статье хочу поделиться информацией про Docker и Golang.Скажу сразу, если ты пришел за Docker SDK, пролистывай немного вниз, там все будет.Кто такой Докер? Как заявляет сама компания, Докер - №1 программа по контейнерезации для разработчиков ПО. В этой статье я не буду объяснять, что это, зачем и почему именно он, для этого есть как офиц. документация, так и хорошие статьи на Хабре. Если кратко - то Докер - это инструмент, который позво…

  • понедельник, 23 сентября 2024 г. в 00:00:05
golang
Как собрать базу контактов в amoCRM с помощью QR-кода и SMS API

Коллегам в отдел маркетинга прислали задачу: получить как можно больше подписчиков в рассылку, не прибегая к использованию готовых программ, но при этом выделиться на фоне конкурентов. На ум приходит размещение яркого рекламного предложения-плаката с призывом подключиться к рассылке. Попробуем его оформить, сгенерировать QR-код и настроить передачу данных в CRM.Пусть пользователь прочитает содержимое предложения, решит, что оно ему подходит, а что дальше? Заставить проходить алгоритм «Напиши то…

  • пятница, 20 сентября 2024 г. в 00:00:08
golang
Рецензия на книгу «100 ошибок в Go и как их избежать» Тейва Харшани

Привет! Меня зовут Макс, я Go-разработчик в IT-компании SimbirSoft. Хочу поделиться своим отзывом на книгу «100 ошибок в Go и как их избежать» Тейва Харшани. Книга заинтересовала меня тем, что автор фокусирует свое внимание на ошибках, как распространенных, так и более редких.Об автореТейва Харшани — старший инженер-программист в Docker. Он работал в области страхования, транспорта и в отраслях, где критически важна безопасность. В 2019 году в своем блоге сделал пост «10 самых распространенных …

  • пятница, 20 сентября 2024 г. в 00:00:08
golang
Реализация Bloom-фильтров в Golang

Привет, Хабр!Компактные структуры данных – это эффективные решения для обработки больших объемов данных с минимальным использованием памяти. Они позволяют выполнять такие задачи, как фильтрация, поиск и хранение, с меньшими затратами ресурсов, что особенно полезно в Golang, т.к частенько на нем реализуют именно высоконагруженные системы с ограниченной памятью.В этой статье мы рассмотрим популярную структуру данных: Bloom-фильтры, они помогут минимизировать использование памяти и ускорить выполн…

  • четверг, 19 сентября 2024 г. в 00:00:07
golang
gRPC: проблемы и решения при переходе с REST

Вот уже 24 года мы используем сложный для понимания, завязанный на особенности HTTP REST-протокол. Не пора ли переходить к чему-то более современному?Привет! Меня зовут Игорь Алексеев и я работаю бэкенд-разработчиком в компании Garage Eight. Некоторое время назад я внедрил gRPC для части своих сервисов. В этой статье поговорим о том, что такое gRPC, сравним его с возможными альтернативами, рассмотрим преимущества gRPC и пробежимся по проблемам, которые возникают почти в каждом проекте, где этот…

  • вторник, 17 сентября 2024 г. в 00:00:08