German Gorelkin

Research and Development

Algebraic Data Types

Алгебраические Типы Данных

Сделаем из простых типов другие, составные и более сложные. Это и будут алгебраические типы данных....

июля 27, 2022 · 4 мин · German Gorelkin
go-patterns-circuit-breaker

Go Patterns. Circuit Breaker

Circuit Breaker предотвращает попытки приложения выполнить операцию, которая скорее всего завершится неудачно, что позволяет продолжить работу дальше не тратя важные ресурсы, пока известно, что проблема не устранена....

июля 14, 2020 · 7 мин · German Gorelkin
go-patterns-retry

Go Patterns. Retry

Любое взаимодействие программных компонентов ненадежно. Вызываемый компонент может быть временно недоступен или возвращать различные ошибки....

мая 20, 2020 · 6 мин · German Gorelkin
fitness-functions

Fitness Functions

Чем раньше будет обнаружена проблема, тем меньше усилий потребуется для ее разрешения...

мая 14, 2020 · 5 мин · German Gorelkin
goroutine-leaks

Goroutine Leaks

Рассмотрим несколько примером Goroutine Leaks...

апреля 23, 2020 · 3 мин · German Gorelkin
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