Враження від кращих доповідей на International PHP Conference

На початку червня у Берліні пройшла одна з найбільш просунутих конференцій по PHP — International PHP Conference 2016. В якості доповідачів у ній взяли участь такі фахівці, як Себастьян Бергман, Арне Бланкертс, Стефан Прибш і ще понад 50 осіб, які вносять свій постійний внесок у розвиток PHP. Конференція проводилася в шикарному 4-х зірковому готелі Марітім Проарте. Доповіді читалися в декілька паралельних потоків на англійській і німецькій і зачіпали як безпосередньо PHP-розробку, так і околодевелоперские теми: інфраструктуру, серверне програмне забезпечення, open source-розробку і багато іншого. Окремо хочеться відзначити ключові доповіді, які запалювали то іскрометним гумором, то глибиною порушених тем. У цій статті ми зібрали свої враження від найкрутіших доповідей, з посиланнями на презентації і приклади.

PHP 7: який він? (Себастьян Бергман)
Себастьян добирався до Берліна з пригодами — технічні проблеми з літаком, виявлені прямо перед вильотом (добре, що не після!). Тому його доповідь було перенесено на більш пізній термін. Але очікування було варте того!

Доповідач дуже ґрунтовно підійшов до змісту промови. Основною метою його було не залишити у слухачів жодного прогалини в розумінні ролі і місця PHP 7 у величезному світі сучасних мов програмування. Для цього Себастьян пройшовся дуже докладно за принципами роботи багатьох мов. Було приділено особливу увагу історії розвитку і парадигм програмування. Доповідач показав на прикладах, як мова змінювався від версії до версії, які нові риси купував, і на скільки краще ставав від цього. У підсумку можна сказати, що PHP 7 є імперативний мовою, який підтримує процедурне, а також об'єктно-орієнтоване програмування. Він має обмежену підтримку функціонального програмування. Також існують розширення для аспектно-орієнтованого програмування. PHP 7 динамічний, неявно, і слабо типізований, але при бажанні підтримує явну типізацію і сувору перевірку типів. Завдяки цій доповіді ми змогли глибше зрозуміти той інструмент, з яким ми працюємо кожен день.

Презентация.

Налаштування балансувальника рівня Enterprise з безкоштовним ПЗ. (Себастьян Фельдман)
Себастьян Фельдман — провідний розробник однієї з IT-компанії Мюнхена. Він описав, як він налаштовує балансировщики навантажень. Він робить ставку на те, що доступність є ключовим фактором в онлайн-бізнесі, і якщо веб-сайт або послуга не доступні для клієнтів — це завжди погано для бізнесу. З доповіді ми дізналися, як налаштувати балансувальник, щоб досягти високої продуктивності і високої доступності під навантаженням за допомогою безкоштовного програмного забезпечення Nginx і HAProxy. Доповідь містив безліч прикладів конфігурації, а також огляд інструментів для моніторингу. Особливу увагу Себастьян приділив налаштування операційної системи: агрегированию мережевих адаптерів, зміни розміру TCP-буфера. Доповідач поділився інформацією про те, чому збільшується продуктивність з'єднання з використанням протоколів SPDY і http2. Також був дуже пізнавальна його досвід переходу на SSL і перевірки відповідності вимогам безпеки (за допомогою https://www.ssllabs.com). Дуже цікавою була частина про стратегії переходу на інший хостинг для веб-серверів. Після цієї доповіді захотілося глибше заглянути в налаштування наших серверів і впровадити ті ідеї та напрацювання, якими поділився Себастьян Фельдман.

Презентация.

Just married: NodeJs and PHP (Арне Бланкертс)
Коли Node.js вперше відкрився світу в 2009 році, багато заявили, що настає кінець PHP. Тим не менш, близько шести років, обидві середовища живуть і процвітають, займаючи свої ніші! Але чому б не об'єднати найкраще, що є в обох мовах — це може стати відмінним рішенням для покриття потреб наступного покоління веб-додатків. Цей доповідь познайомив нас з системної і програмної архітектурою, яка поєднує в собі Node.js, PHP і Redis і дає дійсно потужний веб-стек для вирішення сучасних завдань. З допомогою такого рішення можна створювати додатки з постійним websocket-з'єднанням, в яких сам сервер посилає клієнту інформацію по мірі необхідності, при цьому не створюючи додаткового навантаження на мережу — адже постійне з'єднання! Доповідь сподобався саме тим, що дана тема тісно пов'язана з деякими поточними проектами, і було дуже пізнавально дізнатися підхід саме цього іменитого фахівця.

Презентация.

Symfony2 кращі практики з окопів (Стефан Коопмансхап)
Symfony2 відмінний фреймворк і на ньому досить легко створити свій перший додаток. У Symfony хороша документація, але, як і з будь-якою документацією, в ній складно описати всі нюанси і підводні камені документируемого коду.

Багато деталей і хороші методики найкраще пізнаються при роботі над своїм проектом. Під час цієї доповіді Стефан розібрав основні моменти в роботі з проектами на Symfony, на які варто звернути увагу, поділився з присутніми знаннями і досвідом, здобутим в окопах реальних проектів.

У звичайних умовах розробникам довелося б ухилятися від таких спірних моментів, як від куль в Матриці, самим вирішувати, як краще вчинити, пробувати, шукати рішення.

Будь то питання про подробиці конфігурації, про яку ви завжди забували, або як краще абстрагувати логіку в потрібних місцях, у Стафана, на все є думка, підкріплена досвідом, і він був радий поділитися ним. Наприклад, використання впровадження залежностей, роботи з конфігурацією проекту, винесення бізнес-логіки сервіси, або питання стандартизації — спектр розглянутих питань був досить великий.

Один з наших проектів, який зараз знаходиться в розробці, якраз написаний з використанням цього фреймворку. Слухаючи доповідь, час від часу ловили себе на думці, що самі або вчинили б аналогічно, або переробили так, як порекомендував Стефан. Доповідь буде цікавий початківцям розробникам, так і тим, хто вже розробив не один проект на Symfony, щоб ще раз переконатися, що прийняті при розробці рішення були правильними. Також є ймовірність, що після доповіді ви ще раз поглянете на код проекту і зрозумієте, як його можна поліпшити.

Презентація.

Як керувати утилітами проекту в 2016 (Арне Бланкертс, Себастіан Хойер)
Сьогодні управління залежностями в PHP проектах здійснюється, в основному, з допомогою Composer.

В той час, як це є повністю обґрунтованим для бібліотек, управління утилітами за допомогою Composer призведе до встановлення всіх залежностей цих інструментів. Крім того, що це уповільнює установку, ще відбувається змішування цих залежностей з залежностями програми. І хоча багато інструменти доступні як повністю автономні phar-архіви, ручну установку і оновлення їх важко назвати зручним процесом.

Якби тільки був спосіб автоматизувати це.

Саме про phive (phar.io), який був створений для вирішення цієї проблеми, і йшлося в доповіді. Арне і Себастьян розповіли докладніше про цю утиліту і показали її в дії. Проект все ще знаходиться в стадії альфа-версії і для установки доступно зовсім небагато утиліт. На даний момент це phpab, phpcpd, phpdox, phploc, phpunit, phpbu. Також можливе завантаження утиліт по посиланню або з Github (вказавши ім'я користувача та проекту). Видно. що програма ще не досягло стабільної версії, але його вже можна пробувати використовувати, можливо, спочатку для невеликих проектів. Ідея утиліти досить цікава, і хто знає, може, через деякий час ми всі будемо нею користуватися.

Презентация.

Docker у виробництві (Роберт Лемке)
Ви, швидше за все, вже чули про Docker, можливо, використовували його в якості середовища розробки для запуску вашого проекту на локальному комп'ютері. Але подальше використання Docker на бойових серверах — зовсім інша справа.

У своїй доповіді Роберт озвучив основні моменти, на які варто звернути увагу при використанні Docker у виробництві. А врахувати потрібно досить багато речей — моніторинг, розгортання, дебаг, безпека, бекапи, зберігання даних.Тобто питання, реалізація яких може сильно відрізнятися при розгортанні на одному сервері для розробки, і при розгорнути на бойовому оточенні.

Також Роберт допоміг отримати більш глибоке розуміння роботи з Docker на практиці.

Почавши з базових концептів, ми розглянули практичні сценарії для хостингу, автоматичного розгортання та моніторингу програми у виробництві. Крім того, були надані рекомендації по використанню різних інструментів і сервісів.

Docker — досить цікава технологія, і не дивлячись на те, що вона згадується буквально на кожному кроці, все ще порівняно рідко використовується в бойових оточеннях. Прослухавши цю доповідь, бажання використовувати його у виробництві підкріпилась знаннями і корисними порадами щодо вибору необхідних інструментів і сервісів, без яких довелося б винаходити велосипеди.

Презентація.

Прокачати свою команду (Стефан Коопмансхап)
Як технічний керівник проекту, керівник команди або ментор, в будь-який момент ви можете зіткнутися з тим, що ваша команда зупинилася в своєму розвитку. Причин тому безліч: членам вашої команди може не вистачати часу, мотивації, коштів, бажання. Між тим, кожному ліду потрібно, щоб хлопці в команді працювали ефективно, були здатні швидко переключитися на інший проект і залишалися залученими в професійне ком'юніті. Для цього тимлид повинен тримати руку на пульсі і прагнути не тільки до високих показників по проекту, але і до професійного зростання кожного члена команди. Як цього домогтися, розповів Стефан Коопмансхап.

Стефан перерахував всі відомі інструменти розвитку команди та навів приклади з особистого досвіду, як зробити так, щоб розробники самі підштовхували себе викладатися по повній. Звичайно, у доповіді було багато очевидних моментів, але Стефанові вдалося структурувати все різноманіття інструментів роботи з командою і створити повноцінну "інструкцію".

Стефан допоміг подивитись на обов'язки ліда з іншого боку і запропонував вирішення дійсно серйозної проблеми. Крім цього, його доповідь сам по собі мотивував до розвитку і підвищенню рівня знань, змусив замислитися про те, скільки часу і сил витрачати на розвиток людини в команді і проектної команди в цілому.

Презентация.

Сучасне додаток з Angular 2 — акуратне, просте і зрозуміле (Анас Рази Фірдоусі)
Сучасний темп розвитку веб-технологій вимагає гнучкого і стабільного фреймворка з підтримкою на тривалий час. Анас Рази Фірдоусі (Anas Raza Firdous) з PayPal впевнений, що саме Angular 2 здатний безперервно еволюціонувати і зможе витримати випробування часом.

Свою доповідь Анас присвятив переваг Angular 2 і продемонстрував, як думати і проектувати програми з точки зору Angular 2, TypeScript і реактивного програмування з RxJS.

Анас говорив про те, що Angular 2 поєднує в собі простоту використання Angular 1, але при цьому виправляє багато підводні камені і складності першої версії, розповів про зміни в Angular 2 та їх причини. На практичному прикладі Анас продемонстрував особливості та деякі можливості фреймворка, яких достатньо для початку розробки. Також доповідач порадив, як вивчити Angular 2 більш детально.

Презентація.

Переводимо свій проект на PHP 7 (Джон Когсхолл)
З самого релізу PHP 7 ком'юніті розробників обговорює переваги і недоліки останньої версії, а також особливості міграції на PHP 7. Джон Когсхолл запропонував свій досвід міграції проекту, розповів про проблеми, з якими йому довелося зіткнутися, і способах їх вирішення.

Джон приділив увагу як особливостей нової версії мови, так і нюансам міграції проекту на PHP 7: що потрібно знати про PHP 7 для переходу, що змінилося в новій версії, яких проблем можна очікувати при міграції і їх швидко і безболісно вирішити.

Звичайно, кожен розробник може самостійно почитати про відмінності між версіями і припустити, що і як може зламатися. Однак Джон не обмежився теорією і підкріпив доповідь прикладами з власного досвіду. Завдяки цьому доповідь вийшов яскравим і живим.

Презентація.

Висновок
International PHP Conference — це один з ключових івентів для PHP розробника. Як сказано на сайті конференції, її основна мета — поділитися практичними ноу-хау в PHP та веб-розробці. Завдяки цій поїздці ми не тільки отримали величезну кількість нової корисної інформації, яка стане в нагоді в роботі, але і змогли особисто поспілкуватися з експертами веб-розробки світового рівня і отримати від них відповіді на свої запитання. Приємним бонусом стали доповіді на «околодевелоперские» теми, які допомогли побачити важливі нюанси в роботі.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.