[Перевод] Не обманывайте себя: вы не «исправите это потом»

Недавно я одобрил pull request от коллеги с таким описанием: «Сделано костыльно, но мне не хватает сегодня времени реализовать это лучше». И тогда я задумался: когда же будет устранен этот «костыль»? На память приходит много случаев, когда я сам или мо…

Введение в DDD: когда микросервисов на Go недостаточно

Микросервисная архитектура помогает строить гибкие и масштабируемые приложения. Однако в случае бессистемного использования этого подхода вы довольно быстро столкнётесь с разочарованием и неконтролируемыми сложностями. Избежать проблем помогает Domain-…

Сервисная архитектура во Vue 2 | Проектирование класса (примитивы и объекты)

Поговорим о том, как стоит спроектировать класс, чтобы его можно было использовать в компонентах на Vue 2 (так, чтобы данные были реактивными). Покажу как запретить изменение данных в компонентах, либо как отвалидировать изменения.Это 2 часть цикла ста…

IT для неайтишников: Технический долг или почему теперь всё так долго?

Срыв сроков и выход за оценки в IT — большая и многогранная тема. На что-то бизнес-заказчик может повлиять напрямую, на что-то лишь косвенно. При работе с IT очень желательно понимать и знать такие понятия, как технический долг и «технический дефолт» (…

Старый код в новой обёртке — как наша команда избавлялась от legacy

В этой статье я — Станислав Решетнев, Teamlead команды разработки Link Building в компании Sape — хочу рассказать об опыте нашей компании по избавлению от legacy. Многие компании сталкиваются с проблемой legacy-монолита, когда технический долг накаплив…

Небанальные правила чистого Python. Часть 1

Большинство питонистов не раз слышали о таких правилах как «функции должны быть глаголами» или «не наследуйтесь явно от object в Python 3». В этой статье рассмотрим не такие банальные, но полезные правила чистого кода в Python. Читать далее…

Ошибки выбора MongoDB в качестве основной БД в стартапе

В этой статье я хочу рассказать о своих ошибках, которые я допустил, когда писал сервис, у которого MongoDB была основной БД для хранения пользовательских данных (да и не только, но об этом ниже).Я ни в коем случае не считаю, что MongoDB это плохая БД …

Перезапуск Вебиума

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

[Перевод] Классы значения в Kotlin: прощайте псевдонимы типов?

С выходом Kotlin 1.5.0, классы значения (известные ранее как inline классы) наконец-таки стабильны и были освобождены от необходимости в аннотации @OptIn. Было много нового в релизе, что также создало много путаницы, так как теперь …