Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемЗоя Яснова
1 Организация инфраструктуры разработки - примеры из жизни Александр Сербул Руководитель направления контроля качества интеграции и внедрений 1С-Битрикс
2 Цели Поговорить – как бывает и как правильнее и почему Обсудить и выбрать современные адекватные инструменты Создать эффективную структуру разработки – в зависимости от типа и размеров веб-системы
3 Сам себе хозяин Даже когда программист один и «кодит» в Notepad – … теряется впустую немало времени ($) Подсветка кода – резко снижает число ошибок Подсказки параметров функций/методов – ускоряют разработку Встроенная справка по PHP – меньше ошибок, быстрее Дерево проекта, классов – упрощает навигацию и ускоряет Codestyle – настроен один раз Встроенная работа с удаленными серверами – скорость Время – деньги.
4 Где писать код? Разработчики должны использовать – современные инструменты IDE ( Integrated Development Environment ) Выберите удобный IDE, изучите и внедрите Экономьте время и деньги! PHP Development Tools (PDT)
5 Где писать код?
6 PhpStorm Подсказки по PHP и вашим функциям/классам, подсветка ошибок
7 PhpStorm Встроенный help по PHP – немного корявый, но работает Ctrl + B
8 PhpStorm Подсказки структуры классов
9 PhpStorm Структура сущностей программы, теги PhpDocumentor
10 PhpStorm Связь с удаленными серверами, контроль версий
11 Среды разработки – Zend Studio
12 Среды разработки – Eclipse PDT
13 Где писать код? Выжимайте из IDE – максимум удобных и полезных вещей Систематизируйте настройки IDE у разработчиков «Скупой платит дважды» PHP Development Tools (PDT)
14 Среды разработки для PHP/HTML/JS – на Битриксе Не добавляйте Битрикс в контроль версий! Используйте IDE для своего репозитория, модулей Обновляйте Битрикс – отдельно, как библиотеку Для контента и файлов прав – делаем инкрементальный бэкап Очень нужна интеграция Битрикс в IDE.
15 Управление версиями Код – под контролем, можно откатиться Видно, кто, что и когда делал Легче добавлять функционал, эксперементировать Можно добавлять в VCS – компоненты, шаблоны, модули
16 Управление версиями
17 Ветка 1 Разработчик 1 Разработчик 2 Разработчик 3 Ветка 2 Ветка 3 Ветка DEV Изменения в ветки DEV/TESTING переносит опытный разработчик Вед. разработчик Серверы разработки Ветка TESTING Ветка PRODUCTION Серверы тестирования Вед. разработчик Тестировщик 1 Тестировщик 2 Серверы в production Сисадмин На «бой» протестированные изменения выкладывает сисадмин.
18 Wiki Это удобнее, чем «кидаться» письмами и документами Сохраняется история изменений страницы Можно задать права Легко создать древовидную структуру проектов Легко искать по информации Можно прикреплять файлы/изображения
19 Wiki: redmine, confluence
20 Трекеры задач и багов Задачи не теряются Можно отследить общение по задаче В WIKI можно сослаться на задачи и баги и их статус Удобно состыковать с гибким процессом разработки – ссылка на коммит
21 Трекеры задач и багов
24 Инструменты отладки кода Xdebug – на тестовых серверах XHProf – можно и на боевых Pinba – нужно на боевых gdb – в основном на боевых
25 Инструменты отладки кода - Pinba Используем на боевых серверах UDP-пакеты быстро и просто Измеряем как быстро и устойчиво работает код веб-проекта
26 Инструменты отладки кода - Xdebug Трассируем выполнение страниц Профилируем c webgrind Красивые бэктрейсы ошибок
27 Инструменты отладки кода - XHProf Можно на бою Граф вызовов функий, CPU, memory
28 Инструменты отладки кода - XHProf
29 Инструменты отладки кода - gdb (gdb) bt #0 0x00007fb8df6eeec3 in _zend_mm_free_canary_int (heap=0x7fb8e55412f0, p=0x8979bd1cfff04d3f) at /usr/src/php5/source/php /Zend/zend_alloc_canary.c:2097 #1 0x00007fb8df6cdc8d in _zval_dtor_func (zvalue=0x7fb8e ) at /usr/src/php5/source/php /Zend/zend_variables.c:36 #2 0x00007fb8df6c1cb9 in _zval_ptr_dtor (zval_ptr=0x7fb8e55412f0) at /usr/src/php5/source/php /Zend/zend_variables.h:35 #3 0x00007fb8d7d9f892 in ?? () from /usr/lib/php5/ /memcached.so #4 0x00007fb8df71f9ba in zend_do_fcall_common_helper_SPEC (execute_data=0x7fb8e ) at /usr/src/php5/source/php /Zend/zend_vm_execute.h:320 #5 0x00007fb8df6f6e70 in execute (op_array=0x7fb8e ) at /usr/src/php5/source/php /Zend/zend_vm_execute.h:107 Просмотреть трейс вызовов PHP: gdb apache2 core (gdb) source /usr/src/php5_/source/php5-5.3/.gdbinit (gdb) dump_bt executor_globals.current_execute_data
30 Выбираем удобный инструментарий! Media Wiki Excel Redmine Track Confluence Раб. группа: Битрикс24/Корппортал Управление требованиями Redmine Jira Раб. группа: Битрикс24/Корппортал Track TrackStudio Управление задачами, временем, рисками, документами, проектом Mantis SVN Mercurial Git Bazaar Управление версиями кода ZendStudio PhpStorm Eclipse PDT Среды разработки Xdebug XHProf Pinba Средства отладки для разработчиков
31 Инструменты и проекты IDE и контроль версий – всегда и везде! Wiki – очень полезно, особенно если много требований Трекеры задач – полезны практически в любой проекте Много веток в контроле версий – в больших проектах полезно Битрикс – и много разработчиков Битрикс – разные БД у разработчиков или нет? Битрикс – контент и контроль версий Девелоперские, тестовые и боевые сервера
32 Спасибо за внимание! Вопросы? Александр Сербул AlexSerbul
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.