ВведениеЯзык программирования Go предоставляет базовые контейнеры, но часто разработчикам необходимы более специализированные структуры данных. Пакет go-collections предлагает реализации распространенных структур данных с поддержкой дженериков, что делает код более выразительным и удобным.В этой статье мы подробно рассмотрим возможности пакета go-collections, его установку и примеры использования различных структур данных.!В комментариях написали, что нужно упомянуть, что это моя библиотека, ин…
Привет, Хабр!Зовут меня Егор, я программирую на Go и в этой статье хочу поделиться информацией про Docker и Golang.Скажу сразу, если ты пришел за Docker SDK, пролистывай немного вниз, там все будет.Кто такой Докер? Как заявляет сама компания, Докер - №1 программа по контейнерезации для разработчиков ПО. В этой статье я не буду объяснять, что это, зачем и почему именно он, для этого есть как офиц. документация, так и хорошие статьи на Хабре. Если кратко - то Докер - это инструмент, который позво…
Коллегам в отдел маркетинга прислали задачу: получить как можно больше подписчиков в рассылку, не прибегая к использованию готовых программ, но при этом выделиться на фоне конкурентов. На ум приходит размещение яркого рекламного предложения-плаката с призывом подключиться к рассылке. Попробуем его оформить, сгенерировать QR-код и настроить передачу данных в CRM.Пусть пользователь прочитает содержимое предложения, решит, что оно ему подходит, а что дальше? Заставить проходить алгоритм «Напиши то…
Привет! Меня зовут Макс, я Go-разработчик в IT-компании SimbirSoft. Хочу поделиться своим отзывом на книгу «100 ошибок в Go и как их избежать» Тейва Харшани. Книга заинтересовала меня тем, что автор фокусирует свое внимание на ошибках, как распространенных, так и более редких.Об автореТейва Харшани — старший инженер-программист в Docker. Он работал в области страхования, транспорта и в отраслях, где критически важна безопасность. В 2019 году в своем блоге сделал пост «10 самых распространенных …
Привет, Хабр!Компактные структуры данных – это эффективные решения для обработки больших объемов данных с минимальным использованием памяти. Они позволяют выполнять такие задачи, как фильтрация, поиск и хранение, с меньшими затратами ресурсов, что особенно полезно в Golang, т.к частенько на нем реализуют именно высоконагруженные системы с ограниченной памятью.В этой статье мы рассмотрим популярную структуру данных: Bloom-фильтры, они помогут минимизировать использование памяти и ускорить выполн…
Вот уже 24 года мы используем сложный для понимания, завязанный на особенности HTTP REST-протокол. Не пора ли переходить к чему-то более современному?Привет! Меня зовут Игорь Алексеев и я работаю бэкенд-разработчиком в компании Garage Eight. Некоторое время назад я внедрил gRPC для части своих сервисов. В этой статье поговорим о том, что такое gRPC, сравним его с возможными альтернативами, рассмотрим преимущества gRPC и пробежимся по проблемам, которые возникают почти в каждом проекте, где этот…
Если вы работаете с API, вы наверняка сталкивались с OpenAPI или Swagger для описания ваших API-спецификаций. Хотя эти инструменты облегчают процесс документирования, порой работать с ними через графические интерфейсы или ручной просмотр YAML-файлов бывает неудобно и утомительно.Здесь на помощь приходит Swama — CLI-инструмент, позволяющий взаимодействовать с API-спецификациями напрямую из терминала. Он упрощает просмотр, фильтрацию и тестирование ваших API с использованием Swagger или OpenAPI.Ч…
Функционал GDB существенно сужается, когда приходится иметь дело с файлами, из которых убраны отладочные символы (получаются так называемые «урезанные бинарники»). Функции и имена переменных превращаются в бессмысленные адреса. Для установки контрольных точек приходится отслеживать адреса нужных нам функций из внешнего источника. Также нужно выводить в консоль структурированные значения и после этого корпеть над дампом памяти, пытаясь вычленить, где именно пролегают границы полей.Вот почему эти…
Привет, Хабр! А вы любите на собеседованиях проходить алгоритмические секции? А лайв-кодинг? Задачки такие «интересные», что на код-ревью такого бы умельца — тряпками и бранными словами. Минимум...., но коллега же. Поэтому просто попросим переделать.Решать задачки под присмотром пары, а то и десятка глаз, смотрящих на тебя. И в них далеко не страх, как в известной песне, а боль и разочарование. Вроде и резюме, и опыт релевантный, а задачу дали абсурдную, которую на проекте никогда решать не при…