Category : golang

golang
Выходим за рамки: создание оператора для наблюдения за внешними ресурсами в Kubernetes

Привет! Я Александр Зверев, инженер архитектурных решений в компании «Флант». Сегодня поговорим про всеми любимый Kubernetes. Этот оркестратор стал таким популярным не только потому что он эффективно управляет контейнерами. Ещё его можно прокачать под себя. И для этого у него есть все необходимые инструменты. Новые возможности можно добавить с помощью контроллеров, операторов и создания новых типов ресурсов.При этом уже есть проекты, которые пошли дальше и научились управлять ресурсами за преде…

  • пятница, 7 марта 2025 г. в 00:00:14
golang
Syscall и cgo в Go

Привет, Хабр!Сегодня рассмотрим работу с системными утилитами в Go. Будем напрямую общаться с ядром, дергать системные вызовы и писать код на C, чтобы Go не чувствовал себя одиноким.Go славится своей безопасностью и простотой, но иногда нужно спуститься к системным вызовам, чтобы работать с процессами, файловыми дескрипторами и сетевыми сокетами на низком уровне.Сделаем это через два инструмента:syscall и golang.org/x/sys/unix — вызовы системных API, которые делают всякие вещи вроде fork(), exe…

  • пятница, 7 марта 2025 г. в 00:00:12
golang
Туториал: вход в мобильном приложении с Telegram

Аутентификация в мобильных приложениях с помощью Telegram Login Widget обделена информацией как официальной документации, так и в интернете. Меня зовут Александр, в этой статье поделюсь примером реализации входа в iOS приложение c помощью Telegram с блекджеком и граблями. В статье приведены сниппеты кода на Typescript + React, Go и Swift.Содержание:Telegram Login Widget API.Telegram Login Widget Internals.Кастомизируем некастомизируемое.Особенности на бекендеИнтеграция в нативное приложениеНам …

  • пятница, 7 марта 2025 г. в 00:00:09
golang
What's in the box!? Исследуем минимальное количество тредов golang-программы

Именно с такой мыслью и именно с интонацией Брэда Питта я ушел спать вчера (сегодня) в 3:40 утра. После того, как в 23:10 "споткнулся" об утверждение Коли Тузова, о том, что рантайм голенга создает треды заранее. Не верилось, настолько что я пошел перечитывать сорцы рантайма снова, тем более я туда с 1.17 не заглядывал.Кстати, если еще не смотрели видос Коли про планировщик - посмотрите. Но только после того как дочитаете эту статью🤭Коля в видосе запускал тестовую программу с дефолтным …

  • пятница, 7 марта 2025 г. в 00:00:08
golang
Как управлять сборками в Go с помощью build tags

Привет, Хабр!Вы когда‑нибудь сталкивались с ситуацией, когда нужно собрать Go‑приложение под несколько платформ? Или выключить часть кода в проде, оставив её активной в дев‑среде? Возможно, вы просто хотите поддерживать разные версии сборки с кастомными фичами без тонны if runtime.GOOS == «windows» {}?В этом вам помогут build tags.Build tags в Go — это специальные комментарии, которые говорят компилятору: «Этот файл включаем в сборку только если выполнены вот эти условия».Вот как они выглядят:/…

  • четверг, 6 марта 2025 г. в 00:00:13
golang
Запилил 100 проектов на Go и вот что скажу

Когда начинаешь новый проект, то надо какое то время потратить, чтобы подобрать подходящие библиотеки, подготовить структуру проекта, связать все воедино. Это занимает прилично времени. Целый день вполне может уйти. А экономить на этом шаге не стоит. Это ведь как фундамент. И вот, 5 лет назад я опубликовал каркас, который собрал для себя, чтобы делать с ним проекты на Go.С тех пор ко мне обращались люди и с вопросами, и с советами. Я менял компоненты, смотрел что получалось. Благо проектов было…

  • четверг, 6 марта 2025 г. в 00:00:12
golang
Как создать свой алгоритм шифрования: от идеи до готового CLI-приложения

В современном мире защита данных становится критически важной. Многие известные алгоритмы шифрования (AES, RSA, Blowfish) прошли долгий путь испытаний временем и экспертной оценкой. Однако создание собственного алгоритма шифрования – это отличный способ углубиться в мир криптографии, лучше понять принципы защиты информации и научиться реализовывать криптографические конструкции на практике.В этой статье мы подробно разберем этапы разработки алгоритма шифрования, от концепции до реализации на яз…

  • среда, 5 марта 2025 г. в 00:00:17
golang
Обсуждаем изменения в Go 1.24, мьютексы и пакет unsafe — открытие сезона митапов для гоферов в Моск…

С приходом весны из-под сугробов снова начинают прорастать полезные митапы. На первой в сезоне Go-сходке от YADRO предлагаем присоединиться к обсуждению изменений Go 1.24. Эксперты из AvitoTech, Yandex и YADRO подискутируют, как обновления повлияют на код разработчиков. Также вы узнаете, как обеспечить высокопроизводительную конкурентность в Go и с умом применять пакет unsafe. Офлайн-участников ждет демозона с оборудованием для ЦОД и телеком-операторов, технические интерактивы и подарки. Регист…

  • среда, 5 марта 2025 г. в 00:00:15
golang
BadgerDB как бэкенд для LDAP-каталога

И снова здравствуйте! Многие знают, что тема создания домена в Linux-инфраструктурах, подобного MS Active Directory, – одна из наиболее сложных в текущей стратегии изменения инфраструктур крупных компаний. Компания Avanpost начала разработку своей службы каталогов задолго до того, как это стало мейнстримом, и первичной нашей целью было создание службы для масштабных Linux-инфраструктур, которая позволила бы централизованно управлять правами администраторов и технологических учетных записей на с…

  • вторник, 4 марта 2025 г. в 00:00:08