Слайд 2первые наработки - 2003 год
нагруженный проект, много запросов, мало памяти, мало CPU
компьютеры
![первые наработки - 2003 год нагруженный проект, много запросов, мало памяти, мало](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-1.jpg)
выросли, но выросли и нагрузки; ничего не изменилось
новые требования: модульность, упрощение API, переносимость
Слайд 3Парадигма MVC и CAS
что такое MVC и зачем оно нужно?
наши модификации
достоинства предложенной
![Парадигма MVC и CAS что такое MVC и зачем оно нужно? наши](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-2.jpg)
схемы
архитектура CAS
Слайд 4Классическая архитектура MVC
![Классическая архитектура MVC](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-3.jpg)
Слайд 5Критика
плохо работает под большой нагрузкой
сложность разработки моделей, контроллеров и представлений
ненужный код в
![Критика плохо работает под большой нагрузкой сложность разработки моделей, контроллеров и представлений](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-4.jpg)
моделях
проблемы с масштабированием
Слайд 7Достоинства
модели – универсальные
формирование ответа – только в представлении
для генерации HTML/JSON/XML кроме шаблона
![Достоинства модели – универсальные формирование ответа – только в представлении для генерации](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-6.jpg)
ничего не требуется
простота внесения правок
высокая скорость работы
Слайд 8Проект CTPP
виртуальная машина
библиотека функций
компилятор
коллектор результатов
кэш байткода
![Проект CTPP виртуальная машина библиотека функций компилятор коллектор результатов кэш байткода](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-7.jpg)
Слайд 9Результаты
CTPP2
HTML::Template::JIT
HTML::Template::Pro
HTML::Template
Template::Toolkit
![Результаты CTPP2 HTML::Template::JIT HTML::Template::Pro HTML::Template Template::Toolkit](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-8.jpg)
Слайд 10Архитектура CAS
модульность
изоляция сущностей
простота разработки и сопровождения
расширяемость
универсальность
интегрируемость
![Архитектура CAS модульность изоляция сущностей простота разработки и сопровождения расширяемость универсальность интегрируемость](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-9.jpg)
Слайд 11Жизненный цикл
загрузка конфигурации
загрузка модулей
создание сервера приложений
обработка запросов
выход
![Жизненный цикл загрузка конфигурации загрузка модулей создание сервера приложений обработка запросов выход](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-10.jpg)
Слайд 12Обработка запроса
контролллер исполняется первым
модели запускаются последовательно
если возникла ошибка – работают финализаторы
представление формирует
![Обработка запроса контролллер исполняется первым модели запускаются последовательно если возникла ошибка –](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-11.jpg)
данные
Слайд 13От слов – к делу!
необходимый инструментарий
пишем “Hello, World!”
тестируем результаты работы
пример посложнее –
![От слов – к делу! необходимый инструментарий пишем “Hello, World!” тестируем результаты](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-12.jpg)
лента новостей
сравним с mod_perl
и с PHP – тоже сравним
Слайд 14Инструменты
компилятор C++
система сборки cmake
сервер приложений C++
10 минут свободного времени
![Инструменты компилятор C++ система сборки cmake сервер приложений C++ 10 минут свободного времени](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-13.jpg)
Слайд 18Hello, World!
Проверяем результат
![Hello, World! Проверяем результат](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-17.jpg)
Слайд 22Интеграция
единые шаблоны для всего проекта, независимо от “движка”
простота миграции между технологиями
высокая скорость
![Интеграция единые шаблоны для всего проекта, независимо от “движка” простота миграции между](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-21.jpg)
прототипирования и разработки
поддержка популярных языков и сред: Perl, PHP, Python
Слайд 23Интерфейсы
Apache 1.3.X
Apache 2.X
FastCGI
![Интерфейсы Apache 1.3.X Apache 2.X FastCGI](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-22.jpg)
Слайд 24Платформы и архитектуры
Linux
FreeBSD
Solaris
i386
amd64
UltraSPARC
![Платформы и архитектуры Linux FreeBSD Solaris i386 amd64 UltraSPARC](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-23.jpg)
Слайд 25Развитие проекта
сервер-сборщик (привет, Mail.ru ;)
несколько разных View: HTML, JSON, XML
отдельные части сервера
![Развитие проекта сервер-сборщик (привет, Mail.ru ;) несколько разных View: HTML, JSON, XML](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/409547/slide-24.jpg)
– в виде самостоятельных библиотек
модули CAS для работы с разнообразными поставщиками данных