data-protected-by-confinement

Безопасная Работа с Каналами в Go

При работе с параллельным кодом существует несколько различных вариантов безопасной работы...

апреля 2, 2020 · 4 минуты · German Gorelkin
synchronization-primitives-go

Примитивы Синхронизации в Go

Пакет sync содержит примитивы, которые наиболее полезны для низкоуровневой синхронизации доступа к памяти....

февраля 9, 2020 · 5 минут · German Gorelkin
deadlocks-livelocks-starvation

Deadlocks, Livelocks и Starvation

В 1965 году Эдсгер Дейкстра сформулировал задачу об обедающих философах. Задача была иллюстрацией проблем синхронизации при разработке параллельных алгоритмов и техник решения этих проблем....

января 17, 2020 · 6 минут · German Gorelkin
race-condition-and-data-race

Race Condition и Data Race

Race condition и data race — две разные проблемы многопоточности, которые часто путают. Попробуем разобраться....

июля 10, 2019 · 5 минут · German Gorelkin
go-alignment

Выравнивание И Заполнение Структур

Разбираемся с такими понятиями, как: type alignment guarantees, type sizes и structure padding....

мая 13, 2019 · 4 минуты · German Gorelkin
go-functional-options

Паттерны Проектирования На Go. Functional Options.

Проектирование — это почти всегда не просто. Чаще всего это задача нахождения компромиссов....

апреля 22, 2019 · 3 минуты · German Gorelkin
go-observer

Паттерны Проектирования На Go. Observer.

Существует как минимум два способа общения между двумя программными компонентами....

марта 27, 2019 · 11 минут · German Gorelkin

Method sets в Go

Набор методов которые являются интерфейсом данного типа....

октября 16, 2018 · 3 минуты · German Gorelkin
Паттерны Проектирования На Go. Singleton

Паттерны Проектирования На Go. Singleton

Рассмотрим простой и вообщем-то спорный шаблон Singleton. Его “потокобезопасную” версию и общие подходы к решению таких задач....

октября 10, 2018 · 7 минут · German Gorelkin
Embedding В Go

Embedding В Go

Go предлагает механизм встраивания(embedding) в качестве альтернативы механизму наследования в традиционных объектно-ориентированных языках программирования....

октября 4, 2018 · 3 минуты · German Gorelkin