Category : golang

golang
Декларативная платформа управления доступом: от ролей к динамическим политикам

Зачем нужна авторизация? Какие проблемы она решает и в каких ситуациях будет полезна? Рассмотрим модели организации контроля доступа и способы их реализации.Привет, Хабр! Меня зовут Олег Козырев. Senior Golang инженер в BigTech-компании, ментор и блогер. Обучаю людей backend-разработке и консультирую по вопросам IT. Веду каналы «IT и жизнь»: в телеграме и на Ютюб. А главным героем этой статьи по мотивам моего доклада для GolangConf будет мой кот. Он проведёт нас по тернистому пути создания плат…

  • пятница, 24 января 2025 г. в 00:00:09
golang
Go 1.24

Здравствуйте, уважаемые, Гоферы 👋Go 1.24 уже на подходе, и это обновление обещает различные улучшения. Давайте посмотри ключевые нововведения, которые Go 1.24 принесет разработчикам.1. Обобщенная типология (Generics)Итак, что такое определение типа? Определение типа, это когда мы создаем новый тип int или управляем новым типом из int, создавая новый отдельный тип на основе существующего. Это позволяет добавить поведение к новому типу, определив его методы. Так, здесь я могу определить метод v…

  • четверг, 23 января 2025 г. в 00:00:11
golang
Простой и универсальный способ чтения логов в терминале

Всем привет! Существует достаточно много решений для локального и удаленного сбора и чтения логов с различных систем. В разные периоды времени как для рабочих задач, так и для домашнего стенда мне приходилось настраивать разные системы, и хочу заметить, что некоторые из них достаточно сложны в своей конфигурации. Одини из самых популярных систем управления логами являются ELK стек, Graylog и Loki, это отличные решения, когда нужно обрабатывать журналы с большого количества машин, но достаточно …

  • среда, 22 января 2025 г. в 00:00:07
golang
Алгоритмы сортировки в Go: простое объяснение и примеры реализации

Сортировка — это процесс упорядочивания элементов в массиве или списке по определенному критерию (например, по возрастанию или убыванию). В программировании это одна из базовых задач, которая помогает эффективно искать, обрабатывать и анализировать данные. Давайте разберем основные алгоритмы сортировки, их принципы работы и сложность на примерах реализации на языке Go.Введение в алгоритмы сортировкиСуществует несколько способов сортировки данных. Основные алгоритмы можно разделить на две катего…

  • среда, 22 января 2025 г. в 00:00:05
golang
Как вынести Go-модуль в open source с сохранением авторства

Так случается, что команда решает вынести часть проекта в open source и использовать ее как внешнюю зависимость. Как правило, это самостоятельный пакет или инструмент, лишенный какой-либо бизнес-специфики, способный принести пользу сообществу и получить дальнейшее развитие. Большинство коммерческих разработчиков имеет персональные профили на открытых платформах и поддерживает собственные портфолио, поэтому при переносе мы хотим сохранить авторство и историю коммитов. Основная сложность здесь в …

  • среда, 22 января 2025 г. в 00:00:04
golang
Готовим слайсы в Go: подробно о динамических массивах, строчках и ускорении

Привет, Хабр! Меня зовут Владислав Белогрудов, я работаю в команде разработки интерфейсов и сервисов управления в YADRO. Мой текущий проект — информационная система на Go. В рамках проекта я подробно изучил, как работать со слайсами — одной из самых популярных структур в Go. На первый взгляд, использовать ее достаточно просто, но, когда берешься писать код, возникают вопросы: как передавать и изменять слайсы, насколько большими их делать.Под катом рассмотрим, что такое слайсы и string (строки) …

  • среда, 22 января 2025 г. в 00:00:03
golang
Going NATS

Все инновации так или иначе будут связаны с глобальными, распределенными системами в которых ключевую роль будут играть периферийные вычисления.Многие из инструментов, которые мы успешно используем для решения текущих задач, могут быть неадекватными для новых вызовов.В качестве примера таких инструментов, можно привести Ansible и SSH. Ansible, как известно использует SSH в качестве основного транспорта для выполнения команд на удаленных машинах. Это своего рода RPC для системных администраторов…

  • вторник, 21 января 2025 г. в 00:00:09
golang
Cоздание Приватной Сети Блокчейн на Go. Часть 1

Привет, Хабр!Меня зовут Олег, я работаю разработчиком в одной крупной IT-компании и недавно в разговоре со знакомыми логистами, я узнал, что у них в штате работает блокчейн-специалист. Для меня мир логистики был максимально далек от цепочки блоков, как и цепочка блоков от меня, поэтому я решил погрузиться в эту технологию.Прочитав множество статей и несколько книг, я выяснил, что теория с практикой идут рядышком, но понимание того, как же блокчейн работает на самом деле, не пришло, поэтому было…

  • понедельник, 20 января 2025 г. в 00:00:07
golang
Go: тонкости профилирования CPU

ВведениеНа тему профилирования CPU написано много статей. Тем не менее, эта тема обычно рассматривается в контексте конкретных задач, проблемы которых затеняют некоторые тонкости. Это может вызвать трудности или привести к ошибочному выводу при анализе собственного решения. В этой статье нет примера успешной оптимизации какого-нибудь невероятного кода, но на простейших примерах объясняется, какую информацию может дать профиль CPU и как ей воспользоваться. А также подсвечиваются некоторые тонкос…

  • воскресенье, 19 января 2025 г. в 00:00:07