diff --git a/case-study.md b/case-study.md new file mode 100644 index 0000000..55b0f60 --- /dev/null +++ b/case-study.md @@ -0,0 +1,31 @@ +## To start +- Занимаюсь развитием бесконтактной оплаты на транспорте +- более 5 лет +- по мере прохождения курса стал активно продвигать это +- мониторинг был, но курс позволил улучшить его +- в старых проектах очень много работы по оптимизации, как минимум обновить версию руби +- руководитель группы разработки, проектом занимаюсь 2 года, оптимизация и развитие проектов + +## О чём интересно рассказать +Моя работа заключается в разработке бэкенда. Информация явялется конфиденциальной, поэтому не могу многого рассказать, +но проекты очень полезные, высоконагруженные и интересные. + +На старте работы я понял, что невозможно вести такие проекты без мониторинга и профилировщиков, поэтому начал активно +изучать performance и использовать в работе. + +Я знал, что мне достанется задача по оптимизации очень старого сервиса и примерно за пару дней до старта, увидел ваш курс. +Все сложилось идеально, он мне очень помог. + +Первая половина курса была более полезна: работа с профилировщиками, памятью и низкоуровневыми моментами языка. + +Rack-mini-profiler, NewRelic и PgHero стали неотъемлемой частью моей работы. Благодаря PgHero ушли долгие запросы к бд, +а RMP и NewRelic помогли оптимизировать внутреннюю работу сервисов. + +Оптимизация индексов и запросов дали прирост скорости x10. Оптимизация работы с памятью и обновление руби с 2.4 на 2.7.3 +улучшили работу сервиса. + +При работе над высоконагруденным проектом столккнулся с проблемой, что стейдж/дев работал очень быстро, но на проде +запросы могли выполняться час. После прохождения курса я смог оптимизировать большую часть узких мест. +Построение анализа асимтотики, устранение утечек/разбухания памяти, оптимизация бэкенда и использование бест практикс +поспособствовали значительному улучшению работы приложения. +