Oktober

09.10.2014

Webseiten müssen schnell sein, denn die Bereitschaft, auf das Laden einer Webseite zu warten, sinkt stetig. Folglich zählt jede Millisekunde, wenn es darum geht, Absprünge zu vermeiden. Egal ob reale Ladezeiten, gefühlte Dauer des Seitenaufbaus oder das Reaktionsverhalten im Browser – es gibt viele Stellen, an denen im Client gemessen und regelmäßig optimiert wird. Tauchen Engpässe hingegen im Backend auf, gilt scheinbar vor allem eine Parole: exzessives Caching! Blöd nur, wenn sich Inhalte so häufig ändern, dass ein Caching praktisch wirkungslos ist. Könnte man doch nur eine Applikation so entwerfen, dass sie ohne Caching hochperformant arbeitet ...

Weiter zum Vortrag

10.10.2014

Soll ich meine Software besser als Ganzes mit End-to-End Tests testen oder doch lieber im Kleinen mit Unit Tests? Und welchen Ansatz soll ich verfolgen? Acceptance Test-Driven (ATDD)? Behavior-Driven Development (BDD)? Test-Driven Development (TDD)? Diese und andere Diskussionen rund um das Testen von Software führen Entwicklerinnen und Entwickler leider allzu oft nur aus der Werkzeugsicht und verlieren dabei den eigentlichen Entwicklungsprozess aus den Augen. Dieser Vortrag erklärt nicht nur die unterschiedlichen Ansätze wie ATDD, BDD und TDD sondern beleuchtet auch wann und in welchem Kontext sie ursprünglich erfunden beziehungsweise wiedergefunden wurden. Die Teilnehmer gewinnen ein Verständnis für die gängigen Prozessbausteine rund um das Testen und können auf dieser Grundlage den für sie passenden Prozess ebenso wählen wie die Werkzeuge, mit dem sie den Prozess umsetzen.

Weiter zum Vortrag

23.10.2014

Domain-Driven Design puts a focus on domain logic, the heart of business software. It is in this layer of the software that business concepts are represented in code together with their respective business rules. The state that reflects the business situation is controlled and used here. Business rules can be represented in code using state machines. These can beimplemented effectively and with ease by applying the State design pattern. Join Sebastian Bergmann on a whirlwind journey through areas of software engineering such as design patterns, static code analysis, software visualization, code generation, and test generation.

Weiter zum Vortrag

26.10.2014

Die aktuellen Frameworks zeigen es: der Trend in PHP geht klar zu noch mehr OOP. Je komplexer die Anforderungen werden, desto wichtiger sind eine klare Struktur und gute Wartbarkeit des Codes. Dies und echte Wiederverwendbarkeit erzielt nur, wer objektorientiert programmiert. Aber was genau macht wartbaren und wiederverwendbaren Code aus? In diesem Workshop verstehen Sie dank pragmatischer, praxisnaher Erläuterungen fortgeschrittene Techniken wie Dependency Injection, abstrakte Basisklassen und Interfaces und lernen, diese richtig einzusetzen. Sie erleben live, wie man nach aktuellen Best Practices programmiert und was es mit Akronymen wie SOLID auf sich hat. Anstelle Folien mit vorbereiteten Standardbeispielen zu zeigen, erläutern und diskutieren wir interaktiv Probleme und Lösungsansätze anhand von liveprogrammiertem Beispielcode. Durch Praxisübungen stellen wir sicher, dass Sie Ihr Wissen anschließend auch wirklich in der Praxis anwenden können. Bringen Sie deshalb ihren Laptop mit einer aktuellen PHP-Umgebung mit.

Weiter zum Vortrag

27.10.2014

The end of Cross Site Scripting? Cross Site Scripting – or short XSS – is a security vulnerability as old as the web. Despite continuous efforts to educate developers to properly escape values before outputting though XSS are still a common problem. To mitigate XSS attacks at the browser level Mozilla developed a new by now W3C standard called Content Security Policy (CSP). This talk will introduce you to the feature set of the CSP, to what degree current browsers already support it and how easy it is to enhance the security of your own web application.

Weiter zum Vortrag

28.10.2014

It is a fact of life for every developer: you have to deal with code that has been written before your time and does not follow state-of-the-art best practices. The audience will learn in this session how branch-by-abstraction can be applied to "hide" ugly code behind beautiful APIs and how automatically generated characterization tests can be used to safeguard against unintended changes in legacy code while it is modernized. This makes testing in legacy applications possible and enables writing new code that does not suffer from the limitations imposed by the project's history.

Weiter zum Vortrag

Domain-Driven Design puts a focus on domain logic, the heart of business software. It is in this layer of the software that business concepts are represented in code together with their respective business rules. The state that reflects the business situation is controlled and used here. Business rules can be represented in code using state machines. These can be implemented effectively and with ease by applying the State design pattern. Join Sebastian Bergmann on a whirlwind journey through areas of software engineering such as design patterns, static code analysis, software visualization, code generation, and test generation.

Weiter zum Vortrag

Big enterprises such as Amazon are leading the way: perpetual A/B testing is used to continuously improve the shop. Do these A/B tests have to be implemented separately in JavaScript that is executed on the client side? How can the ideas of "The Lean Startup" be implemented in PHP? This session shows how A/B tests can be used to successfully apply experiment-driven development in PHP-based projects. Using pragmatic and practical examples the audience will experience live how new features can be gradually rolled out as an experiment for a (growing) subset of a website's user base, how you can operate multiple versions of your application in production, and what the advantages of doing so are.

Weiter zum Vortrag

Using tried and established frameworks spares you from reinventing solutions others already spent time and effort on implementing. While relying on these proven solutions can support you in getting your software into production faster, tight coupling of your code with the framework should be avoided: To make testing easy and efficient, to stay independent of third-party release cycles, and of course to reduce maintenance efforts. In this session you will learn how to maximize the benefit of using a framework while staying independent enough from it to minimize the risks of coupling your application too tightly to it.

Weiter zum Vortrag

29.10.2014

Beyond unit tests, integration tests are crucial. Implemented as end-to-end tests, however, they are cumbersome to write and slow to execute. Edge-to-edge tests are easier to write and faster to execute. More importantly, they require minimal maintenance. Most importantly, they deliver highly reliable results. Developers in the audience will gain expertise in the confident and effective implementation of integration tests with PHPUnit.

Weiter zum Vortrag