Слайд 2Дисклеймер
Возможно, здесь будет рассказано о тех вещах, которые Вам знакомы или очевидны,
но мне как-то пофиг )))
Повествование из личного опыта...
Слайд 3На дворе недалекое “недавно”, и мы развернули проектик фирмы на любименьком вордпрессике...
Слайд 5Проблемы
Слабое железо
Неоптимизированный код
Неверно спланированная архитектура
Слабое представление предметной области
Слайд 6Слабое железо
Вертикальное масштабирование
Горизонтальное масштабирование
Слайд 7Горизонтальное масштабирование
Разделение базы данных по серверам
Шардирование / Репликация
База становится зависимой от кода
Слайд 8Неоптимизированный код
При разработке на мощном железе не обращают внимание на оптимальное написание
кода
Малое или полное отсутствие знания RDB или SQL
Неиспользование инструментов профилирования или debug tools
Слайд 9ЗНАЙ СВОЙ ИНСТРУМЕНТ
Поднятия версии программного обеспечения
Понимание работы RDB и SQL выше минимума
Понимание
noSQL баз данных
Тесты...Тесты...Тесты...
Слайд 10Профилирование и debug
Время выполнения участков кода
Время выполнения SQL запросов
Debug tools (XDEBUG, Yii
debug tool)
Profiler (Z-Ray, Blackfire, Tideways)
Logger (Sentry)
Слайд 11Кэширование
Кэширование всех данных на отдачу
Кэширование куска данных
Кэширование запросов
Горячий кэш
Redis / Memcahe /
MemoryTable
Слайд 12Порой наступает то время, когда после всех усилий и манипуляций Вы понимаете,
что стандартное использование языка нужно менять… кардинально
Слайд 14Микросервисы и клиентская логика
Логика UI реализуется на клиенте (не путать с бизнес-логикой)
- React / Angular / Vue / Ember
Сервер отдает только данные - REST / GraphQL / Protobuf
TCP / UDP
Кэширование не критичных данных на клиенте - LocalStorage / Web SQL / IndexDB
Слайд 15Микросервисная архитектура
Одна задача - один сервис
Несколько сервисов на 1 машине (Docker, NGINX
Unit)
Воркеры (RabbitMQ, Active MQ)
Слайд 16Предметная область
Паттерны проектирования
Функциональное программирование vs ООП
Техники подхода к разработке (TDD/BDD)
Слайд 17Постулаты и принципы
DRY (DIE) - Don’t Repeat Youself (Duplication Is Evil)
KISS -
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