
Friday, 13.11.2015 r.
10:00 - 18:00 |
Mathias Verraes: DDD in PHP (supplement / za dopłatą) (tutorial) PLUG |
Software design can have a very slow feedback loop: by the time you find out if the architectural and design decisions you made were the right ones, it may be too late for drastic changes. As developers, we tend to phrase all problems as technical problems, which can be sufficiently challenging in their own right. We tend to lose sight of the underlying business concerns.
Domain-Driven Design helps us to tie our domain model to the business. Deep models have great value: they help us build systems that are more relevant. They communicate the meaning to the developers and the stakeholders. DDD can be quite opaque though. The patterns and practices often appear to be nothing but theory. In this session, Mathias will complement the theory with a practical approach. You’ll learn how to discover and evolve your domain model, and how design patterns can help you translate it to code.
Learn all about:
- Domain-Driven Design basics
- Discovering the domain and the Ubiquitous Language
- Structural and behavioral modelling
- Applying tactical design patterns: value objects, entities, aggregates,repositories, commands, events, specifications, strategies, factories, services...
- And more!
Attendees should have a good working knowledge of PHP and Object-Oriented Programming.
12:00 - 14:30 |
Marco Pivetta: Real-time Applications and Event Sourcing in PHP (tutorial) BlaBla |
Building real-time applications with PHP is always challenging, especially when mutable state is involved.
We are going to build a CQRS + ES application to take the challenge. You will see how Event Sourcing simplifies complex problems related with communicating state across different systems, as well as how to update our front-end clients in real-time with asynchronous input/output.
14:00 - 16:00 |
opcjonalny obiad / optional lunch |
16:00 - 19:00 |
Leszek Krupiński, Kacper Gunia, Mariusz Gil: Automatic workflows with Ansible (tutorial) BlaBla |
Jeśli w projekcie masz coś zrobić raz, po prostu zrób to. Przy drugim razie również, ale powinieneś się już nad tym zastanowić. Ale zanim zrobisz to samo trzeci raz, napisz kod, który zautomatyzuje twoje działania. Takie podejście zaoszczędzi Ci sporo czasu, bo pewnie będziesz musiał kiedyś zrobić to samo po raz czwarty, piąty, szósty... Pozwoli również zmniejszyć ryzyko pomyłek, jakie często zdarzają się przy wykonywaniu powtarzalnych czynności.
Ansible jest jednym z dostępnych na rynku rozwiązań do automatyzacji procesów IT. Od przygotowywania i provisionowania środowisk developerskich i produkcyjnych, przez deployment aplikacji czy cykliczne działania maintenance, niemal wszystko można oskryptować, zautomatyzować i przyśpieszyć. W trakcie warsztatu nauczysz się metod pracy z Ansible, napiszesz kilka playbooków konfigurujących środowisko pod projekt PHP i zastosujesz to wszystko w praktyce. Poznasz także kilka zaawansowanych aspektów tego systemu i szereg good-practices, o których warto pamiętać.
17:00 - 17:05 |
otwarcie konferencji / opening G2A |
17:05 - 18:00 |
Marco Pivetta: A complex ORM... faster than raw SQL? G2A |
Complex applications are never easy to build and maintain; add performance to the mix and you will have a huge problem!
What if we could get very fast applications without sacrificing good abstraction?
We will focus on the hazards affecting PHP OLTP application performance, and on particular features of Doctrine ORM that will improve it.
Also, we will try and see how we can reverse-engineer these features to build robust, scalable and clean software.
18:00 - 18:45 |
Robert Ruszała, Bartosz Skwarczek, CEO G2A.com: Dziwne.... u nas działa (S) G2A |
Prezentacja firmy G2A.COM, nasz sukces, co robimy, jak robimy 'od kuchni', techniki dostarczania aplikacji poprzez Continuous Delivery, Continuous Integration, wykorzystywane narzędzia, metodyka pracy, wyzwania oraz sukcesy.
19:00 - 20:00 |
kolacja / dinner |
20:00 - 20:30 |
Bartek Kuleszewicz: Przyspieszenie Symfony2 na przykładzie ZnanyLekarz.pl (S) BlaBla |
Opowiem jak w kilku prostych krokach udało się przyspieszyć Symfony2 w projekcie, który zawiera 164 bundle, 37 tysięcy comitów oraz 3 miliony linii kodu. Serwisy grupy DocPlanner.com (w Polsce ZnanyLekarz.pl) odwiedza miesięcznie 3 miliony użytkowników w 25 krajach, umawiając łącznie 155 tysięcy wizyt.
Poprowadzi Bartek Kuleszewicz
20:00 - 20:30 |
Łukasz Szymański: OLX pod maską (S) G2A |
Opowiem o tym jak zmieniała się struktura i organizacja naszego kodu, oraz w jaki sposób walczymy z legacy code. Poznacie technologie jakie wykorzystujemy, statystyki i nasze wnioski odnośnie pewnych rozwiązań. Dowiecie się jak wygląda OLX pod maską.
20:30 - 21:15 |
Szymon Skórczyński: Docker & PHP - development and deployment BlaBla |
Hasło „Docker” stało się ostatnio jednym z najgorętszych w środowisku programistów aplikacji webowych. Od ponad roku używam Dockera do rozwoju i wdrażania kilku aplikacji PHP-owych. Miałem okazję przetestować szereg rozwiązań i podejść, dzięki czemu opracowałem swój własny zestaw najlepszych praktyk, którymi chciałbym się z Wami podzielić.
Dlaczego Docker jest tak popularny? Czy trudno się go używa? Jak wykorzystać go do tworzenia aplikacji PHP-owych i wdrażania ich w chmurę? Jakie są zagrożenia związane z Dockerem? Czy warto z niego korzystać? Jeśli zastanawiałeś się kiedyś chociaż nad jednym z tych pytań, to ta prezentacja powinna Cię zaciekawić.
20:30 - 21:15 |
Kacper Gunia, Mariusz Gil: PSR-7 - the story of HTTP standard G2A |
Potrzeba standardowego podejścia do obsługi i interpretacji pary Request i Response była w społeczności od dawna. Każdy framework wprowadzał swoje specyficzne rozwiązanie co powodowało rozbicie społeczności i debaty które podejście jest lepsze i powinno być powszechnie stosowane.
Od 2012 osoby skupione wokół PHP-FIG rozmawiały na temat standardu którym mogłaby posługiwać się społeczność i wreszcie po długich debatach w maju 2015 światło dzienne ujrzał PSR-7. Pytanie tylko co to dla nas, deweloperów oznacza?
W trakcie prezentacji przyjrzymy się jak korzystać z nowej rekomendacji, dlaczego i w jaki sposób powinniśmy ją wykorzystywać. Odpowiemy na pytanie jakie są jej zalety, w jaki sposób może nam ułatwić życie i które frameworki oraz biblioteki już teraz oferują wsparcie dla standardu.
21:15 - 22:15 |
Adrian Piętka : Konkurs Programistyczny  G2A |
Kilka zadań w języku PHP, które uczestnicy będą mogli rozwiązać on-line, na stworzonej w tym celu platformie. Na trzy osoby, które najlepiej poradzą sobie z zadaniami, czekają nagrody, ufundowane przez firmę Future Processing: Parrot AR.Drone 2.0, Kindle Paperwhite 3, Zestaw Raspberry Pi 2 B. Aby wziąć udział w konkursie należy mieć własny laptop z dostępem do internetu.
Saturday, 14.11.2015 r.
08:30 - 09:30 |
śniadanie / breakfast |
09:30 - 10:00 |
ogłoszenie konkursów sponsorskich / sponsor's contests announcing G2A |
10:00 - 11:00 |
Matthias Noback: Principles of PHP Package Design BlaBla |
With many great tools available for sharing packages of PHP code, it is now up to you as a developer to design these packages well. You have to decide what to put in a package, when to split a package and on what other packages you can safely depend.
You will learn how to make good decisions about your package design and release reliable, highly usable and therefore highly esteemed packages of PHP code.
10:00 - 11:00 |
Leszek Krupiński: PHP7 w praktyce G2A |
Na wykładzie nie będę opowiadał "co nowego w PHP7" - to wszyscy wiedzą. Zamiast tego chcę pokazać jak wykorzystać nowe możliwości, co dobrego one dają, i jakich zmian będą wymagać stare skrypty, aby mogły działać na nowej wersji interpretera.
10:00 - 13:00 |
Szymon Skowroński, Leszek Prabucki, Karol Sójko: Praktyczne wprowadzenie do Test Driven Development. (tutorial) PLUG |
Chcielibyśmy pokazać Test Driven Development od praktycznej strony poprzez wykonanie z uczestnikami krótkich zadań programistycznych.
Warsztat składać się będzie z:
1. Wprowadzenie do techniki TDD
2. Praktyczna prezentacja procesu TDD
3. Ćwiczenia z uczestnikami (code kata)
Wymagania:
1 laptop na 2 osoby
PHP >= 5.4
Zapraszamy szczególnie osoby początkujące.
11:00 - 12:00 |
Benjamin de Bernardi, Olivier Dolbeau: Symfony2 at BlaBlaCar BlaBla |
3 years of work with 25 developers, 3.000 classes, 325.000 LOC: Symfony2 is more than ever present at BlaBlaCar. I would like to show you our website, its strengths and weaknesses, our most beautiful success and... our most extraordinary failures!
I would like to apologise for all horrors which will be mentioned, all the crappy code which will be shown and the american happy ending!
Note to organizers: I already gave this talk 2 years ago. You have the link in files. :) This one is like the second episode of the series but I would like to make it more technical, focusing on what we've done to handle the 20M users we have today.
11:00 - 12:00 |
Matthias Noback: Hexagonal architecture - message-oriented software design G2A |
Commands, events, queries - three types of messages that travel through your application. Some originate from the web, some from the command-line. Your application sends some of them to a database, or a message queue. What is the ideal infrastructure for an application to support this on-going stream of messages? What kind of architectural design fits best?
This talk provides answers to these questions: we take the hexagonal approach to software architecture. We look at messages, how they cross boundaries and how you can make steady communication lines between your application and other systems, like web browsers, terminals, databases and message queues. You will learn how to separate the technical aspects of these connections from the core behavior of your application by implementing design patterns like the command bus, and design principles like dependency inversion.
12:00 - 13:00 |
Michelangelo van Dam: 200K+ reasons why security is a must BlaBla |
We all have focussed on best practices and code quality over the past years, but we seemed to forgot the most important aspect of the web: security.
Security is a mindset that needs to be present from the earliest phase of any project as the complexity of an application can make it very hard to implement good and layered security features.
This talk will cover the basic concepts of security and what you as a developer (or business) should do to prevent bad things from happening and what you need to do when you've been compromised.
12:00 - 13:00 |
Mathias Verraes: Towards Modelling Processes G2A |
Processes are at the heart of how many businesses operate. The processes are governed by policies, agreed upon with contracts, and guided by documents. In software systems on the other hand, we often bury the processes. There’s a domain model for sure, but it’s all about “things” and “operations on things”. We need better, more explicit, more visual temporal models, so we can reason about the effects of time.
13:00 - 13:30 |
Marek Sokół: Reactive Architecture (S) G2A |
Na czym polega to nowoczesne podejście do tworzenia aplikacji. Dlaczego i w jaki sposób pomaga rozwiązać problemy złożonych aplikacji w nowoczesnych organizacjach IT.
13:00 - 17:00 |
Szymon Skowroński, Leszek Prabucki, Karol Sójko: Praktyczne wprowadzenie do Test Driven Development – powtórka, z przerwą na obiad (tutorial) PLUG |
Chcielibyśmy pokazać Test Driven Development od praktycznej strony poprzez wykonanie z uczestnikami krótkich zadań programistycznych. Warsztat składać się będzie z: 1. Wprowadzenie do techniki TDD 2. Praktyczna prezentacja procesu TDD 3. Ćwiczenia z uczestnikami (code kata) Wymagania: 1 laptop na 2 osoby PHP >= 5.4 Zapraszamy szczególnie osoby początkujące.
13:30 - 14:00 |
Michał Zając, Adrian Słowik: Zarabiaj z Shoper® - AppStore i Bug Bounty (S) G2A |
Shoper to platforma umożliwiająca uruchomienie własnego sklepu internetowego, z której korzysta ponad 10 tys. sprzedawców. Podczas prezentacji przedstawimy w jaki sposób możesz pomóc budować największą platformę ecommerce, tworząc aplikacje i dodatki lub łamiąc zabezpieczenia.
14:00 - 15:00 |
obiad / lunch |
15:00 - 15:45 |
Matthieu Moquet: CQRS and Event Sourcing with PHP BlaBla |
Event Sourcing, Stream processing, CQRS: what are those buzzwords? How my app can benefit from it?
This talk aims to clarify these concepts through examples in PHP, and see why this totally changes how to structure the data. We will see how to take full advantage of the philosophy of NoSQL to build a scalable & robust app which is will be easier to maintain.
15:00 - 15:45 |
Kacper Gunia: PhpSpec 2 - jedyne narzędzie którego potrzebujesz by projektować aplikacje. G2A |
Projektowanie aplikacji to trudny temat, a dobre projektowanie to rzemiosło którego uczymy się przez lata. Czy metodologie takie jak TDD/BDD mogą nam w tym pomóc i w zasadzie jaka jest między nimi różnica? Czy narzędzia są w stanie wesprzeć nas w tworzeniu oprogramowanie wysokiej jakości, które będzie proste w zrozumieniu, zmianie i utrzymaniu? Jak finalnie dostarczyć produkt który będzie robił to o co zostaliśmy poproszeni (i za co nam zapłacono)? Podczas wykładu odpowiem na te pytania wspierając się nowoczesnym frameworkiem Spec BDD - PhpSpec stworzonym by umożliwić projektowanie i tworzenie testowalnego oprogramowania wysokiej jakości.
15:45 - 16:15 |
Jacek Paszek: Tworzenie aplikacji webowych dla biznesu w oparciu o platformę eDokumenty (S) BlaBla |
W ostatnich latach firmy zaczęły bardzo mocno poszukiwać webowych aplikacji, systemów BPM, DMS, CRM i innych rozwiązań wspierających ich biznes. Często dostarczane rozwiązania oparte są o frameworki dla stron www, które w dłuższej perspektywie nie wytrzymują zderzenia z zalewem setek funkcji wymaganych dla systemów informacyjnych (np. silnik workflow) oraz kwestiami User Experience. Z kolei zaawansowane kompletne systemy BPM bardzo często są ograniczone w zakresie możliwości ich modyfikacji i rozszerzania.
eDokumenty są platformą do budowy aplikacji biznesowych a jednocześnie zbiorem gotowych modułów i pakietów, które w wydajny sposób można łączyć i rozbudowywać.
Platforma oferuje zaawansowane API pozwalające na bezpieczne wprowadzanie i przetwarzanie danych zgodnie z modelem obiektowym dziedziny, oraz oddaje do dyspozycji wspaniały framework za pomocą którego można w kilkadziesiąt minut zbudować funkcjonalne rozwiązania dla klienta.
Utworzone przez deweloperów aplikacje można oferować w markecie do pobrania przez innych użytkowników posiadających licencje jak również możliwe jest udostępnianie specjalizowanych aplikacji w modelu abonamentowym za pomocą gotowego środowiska multitanantowego.
Zacznij zarabiać na tworzeniu aplikacji dla firm razem z systemem eDokumenty!
15:45 - 16:15 |
Jerzy Zawadzki: Jak stać się lepszym programistą (S) G2A |
Na innych wykładach dowiecie się jak pisać lepszy kod. Ale pisanie czystego kodu, znajomość i przestrzeganie zasad SOLID, DDD, BDD czy TDD nie wystarczy, by być dobrym programistą. Opowiem, co tak naprawdę składa się na jakość oprogramowania, postaram się Was przekonać do bardziej pragmatycznego podejścia do jego tworzenia oraz pokażę proste zasady, które sprawią, że każdy Wasz projekt będzie udany. Powiem też, dlaczego nie należy komentować kodu…
16:15 - 16:45 |
Tomasz Skręt: Twelve-factor App (S) G2A |
Metodologia twelve-factor wyznacza standardy, za pomocą których można oceniać i charakteryzować nowoczesne aplikacje. W prezentacji opowiem jak, stosując się do prostych 12 zasad, tworzyć aplikacje, które są skalowalne, łatwe w utrzymaniu i rozwijaniu.
16:45 - 17:15 |
Michal Giergielewicz: Ewolucja architektury w produkcie Getresponse API (S) G2A |
Każdy kod ewoluuje. Duży produkt zaczyna jako małe niewinne MVP, by powoli i (oby) iteracyjnie rozrastać się do 'dorosłej' postaci. Równocześnie ze wzrostem produktu od strony 'ficzerów' rośnie jego wewętrzna komplikacja. Powstaje architektura - czasem zła, czasem dobra. Nowe API Getresponse'a jest gdzieś w trakcie tej drogi, juz po kilku iteracjach, juz nie jako MVP. Chciałbym podzielić się doświadczeniem z procesu budowania architektury naszego API, wyboru i implementacji rozwiązań architektonicznych oraz sposobu mierzenia efektywności naszych decyzji.
17:00 - 20:00 |
Leszek Krupiński, Kacper Gunia, Mariusz Gil: Automatic workflows with Ansible - powtórka (tutorial) PLUG |
Jeśli w projekcie masz coś zrobić raz, po prostu zrób to. Przy drugim razie również, ale powinieneś się już nad tym zastanowić. Ale zanim zrobisz to samo trzeci raz, napisz kod, który zautomatyzuje twoje działania. Takie podejście zaoszczędzi Ci sporo czasu, bo pewnie będziesz musiał kiedyś zrobić to samo po raz czwarty, piąty, szósty... Pozwoli również zmniejszyć ryzyko pomyłek, jakie często zdarzają się przy wykonywaniu powtarzalnych czynności.
Ansible jest jednym z dostępnych na rynku rozwiązań do automatyzacji procesów IT. Od przygotowywania i provisionowania środowisk developerskich i produkcyjnych, przez deployment aplikacji czy cykliczne działania maintenance, niemal wszystko można oskryptować, zautomatyzować i przyśpieszyć. W trakcie warsztatu nauczysz się metod pracy z Ansible, napiszesz kilka playbooków konfigurujących środowisko pod projekt PHP i zastosujesz to wszystko w praktyce. Poznasz także kilka zaawansowanych aspektów tego systemu i szereg good-practices, o których warto pamiętać.
17:15 - 18:00 |
Roman Baluta: Aplikacje PHP w MS Azure. Problemy i ciekawe rozwiązania na przykładach wdrożeń. (S) G2A |
18:00 - 19:00 |
Ciaran McNulty: Driving Design through Examples BlaBla |
Modelling by Example is a set of practices that combine BDD (Behaviour Driven Development) and DDD (Domain Driven Design) techniques to creat a workflow that directly drives code from a starting point of user requirements. We will see how a simple feature can be defined via conversation with stakeholders, captured as automatable requirements, and expressed directly in the object model using tools such as Behat and PhpSpec.
18:00 - 19:00 |
Marco Pivetta: Doctrine ORM Good Practices and Tricks G2A |
Doctrine ORM is a complex tool that enables development of very advanced applications, but are you actually using it correctly?
What if you have been using the ORM incorrectly or in an inefficient way?
We are going to inspect the advantages and disadvantages of various approaches to application design with this Data mapper, and come up with a set of best practices that will be useful for your projects.
19:00 - 20:00 |
Sławomir Sobótka: Jak wciągnąć eksperta domenowego w wir modelowania - lingwistyczne i wizualne techniki DDD BlaBla |
Eksperci domenowi, to osoby, które wiedzą jak i dlaczego działa dany biznes. Zwykle nie są to użytkownicy i operatorzy systemu. Nie są to również klienci, którzy chcą po prostu zarobić. To wydaje się zbyt proste, ale o ile to możliwe najbardziej, najbardziej efektywnym sposobem komunikacji z ekspertami jest spotkanie twarzą w twarz, przy kartce papieru.
Podczas prezentacji przedstawię metodykę Modeling Whirlpool wraz z wszystkimi jej rolami, fazami i technikami:
- wizualizacje: szukanie metafor wizualnych ze świata biznesu
- techniki lingwistyczne: szukanie podmiotów i orzeczeń
- logiczne: szukanie niezmienników, analiza zmian w use case
Całość jest implementowalna jeden do jednego przy pomocy Building Blocks DDD.
19:00 - 19:40 |
Michal Giergielewicz: Clean Code - PHP? G2A |
Clean Code to hasło szturmem zdobywające bastiony IT na całym świecie. Chciałem opowiedzieć o drodze jaką przeszedłem w celu zrozumienia jakie jest sedno tego podejścia i pokazać na przykładzie jak może wyglądać aplikacja napisana w PHP z użyciem opisanych w Clean Code zasad.
20:00 - 21:00 |
kolacja / dinner |
Sunday, 15.11.2015 r.
08:30 - 09:30 |
śniadanie / breakfast |
09:30 - 10:00 |
rozstrzygnięcie konkursów sponsorskich / sponsor's contests results G2A |
10:00 - 11:00 |
Georgiana Gligor: Large-scale websites performance optimisation tricks. Allegiantair case study. BlaBla |
Practical lessons learned while revamping the allegiantair.com website to resist huge Black Friday and Cyber Monday traffic values.
Using HTTP status codes and PHP cleverly, we have made parallel requests possible, so that the user experience is greatly enhanced, and we pre-cache resource-consuming user searches. All on a solid Symfony2 foundation.
10:00 - 11:00 |
Ciaran McNulty: Why Your Test Suite Sucks G2A |
Many teams adopt TDD attracted by the promise of a more productive workflow, fewer regressions and higher code quality. Sometimes this goes wrong and these benefits do not materialise, despite a healthy-seeming test suite. In this talk we will look at what the common pitfalls of testing are, why teams fall into these traps, and they can dig themselves out.
11:00 - 12:00 |
Olivier Dolbeau: Logs hunting! BlaBla |
Logs are really important to know what happen once your application is in production! In this talk we will see which logs matters, how we can track them and how we can exploit them. Armed with Monolog, Elasticsearch, Logstash & Kibana (ELK) we will see how we can hunt all relevant logs on our platform!
11:00 - 12:00 |
Norbert Orzechowicz: A Walk Through System Layers  G2A |
W przeciągu ostatnich kilku lat PHP przeżyło gwałtowny rozwój samego języka, jak i świadomości programistów. Skrypty, które do tej pory nazywaliśmy stronami internetowymi, wyrosły na poważne systemy, co zmusiło programistów do pochylenia się nad architekturą umożliwiającą ich rozwój i wieloletnie utrzymanie. W tym celu aplikacje zostały podzielone na warstwy, a rzeczy, które do tej pory traktowaliśmy priorytetowo, jak na przykład bazy danych stały się detalami implementacyjnymi. W czasie prezentacji przejdę od domeny, poprzez aplikację do interfejsu użytkownika wspartego infrastrukturą. Opowiem o procesie powstawania każdej z tych warstw, oraz ich przeznaczeniu, a to wszystko na przykładzie prawdziwej aplikacji stworzonej w oparciu o DDD, BDD i TDD. Wspomnę też dlaczego nie wybrałem frameworka Laravel i jednocześnie dlaczego go nie odrzuciłem.
12:00 - 12:45 |
Sebastian Grodzicki: Redis BlaBla |
To nie będzie kolejna prezentacja "getting started" żywcem wzięta z dokumentacji. Pokażę moc drzemiącą w tym narzędziu na prawdziwych przykładach i powiem Ci dlaczego MUSISZ zacząć korzystać z Redisa oraz dlaczego Memcached przy nim wymięka.
12:00 - 13:00 |
Mariusz Gil: MySQL under the siege G2A |
Istnieje bardzo wiele powodów, dla których baza danych MySQL jest rozwiązaniem pierwszego wyboru dla aplikacji webowych. To szybki, popularny i całkiem nieźle udokumentowany system RDBMS, na dodatek świetnie znany wśród administratorów IT. Jednak w bardzo wielu przypadkach baza ta, jak również i każda inna, staje się jednocześnie pierwszym wąskim gardłem. Nieindeksowane zapytania, tabele przeciążone zbyt dużą liczbą niepoprawnie założonych indeksów, nieoptymalna konstrukcja schematu tabel lub poszczególnych zapytań, to tylko początek większych problemów... W trakcie tej sesji przedstawię techniki i use-case'y projektowania wydajnych zapytań i schematów baz danych, identyfikacji wąskich gardeł i sprawienia, aby MySQL był naprawdę szybki pod (niemal) dowolną aplikacją PHP. Zapoznamy się także z możliwościami oferowanymi przez forki MySQL: MariaDB, Percona Server, Drizzle czy WebScaleSQL, a także zarysuję techniki, jakie wykorzystywaliśmy przy klastrach MySQL o wielkości od 1 do ponad 100 instancji.
13:00 - 14:00 |
Michał Pipa: HTTP Cache BlaBla |
Wydajność aplikacji webowych od zawsze była bardzo ważnym zagadnieniem. Jednym z najskuteczniejszych sposobów na poprawienie wydajności jest poprawne użycie cache protokołu HTTP. Omówię zarówno standardowy cache HTTP, jak i cache fragmentów stron z użyciem specyfikacji ESI oraz reverse proxy.
13:00 - 13:45 |
Maciej Iwanowski: Code review - jak krytykować G2A |
Inspekcja kodu, to jeden z najważniejszych etapów rozwoju oprogramowania. Pomaga rozwijać i budować zespół, ma kolosalny wpływ na jakość oprogramowania, a jednocześnie łatwo może stać się przeszkodą albo przykrym obowiązkiem.
Chcę powiedzieć o tym co robić powinniśmy, czego robić nie powinniśmy i jakich liczb się trzymać przygotowując kod do przeglądu.
PS. Prezentacja może zostać przedstawiona zarówno po polsku jak i angielsku
13:55 - 14:00 |
zakończenie konferencji / closing remarks G2A |
14:00 - 15:00 |
opcjonalny obiad / optional lunch |

Michelangelo van Dam works at in2it as a professional PHP consultant assisting businesses to automate their development processes, improve their code quality and train their development teams. Michelangelo is also president of the PHP user group PHPBenelux where he and a team organizes monthly meetups, development events and an annual conference. He's a devoted member of the global PHP community and contributes to open-source projects, mainly PHP related.
In his spare time, Michelangelo likes to spend all his time with his wife and 3 sons.
Web Developer / Architect, Symfony2 fan, #swarrot maintainer, be[a|e]r lover.
Entrepreneur, consultant, coach and mentor. An expert in the field of Psychology of Achievement, Effective Communication and Effective Management.
Software developer with over 14 years of experience. Currently works at GetResponse as API Evangelist and Software Architect. Advocate of Agile principles, SOLID and Software Craftsmanship. In spare time he creates small Symfony2 app and sometimes even smaller LUA script for Computercraft.
Mariusz Gil is architect and CTO focused on high performance and scalable web applications. Trainer, consulant and conference speaker. He 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 4Developers and PHPcon Programme Commitees and one of members behind PHPers, open meetups for PHP developers in many cities in Poland. Big-data and machine-learning enthustiast and data-sciencist wannabe. After hours, biker and rock guitarist.
My name is Georgiana Gligor, and I am crafting professional software since 2003. I am a geek, a mother, and a do-er. I am the living proof that geek girls are an asset to any team. I like to code for large-scale applications, and to mentor team mates in achieving craftsmanship.
I have touched every aspect in the life cycle of software development, from assessing and understanding the client needs, to documenting the functional requirements, assembling the team, preparing the technical specifications, selecting the tools, setting up the development environment, conducting code reviews, pair programming with both frontend and backend developers, mentoring team members, writing up documentation, ensuring a high quality of the software delivered, setting up and conducting performance tests, ensuring continuous delivery mechanisms oresent as part of the daily team routine, supplying installation instructions for production use, ensuring test coverage, and documentation.
Currently CTO at GoldenLine. For more than 11 years associated with web technologies. A lover of new technologies and scalable architecture.
Kacper Gunia works as Technical Team Leader and Trainer for SensioLabs UK in London. He is a Symfony Certified Developer with 6 years of experience with framework. Passionate about Software Architecture and TDD/BDD, explorer of DDD and Agile practitioner.
PHP developer, architect and team leader. QA (continuous integration, unit testing, test driven development, code inspection), high traffic and high availability, application architecture and requirements analysis, object orientated programming. Linux rather than Windows.
PHP manual translator, PHPers meetup organizer, speaker, web solutions architect, web security analyst, PHP programmer since 2000.
In his role as Training Manager at Inviqa and Sensio Labs UK, Ciaran helps teams at all levels of ability improve via training and coaching. He has been a PHP professional since the late 90s and is passionate about TDD, BDD and Agile methodologies. He is lead maintainer of PhpSpec.
Full stack developer at Blablacar for 4 years.
Passionate about everything, I love to share what I've learned. Scaling high traffic website and building rich internet application are my favorite topics.
He started his professional career 13 years ago as a freelance web developer. After working for several companies, doing a lot of writing, speaking and teaching, he took on a new challenge as CTO of Ibuildings, a Dutch company packed with talented developers.
Matthias is the author of "A Year With Symfony" and "Principles of Package Design" and regularly posts on his blog "PHP & Symfony". He’s currently on tour with Ross Tuck to deliver DDD & hexagonal architecture workshops.
Architect, Web developer in BetaSoft, where he created eDokumenty platform. Currently CEO at eDokumenty sp. z o.o. Privately father of two sons and marathoner.
Software developer in eZ Systems. PHP/Symfony trainer. Open Source evangelist and Linux enthusiast.
Marco "Ocramius" Pivetta is a software consultant at Roave.
With over a decade of experience with PHP, he is part of the Zend Framework CR team, Doctrine core team, and is also active in the community as a mentor and supporter.
When not coding for work, he usually hacks together new concepts and open source libraries, or simply provides Q&A on IRC.
PHP developer with 7+ years of web programming experience and knowledge. Symfony expert and quality freak. Developer with agile and lean metodologies experience. Team worker. Focues on discovering how business works by using methodologies like BDD. Zend Certified Engineer in PHP5 and Symfony Advanced Certificate holder
Head of IT, through many years back-end developer. His carrier started as graphic designer, then web master, front-end developer. 11 years experience, works with many environment and using many frameworks.
Sofware Developer with 5 years of experience. He proved that software design through TDD can be successful. Really interested in OOP, DDD and Design Patterns. Focus on modeling code using business and domain experts language.
He started coding when he was 11 years old and for 3 years he’s been doing it for a living. Now he adds and removes lines of code in Schibsted Tech Polska. Almost since the beginning of his programming adventure he’s been loyal to PHP. He says that there aren’t any weak programming languages, but there are weak programmers. In his job he would possibly automate and virtualize everything (if he only could). Active member of PHPers group in Gdańsk and proud owner of green elePHPant.
Marek is an IT architect in G2A company. Over 8 years of professional experience, mostly as PHP developer and database administrator (Postgresql fanatic). Took part in building many enterprise class applications.
Developer, software architect, team leader and author of “To-Do: Team!” book. I am a big fan of Behavior Driven Development and open source software. In my everyday work I try to share my experience and actively participate in development and spreading a good word about open source projects like Symfony, Behat or PhpSpec. I am also fascinated by making teams work better and tweaking their productivity. After hours I'm one of PHPers meetups organizers.
Mathias is a recovering music composer turned programmer, blogger, and speaker. He’s the owner of Value Object Comm.V, a small consultancy company. As a technical and strategic advisor, Mathias helps teams to build enterprise applications for complex business domains. For some weird reason, he enjoys improving legacy projects. He’s teaches Domain-Driven Design courses, and founded the Belgian DDD community. Mathias lives in Kortrijk, Belgium, where in his spare time he reads books, and invents crazy Lego structures with his two boys.
|

Please register if you want to use the full functionality of our service. This is not an enrollment for the conference yet.
If you have an account, just sign in.
users: 0
guests: 1
Lead Partner



Partners
|