Category : golang

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
golang
Страх и Ненависть в Ви.Tech: от монолита к не микросервисам

Представьте: у вас есть монолит на PHP. Большой, сложный, местами запутанный – но такой родной. Он верой и правдой служит бизнесу много лет. А потом случается неизбежное – компания растет, нагрузки увеличиваются, и ваш надежный монолит начинает... задыхаться.Я – Кирилл Кузин, go-разработчик платформенной команды Ви.Tech (IT-дочка ВсеИнструменты.ру). Последние три года мы переводим высоконагруженные части нашего кода с монолита на Go-сервисы. За это время успели перенести критически важные компо…

  • вторник, 4 марта 2025 г. в 00:00:07
golang
Базовая архитектура сервиса на GO

Базовая архитектура сервиса на GOОсновная цель моей архитектуры — разделить код на слои, каждый из которых решает свои задачи. Это не просто модный тренд, а необходимость, которая помогает изолировать бизнес-логику от технических деталей, упрощает тестирование и делает код более понятным.В моем подходе очевидно прослеживаются идеи чистой архитектуры, предложенной дядей Бобом. Однако в угоду практичности, простоты и понятности кода я сознательно иду на некоторые отступления от строгих принципов …

  • понедельник, 3 марта 2025 г. в 00:00:04
golang
GO: Как и почему мы отказались от Nest.JS

В мире разработки всегда наступает момент, когда необходимо переосмыслить используемые технологии. В Hikasami, наблюдая за ростом используемых ресурсов и усложнением бизнес-задач, мы столкнулись с выбором: продолжать использовать привычный NestJS или искать новое решение, способное обеспечить высокую производительность и масштабируемость. Ответ оказался очевиден - нужно перейти на Go.NestJS давал нам возможность быстро и удобно создавать приложения благодаря своей структуре и широкому набору фу…

  • воскресенье, 2 марта 2025 г. в 00:00:07