Привет, Хабр!Fault-tolerant системы — это те, которые способны продолжать функционировать даже в условиях частичных сбоев или неисправностей. Основная фича таких систем заключается в том, чтобы обеспечить непрерывность работы приложения и безопасность данных даже при возникновении ошибок или непредвиденных ситуаций. Это достигается за счет ряда архитектурных и программных решений, направленных на предотвращение полного отказа системы при возникновении отдельных сбоев.Go благодаря своей простот…
гориллаПривет, Хабр!WebSocket позволяет открыть интерактивный коммуникационный сеанс между пользовательским браузером и сервером. Здесь большое отличие от традиционного HTTP, который ограничен моделью запрос-ответ и не подходит для сценариев, требующих постоянного обмена даннымиGo с помощью своей простоты и поддержкой конкурентности становится хорошим кандидатом для работы с WebSocket.Значение конкурентности в Go для работы с WebSocket. Горутины – это легковесные потоки исполнения, управляемы…
Одна из основных фич Go это система управления зависимостями. В начале своего пути Go полагался на GOPATH, что иногда вызывало сложности и ограничения для разработчиков. Однако с появлением Go Modules в Go версии 1.11, ситуация изменилась. Go Modules представили более гибкий инструмент для управления зависимостями, позволяя более эффективно управлять библиотеками и их версиями. Go Modules был введен в Go с версии 1.11 как официальная система управления зависимостями. Она позволяет автоматич…
Привет, коллеги! В Го toolchain это не просто buzzword, а реальная рабочая фича. Если вы провели немало времени, погружаясь в дебри кода и модулей, вы знаете, что каждая строчка и каждый пакет как и в любом япе имеют свое место и значение.ToolchainНабор инструментов или toolchain (тулчейн звучит покруче) используются для создания, тестирования, отладки и управления вашими Go-проектами:1. Компиляция и сборка (Build)go build — это команда, которая стоит в центре вашего Go-проекта. Она берет ваш …
В этой статье мы разберёмся, как можно интегрировать JavaScript-библиотеку js-dos в собственное решение Kubernetes, что позволит нам предоставлять доступ к играм MS-DOS в виде сервисов Kubernetes и запускать их в браузере. Кроме того, по ходу статьи я дам советы и рекомендации начального, продвинутого и высокого уровней по разработке собственных контроллеров Kubernetes при помощи Golang и Kubebuilder или Operator SDK. ▍ Введение js-dos — это JavaScript-библиотека, содержащая полнофункционал…
Одна из основных фич Go это система управления зависимостями. В начале своего пути Go полагался на GOPATH, что иногда вызывало сложности и ограничения для разработчиков. Однако с появлением Go Modules в Go версии 1.11, ситуация изменилась. Go Modules представили более гибкий инструмент для управления зависимостями, позволяя более эффективно управлять библиотеками и их версиями. Go Modules был введен в Go с версии 1.11 как официальная система управления зависимостями. Она позволяет автоматич…
Привет, Хабр!Сегодня мы поговорим о двух концепциях — Event Sourcing и CQRS, и их реализации на ЯП Go. Go предоставляет хорошие возможности для реализации этих паттернов благодаря своей производительности, простоте и поддержке конкурентности "из коробки".Особенности Go, делающие его подходящим для этих паттернов Go — это компилируемый язык, это говорит о его быстром времи отклика, что практически мастхев для систем, использующих Event Sourcing и CQRS. Go предоставляет примитивы для пар…
Одна из самых важных задач ЯП`s это эффективное взаимодействие с базами данных и Go не исключение. В Go есть парадигма Object-Relational Mapping (ORM), позволяет работать с реляционными базами данных в терминах объектно-ориентированного программирования. Это очень сильно упрощает работу с базами данных, позволяя сосредоточиться на бизнес-логике приложения, а не на нюансах SQL-запросов.GORM (Go Object-Relational Mapping) предоставляет удобный интерфейс для взаимодействия с различными базами дан…
Программист должен автоматизировать свою работу в первую очередь, а то получится как сапожник без сапог. Все этапы работы можно частично автоматизировать. Рассмотрим основные, характерные этапы создания сервисов:Проектирование базы данныхэто творческая работа, которую никак не автоматизируешь. После создания, базу данных надо нарисовать в виде графической схемы. Есть много разных приложения для автоматического создания ERD-diagram, однако они все отображают стрелки связей только до таблицы, а …