PHP fwdays '17 conference will take place on June 11 in Congress Hall "Cosmopolite" (Kyiv, Ukraine).
10:40 |
Просто о сложном - Domain Driven Design
Talk by Dmytro Naumenko in Track A (40 minutes) В рамках этого доклада мы выясним, что такое DDD, какие задачи он призван решить и поговорим о факторах, которые приводят нас к использованию этого подхода. На примере проектирования реальной системы мы будем шаг за шагом разбираться в концепциях и элементах DDD, получая на выходе комплексные знания для того, чтобы начать использование DDD в вашем проекте. |
Event Sourcing: the good, the bad and the complicated
Talk by Marco Pivetta in Track B (40 minutes) Event Sourcing can look like an attractive solution for any of your applications, but does it actually pay off? What if it is all just buzzwords and no gain? We’ll look at how we implemented event sourcing in our own app, code-reviews.io: what made us fast what made us super slow what made us cry This talk will give you a good idea of what kind of challenges you will encounter when approaching event sourcing for the first time. |
|
Дмитрий Немеш, Андрей Ткаченко
Social Event by Дмитрий Немеш, Андрей Ткаченко in Speakers' Corner (40 minutes) Q&A at Speakers' Corner |
|
11:50 |
Архитектура Upwork
Talk by Dmitry Semenov in Track A (40 minutes) В докладе речь пойдет об архитектуре Upwork. Расскажу, как мы мигрировали с монолита на микросервисы. Какие библиотеки и приложения мы используем для взаимодействия между микросервисами. Как связываем и передаем данные между приложениями. Как логируем, мониторим доступность наших приложений и как реагируем на инциденты. |
Machine Learning
Talk by Mariusz Gil in Track B (40 minutes) Gathering the data is not a problem today. The bigger challenge is to understand this information and draw some conclusions. Fortunately, we can use some techniques like machine learning to „teach” computer how to learn from our data. Fast artificial neural networks, random forests, SVMs, classification, clustering - just to name a few concepts ready to use… We will apply all these solutions to sample application to deliver automatic insights/predictions and create a real business value for a client. By the end of this session, you will be familiar with Machine Learning ideas and prepared to solve unsolvable problems using your favorite language. |
|
Zeev Suraski, Łukasz Szymański
Social Event by Zeev Suraski, Łukasz Szymański in Speakers' Corner (40 minutes) Q&A at Speakers' Corner |
|
12:40 |
Functional Programming basics for PHP developers
Talk by Nick Palamarchuk in Track A (40 minutes) Functional Programming becomes very popular nowadays. What is it? Is it a hype or panacea? Should you deal with it as a PHP programmer? Let's find out! |
Солидный код
Talk by Sergey Protko in Track B (40 minutes) По сути про SOLID. Основной посыл в том, что это не простая штука и на осознание оной нужно много про нее думать и задавать вопросы. Если этого не происходит, то формируется некий карго-культ: люди формируют очень упрощенное мнение о том, что такое зона ответственности, и меряют все строками кода. Слишком сильно дробят систему в ущерб cohesion, делая систему сложнее для восприятия и поддержки. Словом: "много дел, а смысла нет". Потому попытаюсь донести мысли о том, что "размер объектов считается не строчками кода" и сильно зависит от контекста. Свяжу все принципы через какой-то один пример. |
|
Marco Pivetta, Mariusz Gil
Social Event by Mariusz Gil, Marco Pivetta in Speakers' Corner (40 minutes) Q&A at Speakers' Corner |
|
14:30 |
Messengers revolution, bots and laravel
Talk by Andrey Tkachenko in Track A (40 minutes) Революция чат ботов Экосистема мессенджеров, примеры взаимодействия Промо для бота и где $money? В чем плюсы и возможности для бекенд разработчиков, почему стоит попробовать Laravel в качестве инструмента нацеленного на результат Создаем telegram бота конференции 5 minutes how to |
CQRS & Event Sourcing at OLX after year on production
Talk by Łukasz Szymański in Track B (40 minutes) We will look into CQRS & Event Sourcing from a practical point of view. I will share with you all of the insights after maintaining these technologies in the production environment. You will know how to prepare for using it on your own. |
|
Николай Паламарчук, Андрей Завадский, Дмитрий Семенов
Social Event by Николай Паламарчук, Дмитрий Семенов, Андрей Завадский in Speakers' Corner (40 minutes) Q&A at Speakers' Corner |
|
15:20 |
ERP on Websockets
Talk by Kirill Latysh in Track A (40 minutes) В докладе речь пойдет о внедрении WebSockets в масштабный проект: ~ 400 типов сущностей, высокая плотность информации (> 10K items on dashboard), и высокие требования к актуальности данных. Стек проекта: PHP, Laravel, MySQL, Redis, Beanstalkd, Ractivejs. Поделюсь универсальным подходом, который у нас получилось выработать, и которой сильно экономит время. Он позволяет в 90% случаев вообще не возвращаться к вопросу поддержки on-a-fly апдейтов, так как работает для типичных ситуаций просто из коробки. Расскажу, c какими проблемами столкнулись и о чем стоит думать в первую очередь при принятии решения о внедрении WebSockets. |
Что нам стоит AAA построить?
Talk by Alexey Petrov in Track B (40 minutes) Речь пойдёт о проектирование AAA сервиса для микросервисной архитектуры. (AAA - Authentication, Authorization, Accounting). Вопрос о том, как нам идентифицировать пользователя в распределённой системе, очень не прост (как и всё остальное в распределённых системах). Хочу рассказать, как мы строили такую вещь у себя. В этой же теме расскажу про API Gateway паттерн: чем он полезен и как мы его имплементировали. Сравню с альтернативными подходами. Расскажу о том, что нам даёт AWS API Gateway и почему его не хватает. Что можно заюзать, если вы живёте вне AWS. Зачем и почему нужны OAuth и JWT токены. И почему одни из них хороши, а вторые плохи. |
|
Дмитрий Науменко, Михаил Боднарчук
Social Event by Дмитрий Науменко, Михаил Боднарчук in Speakers' Corner (40 minutes) Q&A at Speakers' Corner |
|
16:10 |
Бессерверная архитектура
Talk by Andrii Zavadskyi in Track A (40 minutes) В рамках доклада я хотел бы рассмотреть сложности, которые мы испытываем с построением инфраструктуры распределенных систем. Можно ли строить приложения и не думать о серверах и контейнерах? Насколько это будет дорого? Ответить на эти вопросы помогут принципы «Бессерверной архитектуры». На простых примерах мы рассмотрим из чего состоит приложение, не зависящее от серверов. А также, рассмотрим возможности, которые предоставляют популярные провайдеры облачных сервисов, для построения таких приложений. |
Миграция нагруженного проекта на микросервисы
Talk by Dmitry Nemesh in Track B (40 minutes) Расскажу, как мы на Lalafo переписывали монолит на микросервисную архитектуру. Поговорим о том, что зашло на микросервисах, а что - не очень. Как мы экспериментируем с архитектурой, как мы тюним и мониторим приложения. Как происходила миграция и через какие испытания мы прошли. Сравним наш старый монолит с новой микросервисной архитектурой. Поделюсь мыслями о том, на сколько рационально следовать всем рекомендациям по построению микросервисной архитектуры. И как в конечном итоге микросервисная архитектура отразилась на процессах в компании. |
|
Алексей Петров, Сергей Протько, Кирилл Латыш
Social Event by Алексей Петров, Кирилл Латыш, Сергей Протько in Speakers' Corner (40 minutes) Q&A at Speakers' Corner |
|
17:20 |
The PHP 7 Story, and beyond
Keynote by Zeev Suraski in Track A (40 minutes) With the prior major release of PHP having happened more than a decade ago, PHP 7 was (and still is!) a very exciting milestone in PHP’s history that promises to bring both far-reaching performance boosts for real world workloads and a host of new features. In this session, Zeev will share the evolution of PHP’s major versions, the behind-the-scenes story of how PHP 7 came to be and the main benefits and features of PHP 7.0 and 7.1. Also he will cover the current research going into JIT |