Содержание
- 2. Зачем frontik? I
- 3. 100% 08:00 20:00
- 5. Яндекс (XScript) Mail.ru (FEST)
- 6. Выбрали XScript OpenSource Проверено XSLT
- 7. 100% 08:00 20:00
- 8. Минусы XScript XML-based язык агрегации Нет доступа к кишкам HTTP Сложность доработки
- 9. Что frontik? II
- 10. Основной сценарий использования:
- 11. Frontik - application server, основанный на Tornado Web Server Tornado: AsyncHttpServer один поток выполнения ioloop прием
- 12. диспетчеризация запросов по URL HTTP опрос backend`ов парсинг, обработка и агрегация xml ответов XSLT шаблонизация Где
- 13. Реальный пример
- 14. Как это работает:
- 15. Фичи от frontik`а 1. app-root/helloworld.py class Page(frontik.page.PageHandler): @set_xsl('helloworld.xsl') def get_page(self, request): res = etree.Element('hello') res.text =
- 16. Фичи от frontik`а 2. Обработка ответов def cb(xml, response): nodes = xpath.Evaluate(..., xml) if not nodes:
- 17. Фичи от frontik`а 3. Future placeholder = self.get_url(...) self.doc.put(placeholder)
- 18. Фичи от frontik`а 4. SyncGroups group=frontik.async.AsyncGroup(finish_cb) self.get_url(request1, group.add(cb1)) self.post_url(request2, group.add(cb2))
- 19. Фичи от frontik`а 5. Главное: простота развития Быстрая и гибкая разработка на python
- 20. Как frontik? III
- 21. → xslt → xml ответ Этапы трансформации Было: Cтало: → → xml ответ xslt → пост-обработка
- 22. Пост-обработка Fuchakubutsu (переводы)
- 23. Пост-обработка ссылки на региональные сайты (200kb xml, 7k nodes)
- 24. Кэш Было: поиск → загрузка найденного → XSLT → результат Cтало: поиск → memcached → →
- 25. Дублирование кода верстки обвязка сайта (jsp vs. xslt)
- 26. Обвязка сайта Было: browser ↔ jsp Cтало: browser ↔ frontik ↔ jsp
- 27. Проблемные места (они же — планы развития) Один процесс — однин тред — одно ядро процессора
- 29. Скачать презентацию