Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Як прокачати трьох студентів за п’ять тижнів

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 64 Anuncio

Як прокачати трьох студентів за п’ять тижнів

Descargar para leer sin conexión

GitHub repository: https://github.com/stfalcon-studio/lost-and-found
Відео з презентації: https://www.youtube.com/watch?v=3EgilE_fpkI

До нас на студію прийшли три студенти проходити практику. Потрібно було дати їм завдання і організувати навчальний процес. Розробляли проект "Бюро знахідок" на PHP Framework Symfony2. Ділюсь своїм досвідом, як я це зробив і що в результаті вийшло.

GitHub repository: https://github.com/stfalcon-studio/lost-and-found
Відео з презентації: https://www.youtube.com/watch?v=3EgilE_fpkI

До нас на студію прийшли три студенти проходити практику. Потрібно було дати їм завдання і організувати навчальний процес. Розробляли проект "Бюро знахідок" на PHP Framework Symfony2. Ділюсь своїм досвідом, як я це зробив і що в результаті вийшло.

Anuncio
Anuncio

Más Contenido Relacionado

Similares a Як прокачати трьох студентів за п’ять тижнів (20)

Más reciente (20)

Anuncio

Як прокачати трьох студентів за п’ять тижнів

  1. 1. Як прокачати трьох студентів за п’ять тижнів Artem Genvald Km Code'n'Coffee #12 26.02.2015
  2. 2. Я очікував на щось таке...
  3. 3. Або таке...
  4. 4. Але отримав таке :)
  5. 5. Опитування студентів Оцініть свої знання за шкалою від 0 до 10. Де: 0 - абсолютно нічого не знаю 10 - знаю бездоганно
  6. 6. Біллі 0 1 2 3 4 5 6 7 8 9 10 PHP JavaScript CSS HTML PHP-Framework Symfony2 Doctrine ORM PHP best practice PhpStorm Шаблонізатор TWIG SQL MySQL DB Git, GitHub Workflow Design Patterns TDD, PHPUnit BDD, Behat & Mink Web-Development Workflow
  7. 7. Віллі 0 1 2 3 4 5 6 7 8 9 10 PHP JavaScript CSS HTML PHP-Framework Symfony2 Doctrine ORM PHP best practice PhpStorm Шаблонізатор TWIG SQL MySQL DB Git, GitHub Workflow Design Patterns TDD, PHPUnit BDD, Behat & Mink Web-Development Workflow
  8. 8. Діллі 0 1 2 3 4 5 6 7 8 9 10 PHP JavaScript CSS HTML PHP-Framework Symfony2 Doctrine ORM PHP best practice PhpStorm Шаблонізатор TWIG SQL MySQL DB Git, GitHub Workflow Design Patterns TDD, PHPUnit BDD, Behat & Mink Web-Development Workflow
  9. 9. Як організувати практику, щоб було цікаво і студентам, і керівнику ● Придумати цікаве і корисне завдання ● Придумати цікавий робочий процес ● Викладатись на максимум і вимагати цього ж ● Давати не тільки критику, але і похвалу ● Краще багато маленьких завдань, ніж одне велике ● Не скупитись ділитись знаннями
  10. 10. Про проект Lost and Found - Бюро знахідок ● Подача/перегляд оголошень ● GPS-координати знайденої/загубленої речі ● Пошук співпадінь, прив’язка до категорій ● Соціалізація ● https://github.com/stfalcon-studio/lost-and-found
  11. 11. Рефакторити доводилось не тільки код, але й робочі місця
  12. 12. До рефакторинга
  13. 13. Після рефакторинга
  14. 14. Робота в команді
  15. 15. Trello
  16. 16. Маркування тікетів кольорами
  17. 17. З першого погляду видно стан справ
  18. 18. Перший тиждень ● Уроки по Git на Code School ● Реєстрація на GitHub ● Розгортання Symfony ● Code Style ● phpDocumentor ● Проектування бази даних ● Semantic Versioning ● Опис перших сутностей та міграції ● Перший робочий функціонал: форма для додавання речей, адмінка
  19. 19. Code Style
  20. 20. Што, кря…?
  21. 21. Code Style ● PSR-0, PSR-1, PSR-2, PSR-3, PSR-4 ● Symfony Coding standards ● TWIG Coding standards ● phpcs
  22. 22. RTFM! Читаємо документацію
  23. 23. Batsignal
  24. 24. Читаємо документацію! Кря...
  25. 25. Другий тиждень ● Версіонування даних ● Сторінка перегляду окремої речі ● Доробки в адмінці (batch actions, плюшки від Sonata) ● Підключення Leaflet.js ● Шаблонізатор TWIG ● ORM, DBAL ● FormType в Symfony ● Сесія, флеш-повідомлення ● Валідація ● Різні маркери категорії ● YAGNI, KISS, DRY ● Реєстрація користувачів через Facebook ● Сторінка профілю користувача ● Можливість позначення території для загубленої речі
  26. 26. Leaflet Draw
  27. 27. Третій тиждень ● PHPUnit ● DoctrineExtensions: Tree ● Popus on markers ● Emails ● Вивід карти загублених/знайдених речей ● AJAX ● Виправлення багів ● Service Container в Symfony2 ● Як слідкувати за інформацією в світі PHP? ● Розділення функціоналу по ролям ● F.A.Q.
  28. 28. Skype >>> Slack
  29. 29. Підключаємо сервіси оцінки якості коду
  30. 30. ● Travis CI ● Scrutinizer ● Codecov ● Packagist ● VersionEye ● SensioLabs Insight ● HHVM ● Gitter
  31. 31. Code Coverage
  32. 32. Scrutinizer
  33. 33. SensioLabs Insight
  34. 34. Парне програмування
  35. 35. Четвертий тиждень ● Консольна команда для пошуку співпадінь ● Events and Event Dispatcher ● Запит контактів автора оголошення ● Форма зворотнього зв’язку ● Завантаження фотографії для оголошень ● Переклади інтерфейсу ● Статистика загублених і знайдених речей в бекенді ● Вивчення Behat та перші тести ● SonataSeoBundle ● Корисні фічі PhpStorm
  36. 36. Scrum
  37. 37. Team Lead
  38. 38. sКРЯm ● короткі спрінти: 3-4 дні для гнучкості ● тікети на команду, в команді тікети розподіляють самостійно ● тім-лід приймає пулл-реквести в свій бранч ● в кінці спрінта - демо ● я приймаю тільки один великий пулл-реквест в develop в кінці спрінта
  39. 39. П’ятий тиждень ● Refactoring ● Кастомізація адмінки ● Покриття тестами існуючого функціоналу ● Верстка ● Повідомлення між користувачами ● SonataMediaBundle ● CSRF tokens ● RESTful API
  40. 40. Story points ● Перший тиждень - 41 ● Другий тиждень - 85 ● Третій тиждень - 63 ● Четвертий тиждень - 84,5 ● П’ятий тиждень - 33,5...
  41. 41. Типові баги, факапи, фейли
  42. 42. Типові баги, факапи, фейли ● закомітили вендори і кеш ● код з однієї фічі попадав в бранч іншої ● не переглядали diff під час коміту, попадав зайвий код ● вперто не видаляли закоментований код ● зламані міграції
  43. 43. Повторне опитування студентів в кінці практики
  44. 44. Біллі 0 1 2 3 4 5 6 7 8 9 10 PHP JavaScript CSS HTML PHP-Framework Symfony2 Doctrine ORM PHP best practice PhpStorm Шаблонізатор TWIG SQL MySQL DB Git, GitHub Workflow Design Patterns TDD, PHPUnit BDD, Behat & Mink Web-Development Workflow
  45. 45. Віллі 0 1 2 3 4 5 6 7 8 9 10 PHP JavaScript CSS HTML PHP-Framework Symfony2 Doctrine ORM PHP best practice PhpStorm Шаблонізатор TWIG SQL MySQL DB Git, GitHub Workflow Design Patterns TDD, PHPUnit BDD, Behat & Mink Web-Development Workflow
  46. 46. Діллі 0 1 2 3 4 5 6 7 8 9 10 PHP JavaScript CSS HTML PHP-Framework Symfony2 Doctrine ORM PHP best practice PhpStorm Шаблонізатор TWIG SQL MySQL DB Git, GitHub Workflow Design Patterns TDD, PHPUnit BDD, Behat & Mink Web-Development Workflow
  47. 47. Статистика RescueTime від Діллі
  48. 48. Бейджики
  49. 49. Біллі ● копіпастер level 2 ● мауглі ● пінг-понгер ● merge-conflict ● вотЕтаПаварот ● йошкін кот level 2 ● feature-inventor level 2 ● renamer… ● селфі-спамер ● sprint #1 done ● sprint #2 done
  50. 50. Віллі ● pair-programming ● копіпастер level 2 ● F.A.Q. (friendly) ● йошкін кот ● sprint #1 done ● sprint #2 done
  51. 51. Діллі ● javascript-slave ● pair-programming ● монетизатор ● Робін ● sКРЯm-master ● Behat-сапер ● sprint #1 done ● sprint #2 done
  52. 52. Чуваки на правильному шляху
  53. 53. Перший отриманий хабар :)
  54. 54. Плани на наступну практику ● Покращення алгоритму пошуку співпадінь ● API ● Покращений пошук ● Кластеризація маркерів при зумі ● Публікація в соціальні мережі ● Рейтинг користувачів, бейджики ● Нотифікація про знайдені поряд речі ● Прив’язування оголошення до події ● Функціонал блогу ● RabbitMQ? ● ElasticSearch? ● MongoDB?
  55. 55. Як я прокачав себе
  56. 56. Як я прокачав себе ● time management ● project management ● оновив свої знання ● вивчив те, що не знав ● на скільки добре я пояснюю матеріал?
  57. 57. Практика закінчилась Тепер я вільний!
  58. 58. А де ж Поночка? :)
  59. 59. А ось вона =) Яна - HR at Stfalcon.com
  60. 60. Happy End To be continued...

×