Category : golang

golang
Проектирование fault-tolerant систем на Go

Привет, Хабр!Fault-tolerant системы — это те, которые способны продолжать функционировать даже в условиях частичных сбоев или неисправностей. Основная фича таких систем заключается в том, чтобы обеспечить непрерывность работы приложения и безопасность данных даже при возникновении ошибок или непредвиденных ситуаций. Это достигается за счет ряда архитектурных и программных решений, направленных на предотвращение полного отказа системы при возникновении отдельных сбоев.Go благодаря своей простот…

  • вторник, 26 декабря 2023 г. в 00:00:25
golang
WebSocket в Go и причем тут горилла

гориллаПривет, Хабр!WebSocket позволяет открыть интерактивный коммуникационный сеанс между пользовательским браузером и сервером. Здесь большое отличие от традиционного HTTP, который ограничен моделью запрос-ответ и не подходит для сценариев, требующих постоянного обмена даннымиGo с помощью своей простоты и поддержкой конкурентности становится хорошим кандидатом для работы с WebSocket.Значение конкурентности в Go для работы с WebSocket. Горутины – это легковесные потоки исполнения, управляемы…

  • понедельник, 25 декабря 2023 г. в 00:00:12
golang
Управление зависимостями в Go

Одна из основных фич Go это система управления зависимостями. В начале своего пути Go полагался на GOPATH, что иногда вызывало сложности и ограничения для разработчиков. Однако с появлением Go Modules в Go версии 1.11, ситуация изменилась. Go Modules представили более гибкий инструмент для управления зависимостями, позволяя более эффективно управлять библиотеками и их версиями. Go Modules был введен в Go с версии 1.11 как официальная система управления зависимостями. Она позволяет автоматич…

  • пятница, 22 декабря 2023 г. в 00:00:24
golang
Toolchain в Go

Привет, коллеги! В Го toolchain это не просто buzzword, а реальная рабочая фича. Если вы провели немало времени, погружаясь в дебри кода и модулей, вы знаете, что каждая строчка и каждый пакет как и в любом япе имеют свое место и значение.ToolchainНабор инструментов или toolchain (тулчейн звучит покруче) используются для создания, тестирования, отладки и управления вашими Go-проектами:1. Компиляция и сборка (Build)go build — это команда, которая стоит в центре вашего Go-проекта. Она берет ваш …

  • пятница, 22 декабря 2023 г. в 00:00:23
golang
Создание эмулятора игр MS-DOS в Kubernetes

В этой статье мы разберёмся, как можно интегрировать JavaScript-библиотеку js-dos в собственное решение Kubernetes, что позволит нам предоставлять доступ к играм MS-DOS в виде сервисов Kubernetes и запускать их в браузере. Кроме того, по ходу статьи я дам советы и рекомендации начального, продвинутого и высокого уровней по разработке собственных контроллеров Kubernetes при помощи Golang и Kubebuilder или Operator SDK. ▍ Введение js-dos — это JavaScript-библиотека, содержащая полнофункционал…

  • четверг, 21 декабря 2023 г. в 00:00:18
golang
Управление зависимости в Go

Одна из основных фич Go это система управления зависимостями. В начале своего пути Go полагался на GOPATH, что иногда вызывало сложности и ограничения для разработчиков. Однако с появлением Go Modules в Go версии 1.11, ситуация изменилась. Go Modules представили более гибкий инструмент для управления зависимостями, позволяя более эффективно управлять библиотеками и их версиями. Go Modules был введен в Go с версии 1.11 как официальная система управления зависимостями. Она позволяет автоматич…

  • среда, 20 декабря 2023 г. в 00:00:07
golang
Event Sourcing и CQRS в Go

Привет, Хабр!Сегодня мы поговорим о двух концепциях — Event Sourcing и CQRS, и их реализации на ЯП Go. Go предоставляет хорошие возможности для реализации этих паттернов благодаря своей производительности, простоте и поддержке конкурентности "из коробки".Особенности Go, делающие его подходящим для этих паттернов Go — это компилируемый язык, это говорит о его быстром времи отклика, что практически мастхев для систем, использующих Event Sourcing и CQRS. Go предоставляет примитивы для пар…

  • среда, 20 декабря 2023 г. в 00:00:06
golang
Object-Relational Mapping (ORM) в Golang

Одна из самых важных задач ЯП`s это эффективное взаимодействие с базами данных и Go не исключение. В Go есть парадигма Object-Relational Mapping (ORM), позволяет работать с реляционными базами данных в терминах объектно-ориентированного программирования. Это очень сильно упрощает работу с базами данных, позволяя сосредоточиться на бизнес-логике приложения, а не на нюансах SQL-запросов.GORM (Go Object-Relational Mapping) предоставляет удобный интерфейс для взаимодействия с различными базами дан…

  • вторник, 19 декабря 2023 г. в 00:00:14
golang
Автоматизация работы программиста golang

Программист должен автоматизировать свою работу в первую очередь, а то получится как сапожник без сапог. Все этапы работы можно частично автоматизировать. Рассмотрим основные, характерные этапы создания сервисов:Проектирование базы данныхэто творческая работа, которую никак не автоматизируешь. После создания, базу данных надо нарисовать в виде графической схемы. Есть много разных приложения для автоматического создания ERD-diagram, однако они все отображают стрелки связей только до таблицы, а …

  • вторник, 19 декабря 2023 г. в 00:00:14