Те кто читали книжку @samnewman или блог @martinfowler знают про паттерн Strangler.
Но можно ли его использовать для тестирования? Давайте придумаем как!?
Вообще паттерны Strangler и Branch By Abstraction очень большие наши друзья в современных архитектурах!
Давайте опишем задачу.Дано:
Приложение, которое монолит и работает. Оно настолько большое и сложное, что те, кто понимают как оно работает уже давно умерли (это почти не шутка)
Ваша задача сделать из этого прозрачное приложение, которое работает достаточно хорошо и при этом лишено недостатков существующего монолита:
- сильная связанность
- большая сложность кода
И тут мы внедряем идею тестирования:
переписываем нашу систему почастям и запросы отправляем всегда в обе системы: новую и старую; а в фасаде сравниваем результаты->если результаты разные->значит логируем ошибку и заводим таску на программистов (новая система работает с ошибками)
Месяцами ваш код живет в проде и тестирует реальные кейсы пользователей. А вы ждете пока у вас failure rate будет соответствовать вашему пороговому значению, чтоб можно было раскатывать эту фичу на пользователей
Простое и элегантное решение, когда ваш код сложнее, чем вы можете понять, но вас его нужно переписать :)
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Давайте теперь на ваши вопросы поотвечаем: @lord___pes спрашивает где искать нормальную статистику о зп/востребованности для junior/middle/senior ? И стоит ли верить вообще статистике в открытом доступе (слишком маленькая выборка)?
Давайте я попробую ответить почему этот вопрос не имеет смысла
Какая разница какая статистика? Есть вы, вы получаете Х денег, а Вася Y.
Справедливо это? Конечно нет! Но оно и не должно быть справедливо.
Для вас как соискателя важен только один вопрос:
устраивает ли меня моя ЗП?
Тоже самое и для работодателя: важен вопрос, устраивает ли меня платить Х денег этому достопочтенному сэру за его рабочие поделки?
А все эти истории про рынок, недоплату, мои желания и ожидания - это бред
Итак, давайте поговорим про заграницу на пальцах. Цель: не понять как кто-то живет в стране Х, а почему государство делает такие странные законы и как так получается, что так получается ¯\_(ツ)_/¯
Возможно кто-то из вас слышал истории о людях, которые не могут снять жилье, потому что у них нет банковского счета, а банковский счет им не открывают, потому что у них нет жилья в этой стране.
Да, за бугром так бывает! И скоро мы попробуем понять почему...
А еще есть страны где нельзя платить иностранцу денег меньше, чем средний уровень жизни в стране. Потому что если брать иностранцев на работу - то и денег уж платить надо соответствующе.
Знакомая история?
Обещал про путешествия под вечер, so давайте расскажу как я заставил себя поездить по РФ до того, как это стало мейнстримом.
Заранее извиняюсь за качество фоток, потому что телефон я потерял в дальневосточной тайге и сколько не просил медведей переслать мне все важное, они не решились это провернуть без моего очного присутствия!
В 2014 году я задумался, что мало где бывал, а мест тут хороших и красивых хоть отбавляй. Составлять чеклист со списком городов и достопримечательностей было как-то тупо, по этому нужно было привнести элемент геймификации…
Мне очень нравится этот гитхаб проект: github.com/kgrzybek/modul…
он показывает, как можно красиво сделать приложение и описать его. Тут и про тесты и bounded contextы и архитектуру
Архитектурные тесты: это тесты, которые позволяют проверить ваш код, на соответствие той архитектуре, которую вы описали.
У них есть понятный минус! Они медленные!!!