Найбільша PHP конференція України, 1 червня: хто буде і чому варто відвідати?
×Закрыть

Прямая текстовая трансляция: PHP fwdays 2017

В воскресенье 11 июня #fwdays соберет всех PHP разработчиков на масштабной конференции PHP fwdays 2017.

Спикеры: Zeev Suraski, Marco «Ocramius» Pivetta, Mariusz Gil, Łukasz Szymański (OLX), Алексей Петров, Николай Паламарчук, Дмитрий Науменко, Сергей Протько и не только.

Поговорим о: функциональном программировании, event sourcing, Domain Driven Design, SOLID, Machine Learning, CQRS и это еще не все.

11 июня мы проведем прямую текстовую трансляцию конференции.

Программа

Видеотрансляция

Track A

Track B

Текстовая трансляция

См. комментарии

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Дякуємо за увагу, що були з нами і читали трансляцію. Просимо вибачення, що все в коментарах, виникли проблеми з сервером. Дякую за розуміння

Php 8. Full -fledget JIT. It’s impossible. Maybe, it’s will be soon

Php7.2 — big perfomancce gains for cpu-bound workloads. Up to 50% gains in cpu-bround workloads.

Php 7.1 it’s more performance gains, multi-catch, void return types, shorted list() syntax

Php 7. What’s good? It’s fast, estimated $1m plus plus $100k saving on app server cluster, we using half the amount CPU

Leading up to php 7. No performance gains realized for real — world workloads.

Php 6 = php 5 + unicodе. Саме так було виконано покращення версії)

Php performance evolution, bench.php — lover is better

Чому створили php 7? Все просто, попередні версії були не досконалі, застарілі, мали менше фіч і не було такими гнучкими і пристосованими до сучаного іт ринку.

Наразі, що ми дізнались:
В Zaev три красуні доньки, він їх любить, частий спікер php fwdays по всьому світу, в Україні вперше. Має велику колекцію слоників і почав вивчати мови програмування з 12 років. Власне, з php познайомився під час медового місяцю з дружиною в Італії. Після чого почав користуватись лише ним)

Ми продовжуємо. Заключна доповідь буде від Zaev Suraski PHP 7 story and beyond

Підсумок
Мікро проблеми краще чим великі на монолоті
Легке масштабування як проекту так і команди
Легкість інтеграції нових технологій
Плавна міграція з монолоті
Профсійний адмін
Тому використовуйте мікросервіси, і вам буде простіше жити)

Тюним перфоменч
Оптимізуєм код
Переписуєм на другу техгологію
Spa
Http кеш

Мікросервіси виростають і їх треба розбивати на декілька мікросервісів.

Які ж плюси ?
Впровадження нових людей, переписувати весь проект не треба, є час на впровадження нового функціоналу. Можливість масштабуватись, вартість помилки, ідеальна екосистема для експерементів, fast CI, backwards compability всього додатку.

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

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

Мікросервіс тяжче дебажити, ніж моноліт.
Тому для зручності краще використовувати ( і зручніше)
Xdebug
Yii debug

Які мікросервіси треба переосмислити?
Fraud
Moderation
Головне правильно їх переосмислити)

Як працює мікросервіс?
Ідеально
Хочеться один мікросервісів в один
Треба переосмислити один чи декілька мікросервісів

Як їх вирішувати? Написати новий мікросервіс. Використовувати для стеку php 7, pyton, Google bigdata і багато інших корисних штук

Які були челенджі? Поєднати 7 бд від монолітів, рлзнести дані на 10+ мікросервісів, зробити безшовний перехід, зберегти seo трафік, повторити старий api для backward compatibility.

Моноліт — це часті падіння, впровадження нових фіч. Проблема- відсутня гнучкість до різних ситуацій

Наступна доповідь Дмитра Немеша Міграція навантаженого проекту на мікросервіси

Проблеми, які виникають при роботі з сервером.
Не можна робити його тяжким
Всі помилки потрібно завертати відразу через try catch
Коли ти почав перевіряти лог, рестартуйте сервак.
Будьте обережними, коли використовуєте Front-end part! Може бути проблема витоку пам’яті.

Пам’ятайте, socket server-це демон, він житиме вічно, поки ви його не грохнете) тому пишіть його максимально легким.

Як трекать всі класи об’єкту, які ти створив? Через конструктор створюєш модель, визначаєш об’єкт, який ти створив/змінив, трекаєш div до і після змін, після Save пишем перевірку для атрибутів до/після і закидаєм в базу

Data changes, that user makes can be recorded as sets of object.

Зорове поле можна описати перший рівень — клас об’єкту, другий рівень — їхні айдішки.

The classic Web paradigm (know as "pull). Як вирішити проблему?
WEBsockets alow to push data to the client, browser tab is a perfect universal identifier of the context, any user experience consist of two processes: observing and changing data

Зараз поговоримо про впровадження Websockets разом з Кирилом Латишем

І... На цьому доповідь Андрія Ткаченко завершилася) неочікувано швидко, але дуже цікаво) Всі питання можна задaти йому особисто https://tkachenko_xyz

Як продвигать бот? Своїми силами, через магазини (вони не діють, там більше діє контент для дорослих), або вірити в чудо)

Чим круті боти? Тим, що вам не потрібні дизайнери для них. Потрібні лише ви)

Ми розробники, ми не шукаємо легких шляхів. Тому будемо писати код) Є декілька прикольних штук для написання бота Hook, Laravel. Між іншим, Laravelдуже швидко розвивається та стрімко мчиться до вершини, обігнавши Symphony. Але це лише у нас)

Як розмножаються боти?) як люди чи як інопланетні створіння? Ні, все просто. Є сервіс api.ai, chatfuel, corezoid. Саме вони і є тією рушійною силою розмноження ботів)

Найпопулярніший в Україні бот- OpenDataBot. Сервіс обробляє дані з відкритих державних реєстрів. Зручний у використанні, не треба додаткових apk та без спаму. Рекомендую)

А ви знали, що першого бота було створено професором Масачутецького університету в 1964 році?

Після невеличкої перерви продовжимо з Андрієм Ткаченко вивчати Messengers revolution, bots and laravel

Суть доповіді така: пиши грамотно, зайве не пиши, навчись використовувати солід в коді і ти станеш затребуваним розробником. Головне не боятись і все вийде. На цьому все)

Коли починаєш вносити зміни в код, пам’ятай слова великого дяді Боба: «Коли приходиш у світ, залиш його трохи чистішим, ніж він був до тебе». Тобто починаєте писати новий уод, почистіть трохи старий

Чим менше ми вносимо зміг, тим менше нам доведеться рефакторить.

Якщо в тебе є одна сутність, то вона і не буде змінюватись, не буде чутливою до зовнішніх факторів змін. Якщо декілька-тут складніше. Тому краще робити так- один модуль, одна сутність.

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

Чому ми змінюємо код? Як цього позбавитись. Потрібно використовувати Open close. А також, краще використовувати якийсь конкретний метод обробки даних.

Власне, заснував Солід великий дядя Боб. Саме через те, що в свій час він робив багацько помилок, він почав вчити всіх, як їх не робити)

Як зробити так, щоб наш код міг зберегти всі зв’язки, а звмовникам стало дешевше нас наймати? Все просто. Використовуйте Solid)

Ми продовжуємо. Далі обговоримо з Сергієм Протько як написати Солідний код

Якщо є декілька варіантів для вибору головного параметру, який напрявляється до Data set, то виберіть найголовніший. Інакше у вас нічого не вийде

U can use a Shiny for ur web-site with machine learning. Machine learning have a big library for study and works

PHP also use neuronal technology. Php isn’t good language for this, but most comfortable for developers

Data can automatically find cluster and we can use algorithms for automatic search.

If don’t understand data u have wery big problems. So, u must learn data set and how work with them

The most important part it’s what information we want to send in our data set.

Supervised learning, unsupervised learning and reinforcement learning a part of data set. Also u need have algorithm for u code

Coping and pasting from stack overflow
and trying stuff untill it works. Ніколи не використовуйте ці „книги” для вирішення проблем machine learning)

Почнемо з проблем клієнтів. Найбільше замовлень надходить на створення сайтів для жінок. Всі хочуть багато і безкоштовно. Перша проблема, гугл проти такого)

Ми продовжуємо! Зараз поговоримо про Machine learning with Mariusz Gil. Це його перша конференція в Україні, тому не судіть строго)

доклад по DDD вполне правильно обстебали в обсуждении на ютьюбе.
сами слайды slides.silverfire.me/2017/cnc-ddd/

Make snappy app for the users. Always! Thanks

U will do mistakes, but it’s normal, if u have good testing

Every commmand will be asynchronous

U mast test first aggregate method after his design

If u use the process manager u have a bad time. It’s will be difficult

Events stream will be save in the database. Listen/react to fired events. They very powerfull

Хто любить складний і заплутаний код? Хто ним користується? Особисто Марко його терпіти не може) так так, саме так і сказав

An aggregate root importal think in a code

New state is persistent

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

Розпочнемо трансляцію з Marco Pivetta “Event Sourcing the good, the bad and the complicated”

В субботу 11 июня

На билете написано 11 июня, это Воскресенье.

Спасибо, Антон, поправили.

«текстовую трансляцию» это как?
я бы посмотрел несколько докладов

тезисно коментувати лекції спікерів. Деякі моменти будуть висвітлені на фото слайдів

Роман, будет как здесь: dou.ua/forums/topic/20422 Видеотрансляцию тоже добавим, сможете посмотреть.

Подписаться на комментарии