Architecture Cleaning

Блог о простом техническом дизайне

Ускоряем работу с графами в 20000 раз

Использовать стандартные библиотеки и общеизвестные реализации алгоритмов — признак хорошего тона. Вместо изобретения своего алгоритма шифрования данных или свою хэш функцию лучше взять уже готовое решение. Избегаем ошибок и не изобретаем велосипед заново. Но что если готового решения нет? В наше время это что-то невероятное. Есть github.com, есть набор платных решений. Тем интереснее обсудить какое-то необычное решение или необычную проблему. В данной статье расскажу о своем опыте оптимизации работы с данными, которые по своей природе представляют граф. А точнее сеть — разновидность графов.

Чему можно научиться у фикуса-душителя? Паттерн Strangler.

При рефакторенге монолита на микросервисы часто мы уже обладаем работающей системой. У которой миллионы, тысячи активных пользователей. Возможно их 20, но они очень важные и очень активные. Как в таком случае отрефакторить все, чтобы внешне никто ничего не заметил? И как нам в этом поможет тропический фикус-душитель?

Производительность. Коллекции C# или обычный SQL

Статья о том как реляционные СУБД реализуют JOIN. Nested Loop, Merge Join, Hash Join

Антипаттерн Entity Service. Иногда микросервисы хуже монолита

Об одном неудачном решении, которое распространено при переходе на микросервисы

Организация бизнес-логики

Где размещать бизнес-логику? В приложении или в хранимых процедурах