Слайд 2Дисклеймер
Возможно, здесь будет рассказано о тех вещах, которые Вам знакомы или очевидны,
![Дисклеймер Возможно, здесь будет рассказано о тех вещах, которые Вам знакомы или](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1157620/slide-1.jpg)
но мне как-то пофиг )))
Повествование из личного опыта...
Слайд 3На дворе недалекое “недавно”, и мы развернули проектик фирмы на любименьком вордпрессике...
![На дворе недалекое “недавно”, и мы развернули проектик фирмы на любименьком вордпрессике...](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1157620/slide-2.jpg)
Слайд 5Проблемы
Слабое железо
Неоптимизированный код
Неверно спланированная архитектура
Слабое представление предметной области
![Проблемы Слабое железо Неоптимизированный код Неверно спланированная архитектура Слабое представление предметной области](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1157620/slide-4.jpg)
Слайд 6Слабое железо
Вертикальное масштабирование
Горизонтальное масштабирование
![Слабое железо Вертикальное масштабирование Горизонтальное масштабирование](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1157620/slide-5.jpg)
Слайд 7Горизонтальное масштабирование
Разделение базы данных по серверам
Шардирование / Репликация
База становится зависимой от кода
![Горизонтальное масштабирование Разделение базы данных по серверам Шардирование / Репликация База становится зависимой от кода](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1157620/slide-6.jpg)
Слайд 8Неоптимизированный код
При разработке на мощном железе не обращают внимание на оптимальное написание
![Неоптимизированный код При разработке на мощном железе не обращают внимание на оптимальное](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1157620/slide-7.jpg)
кода
Малое или полное отсутствие знания RDB или SQL
Неиспользование инструментов профилирования или debug tools
Слайд 9ЗНАЙ СВОЙ ИНСТРУМЕНТ
Поднятия версии программного обеспечения
Понимание работы RDB и SQL выше минимума
Понимание
![ЗНАЙ СВОЙ ИНСТРУМЕНТ Поднятия версии программного обеспечения Понимание работы RDB и SQL](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1157620/slide-8.jpg)
noSQL баз данных
Тесты...Тесты...Тесты...
Слайд 10Профилирование и debug
Время выполнения участков кода
Время выполнения SQL запросов
Debug tools (XDEBUG, Yii
![Профилирование и debug Время выполнения участков кода Время выполнения SQL запросов Debug](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1157620/slide-9.jpg)
debug tool)
Profiler (Z-Ray, Blackfire, Tideways)
Logger (Sentry)
Слайд 11Кэширование
Кэширование всех данных на отдачу
Кэширование куска данных
Кэширование запросов
Горячий кэш
Redis / Memcahe /
![Кэширование Кэширование всех данных на отдачу Кэширование куска данных Кэширование запросов Горячий](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1157620/slide-10.jpg)
MemoryTable
Слайд 12Порой наступает то время, когда после всех усилий и манипуляций Вы понимаете,
![Порой наступает то время, когда после всех усилий и манипуляций Вы понимаете,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1157620/slide-11.jpg)
что стандартное использование языка нужно менять… кардинально
Слайд 14Микросервисы и клиентская логика
Логика UI реализуется на клиенте (не путать с бизнес-логикой)
![Микросервисы и клиентская логика Логика UI реализуется на клиенте (не путать с](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1157620/slide-13.jpg)
- React / Angular / Vue / Ember
Сервер отдает только данные - REST / GraphQL / Protobuf
TCP / UDP
Кэширование не критичных данных на клиенте - LocalStorage / Web SQL / IndexDB
Слайд 15Микросервисная архитектура
Одна задача - один сервис
Несколько сервисов на 1 машине (Docker, NGINX
![Микросервисная архитектура Одна задача - один сервис Несколько сервисов на 1 машине](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1157620/slide-14.jpg)
Unit)
Воркеры (RabbitMQ, Active MQ)
Слайд 16Предметная область
Паттерны проектирования
Функциональное программирование vs ООП
Техники подхода к разработке (TDD/BDD)
![Предметная область Паттерны проектирования Функциональное программирование vs ООП Техники подхода к разработке (TDD/BDD)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1157620/slide-15.jpg)
Слайд 17Постулаты и принципы
DRY (DIE) - Don’t Repeat Youself (Duplication Is Evil)
KISS -
![Постулаты и принципы DRY (DIE) - Don’t Repeat Youself (Duplication Is Evil)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1157620/slide-16.jpg)
Keep It Simple, Stupid
YAGNI - You Ain’t Gonna Need It
SOLID
Слайд 19Полезные ссылки
https://web-creator.ru/articles/solid
https://vuejs.org/
http://forcoder.ru/sql/
https://events.yandex.ru/lib/talks/535/
https://ruhighload.com/
https://www.youtube.com/channel/UCwHL6WHUarjGfUM_586me8w
![Полезные ссылки https://web-creator.ru/articles/solid https://vuejs.org/ http://forcoder.ru/sql/ https://events.yandex.ru/lib/talks/535/ https://ruhighload.com/ https://www.youtube.com/channel/UCwHL6WHUarjGfUM_586me8w](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1157620/slide-18.jpg)