Category : golang

golang
Заговор разработчиков против корпораций: архитектура и принципы

С момента написания предыдущей статьи я находился под пристальным вниманием. Попытка опубликовать материалы на англоязычных платформах обернулась фиаско — в первые же минуты легионы последователей тайного братства обрушились с критикой:— Нет никакой организации! — вопили они.Подозреваю, что слежка велась через мой телеграм-канал.Тем не менее я жив, а значит, пора поведать об архитектурной подлости неимоверных масштабов. Вы узнаете, как ведется борьба с крупными корпорациями изнутри и снаружи, к…

  • воскресенье, 2 февраля 2025 г. в 00:00:15
golang
Как работает HTTP/2 и как использовать его в Go

Почему HTTP/2?HTTP/2 — это крупное обновление по сравнению с HTTP/1.1, и в наши дни он практически везде используется по умолчанию. Если вы открывали Chrome DevTools для проверки сетевых запросов, то, скорее всего, уже видели соединения по протоколу HTTP/2.Проверка подключений HTTP / 2 с помощью ChromeНо почему HTTP/2 так важен? Что не так с HTTP/1.1?В HTTP/1.1 была введена конвейерная обработка, которая на первый взгляд казалась значительным шагом вперед. Идея была проста: несколько запросов м…

  • суббота, 1 февраля 2025 г. в 00:00:08
golang
Язык программирования Go – для начинающих

Язык программирования Go, также известный как Golang, был разработан в Google в 2007 году Робертом Гриземером, Робом Пайком и Кеном Томпсоном. Он стал открытым исходным кодом в 2009 году.Go (или Golang) — это компилируемый, статически типизированный язык программирования, разработанный в Google. Он был создан для упрощения разработки масштабируемых и эффективных программ, особенно в многопоточной среде. Go обладает минималистичным синтаксисом, что делает его легким для изучения и использования.…

  • суббота, 1 февраля 2025 г. в 00:00:05
golang
Приручаем монстров в Go: боремся с разросшимся Makefile и монолитом — без распила на микросервисы

Мы в ответе за тех, кого разрастили. Go-разработчики из YADRO, Ви.Tech и Weborama  рассказали, как работать с проектами, которые без должного внимания стали бы техдолгом. А еще — поделились опытом генерации стабов и организации нетривиального стриминга данных на Go. Собираем проект на Go: от Make до MiseРассказал: Даниил Подольский, эксперт по разработке ПО, Go-евангелист, YADROКоротко о сути доклада: Команда Common Yadro Platform, в которой работает Даниил, вырастила настоящего монстра в виде …

  • суббота, 1 февраля 2025 г. в 00:00:04
golang
Эпическое программирование: пишем понятные и поддерживаемые саги

В мире микросервисов часто возникает необходимость сделать согласованные изменения в сервисах. Один из надёжных способов добиться этого — использовать паттерн «Сага», который помогает выполнять распределённые транзакции и при сбоях корректно откатывать изменения. Но, как всегда, есть нюансы, начиная от нереалистичных материалов на эту тему и заканчивая реальным опытом использования. Алексей Бакин ведёт канал «Заботливый разработчик» и занимается разработкой внутренних продуктов. Один из них — э…

  • пятница, 31 января 2025 г. в 00:00:10
golang
P2P на Go: библиотека libp2p

Привет, Хабр!Сегодня рассмотрим библиотеку libp2p в Go. libp2p — это модульная библиотека для построения P2P-сетей. Libp2p выросла из проекта IPFS, но теперь активно используется в блокчейнах, мессенджерах и других децентрализованных приложениях. Главная фича библиотеки — она даёт возможность полностью контролировать P2P-коммуникации.Libp2p разделена на несколько модулей, которые можно подключать по мере необходимости:Transport: низкоуровневое соединение (TCP, WebSocket, QUIC, WebRTC).Muxing: п…

  • четверг, 30 января 2025 г. в 00:00:15
golang
Как рождаются, живут и умирают горутины

Жизненный цикл горутиныВсем привет! Меня зовут Дима, я лид команды государственных интеграций в Ozon Банке и очень люблю ковыряться в сурс-коде Go. Это всегда очень интересно: никогда не знаешь, что встретится в очередной функции. Иногда могут быть какие-то невероятные костыли, каждый из которых, справедливости ради, — осознанное задокументированное решение. А иногда — элегантные подходы, вдохновляющие на написание ещё одной json-варилки.Вы когда-нибудь, глядя на горутину, думали, что у неё под…

  • четверг, 30 января 2025 г. в 00:00:15
golang
Алгоритмы сортировки в Go

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

  • среда, 29 января 2025 г. в 00:00:06
golang
Рекурсия

В этой статье вы узнаете о рекурсии и о том, как она работает.Примеры в этой статье на языке Go, но концепция рекурсии одинакова для любого языка программирования.Что такое рекурсия?В большинстве языков программирования функция может вызывать другую функцию. Но функция также может вызывать саму себя. Рекурсия - это техника, при которой функция вызывает саму себя.Пример:// Функция для вычисления факториала с использованием рекурсии func factorial(n int) int { if n == 0 { // Базовый случай: факт…

  • среда, 29 января 2025 г. в 00:00:05