Top Banner
Як прокачати трьох студентів за п’ять тижнів Artem Genvald Km Code'n'Coffee #12 26.02.2015
63

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

Jul 15, 2015

Download

Education

Artem Genvald
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Як прокачати трьох студентів за п’ять тижнів

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

Artem Genvald

Km Code'n'Coffee #1226.02.2015

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

Я очікував на щось таке...

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

Або таке...

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

Але отримав таке :)

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

Опитування студентів

Оцініть свої знання за шкалою від 0 до 10. Де:

0 - абсолютно нічого не знаю10 - знаю бездоганно

Page 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

Page 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

Page 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

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

Як організувати практику, щоб було цікаво і студентам, і керівнику

● Придумати цікаве і корисне завдання

● Придумати цікавий робочий процес

● Викладатись на максимум і вимагати цього ж

● Давати не тільки критику, але і похвалу

● Краще багато маленьких завдань, ніж одне велике

● Не скупитись ділитись знаннями

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

Про проект

Lost and Found - Бюро знахідок

● Подача/перегляд оголошень

● GPS-координати знайденої/загубленої речі

● Пошук співпадінь, прив’язка до категорій

● Соціалізація

● https://github.com/stfalcon-studio/lost-and-found

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

Рефакторити доводилось не тільки код, але й робочі місця

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

До рефакторинга

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

Після рефакторинга

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

Робота в команді

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

Trello

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

Маркуваннятікетів

кольорами

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

З першого поглядувидно стан справ

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

Перший тиждень● Уроки по Git на Code School● Реєстрація на GitHub● Розгортання Symfony● Code Style● phpDocumentor● Проектування бази даних● Semantic Versioning● Опис перших сутностей та міграції● Перший робочий функціонал: форма для

додавання речей, адмінка

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

Code Style

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

Што, кря…?

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

Code Style

● PSR-0, PSR-1, PSR-2, PSR-3, PSR-4

● Symfony Coding standards

● TWIG Coding standards

● phpcs

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

RTFM! Читаємо документацію

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

Batsignal

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

Читаємо документацію! Кря...

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

Другий тиждень● Версіонування даних● Сторінка перегляду окремої речі● Доробки в адмінці (batch actions, плюшки від Sonata)● Підключення Leaflet.js● Шаблонізатор TWIG● ORM, DBAL● FormType в Symfony● Сесія, флеш-повідомлення● Валідація● Різні маркери категорії● YAGNI, KISS, DRY● Реєстрація користувачів через Facebook● Сторінка профілю користувача● Можливість позначення території для загубленої речі

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

Leaflet Draw

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

Третій тиждень● PHPUnit● DoctrineExtensions: Tree● Popus on markers● Emails● Вивід карти загублених/знайдених речей● AJAX● Виправлення багів● Service Container в Symfony2● Як слідкувати за інформацією в світі PHP?● Розділення функціоналу по ролям● F.A.Q.

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

Skype >>> Slack

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

Підключаємо сервіси оцінки якості коду

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

● Travis CI● Scrutinizer● Codecov● Packagist● VersionEye● SensioLabs Insight● HHVM● Gitter

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

Code Coverage

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

Scrutinizer

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

SensioLabs Insight

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

Парне програмування

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

Четвертий тиждень● Консольна команда для пошуку співпадінь● Events and Event Dispatcher● Запит контактів автора оголошення● Форма зворотнього зв’язку● Завантаження фотографії для оголошень● Переклади інтерфейсу● Статистика загублених і знайдених речей в

бекенді● Вивчення Behat та перші тести● SonataSeoBundle● Корисні фічі PhpStorm

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

Scrum

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

Team Lead

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

sКРЯm

● короткі спрінти: 3-4 дні для гнучкості● тікети на команду, в команді тікети розподіляють

самостійно● тім-лід приймає пулл-реквести в свій бранч● в кінці спрінта - демо● я приймаю тільки один великий пулл-реквест в

develop в кінці спрінта

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

П’ятий тиждень● Refactoring

● Кастомізація адмінки

● Покриття тестами існуючого функціоналу

● Верстка

● Повідомлення між користувачами

● SonataMediaBundle

● CSRF tokens

● RESTful API

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

Story points

● Перший тиждень - 41

● Другий тиждень - 85

● Третій тиждень - 63

● Четвертий тиждень - 84,5

● П’ятий тиждень - 33,5...

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

Типові баги, факапи, фейли

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

Типові баги, факапи, фейли

● закомітили вендори і кеш

● код з однієї фічі попадав в бранч іншої

● не переглядали diff під час коміту, попадав

зайвий код

● вперто не видаляли закоментований код

● зламані міграції

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

Повторне опитування студентів в кінці практики

Page 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

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

Віллі 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

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

Діллі 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

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

Статистика RescueTime від Діллі

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

Бейджики

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

Біллі● копіпастер level 2● мауглі● пінг-понгер● merge-conflict● вотЕтаПаварот● йошкін кот level 2● feature-inventor level 2● renamer…● селфі-спамер● sprint #1 done● sprint #2 done

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

Віллі● pair-programming● копіпастер level 2● F.A.Q. (friendly)● йошкін кот● sprint #1 done● sprint #2 done

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

Діллі● javascript-slave● pair-programming● монетизатор● Робін● sКРЯm-master● Behat-сапер● sprint #1 done● sprint #2 done

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

Чуваки на правильному шляху

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

Перший отриманий хабар :)

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

Плани на наступну практику● Покращення алгоритму пошуку співпадінь● API● Покращений пошук● Кластеризація маркерів при зумі● Публікація в соціальні мережі● Рейтинг користувачів, бейджики● Нотифікація про знайдені поряд речі● Прив’язування оголошення до події● Функціонал блогу● RabbitMQ?● ElasticSearch?● MongoDB?

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

Як я прокачав себе

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

Як я прокачав себе

● time management

● project management

● оновив свої знання

● вивчив те, що не знав

● на скільки добре я пояснюю матеріал?

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

Практика закінчилась

Тепер я вільний!

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

А де ж Поночка? :)

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

А ось вона =)

Яна - HR at Stfalcon.com

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

Happy End

To be continued...