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
low-coupling-high-cohesion

Low Coupling и High Cohesion

Качественный дизайн обладает слабой связанностью (low coupling) и сильной связностью (high cohesion). Это значит, что программный компонент имеет небольшое число внешних связей и отвечает за решение близких по смыслу задач....

сентября 24, 2019 · 4 минуты · German Gorelkin
designing-distributed-systems-serving-patterns

Распределенные Системы. Брендан Бёрнс. Паттерны проектирования обслуживающих систем

Шардинг и репликация...

сентября 22, 2019 · 12 минут · German Gorelkin
designing-distributed-systems-single-node-patterns

Распределенные Системы. Брендан Бёрнс. Одноузловые паттерны проектирования

Контейнеры — основной строительный элемент паттернов, но в конечном итоге именно группа контейнеров, локализованная на одной машине, представляет собой базовый элемент паттернов проектирования распределенных систем....

августа 29, 2019 · 8 минут · German Gorelkin
designing-distributed-systems-introduction

Распределенные Системы. Брендан Бёрнс. Введение

Брендан Бёрнс излагает в своей книге абсолютный минимум, необходимый для правильного проектирования распределенных систем....

августа 25, 2019 · 4 минуты · 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