Central Europe 2017

3. - 5. November

Ossa Congress & Spa Hotel

Rawa Mazowiecka, Polen

Über die Konferenz

phpCE ist die erste Edition der Sozialkonferenz für Programmierer und Enthusiasten der PHP-Sprache, die aus der Verbindung von zwei nationalen Veranstaltungen: PHPCon Poland und Brno PHP Conference.

Der unbestrittene Erfolg, den die Konferenz PHPCon Poland erreicht hat, indem sie im Laufe von sieben Jahren zu einem der größten PHP-Treffen in Europa geworden ist, hat uns veranlasst, weiter zu gehen und ein noch größeres Ereignis zu organisieren, welches den Erwartungen der Teilnehmer aus ganz Mitteleuropa, darunter auch den Menschen, die ihr Abenteuer mit PHP erst anfangen, entsprechen würde. Umso mehr stolz begrüßen wir unsere Kollegen aus dem Team Brno PHP Conference - mit der Hoffnung auf eine effektive Zusammenarbeit.

Mit dem phpCE-Zyklus beginnen wir in Polen, im Hotel Ossa Congress & Spa, den PHPCon Poland-Teilnehmern gut bekanntem Ort. Wir planen, regelmäßig den Standort zu wechseln, damit die Konferenz in verschiedenen Ländern Mitteleuropas erscheinen kann. Schon heute laden wir Sie herzlich zur nächsten Edition (2018) in tschechischem Prag ein. Es gibt jedoch keine Hindernisse, um sie z. B. in Deutschland, Österreich, in der Slowakei oder in den baltischen Staaten zu organisieren. Vieles hängt von der Beteiligung der lokalen nationalen PHP-Gruppen ab, also wenn Sie Freunde in den Nachbarländern haben, überreden Sie sie dazu, uns zu helfen, die nächsten Editionen bei ihnen zu organisieren. Warten Sie nicht und machen Sie sie mit uns bekannt – wir sind wirklich bereit, es zu tun!

Warum sollten Sie uns unbedingt besuchen?

Ein riesiges Ereignis

Sie nehmen an der gröβten Konferenz in diesem Teil Europas teil: über eintausend Personen, die so wie Sie arbeiten und denken, an einem Ort.

Unterschiedliche Niveaus

Sie können frei zwischen drei Niveaus wählen: Relaxing, Intermediate und Geek.

Workshop-Freitag

Wir beginnen mit dem Workshopstag. Es ist praktisches Wissen hautnah und eine herrliche Gelegenheit, nach Details zu fragen!

Möglichkeit der Unterbringung vor Ort

Wählen Sie Ihren beliebten Übernachtungsort! Hotel Ossa bietet zwar eine große Anzahl von Zimmern, aber man kann ebenfalls billiger in der Nähe übernachten und bei uns nur die Eintrittskarte mit den Mahlzeiten kaufen.

Wettbewerbe mit Preisen

Unsere Sponsoren organisieren gerne verschiedene Arten von Wettbewerben mit vielen wertvollen Preisen. Es lohnt sich, uns zu besuchen und an diesen Wettbewerben teilzunehmen!

Unterhaltungszone

Unser sponsor-room ist eine Zone der endlosen Unterhaltung! Wir schlagen auch etwas für das Ohr und die Seele vor: positive lebhafte keltische Musik in Ausführung von der Gruppe Carrantuohill am Samstag nach dem Abendessen.

Konferenzort

Ossa Congress & Spa**** Hotel

Zum dritten Mal (einschließlich PHPCon Poland) werden wir im fünftgrößten polnischen Hotel Ossa Cogress & Spa. zu Gast sein. Es liegt in einer ruhigen ländlichen Umgebung, weit von der Hektik der Stadt, was die Möglichkeit verschafft, die Teilnahme an der Konferenz mit aktiver Erholung an der frischen Luft zu verbinden.

Das Hotel befindet sich in einem kleinen Dorf mit dem gleichen Namen, zwischen Rawa Mazowiecka und Biała Rawska, nur wenige Kilometer von der Schnellstraße S-8 und etwa 60 Kilometer vom Chopin-Flughafen (WAW) in Warschau entfernt. Das Hotel bietet uns Amphitheatersaal, Kongresssaal, Workshopsräume und Schlafzimmer in einem Vier-Sterne-Standard und in verschiedenen Komfortstufen (Standard, Premium, Standard Suite, Premium Suite) an, um auch die anspruchsvollsten Geschmäcke zufrieden zu stellen. Auf uns wartet auch ein riesiger Konferenzsaal mit Kinofuβboden, der nur sehr selten in der polnischen Hotelbranche zu treffen ist.

Zufahrt

Flugzeug, dann Bus oder Taxi

Der nächstgelegene Flughafen ist Warschauer Chopin-Flughafen (WAW). Dort wird auf Sie unser Bus oder Taxi (je nach Anzahl der Interessierten) warten, der/das Sie direkt zum Hotel fahren und am Sonntag zurückfahren wird. Dieser Service ist optional. Um es zu bestellen, senden Sie uns eine E-Mail, bevor Sie eine Konferenzeintrittskarte kaufen. Der Fahrpreis beträgt 10 € in eine Richtung oder 20 € in beide Richtungen.

Der Bus- oder Taxifahrer wird am vereinbarten Ort und zur vereinbarten Zeit in der Ankunftshalle am Flughafen warten. Sie werden ihn an der Plakette mit der Aufschrift "phpCE Conference – Ossa" erkennen können.

Öffentliche Verkehrsmittel

Vom Warschauer Westbahnhof fahren ziemlich viele Busse nach Rawa Mazowiecka ab. Nachdem Sie in Rawa angekommen sind, steigen Sie in den Bus nach Biała Rawska um (durch Lesiew und nicht durch Babsk) oder optional nach Grójec. Sie müssen an der Haltestelle Wólka Lesiewska aussteigen.
Danach gehen Sie die Woiwodschaftsstraße in Richtung Biała Rawska entlang. An der ersten Kreuzung biegen sie nach links ab (dort befindet sich die Werbung des Hotels Ossa) und gehen Sie weiter, bis Sie nach ein paar hundert Meter auf der linken Seite unser Hotel sehen. Den Fahrplan nach Rawa können Sie unter dieser Adresse finden.

Zufahrt mit eigenem Auto

Die beste Lösung stellt die Nutzung der Schnellstraße S-8 Warschau – Breslau dar. Rawa Mazowiecka liegt zwischen Warschau und Piotrków Trybunalski (Knotenpunkt mit der Autobahn A-1). Von der Schnellstraβe S-8 fahren Sie am Knotenpunkt Rawa Mazowiecka - und nicht Rawa Mazowiecka Południe (Süd) - aus, dann fahren Sie auf die Woiwodschaftsstraße 925 nach Biała Rawska ein. Nach ca. 9 Kilometern in Wólka Lesiewska biegen Sie links nach Ossa ab. An der Kreuzung befindet sich die Werbung des Hotels Ossa. Nach einigen hundert Metern sehen Sie auf der linken Seite unser Hotel.

Programm

Tutorials

Friday

03. November 2017
09:00
Anmeldung für Tutorial Teilnehmer
10:00 … 14:00
Jak TDD pomaga w pisaniu wartościowych testów jednostkowych?
Michal Kopacz, Łukasz Wróbel 4h

W swojej przygodzie z pisaniem testów jednostkowych zapewne zdarzyło Ci się że:
- sporo czasu zajęło Ci przeczytanie i zrozumienie co robią testy,
- zmieniłeś kod pod kątem nowych wymagań i spowodowało to, że musiałeś wprowadzić sporo zmian w testach,
- zaimplementowałeś funkcjonalność i pozostało Ci tylko napisać testy, ale nie było prosto je napisać więc w końcu zrezygnowałeś,
- zaimplementowałeś funkcjonalność, ale już nie miałeś czasu aby dopisać testy.

Takie sytuacje mogą powodować, że nie widzisz wartości w pisaniu testów jednostkowych, bo ich koszt przewyższa zyski jakie dają. Na warsztatach dowiesz się i przećwiczysz, jak można minimalizować koszt tworzenia i utrzymywania testów jednostkowych używając Test Driven Development.

W kilku iteracjach TDD przećwiczymy:
- przekładanie wymagań na testy jednostkowe,
- poprawianie czytelności testów jednostkowych,
- stosowanie fazy refaktoryzacji.

Functional testing made easy with PHPUnit & Selenium
Ondrej Machulda 4h

Learn how to use PHPUnit to test your app in a real browser using Selenium. This hands-on training will show you how to start writing & executing functional (aka end-to-end) tests with Selenium in a minute.

If you already use PHPUnit for your unit tests, there is no need to switch to a different tool or platform just to write functional tests. You can keep productivity from using your familiar environment of PHPUnit and just add some additional integration with Selenium.

So we will take advantage of [PHPUnit](https://phpunit.de/) and [php-webdriver](https://github.com/facebook/php-webdriver/) integration with [Steward](https://github.com/lmc-eu/steward) library, and use Docker to run Selenium without any other dependencies.

The training will cover:

- setting up local development environment (using Docker)
- practical examples of functional tests implementation
- exploring possibilities of Selenium WebDriver
- parallel test execution using Steward
- hands-on Page Object design pattern
- dealing with asynchronous elements of web-pages (AJAX, JavaScript)
- general tips & tricks how to keep a maintainable suite of functional tests in a long-term

[topic will be announced soon]
4h

Symfony 4 - Hands On Tutorial (part 1)
Hugo Hamon 4h

Symfony 4.0 will be released at the end of November 2017 and will change the way you develop Web applications with Symfony. In this workshop, you'll discover the new recommended best practices promoted by the Symfony Core Team. You'll learn how to install third party packages with Symfony Flex, configure your application with environment variables or leverage the new dependency injection container features, use the new PHP 7 features, and much more! This two day workshop is a practical training where you'll learn how to build a small full featured web application with PHP 7 and Symfony 4.0.

14:00
Mittagessen
15:00 … 19:00
BDD with hexagonal architecture
Tomasz Kunicki 4h

The aim of workshop is to create a testable structure using the concept of Hexagonal architecture with Behavioral Driven Development by Behat v3.3 and configuration functional tests with container. We will focus on setting up a basic structure and configuring the test framework. We'll talk about the pros and cons of this solution. Using that example, we'll show BDD in practice. After the workshop, participants should be able to understand the concept of BDD and could create a basic structure integrated with Behat. This project should be testable on functional level tests. Additionally, the participant will understand the pros and cons of this approach in project.

Symfony meets Elasticsearch
Michal Kómoch, Michał Jankowski, Bartosz Telesiński 4h

To szkolenie ma na celu przedstawienie prawidłowej integracji i użycia biblioteki FOSElasticaBundle w połączeniu z Symfony3. W trakcie warsztatów postawione zostanie pełne środowisko w kontenerach docker oraz zaprezentowane zostaną przykłady użycia ręcznego tworzenia zapytań do Elasticsearch, a także sposób ich reprezentacji za pomocą Query Buildera w frameworku Symfony3.
Po zakończeniu szkolenia każdy z uczestników będzie posiadał solidną wiedzę na temat konfiguracji i wykorzystania Elasticsearcha w połączeniu z Symfony.

WYMAGANIA:
- Własny laptop z Linuxem
- Zainstalowany Docker (najnowsza wersja) oraz Docker Compose
- Zainstalowany GIT i umiejętność korzystania z jego podstawowych komend
- Ulubiony edytor kodu

Demonstrating advanced layouts and block management in Symfony based web solutions
Ivo Lukač 4h

Handling layouts and blocks in templates does the job but it is very rigid, not flexible and hard to maintain. It gets even more complicated with responsive or adaptive rendering for different screen sizes.
To improve this we built a tool based on Symfony full stack so that we can:
- easily manage different layouts with zones
- add/more/remove blocks to zones with a drag and drop interface,
- reuse blocks with shared zones
- implement custom blocks by simple template and/or controller override,
- apply layouts to routes with conditions like user roles, geolocation, time, languages, etc.
The tool is envisioned to be used in front of a backend system like a CMS or a eCommerce and provide a faster and more agile way to develop complex web solutions

Symfony 4 - Hands On Tutorial (part 2)
Hugo Hamon 4h

Symfony 4.0 will be released at the end of November 2017 and will change the way you develop Web applications with Symfony. In this workshop, you'll discover the new recommended best practices promoted by the Symfony Core Team. You'll learn how to install third party packages with Symfony Flex, configure your application with environment variables or leverage the new dependency injection container features, use the new PHP 7 features, and much more! This two day workshop is a practical training where you'll learn how to build a small full featured web application with PHP 7 and Symfony 4.0.

Vorträge

Friday

03. November 2017

Relaxing

Intermediate

Guru

14:00
Optional Mittagessen
15:00
Anmeldung
16:15
Die offizielle Eröffnung
16:30
Keynote: How to get the most out of a tech conference!
Andreas Heigl 30m

What are the DO's and DONT's for conference-attendees. How to make the most out of the conference-ticket we posses. I will share some tips from my past conference experiences on how to get the most out of a tech conference.

17:00
Jak zacząć, aby nie żałować?
Piotr Horzycki 1h

PHP stanowi bardzo elastyczne środowisko, które można wykorzystać zarówno do małych studenckich projektów, jak i dużych, komercyjnych serwisów internetowych. Nie narzuca przy tym jednolitej architektury systemu - to my musimy o nią zadbać. Co zrobić, gdy mamy przed sobą pusty projekt (greenfield)? Jak dobrać właściwe narzędzia, by później nie żałować wyboru? Jak przygotować się na nieoczekiwany wzrost złożoności projektu?

Opowiem o burzliwej historii PHP, pierwszym PHP-owym szale w Polsce z lat 2000-2005, pojawieniu się frameworków MVC i ORM, które automatyzują stawianie projektu - i dlaczego nie zawsze można im ufać. Opiszę podstawowe narzędzia, z którymi pracuję dzisiaj: Vagrant, Composer, PHPUnit, Phing, PHP Code Sniffer. Co warto od razu zapiąć w greenfieldzie, aby dalsza praca była przyjemna i efektywna? Jaką architekturę wybrać? Jak pogłębiać swoją znajomość PHP? Jakie są najnowsze trendy w tym środowisku?

Żegnaj REST, Witaj GRPC
Pawel Rekowski 1h

Przyzwyczailiśmy się już do komunikacji po REST’cie. Wysyłamy po HTTP requesty w te i z powrotem mając nadzieje, że kontrakt API się nie zmienił. Co by jednak było, gdyby zamiast długich i ciężkich JSONów czy XMLi, mogli byśmy komunikować się w sposób binarny? Co by było, gdybyśmy mieli pewność, że kontrakt w API nie może zostać zmieniony i co by było, gdybyśmy mogli odizolować warstwę komunikacji od serwisu niezależnie od używanego języka? Przyjrzymy się bliżej technologii od Google, czyli Protobuff razem z frameworkiem GRPC.

Z tej prezentacji dowiesz się:
- Czym jest Protobuff oraz GRPC?
- Jaka jest różnica między komunikacją po REST’cie, a po ProtoBuffie
- Dlaczego warto przyjrzeć się tej technologii?
- Jak wyglądało wdrożenie GRPC w BlaBlaCar?
- Jak możesz wykorzystać komunikację binarną w swoim projekcie?
- Jakie są plusy i minusy takiego rozwiązania?

Who's the king; who's the ruler. How to answer the question before it was posted.
Hubert Bryłkowski 1h

I will share with you a story about hashes, what they're good at and what they're bad at. Most importantly how to use them in a not-so-typical way.

I was faced with a challenge to search a database of questions (about 2 million records) and find duplicates among them.
It may look like a pretty simple problem, but doing this efficiently was not trivial. I will explain the algorithms used, discuss their benefits, and show you how I tweaked them to our needs.
My main topic will be MinHash and LSH, with a little reminder about general hashing algorithms.

18:00
Bezpieczeństwo aplikacji internetowych
Pawel Makowski 1h

W trakcie prelekcji zostaną omówione najważniejsze kwestie związane z tworzeniem bezpiecznych aplikacji internetowych.
Uczestnik zdobędzie wiedzę na temat OWASP top 10, ASVS oraz podstawowych narzędzi do testowania aplikacji.
Zaprezentuję podatności, tak te popularne o których często się słyszy jak i nieco bardziej ciekawe.

Encryption, authentication and data integrity in PHP 7
Enrico Zimuel 1h

In this talk, we will show how to encrypt and authenticate sensitive data using PHP 7. We will show how to use the new Authenticated Encryption available with PHP 7.1 using OpenSSL. Moreover, we will introduce the usage of the new Sodium functions of PHP 7.2.

Eventual Consistency - Desining Failproof Systems
Grzegorz Skorupa 1h

Each day our systems deal with more data, more traffic and more complex tasks. Every large-scale system has to integrate with other internal or external systems. At the same time it should provide up to date information. On the other hand business states high availability and reliability requirements. Those two make designing of such systems difficult. In particular it is difficult to keep your data consistent.

It often happens that not all requirements can be technically met. Fortunately there are theoretical proofs that define what can and cannot be met in what circumstances. During the talk I will present some of the data consistency related problems typical to high traffic systems and try to sketch possible solutions. During the talk I will mention a few words about: CAP theorem, Eventual Consistency, At Least-Once Delivery and Self-Healing Systems.

19:00
Abendessen
20:00
A hands on introduction to Laravel
Freek Van der Herten 1h

Laravel is an amazing framework that allows you to rapidly create quality applications. If you've never worked with Laravel before, and are interested to know what the fuzz is all about, this is the talk for you.

In this beginner level talk you'll learn how Laravel makes your job easy. We'll go over the stuff that makes Laravel shine like it's expressive routing system, the easy to learn Eloquent ORM, the powerful command line tools, the scheduler, the built-in testing facilities and much more.

Behat - Zaimplementowałeś kilka scenariuszy, Co dalej?
Grzegorz Skorupa 1h

Słyszałeś już co nieco o Behavior-driven development. Nawet samodzielnie napisałeś pierwsze 5 Scenariuszy i zaimplementowałeś je z pomocą Behata. Chcesz podążać tą ścieżką ale twoja głowa jest wypełniona pytaniami i wątpliwościami. Byłem w tej sytuacji 2 lata temu i chcę ci pomóc.

W sieci znajdziesz wiele kursów Behata ale niewiele z nich daje wskazówki jak implemnetować testy w długoterminowym projekcie o dużym stopniu złożoności. Prawidłowe rozplanowanie scenariuszy i ich implementacji, gwarantujące, że nie zmienią się w trudny w utrzymaniu kod, jest trudne. Wytyczne jak to zrobić nie są łatwe do znalezienia w sieci.

Spotkanie rozpocznę krótkim wprowadzeniem do BDD. Następnie przedstawię prosty projekt korzystający z Behata, który będzie prawdopodobnie podobny do twojego pierwszego scenariusza, który napisałeś po przejsciu kursu Behata. W tym momencie zacznę rozszerzać i refaktorować kod tak aby ostatecznie uzyskać skomplikowany framework testujący twoją aplikację. Przedstawię przykładowe rozstawienie testów Behata, które wspiera testy integracyjne, API oraz interfejsu. Postaram się również wyjaśnić jak planować kroki, cechy (features) i konteksty Behata w celu uzyskania kodu łatwego w utrzymaniu i rozszerzaniu.

Domain-Specific Assertions
Sebastian Bergmann 1h

A common language, understood by technical and non-technical stakeholders alike, is essential for good communication in a software project. Combining ideas from Domain-Driven Design and Test-Driven Development, this ubiquitous language can be represented in both production code and test code.

Attendees of this session will learn how to create tests that are easy to write fast to execute, and deliver highly reliable results. They will gain expertise in the confident and effective implementation of automated tests for their software and learn how to implement custom assertions for PHPUnit to represent the common language of their project in test code.

21:00
Agile 101
Bartosz Boguszewski 1h

Most of the people when hear Agile think Scrum as this is one of the most popular buzz word. But Agile is much more then Scrum. There are variety of methodologies and frameworks. During this meeting, we are going to talk about origins of Agile. We are going to get familiar with number of methodologies and frameworks like Scrum, Lean, XP, FDD Crystal, DSDM and Kanban. We are going to talk about pros and cons of each of them. Let's see what is out there and decide which one is best for your project and your team.

The GDPR is coming, are you ready?
Michelangelo van Dam 1h

On May 25, 2018 all companies collecting and processing data of people from within the European Union must comply to the General Data Protection Regulation or GDPR. In this talk I'll cover what the GDPR is and how it will impact businesses within the EU and abroad, what can be done to comply to this regulation and how to proceed further.

This talk will not provide you legal answers, but will give you technology solutions that will make your applications compliant to these regulations. Even if you're not processing data from the EU, these solutions will offer you better protection to the data you currently keep and will ensure that in the case of a breach, the impact will be minimum.

Design Principles for MVP
Junaid Masoodi 30m

User experience is the solution for engaging client or user on a site or App. How to design a user experience for MVP (Minimum Viable Product) is very important and how to design right user experience is more important. So how do you ensure that you build the best product when everyone has the same million ideas. We will be talking about MVP and Design principles:

* What is Minimum Viable Product and UI/UX:
* Why MVP?
* The MVP is not about the Product but The product itself.
* UI is not UX and UX is UI.

*Design Principles:
* Unity/HarmonyHierarchy.
* Scale/Proposition.
* Balance.
* Dominance/Emphasis.
* Similarity/Contrast.

* Designing User Experience for Minimum Viable Product
* How MVP and Design Principles should go parallel from day one.
* How to featurise UX for MVP.
* Why touring is important for MVP

By the end of session you will be able to:
* Start working on a product with MVP practices.
* How to design MVP using design principles.
* For the web, how colours, position and placement of blocks affect site traffic.
* How is UI different from UX.
* Why touring is important.

Saturday

04. November 2017

Relaxing

Intermediate

Guru

09:00
Frühstück
10:00
Kompleksowe wprowadzenie do Value Object
Mikolaj Adamczyk 1h

Słyszałeś już o Domain Driven Design i chciałbyś wypróbować to podejście w swoim projekcie? Dobrym sposobem jest rozpoczęcie od wdrożenia w nim kilku Value Object. Pokażę, że może to być dobry krok w stronę udoskonalenia kodu również jeśli nie korzystasz z Domain Driven Design.
Podczas prezentacji postaram się na konkretnych przykładach pokazać czym jest Value Object, czym różni się od Data Transfer Object oraz Encji. Zobaczysz jak łatwo używać Value Object z formularzami Symfony, jak zapisać je do bazy danych za pomocą Doctrine, jakie dodatkowe korzyści otrzymujemy korzystając z Value Object oraz jak łatwo możemy je testować.
Wskażę również czym w kontekście Value Object są named constructors oraz postaram się odpowiedzieć na pytanie, czy tworząc złożone Value Object lepiej użyć dziedziczenia czy kompozycji. Opowiem również o sytuacjach w których nie należy korzystać na siłę z Value Object.
Ze względu na dużą popularność DDD możemy bez problemu znaleźć najpopularniejsze Value Object gotowe do użycia. Na koniec podzielę się informacją, gdzie możemy znaleźć najbardziej przydatne repozytoria Value Object.

Discovering unknown with Event Storming
Mariusz Gil 1h

Event Storming is a lightweight discovery and collaborative learning tool for exploring complex domains and problems. Using Events, the first-class citizens of modern software development, in very short period of the time we can discover, model and visualize flows, aggregates, bounded contexts, business rules and related hotspots, commands, read-models… Event Storming is also a communication platform and knowledge transfer tool you may apply to release into production proper developer’s understanding of the problem, not assumptions or speculations.

During this talk you will learn about Event Storming core concepts, patterns and best-practices you may apply in your next complex project. You will also learn how to use Event Storming on different levels, from big-picture system overview to designing aggregates, commands and merging output of Event Storming session with CQRS, Event Sourcing and Domain Driven Designs implementations.

Introduction to PHP Extensions
Derick Rethans 1h

In this presentation, we take a first look at writing PHP extensions. Using
step-by-step examples, we'll take a function written in PHP and convert them
into a loadable extension using C. We'll then test both versions and compare
the results. After seeing the size and scope of the benefits that can be
realized with only a few minor changes, you'll want to try it out for
yourself. You'll also understand why we start with simple things, and not try
to rewrite all of Symfony in C.

11:00
ElasticSearch jako baza danych. Jak radzić sobie z zapisaniem i przeszukiwaniem 10mld+ wiadomości
Tomasz Banasiak 1h

Jak podejść do tematu przechowywania dużych zbiorów danych w momencie kiedy musimy zachować bardzo wysoką wydajność jednocześnie zapewniając absolutne bezpieczeństwo danych i pewność ich przechowywania. W tym kontekście opowiem trochę o ElasticSearch oraz otoczce zbudowanej przez nas wokół tej technologii. W prezentacji z pogranicza architektury aplikacji pokażę jak ugryźliśmy ten temat i co z tego wyniknęło.

Modern Testing with Codeception: Tips and Tricks
Michael Bodnarchuk 1h

Codeception is a full stack testing framework. It is widely used by various PHP companies (3+ million downloads on Packagist). What does it offer to you and how can it improve your testing experience? Codeception has smooth integration with all PHP frameworks and provides a clean DSL for scenario-driven testing. You will learn how to make:

* user-driven web site tests with Codeception and Selenium
* how to organize complex tests with PageObjects and StepObjects
* how to write and execute feature files (BDD) with Codeception
* how to test web applications effectively
* what makes a perfect API test
* how to extend Codeception

IoC containers beyond constructor injection
Hannes Van De Vreken 1h

Did you know your IoC container can do a whole lot more than just constructor injection? Besides that it is actually packed with features. Inflectors, resolving callbacks, aliasing, method invocation to name a few. In this talk you will learn how to leverage the power of a great container and service providers to write better, loosely coupled code. Well designed code put together by your IoC container will make your applications SOLID, modular, lean and decoupled from the framework!

12:00
How to double your team performance? Let’s talk about headless and API first approach.
Chris Ozog 1h

More and more projects are built using JavaScript frameworks that rely on APIs for data storage.
In this speech I will talk about the Codesushi way of developing projects that can boost a team performance.

Main elements of the talk:
- stages of the project
- tools that we used during the design stage
- description of a project where we used this methodology [case study]

[topic will be announced soon]
1h
Modeling complex processes and time with Saga pattern
Mariusz Gil 1h

Time modeling is always difficult, as well as implementing business flows inside complex domains. Long lived transactions which span multiple bounded contexts, possible success and failure scenarios are even more difficult to model, test and implement. Fortunately, we have an answer to this problem! Multiple messages, events, aggregates and bounded contexts? Not a problem, Saga pattern may be very helpful… During this talk you will learn how to model long running business processes which affect many regions inside domains, what are the best possible use-cases and when to avoid sagas.

13:00
UUID - The only ID you need?
Arkadiusz Kondas 1h

Co to jest UUID i co oznaczają kolejne jego wersje? Jak zacząć korzystać z UUID w PHP? Czy moja baza poradzi sobie z UUID? Do czego nadaje się UUID, a do czego nie? Czy UUID to jedyne ID jakiego potrzebuję? Na te i inne pytania postaram się odpowiedź w prezentacji poświęconej wyłącznie uniwersalnie unikalnym identyfikatorom.

Mikroserwisy nie są lekiem na całe zło
Maciej Malarz 1h

Ale mikroserwisy są najważniejszym wynalazkiem od czasów koła! Na pewno musisz ich użyć, Amazon ma ich mnóstwo i tylko popatrz na nich. Chyba nie muszę nawet wspominać o takich tuzach jak Google czy Netflix?

Prawda jednak jest taka, że (zazwyczaj) nie jesteśmy Amazonem, skala na którą operujemy jest ciut mniejsza. Nawet problemy, z którymi codziennie się mierzymy, są z zupełnie innego typu. Mimo wszystko, ignorowanie mikroserwisów nie byłoby najmądrzejsze, więc podczas prezentacji przyjrzymy się zarówno im, jak i problemom które obiecują rozwiązać. Większej reklamy im robić nie będę, to nie jest ten typ prezentacji, po której siądziecie do komputera i zaczniecie kodzić. To jest ten typ prezentacji, po której pomyślicie dwa razy zanim dacie się porwać hype'owi. Zamiast koncentrować się na zaletach, przyjrzymy się balastowi, jaki towarzyszy mikroserwisom, oraz zastanowimy się czy gra jest w ogóle warta świeczki.

It's all about the goto
Derick Rethans 1h

Don't worry, this is not about the goto keyword.

In this presentation, I am showing you some of the inner workings of PHP. We
are going to look at how different language keywords and constructs are handled
internally. Basically, everything is converted to goto, but the how and why, is
not as simple as it seems!

This is a very in depth talk, mostly interesting to people that want to know
how PHP works internally. Expect lots of wonkyness, a form of assembly, and
trees.

14:00
Mittagessen
15:00
Sponsored talk
1h
Journey through "unhappy path" - Dealing with exceptional conditions
Nikola Poša 1h

Developers naturally gravitate towards the "happy path" - default scenario in application execution in which everything works as expected, consequently neglecting exceptions and error handling aspect of a software development. This talk provides a comprehensive insight into widely adopted practices and patterns for dealing with exceptional and error conditions. You will learn about writing and organizing custom exception classes, formatting exception messages, component-level exceptions technique, and much more. In a word - Exceptions cheat-sheet. Once thrown, the exceptions should be caught, so you'll also be introduced with different error handling strategies and concepts.

Getting started with PHP core development
Arnout Boks 1h

While PHP’s open source community is thriving, only a relatively small number of PHP developers contribute to the number one tool they use on a daily basis: PHP itself. Although it may seem daunting to help out on a project written in C, requiring compilation and linking, getting started is actually pretty easy.
In this talk I would like to share my own recent experiences of beginning to contribute to PHP itself. We will cover some practical tips, workflows and resources, so you can start giving back to your programming language straight away!

16:00
Code Review - jak robić to lepiej?
Sebastian Malaca 1h

Im bardziej skomplikowana jest aplikacja, tym więcej osób nad nią pracuje. Im więcej kodu tworzą programiści, tym ważniejsze jest dbanie o jego jakość. I w tym momencie przychodzi nam z pomocą Code Review.
Jednak, często zdarza się, że po jakimś czasie, kiedy chęć ludzi do wypróbowania tej techniki maleje, a ilość review rośnie, wiele osób zaczyna narzekać. Szukają wymówek, aby tylko nie robić review. Albo nie robić ich wystarczająco dokładnie.
Czy to jest problem? Tylko jeżeli w tym momencie nikt nie zareaguje. Ponieważ tak naprawdę jest to chwila na wprowadzenie usprawnień i poprawek!

Start Smoking, Get Confidence - HTTP Smoke Testing
Petr Heinz 1h

It is usually not easy to start with automatic testing of an existing web application. You may have heard that applications must be written to be “testable”. But what if you still want the confidence that your refactoring did not cause the application to crash? And even if your application is testable that does not stop you or other people from skipping writing tests in order to “save” some time because let’s face it - the application can be used even without automatic tests.
We will present you our package for HTTP smoke testing that:
- makes it easy to start with testing any Symfony web application
- will automatically prompt you to test new pages/actions
- is so cheap to use that you will not even think about skipping writing tests

Constructing a Test Pyramid: Because Your Tests Needs Architecture Too
Michael Bodnarchuk 1h

Every PHP application needs its policy about tests. What is important to test, what is not, at which levels should a feature be tested. As we think of application architecture before writing a single line of code, we should think of a test architecture before implementing tests.

From this talk you will learn:

* how to transform business expectations to tests using ATDD and BDD approaches
* how to write stable tests that evolve with code
* how to deal with test data
* how to decide, should it be unit or integration test

17:30
Migracja danych - case study
Piotr Kosinski 1h

Kiedy dwie firmy się łączą, developerzy stoją przed wyzwaniem integracji systemów oraz migracji danych. Tak się stało kiedy eMAG - jeden z głównych graczy na rynku e-commerce w Europie środkowo-wschodniej - zdecydował się na migrację systemów przejętej firmy do swojego ekosystemu. Nasze zespoły miały możliwość pracy nad migracją dużej ilości informacji - danych kilku milionów produktów do naszych systemów. Brzmi banalnie - "weź produkt z aplikacji, dostosuj i zapisz w naszej aplikacji". Chcielibyśmy żeby tak właśnie było ;-) Opowiem Wam naszą historię: jakie problemy napotkaliśmy, co zrobiliśmy dobrze oraz gdzie popełniliśmy błędy - pamiętajcie że najlepiej uczyć się na cudzych błędach! Moja prezentacja obejmie tematy z obszarów analizy biznesowej, rozwiązań technicznych oraz zarządzania.

How we handle integrations of more than 100 different partners?
Umit Akkaya 1h

Having many partners is an amazing thing. What about integrating with them?
You have to
- Provide implementations for REST APIs, SOAP services, non-standard web services.
- Support different authentication methods
- Handle errors in case of a failure in third party system
- Last but not least each side has to be aware of every change.

In this presentation I will show you how we tackle all those problems within our architecture by creating a centralised integration application. Our solution heavily relies on the following techniques and technologies:
- Message Queue
- Command/Event bus
- API Callbacks for realtime events

Chain reaction of scaling up
Lukasz Szymanski 1h

When we are talking about scalability, we are focused on technical side of things. In practice, scalability of the application is only one of the many areas which are enablers for our product to be scalable. We are going to discuss what does it mean to be scalable and what areas we must cover in order to support that - organizational structure, process, people management, infrastructure & environment. All of the examples will be the case study of our own journey in OLX.

18:30
Easy Coding Stadard - Setup Coding Standards under 5 minutes
Tomas Votruba 30m

I educate companies about advantages of coding-standards when it comes to hiring new people, code-review smells and upgrading to newer version of framework.

When I explained developer PHP_CodeSniffer and PHP-CS-Fixer I often saw, it's too complicated for them. I realized, I'm so used to them, I don't see the huge entry barrier I had many years ago too.

I don't want programmers to put energy to learn complicated things, that are very simple in their essence. That makes me really angry!

So I took a year off and made a tool, where all you need is one CLI line.
I named it EasyCodingStandard. It focuses on open and clear communication, what is happenening, which class is doing what check and guides you what you should do. Did I say it supports own checkers and uses cache, that finishes 2nd run under few seconds?

Uncommon (Ab)Uses of Composer
Alain Schlesser 1h

Composer is a hugely flexible tool that works reliably on all but the most obscure hosters/platforms. What's more, it provides a plugin system that lets you pull external code from a repository and have that code hook into the normal Composer execution flow. The logical conclusion is that Composer is used for much more than just pulling in dependencies.

We'll start this session with a quick look at the basic mechanisms that make Composer as flexible as it is. Then, we'll go through some of the more useful and/or exotic examples of how to use Composer for solving problems that it wasn't really meant to solve.

Event Sourcing - the story of an entity
Jakub Saleniuk 1h

Advantages of Event Sourcing have in the past few years gained it a lot of popularity. The presentation is an introduction to Event Sourcing for those who want to start programming in the new way. More advanced notions, such as event versioning, creating a projection and external services integration in Event Sourcing will also be covered.

19:00
How much it costs to host on AWS?
Krzysztof Daniel 30m

This question pops quite often when it comes to using AWS in a project.
I would like to show few cases closer to our reality (not hosting Netflix or other super-huge startups) with average costs of using autoscaled AWS architecture that for many are, in theory, a solution for endless horizontal scaling and cure for performance problems.
A few pricing tips, traps, workarounds, and points when we fail - so you can learn from our failure. I'll show how we are working with autoscaled environments, how we provision them with rolling updates, and optionally what we have to consider when high availability is a requirement.
I will try also to answer the question: does AWS really allow to save money on hosting?

19:30
Abendessen
20:30
Konzert der keltischen Musik von Carrantuohill, after-party

Sunday

05. November 2017

Relaxing

Intermediate

Guru

09:00
Frühstück
10:00
Czy PHP znajdzie swoje miejsce w IOT?
Przemyslaw Krzywania 1h

Opowieść o podłączaniu sprzętu przemysłowego do serwerów z PHP.

Async PHP requests & reactive responses with php-fpm
Holger Woltersdorf 1h

There are many approaches to execute PHP sub-tasks asynchronously or to parallelise PHP execution.
While some solutions require extra extensions, individual PHP builds or a lot of process control management, this talk will show you how to configure and use the built-in PHP FastCGI Process Manager (php-fpm) to execute requests asynchronously in an isolated, tunable process pool and eventually handle their responses in a reactive way.

Diving deep into blockchain
Tomasz Kowalczyk 1h

The blockchain is a hot new topic in the technology due to the rise of various cryptocurrencies, Bitcoin being a most prominent example. How does it work? What advantages does it give? What problems do they solve? What problems can be solved that way? I want you to dive with me into the immutable world of blocks where I will explain everything, from a simple hash, through Merkle trees, up to implementing your own blockchain.

Blockchain to technologia, która stała się popularna dzięki najpopularniejszej kryptowalucie - Bitcoinowi. To idea bazy danych, w której raz umieszczone dane nie mogą się już zmienić. Te właściwości powodują, że wiele branż zainteresowało się przechowywaniem swoich danych w blockchainie. W tej prelekcji przedstawię ideę blockchainu, techniczne mechanizmy i algorytmy, które umożliwiają jego poprawne działanie oraz pokażę w jaki sposób działają istniejące implementacje blockchainu.

11:00
Simple Plugin Creation in WordPress
Peter MacIntyre 1h

Can't find that perfect plugin in the thousands that exist?
Do you want to extend an existing Theme? Come to this session
to see just how easy it is to create your own plugin and to
get a brief look at the internal functions that WordPress makes
available to the developer. We will actually create a simple
plugin and a child theme in this session while looking at the
PHP code needed to make this happen.

Middleware-based architectures
Matthieu Napoli 1h

HTTP middlewares are spreading everywhere since PSR-7, yet they are often seen as an implementation detail for very specific problems.

After having discovered them with PSR-7, after having written a middleware-based framework and after collaborating on PSR-15, my understanding is now different: middlewares help us better understand and design the architecture of our applications.

Let's start again from scratch and work our way up to an architecture entirely built on middlewares: what does it look like and how does it compare to the frameworks we all love?

Microservices vs The Distributed Monolith
Christopher Riley 1h

When faced with a challenging legacy code base, tightly coupled and void of discernible structure: a big ball of mud, it is common to decide to refactor this monolith to a microservice architecture to separate concerns and split the codebase up, however without any clear boundaries you are in danger of creating a distributed big ball of mud.

You may recognise the symptoms of a distributed ball of mud: a large unfocused 'common' library shared between multiple services; performance issues as your front end makes calls to multiple back end API's to serve a single request; dependency hell on deployments as you have to release multiple code bases simultaneously and uptime issues as a single microservice going down brings down your entire application.

In this talk I'm going to cover some of the common pitfalls you might encounter when building a microservice architecture and show you how to use an event driven architecture to build truly scalable microservices.

12:00
Building an Open-Source Campaign Platform for the new President of France
Hugo Hamon 1h

This case study will take you to the technical backdrop of Emmanuel Macron's victorious campaign in the French presidential elections of 2017. We will reveal how the En-Marche and SensioLabs teams worked closely together to develop a collaborative, Open-Source and citizen platform with PHP 7 and Symfony to structure the movement. In addition to the technical and political issues involved in this project, we'll present solutions such as continuous deployment with Docker under Kubernetes, continuous integration with Circle CI, SCRUM and Kanban project management, use of Rabbitmq, Symfony 3 new features, and more. We'll demonstrate the importance of choosing these solutions to meet the agility and scalability needs of the highlights of the campaign.

What we learned by merging two big Symfony based applications
Ivo Lukač 1h

Due to complex web projects we work on, there was a need for deeper integration between content management system and eCommerce solution. As eZ Platform is based on Symfony we searched for a Symfony based ecommerce solution and found Sylius as the best choice.
We combined the two systems in one Symfony instance so we can integrate on much deeper level. Learn about our experience with merging and maintaining such a solution.

Time-driven applications
Piotr Horzycki 1h

Discount systems, booking platforms, contests - all those applications have one thing in common: date & time management. How to implement business logic dependent on the time of the day, week, year? Half-price pizza on Mondays, course registration until the end of August or a landing page available only in November?

I deal with business requirements like these every day at work. I will show you the way I refactored messy code and wrote tests, so other programmers would not be afraid to make changes anymore. I'll convince you to use DateTimeImmutable and show some interesting date/time operations available in PHP standard library.

13:00
Constantly improve your PHP code
Arkadiusz Kondas 1h

Podczas testowania aplikacji PHP niezależnie od tego, czy ręcznie, czy też automatycznie, programiści spędzają wiele czasu na wykrywaniu błędów w kodzie, który nawet nie byłyby kompilowany w innych językach. W ten sposób pozostawiają mniej czasu na testowanie rzeczywistej logiki biznesowej, która powinna być najważniejsza. Dzięki statycznie analizie kodu powstało szereg ciekawych narzędzi pozwalających w pełni zautomatyzować proces Continuous Improvement. Ta prezentacje będzie obiektywnym przeglądem najnowszych rozwiązań pozwalających na stałe ulepszanie jakości kodu w Waszych projektach.

Lessons learned from dockerizing complex web apps
Grzegorz Drozd 1h

What we learned from putting Perl, php, mysql, solr, redis, queues, cassandra, aws services, web applications, api endpoints and off-line scripts processing into docker containers. They fit great in them.

Infrastructure as Code
Sebastian Grodzicki 1h

Terraform enables you to safely and predictably create, change, and improve production infrastructure. It is an open source tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned. Terraform has emerged as a key player in the DevOps world for defining, launching, and managing infrastructure as code (IAC) across a variety of cloud and virtualization platforms, including AWS, Google Cloud, and Azure. In this talk I'll show you how to get up and running with Terraform using IaaS (e.g. AWS, DigitalOcean) or SaaS providers (e.g. CloudFlare, GitHub).

14:00
Abschluss der Konferenz
14:30
Optional Mittagessen

Referenten

  • Mikołaj Adamczyk

    Mikołaj Adamczyk

    phenoma.ly
    Jest programistą wdrażającym głównie rozwiązania webowe (PHP, MySQL, Redis, MongoDB, Symfony, REST API) skupionym na architekturze wdrażanych produktów, zainteresowanym logiką biznesową, nastawionym na rozwój i poznawanie nowych technologii. W wolnym chwilach spędza czas z rodziną, aktywnie wypoczywa oraz planuje wyjazdy na kolejne konferencje.
  • Umit Akkaya

    Umit Akkaya

    ZnanyLekarz
    Moved to Poland in 2014 and works at DocPlanner which ZnanyLekarz belongs to, and DocPlanner aim to make healthcare more human. PHP and .NET developer, JavaScript admirer. Responsible for integrating third party softwares with our application, and keeping them stable.
  • Tomasz Banasiak

    Tomasz Banasiak

    RST
    Programista zawodowy od 7 lat, programista pasjonat od zawsze. Bez przywiązania do technologii, bo one jak moda lubią się zmieniać. W RST członek zespołu odpowiedzialnego za Archiwum, czyli bezpieczne przechowywanie i indeksowanie dużych zasobów danych.
  • Sebastian Bergmann

    Sebastian Bergmann

    thePHP.cc
    Sebastian Bergmann has instrumentally contributed to transforming PHP into a reliable platform for large-scale, critical projects. Enterprises and PHP developers around the world benefit from the tools that he has developed and the experience he shares.
  • Michael Bodnarchuk

    Michael Bodnarchuk

    SDCLabs
    Passionate PHP/Ruby/JS web developer from Kyiv, Ukraine. Author of Codeception testing framework. Michael maintains various popular opensource projects and aims to popularize testing. "Testing should be fun" - is his motto. Speaker of PHP Framework Days UA (2013-2015), PHPKonf Istanbul (2015), Dutch PHP Conference 2016, Bulgaria PHP (2016), Scotland PHP (2016), PHP Benelux (2017) and various meetups.
  • Bartosz Boguszewski

    Bartosz Boguszewski

    Intive
    Project Manager with vast technical background. He has over 10 years of experience in software development during which he was involved in many small, medium and large projects. He is certified Product Owner, Scrum Master (scrum.org) and Test Manager (ISTQB). Bartosz is an agile enthusiast who puts huge emphasis on delivered value and quality.
  • Arnout Boks

    Arnout Boks

    Moxio
    Software architect by profession but mathematician by education, Arnout has his interests on the boundary between the two, where formal modelling and logical reasoning meet practical problems and pragmatism. He works at Moxio, where he solves complex information management problems with innovative software, and aims to grow a culture of learning and quality. In his free time he contributes to a number of open source projects, like PHP-CPD, PHP_CodeSniffer and Symfony, and more recently the PHP core.
  • Hubert Bryłkowski

    Hubert Bryłkowski

    Brainly
  • Krzysztof Daniel

    Krzysztof Daniel

    Creativestyle Polska Sp. z o.o.
    His work, hobby, and passion is the creation using computers. For past 18 years, he's been focusing on the creation of beautiful software. He is leading teams responsible for large eCommerce implementations. Worked for Eventim, Media Markt, CEWE, BMW, UEFA, Pro7 and much more. His first well known (almost 20 years ago) polish startup was napisy.info. He has passed multiple technical certifications, among others: Symfony Certification, Zend, AWS Solution Architect, Mongo DB Developer. Currently he is CTO in creativestyle - software house focused on eCommerce projects from Kraków and Munich
  • Grzegorz Drozd

    Grzegorz Drozd

    Duze O
    Greg is a developer with many years of experience. He has worked for multiple companies both big international mega corporations and small startups. Starting as a developer and then progressing into a technical leader, Greg is now a software architect. He specializes in high performance, secure web applications and is experimenting with DevOps and IoT hardware design.
  • Mariusz Gil

    Mariusz Gil

    Source Ministry
    Mariusz Gil is software architect working on high complexity and high value scalable web applications. Trainer, consultant, and conference speaker. Mariusz has been working for several companies on PHP projects for millions of active users, from biggest social network and instant-messaging software in Poland to multi-billion PV content personalization and discovery platform. Mariusz is also member of dev conferences Programme Commitees, and one of core members behind PHPers, open meetups for PHP developers in many cities in Poland. After hours, biker, rock guitarist and photographer.
  • Sebastian Grodzicki

    Sebastian Grodzicki

    SHOWROOM
    Chief Technology Officer (CTO) at SHOWROOM. Previously software engineer and CTO at GoldenLine. PHP programmer from 2000 (PHP 4) until now.
  • Hugo Hamon

    Hugo Hamon

    SensioLabs
    Hugo Hamon is a PHP and Symfony certified developer. After five years of professional PHP web development in web agencies for famous french customers, he now works as a software architect, consultant and trainer at SensioLabs. On his free time, Hugo contributes to Symfony and many other open source projects. Hugo also wrote and contributed to french and english books related to PHP and the Symfony framework.
  • Andreas Heigl

    Andreas Heigl

    wdv Gesellschaft für Medien & Kommunikation mbH & Co. OHG
    Andreas helps solving problems at a german corporate publishing company. He sometimes even uses code for that. Besides his family, his work as jack-of-all-trades and contributions to different open-source-projects he still finds the time to co-organize PHPUGFFM, the PHP-Usergroup in Frankfurt/Main and maintain PHP.ug and Zend\Ldap .
  • Petr Heinz

    Petr Heinz

    Shopsys s.r.o.
    Petr was fascinated by computers and programming from an early age and started freelancing as a PHP programmer since 18 years old. Loves clean code, regular expressions and clever design. In 2011 he joined Shopsys, built several e-commerce solutions since then and shared his experience on PHP conferences in Czechia and Slovakia. He dedicated last year to developing the Shopsys Framework, open source e-commerce framework made with passion on Symfony 3.
  • Piotr Horzycki

    Piotr Horzycki

    Gdańskie Wydawnictwo Oświatowe
    PHP developer with 9 years of experience. Leads an 8-person team. Still learns new things thanks to his coworkers. Enthusiast of clean architecture, cohesive business logic and refactoring bad code. In the past he successfully optimized relational databases with hundreds of millions of records. After work he plays bass guitar and sings.
  • Michał Jankowski

    Michał Jankowski

    Espeo Software
    Backend Developer z ponad siedmioletnim doświadczeniem zawodowym w PHP. Zainteresowany również innymi językami programowania - C# i R. Zawodowo związany z dużymi projektami, opartymi o framework Symfony, REST API i Elasticsearch. Zafascynowany możliwościami jakie daje szeroko pojęta analiza danych.
  • Michał Kómoch

    Michał Kómoch

    Espeo Software
    Swoją karierę rozpoczął ponad 8 lat temu w największym Call Center w Poznaniu, następnie przeszedł do Poznańskiego Software House, gdzie nieustannie rozwija swoje umiejętności związane z programowaniem (PHP, Elasticsearch, RESTFull API) oraz zarządzeniem zespołem jako Team Lead oraz Scrum Master. Współpracuje z sukcesami z klientami ze Skandynawii oraz Stanów Zjednoczonych. W wolnych chwilach dużo jeździ na rowerze oraz planuje kolejne dalekie podróże, które motywują go do działania w pracy;-)
  • Arkadiusz Kondas

    Arkadiusz Kondas

    Proget Sp. z o.o.
    Zawodowy programista. Entuzjasta uczenia maszynowego. Wierzy w ideę Software Craftsmanship. Miłośnik open source. W wolnych chwilach rozwija swoje projekty na githubie, bloguje i biega ultramaratony.
  • Michał Kopacz

    Michał Kopacz

    RST Software Masters
  • Piotr Kosiński

    Piotr Kosiński

    eMAG
    PHP developer with eight years of experience. Currently he works in an e-commerce company eMAG where he leads a team of developers. Fan of Scrum methodology, focused on delivering high quality solutions. As a developer, he works according to the rule: bring solutions, not problems.
  • Tomasz Kowalczyk

    Tomasz Kowalczyk

    IFX
    Software architect with over 10 years of experience in writing web applications. Functional Programming enthusiast pursuing the ultimate goal of software quality and maintainability. An author of several open source libraries. Provides well-designed and open solutions to technical problems.
  • Przemysław Krzywania

    Przemysław Krzywania

    bkfmyjnie.pl
    Commercial developer since 2008. Have written software for such devices as ambulance, car wash, industrial Windows CE devices and of course mobile&web solutions since than. Currently team leader focused on IOT and web solutions.
  • Tomasz Kunicki

    Tomasz Kunicki

    I take interest in the topic of delivering best solutions for given issues - standardization, algorithmics, architecture and testing. I working with automation tests using Behat and promote BDD solution for communicating with business. Additionally, I spoke at technology conferences and actively participate in the development of extensions for Behat as open-source projects.
  • Ivo Lukač

    Ivo Lukač

    Netgen
    Cofounder of Netgen, Croatian based web company. Building web solutions from 2002. eZ Publish Community Board Member. Organising Web Summer Camp since 2012.
  • Ondrej Machulda

    Ondrej Machulda

    LMC s. r. o.
    Ondrej is a web developer who is friends with blue elephants and penguins. He works as a PHP developer and QA Engineer for LMC (a company behind the biggest Czech job portal Jobs.cz and is also training teams in Selenium & PHPUnit usage. He is co-maintainer of php-webdriver library. Ondrej is also gaining new ideas at meetings of Prague PHP and Symfony community that he helps to organise.
  • Peter MacIntyre

    Peter MacIntyre

    Paladin Business Solutions
    Peter MacIntyre has over 25 years of experience in the information technology industry, primarily in the area of PHP and Web Technologies. He has contributed writing material for many IT industry publications: Author of "PHP: The Good Parts" (O'Reilly); co-author: Pro PHP Programming (APress), Programming PHP (3rd Edition - O’Reilly), Using Visual Objects, Using PowerBuilder 5, ASP.NET Bible, Web Warrior Survey on Web Development Languages, and Zend Studio for Eclipse Developer's Guide. Peter has another book covering WordPress that was published in May 2016. Peter is currently the co-chair, co-founder and board member for the Northeast PHP Developer's Conference held in Boston, MA and Charlottetown, PE Canada for the last 6 years (northeastphp.org). As well, Peter has spoken several times at North American and International computer conferences including PHP[World], Washington, DC; ZendCon 2016 (Las Vegas), NortheastPHP 2016 (Charlottetown, PE, Canada), Prairie Dev Con 2016 (Winnipeg, MB, Canada), CA-World in New Orleans, USA; CA-TechniCon in Cologne, Germany; and CA-Expo in Melbourne, Australia. He is a Zend Certified Engineer in PHP 5.3 and PHP 4.0
  • Sebastian Malaca

    Sebastian Malaca

    Luxoft
    Sebastian is an experienced and dedicated software engineer specializing in object-oriented design and programming, software architecture, code quality and agile. His interests include testing, programming, software engineering and agile software craftsmanship. He's also a speaker (JDD, GeeCon, Confitura, Devoxx, etc.), writer and contributor to several blogs (DZone, JavaCodeGeeks) about Software Development and Agile Software Craftsmanship.
  • Maciej Malarz

    Maciej Malarz

    Codete
    Team Leader @ Codete, MongoDB Team @ Doctrine, Fan @ Symfony. As a child, perhaps like most of us, dreamt about creating all those cool computer games he was playing but in the end around 2006 found himself in PHP world and stayed there until this very day, trying to make that world a little bit better every day.
  • Junaid Masoodi

    Junaid Masoodi

    Acquia
    I am a Front-End Developer, Designer and Evangelist at heart. I have spoken at many conferences and places across globe including US and Europe. I love to talk about Front-End web technologies and _Usability_. I am jumping more into the Usability and content strategy as I feel this is the area I love most and it needs an impact.
  • Matthieu Napoli

    Matthieu Napoli

    Wizaplace
    CTO at Wizaplace, Matthieu is also maintaining several open source projects like PHP-DI or Silly. He loves working on topics related to code quality or developer experience: anything that makes our job easier. He is also passionate about framework interoperability and is involved in both container-interop and the PHP-FIG for PSR-11 and PSR-15.
  • Chris Ozog

    Chris Ozog

    Codesushi
    Chris is experienced PHP Developer. He started programming in this language 10 years ago. His specialisation is Symfony framework, and after 6 years he is undisputed expert in it. Besides of PHP he is also skilled in other languages that power the Web, like javascript, SQL, HTML and CSS. Chris graduate Computer Science and Philosophy at the Pedagogical University of Cracow. Since 2012 he is a CTO in Codesushi, where he cares about the quality of the code. He always follow the best practices and have a strong knowledge about Git workflow. Chris enjoy working with startups and mobile development. Check out Chris’s presentation on Symfony Camp: https://youtu.be/NhIrY2w2X20
  • Nikola Poša

    Nikola Poša

    Arbor Education
    Nikola is a web developer and software architect specializing in PHP driven applications and web services. He's passionate about object-oriented design, SOLID principles and best practices in software development. Nikola use and contribute to open-source quite a bit, and what he does can be found at his GitHub profile: https://github.com/nikolaposa.
  • Paweł Rekowski

    Paweł Rekowski

    BlaBlaCar
    Backendowy Programista PHP/Java z ponad 10 letnim starzem w klepaniu kodu. Pracował dla takich serwisów jak Allegro, Oferia, a obecnie w barwach BlaBlaCar rozbija monolity na architekturę SOA. Prywatnie tata, bloger i poszukiwacz sposobów, jak Czuć się, Wyglądać i Żyć #Lepiej.
  • Derick Rethans

    Derick Rethans

    MongoDB
    Derick Rethans is a PHP internals expert, author of Xdebug and an OpenStreetMap and mapping enthusiast. He has contributed in a number of ways to the PHP project, including the Xdebug debugging tool, and various extensions and additions. He's a frequent lecturer at conferences, the author of php|architect's Guide to Date and Time Programming, and the co-author of PHP 5 Power Programming. He is now working at MongoDB to work on the PHP and HHVM drivers for MongoDB.
  • Christopher Riley

    Christopher Riley

    Imhotek Consulting
    Chris is a freelance consultant based in York, Uk with experience working in the public sector, small and large companies throughout North Yorkshire. Chris has over 10 years experience with PHP and has a keen focus on both software architecture and none functional requirements such as security, performance and maintainability. In his free time, Chris can often be found producing or playing with experimental libraries and contributing to Zend framework.
  • Jakub Saleniuk

    Jakub Saleniuk

    Dialcom24
    Currently I am a PHP programmer and a Scrum Master in Przelewy24. I have been programming for 10 years. I am also experienced working with Angular and NodeJS. I consider myself as an open-minded person with a positive attitude to life. I like to take risks. I deeply believe in Karma and the law of attraction. My file is guided by the principle that development comes from changes and we should not be fear to make something new. It works in all areas of our life.
  • Alain Schlesser

    Alain Schlesser

    Bright Nucleus
    Alain is a freelance software engineer and WordPress consultant living in Germany. He started out as a government agent working in prison administration in Luxembourg, and has recently made the switch to self-employment to enjoy productive work without the bureaucratic hurdles. He has worked with numerous platforms and programming languages for the past 25 years, and is now trying to settle down on modern web development with the WordPress platform. He is passionate about software architecture and code quality and never misses an opportunity to share best practices. He offers his WordPress services and expertise through his company Bright Nucleus, while you can catch some of his more personal ramblings at https://www.alainschlesser.com.
  • Grzegorz Skorupa

    Grzegorz Skorupa

    Intive
    Developer, System Analyst and Software Architect. Works with PHP for more than 10 years. He gained experience in many small and large projects. He also has a PhD in Computer Science. He has spent recent years developing large-scale microservice based system at Intive. He still believes that failure-free and useful computer system is possible. He constantly seeks for solutions that enhance and guarantee quality.
  • Łukasz Szymański

    Łukasz Szymański

    OLX
    Development Team Leader at OLX. Chief Editor of tech.olx.com
  • Bartosz Telesiński

    Bartosz Telesiński

    Espeo Software
    Software Developer z 8 letnim doświadczeniem. Głównie nastawiony na PHP oraz Symfony. Nie zamyka się tylko na PHP i uważa, że do wielu zadań lepiej użyć narzędzi napisanych w innych językach. Poza PHP interesuje go także Docker, RabbitMQ, ElasticSearch oraz to, jak Golang może pomóc przeskoczyć ograniczenia PHP. Od kilku lat rozwija platformę rekrutacyjną dla wiodącej grupy medialnej z Finlandii.
  • Michelangelo van Dam

    Michelangelo van Dam

    in2it
    Michelangelo is a senior #php architect, co-founder and #ceo of @in2itvof, #community leader at @phpbenelux, board member at @dutchweballianc, #globetrotter, likes #coffee.
  • Hannes Van De Vreken

    Hannes Van De Vreken

    madewithlove
    Software Engineer and in charge of Developer Relations at madewithlove, open source user and contributor, blogger, organiser of meetups in Belgium and also a marathon runner
  • Freek Van der Herten

    Freek Van der Herten

    Spatie
    Freek Van der Herten is a partner and developer at Spatie, an Antwerp based company that specializes in creating Laravel apps. The company has an open source first mentality. Freek is the author of many packages that Spatie releases. According to GitHub awards Spatie is in the top 5 of PHP developers worldwide. After hours Freek writes about modern PHP and Laravel on his blog and is a co-organizer of PHP User group in Antwerp, Belgium. When not coding he's probably rehearsing with his kraut-rock band.
  • Tomas Votruba

    Tomas Votruba

    Pehapkari
    Tomas loves PHP and connecting people, so he founded Czech PHP Community Pehapkari, where PHP developers can share their knowledge, opinions and educate themselves. His seconds passion is open-source - mainly automatization of coding standards and CLI refactoring. He contributes to Symfony, Nette and takes care of Symplify and ApiGen packages.
  • Holger Woltersdorf

    Holger Woltersdorf

    Fortuneglobe GmbH
    CIO - Head of FORTUNE SOLUTIONS at Fortuneglobe GmbH. About 12 years of developer and team-lead experience in mobile communication and fashion eCommerce industry. PHP developer for more than 16 years, co-founder and chairman of the PHP USERGROUP DRESDEN e.V., avid meetup and conference speaker, core-developer of the open-source PHP framework "IceHawk", dedicated to multiple other PHP open-source projects.
  • Łukasz Wróbel

    Łukasz Wróbel

    RST Software Masters
    Łukasz zajmuje się tworzeniem aplikacji internetowych od 2006 roku. Pracował dla wielu firm, z których dwie (Gadu-Gadu i Nasza-klasa) dostarczały usługi dla milionów użytkowników. Przeszedł całkiem długą drogę, zaczynając jako programista, by później zostać liderem i architektem. Interesuje go projektowanie wydajnych i skalowalnych aplikacji internetowych, tworzenie kodu wysokiej jakości oraz zgłębianie motywów ludzkiego działania.
  • Enrico Zimuel

    Enrico Zimuel

    Zend, a Rogue Wave Company
    A developer since 1996, Enrico Zimuel works as a *Senior Software Engineer* at Zend, a Rogue Wave Company. He is a core developer of Zend Framework and Apigility. He has been a Researcher Programmer at the Informatics Institute of the University of Amsterdam. He is a TEDx speaker and a regular speaker at international PHP conferences. He is the co-founder of the PHP User Group of Torino (Italy).

Eintrittskarten

Wenn Sie kein bestätigter Referent sind, so sind in Ihrer Eintrittskarte weder die Übernachtungen noch die Frühstücke inbegriffen. Hotel Ossa bietet uns diesmal alle seine Übernachtungszimmer an. Bedenken Sie jedoch, dass die Anzahl der angebotenen Eintrittskarten sowieso die Anzahl der Übernachtungsplätze überschreitet, also es ist am besten, wenn Sie mit der Reservierung der Übernachtung anfangen. Es hängt nur von Ihnen ab, ob Sie im Hotel Ossa oder in einem anderen Hotel in der Gegend übernachten werden.

Sponsoren

Mediale Schrimherrschaft

Sozialpartner

Werden Sie Sponsor

Werden Sie Sponsor der Konferenz phpCE 2017 – es lohnt sich wirklich! Es ist eine seltene Gelegenheit, unter den begabtesten Personen des PHP-Milieus zu erscheinen und seine Marke von der besten Seite zu zeigen!

Kontakt

Vor der Kontaktkaufnahme bitten wir Sie höflich, sich mit den Antworten auf meist gestellte Fragen vertraut zu machen.

E-mail
Dariusz Grzesista: dg@phpce.eu – sämtliche Organisationsangelegenheiten
Büro dgnet.pl: biuro@dgnet.pl – Formalitäten, Fakturierung, etc.
Telefon
+48 604 435060
Wir sprechen Polnisch, Englisch und etwas Russisch.
Veranstalter
Name: dgnet.pl Joanna Grzesista
Stadt: Rybnik
Adresse: Wodzisławska 50A
Staat: Polen
EU VAT ID: PL9372362537

phpCE Logo zum Herunterladen

Download