Easy authcache 2   кэширование для pro. Родионов Игорь
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Easy authcache 2 кэширование для pro. Родионов Игорь

on

  • 943 views

 

Statistics

Views

Total Views
943
Views on SlideShare
476
Embed Views
467

Actions

Likes
0
Downloads
2
Comments
0

2 Embeds 467

http://drupaler.ru 451
http://www.drupaler.ru 16

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Easy authcache 2 кэширование для pro. Родионов Игорь Presentation Transcript

  • 1. Easy authcache 2 -кеширование для Pro Игорь Родионов Drupal expert rodionov.ig@gmail.com
  • 2. Спонсоры Организатор Генеральный спонсор Серебряный спонсор Серебряный спонсор Бронзовый спонсор Бронзовый спонсор
  • 3. Родионов ИгорьCooking Drupal ~ 5 years ~ 14 projects ~ 60 patches ~16 approved
  • 4. Drupal
  • 5. Drupal
  • 6. Преждевременная оптимизация
  • 7. Drupal
  • 8. Кеширование
  • 9. Кеширование
  • 10. Кеширование
  • 11. Кеширование• Система разделения контента• Система доставки “динамического” контента• Кеширующий прокси
  • 12. Система разделения контента/** * Implements hook_easy_authcache_register() */function easy_authcache_block_easy_authcache_register() { $items[] = array( theme => block, mock callback => easy_authcache_block_dynamic_args, callback => easy_authcache_block_callback ); return $items;}
  • 13. Система разделения контентаfunction easy_authcache_block_dynamic_args(&$vars) { $module = $vars[block]->module; $delta = $vars[block]->module; $conf = _easy_authcache_block_settings($module, $delta); if ($conf[is_dynamic]) { $block_id = _easy_authcache_block_id($module, $delta); $params = array(region => $vars[block]->region, block_id =>$block_id); return array(id => $block_id, params => $params); } return null;}
  • 14. Система разделения контента/** * Implements hook_easy_authcache_register() */function easy_authcache_block_easy_authcache_register() { $items[] = array( theme => block, mock callback => easy_authcache_block_dynamic_args, callback => easy_authcache_block_callback ); return $items;}
  • 15. Система разделения контентаfunction easy_authcache_block_callback($data) { if (empty($data)) { return ; } $block_id = $data[block_id];......... COPY PASTE FROM DRUPAL CORE BLOCK MODULE.......... // Process each block $block->region = $data[region];......... COPY PASTE FROM DRUPAL CORE BLOCK MODULE.......... $output = theme(block, $block); return $output;}
  • 16. Система разделения контента/** * Implements hook_easy_authcache_register() */function easy_authcache_block_easy_authcache_register() { $items[] = array( theme => block, mock callback => easy_authcache_block_dynamic_args, callback => easy_authcache_block_callback ); return $items;}
  • 17. Система доставки контента• ESI – Edge side includes – CDN (Akamai) – Caching proxy (Varnish,Squid,Mongrel)• SSI – Server side includes – Web server (Apache, nginx, lighttpd, IIS)• Ajax – Client side include – Web browsers with JavaScript support
  • 18. Клуб анонимных друпалеров“А можем мы обновить ядро?”
  • 19. Клуб анонимных друпалеров откуда я то знаю?
  • 20. Клуб анонимных друпалеров
  • 21. Клуб анонимных друпалеров
  • 22. Клуб анонимных друпалеров Возми проект под контроль!
  • 23. Непрерывная интеграция• Избавится от рутины• Регрессионное тестирование• Быстрая обратная связь• Уверенность в проекте• Часты релизы
  • 24. Непрерывная интеграция
  • 25. Deploy
  • 26. Deploy Code RunSVN Bash ManualGIT Bash SSHCVS VCS Hooks CronMercurial CapistranoFTP PhingistranoSFTP
  • 27. Инспекция
  • 28. Инспекция – Copy - Paste PHPCPD pear install phpunit/phpcpd
  • 29. Инспекция - Mess phplinticosaedro.it/phplint
  • 30. Инспекция - Mess PHPMD phpmd.org______________________________ Code Size Rules Design Rules Naming RulesUnused Code Rules
  • 31. Инспекция – Code Style Code Sniffer pear install PHP_CodeSniffer Drupal Code Sniffer drupal.org/project/drupalcs
  • 32. Тестирование
  • 33. ТестированиеSelenium + Unit testing framework+ Functional тестирование- Unit тестирование+ Поддержка Java Script- Доступ к API Drupal- Атомарность тестов- Хрупкость тестов- Запуск тестов паралельно- Производительность тестов
  • 34. ТестированиеSimpletest/Simpletest clone+ Functional тестирование+ Unit тестирование- Поддержка Java Script+ Доступ к API Drupal+ Атомарность тестов+ Хрупкость тестов+ Запуск тестов паралельно+ Производительность тестов
  • 35. ТестированиеSimpletest/Simpletest clone/Selenium+ Functional тестирование+ Unit тестирование+ Поддержка Java Script+ Доступ к API Drupal+ Атомарность тестов+ Хрупкость тестов+ Запуск тестов паралельно+ Производительность тестов
  • 36. Сборка
  • 37. Сборка
  • 38. Сборка • Contribute • Custom • Forked
  • 39. Сборка • Contribute • Custom • Forked Patches
  • 40. Сборка Drush makeprojects[admin_menu][version] = "3.0-rc1"projects[admin_menu][subdir] = "contrib/dev"projects[admin_menu][patch][] = "patches/admin_menu_font.patch"
  • 41. Непрерывная интеграция• Избавится от рутины• Регрессионное тестирование• Быстрая обратная связь• Уверенность в проекте• Часты релизы
  • 42. Сборка• Drush make• Корпоративные репозитории модулей• Хакайте ядро и модули• Возвращайте патчи в сообщество
  • 43. Сборка Не храните
  • 44. Сборка Модули Drush migrate Features Cущности Ctools default hooks Strongarm Настройки Ctools Features Uuid Контент Uuid features Features
  • 45. Сборка - phing • $ phing make • $ phing install • $ phing update • $ phing test • $ phing inspect • $ phing create • $ phing phpcs etc ...
  • 46. Итого• Контроль над проектом• Уменьшили время релиза• Уменьшили риски• Накопление “технического опыта”• Гибкость интеграции стороннего кода• 75% разработчиков счастливы
  • 47. Спасибо - друзьямРодионову Алексею Мироненко МаксимуТищенко Максиму Королькову Александру
  • 48. Спасибо за внимание Вопросы? Игорь Родионов Drupal expert rodionov.ig@gmail.com
  • 49. Спонсоры Организатор Генеральный спонсор Серебряный спонсор Серебряный спонсор Бронзовый спонсор Бронзовый спонсор