Безопасная Работа с Каналами в Go
При работе с параллельным кодом существует несколько различных вариантов безопасной работы...
При работе с параллельным кодом существует несколько различных вариантов безопасной работы...
Пакет sync содержит примитивы, которые наиболее полезны для низкоуровневой синхронизации доступа к памяти....
В 1965 году Эдсгер Дейкстра сформулировал задачу об обедающих философах. Задача была иллюстрацией проблем синхронизации при разработке параллельных алгоритмов и техник решения этих проблем....
Качественный дизайн обладает слабой связанностью (low coupling) и сильной связностью (high cohesion). Это значит, что программный компонент имеет небольшое число внешних связей и отвечает за решение близких по смыслу задач....
Шардинг и репликация...
Контейнеры — основной строительный элемент паттернов, но в конечном итоге именно группа контейнеров, локализованная на одной машине, представляет собой базовый элемент паттернов проектирования распределенных систем....
Брендан Бёрнс излагает в своей книге абсолютный минимум, необходимый для правильного проектирования распределенных систем....
Race condition и data race — две разные проблемы многопоточности, которые часто путают. Попробуем разобраться....
Разбираемся с такими понятиями, как: type alignment guarantees, type sizes и structure padding....
Проектирование — это почти всегда не просто. Чаще всего это задача нахождения компромиссов....