“Перевод стрелок” в проектировании

В данной статье хочу рассказать о приеме, который поможет грамотнее спроектировать приложение (да и не только приложения, но об этом в другой раз), даже если вы не сильно владеете общеизвестными архитектурными принципы типа SOLID и прочих. При этом отм…

Когда действительно пора делать микросервисы

Микросервисную архитектуру масштабировать легче, чем монолит. Но преимущества не даются просто так, иначе все бы просто пилили микросервисы и горя не знали.За лёгкую масштабируемость приходится платить десятками часов проектирования. Чтобы удачно разло…

[Перевод] Что такое «Разделение ответственности» в коде

Машины Руба Голдберга «работают». А еще они неэффективные, хрупкие, их сложно изготовить и поддерживать. Поэтому написать код, который «просто работает» — очень низкая планка.Многие не осознают, что написание кода во многом напоминает написание эссе ил…

[Перевод] Модульное тестирование унаследованного кода

Если вы уже устали читать статьи о том, как применять модульное тестирование в новых приложениях, в то время как ваша жизнь в основном занята расширением и улучшением унаследованного кода – изложу вам план, который (наконец-то) поможет воспользоваться …

Как рефакторинг помогает улучшить производительность разработчиков и повысить качество приложений

7 лет назад на одной ИТ-конференции спикер рассказывал про новую возможность Android платформы. После доклада его спросили про архитектуру, которую они используют в своей команде для разработки Android приложений. Его ответ заключался в том, что архите…

220 платежей в секунду: выдержать нельзя упасть

Одни из важнейших характеристик качественного IT-продукта — отказоустойчивость и работоспособность под нагрузками. Когда речь идёт о пользовательских финансовых операциях, это важно вдвойне, а если к уравнению добавить хайлоад — втройне.Я разрабатываю …

[Перевод] Почему я начал использовать аннотации типов в Python – и вам тоже советую

С появлением подсказок типов (type hints) в Python 3.5+ добавилась опциональная статическая типизация – поэтому эти подсказки так мне нравятся. Теперь я аннотирую ими все мои проекты. Читать далее…