Session Overview
CSS3 produktiv nutzen
Alberto Assmann
Mayflower GmbH
CSS3 bietet viele tolle Neuerungen. Aufgrund der fehlenden Spezifikationen braut hier jedoch jeder Browser sein eigenes Süppchen. Was für Vorteile CSS3 dennoch bietet und wie die Nachteile mit den richtigen Tools ausgeglichen werden können, wird dieser Vortrag exemplarisch zeigen.
Das beste Build-System der Welt
Alberto Assmann
Mayflower GmbH
Jedes größere Projekt kommt an den Punkt, wo das Releasen von Hand zu aufwendig wird. Spätestens dann wird die Frage nach dem richtigen Build-Systems laut. Tools, um diesen Prozess zu automatisieren, gibt es viele, doch was genau ist das richtige, das einzige für Ihr Projekt? Dieser Vortrag soll einen Überblick über die Möglichkeiten und eine Orientierungshilfe zum richtigen Tool geben.
Deployment == Annoyment?
Arne Blankerts
thePHP.cc
No matter if your server runs RedHat Enterprise Linux, CentOS, Debian/Ubuntu or Suse Linux - every linux distribution comes with a package management system (PMS) to automate the process of installing, upgrading, configuring, and removing software packages in a consistent manner ... Yet when deploying PHP based applications many developers fall back to SCP, or even worse FTP. This session will show you how easy it is to create custom packages and make use of the power provided by your PMS to automate deployment.
What to look for when performing Security Audits
Arne Blankerts
thePHP.cc
To ensure the high quality of your source code, you of course write (unit) tests and do regular code reviews. Judging the state of security though may seem a lot harder than it is - if you don't know what to look for and where to get started. This talk will introduce you to security audits, why and how tools can assist a manual review and why a mere scanner based approach doesn't work.
Kanban bei Jimdo
Arne Roock
it-agile GmbH
Software-Kanban ist eine junge Methode, um seinen Prozess in kleinen Schritten immer weiter zu verbessern, um so immer schneller immer mehr Wert für den Kunden zu liefern. Die Grundlagen von Kanban sind zwar recht simpel, aber auch hier liegt der Teufel im Detail. Im ersten Teil stellen wir die Grundlagen von Kanban vor, danach beschreieben wir, wie Kanban konkret bei Jimdo eingesetzt wird.
Introducing TDD to your Project
Bastian Feder
Liip Ag
Everyone is talking about test driven development (TDD) being so cool and liberating for both developers and project responsibles. But very few projects are using TDD to gain its relieving aspects. It seems many project responsibles are uncertain about the efforts and direct benefits of TDD and step back. I will raise some questions to benefits of TDD for each party of the project setup.
Client-Security im Zeitalter von HTML5
Carsten Eilers
ceilers-it.de
Schwachstellen gibt es nicht nur auf dem Server, sondern auch auf dem Client. Je mehr Aufgaben auf den Client ausgelagert werden, desto mehr mögliche Schwachstellen entstehen dort. Und je mehr Daten auf dem Client gespeichert werden, desto interessanter wird er für Angreifer. Alle reden von HTML5 und seinen tollen neuen Möglichkeiten, aber denkt denn niemand an die Sicherheit?
Typische Fehler und wie man sie vermeidet
Carsten Eilers
ceilers-it.de
Meist sind es immer wieder die gleichen Lösungsmuster, die zu typischen Schwachstellen wie Directory Traversal, File Inclusion, OS Command Injection, SQL Injection, XSS usw. führen. Anhand veröffentlichter Schwachstellen werden die dabei gemachten Fehler demonstriert, ihre Ursachen analysiert und mögliche sichere Lösungen für das jeweilige Problem beschrieben.
Designing HTTP Interfaces and RESTful Web Services
David Zuelke
Bitextender GmbH
A lot of Web Services today claim to be RESTful APIs. But are they really? Do the URLs accurately identify resources? Are the powers of HTTP leveraged properly? What is "hypermedia", what is the Uniform Interface, and what is the secret behind the HATEOAS acronym that is so essential to the REST architectural style? This talk gives answers and guidelines using real-life examples.
Large-Scale Data Processing with Hadoop and PHP
David Zuelke
Bitextender GmbH
The MapReduce framework promises to make computing of large sets of data very easy. The approach offers excellent scalability across many computing nodes, and can easily be integrated with existing systems. This session will give an introduction to the basic techniques and ideas behind MapReduce, followed by examples using Apache Hadoop, a major implementation of MapReduce, together with PHP.
Advanced Date/Time Handling with PHP
Derick Rethans
PHP has powerful date/time handling functionality. It allows you to deal with many issues that arise when you are developing applications. This talk will cover advanced functionality and is not an introduction except for where this is necessary. I will cover dealing with timezones, calculations with DateTime objects and tips and tricks for dealing with storing date/time information.
Profiling PHP Applications
Derick Rethans
The web is full of advice focussed on improving performance. Before you can optimise however, you need to find out if your code is actually slow; then you need to understand the code; and then you need to find out what you can optimise. This talk introduces various tools and concepts to find issues with your applications, and tools and concepts that help you optimise the your PHP applications.
The five Dysfunctions of a Team
Dominik Jungowski
CHIP Xonio Online GmbH
“The five dysfunctions of a Team” is a very powerful and popular model of Teamwork (or rather: Teamwork as it should not be) by Patrick Lencioni. This session will explain the model, how today’s agile processes already prevent those dysfunctions and moreover what you can do to overcome them.
Distributed Couch Apps - embracing eventual Consistency
Kore Nordmann
Qafoo
CouchDB is a prominent representative of the NoSQL movement. Using its integrated web server and eventual consistent replication you can not only distribute data, but also full application code. This even works for clients which are not always connected to the internet, like e.g. mobile devices. This session gives you an insight Couch apps, their beauty and pitfalls.
Immer am Optimum, Continuous Performance
Manuel Pichler
Qafoo GmbH
Kore Nordmann
Qafoo
Wie überprüfen Sie, dass eine Applikation die Leistungsanforderungen auch bei komplexen Nutzerinteraktionen erfüllt? Es gibt eine Welt jenseits von Bench und Siege: JMeter kann Nutzerinteraktionen simulieren, komplexe Cluster-Setups messen und lässt sich in jedes Continuous Integration Setup integrieren. Wir zeigen, wie JMeter verwendet werden kann, um Performance kontinuierlich zu überwachen.
JavaScript QA: js-test-driver und sinon.js richtig nutzen
Jakob Westhoff
Qafoo
Durch die wachsende Komplexität und Größe heutiger JavaScript-Applikationen sind Mittel zur Qualitätssicherung unablässlich geworden. Unit Tests sind einsolches Mittel und haben sich bereits in anderen Sprachen bewähren können. Lernen Sie in dieser Session das Unit Testing Framework js-test-driver und Sinon.JS kennen.
Test-driven JavaScript Development
Martin Ruprecht
Mayflower
Die Entwicklung mit JavaScript ist schon seit längerer Zeit gängiger Standard, und somit wurden auch bekannte Programmierstandards und Entwicklungsformen auf diese Sprache transferiert. In dieser Session zeige ich die Grundlagen für testgetriebene Entwicklung mit JavaScript und führe das anhand eines Beispiels vor.
Continuous Deployment
Michael Peacock
Smith Electric Vehicles
This talk will look at a range of continuous deployment strategies and tools, and how they should link in to your Continuous Integration and Build processes, using a range of QA tools, CI tools and deployment options.
Dealing with Continuous Data Processing
Michael Peacock
Smith Electric Vehicles
This talk will discuss some of the PHP concepts, tools and technologies available to help deal with continually processing and managing data through heavily de-coupled systems. From the services needed to ensure you can safely perform maintenance without loosing data, to reporting, storing, managing, displaying and reacting upon this data from within your web application & your database systems.
Enhancing Symfony 2 and ZF 2 Components in FLOW3
Robert Lemke
Frameworks like Symfony 2 or ZF 2 offer feature-rich and high quality components solving problems you better don't even think about creating a solution for. You might also have this code library which took you ages to develop and now want to use it in your next FLOW3 project. What if you could apply AOP and Dependency Injection to these components, without changing a single line of code? You can.
Hands on FLOW3
Robert Lemke
The FLOW3 framework got a lot of attention when version 1.0 was released after years of development. Its main approach is to deliver a whole-in-one concept for modern programming techniques and guiding developers to write excellent code. This session takes you on a tour through FLOW3's key features by demonstrating the making of a real application.
Regressionstests in Webprojekten
Sebastian Bauer
Inovex GmbH
Gerade im Web sind kurze Releasezyklen oft unabdingbar. Meist werden noch viele manuelle Tests gemacht und sind ein bremsender Faktor für häufige Releases. Was gehört dazu, um bei Veränderungen des Projekts automatisiert zu prüfen, ob noch alles funktioniert? Wie kann man darauf aufbauen und was kommt danach?
Stolpersteine agiler Methoden
Sebastian Bauer
Inovex GmbH
Dominik Jungowski
CHIP Xonio Online GmbH
Agile Methoden und ihre Regeln haben viele Stolpersteine, über die man fallen kann. Oft scheitern sie am Verständnis, weil es schwer fällt zu verstehen, worauf manche Regeln eigentlich abzielen. Aber auch der Faktor Mensch kann ein Problem sein - nicht nur wegen des Gewohnheitstiers Mensch. Diese Session soll zeigen, welche Stolpersteine das sein können und wie man sie aus dem Weg räumt.
CoffeeScript und Backbone an einem Beispiel
Sebastian Sanitz
it-agile GmbH
CoffeScript ist eine “kleine” eigene Sprache, die nach JavaScript kompiliert wird. Für die Lesbarkeit verzichtet sie auf syntaktisches Rauschen, Semikolons und Klammern, und fügt syntaktischen Zucker hinzu. In der Session wird live eine JavaScript-Anwendung in CoffeeScript mit dem Framework Backbone gebaut, um die Konzepte, Vor- und Nachteile zu erläutern.
Change is inevitable (except from a vending Machine)
Stefan Priebsch
thePHP.cc
Where did Bob live two years ago? And what was his last e-mail address again? If your application needs to keep track of things that change over time, you must take a step beyond normal object relations or foreign keys in a database. This presentation introduces temporal patterns to solve these kinds of problems and shows how to effectively implement them in PHP using the date extension.
This Way or the other Way?
Stefan Priebsch
thePHP.cc
Many decisions are required when developing software. If we are not sure which path to choose (which is often), we just guess. How about running an A/B test instead, so we can base our decision on empirical data? Why not continuously run A/B tests to increase conversion rates or sales? This presentation introduces how to properly do experiment-driven development in PHP.
23 Dinge, die Sie über Softwareentwicklung in Teams wissen sollten
Stephan Schmidt
1&1 Internet AG
Software wird immer größer, große Applikationen werden von Teams konzipiert, gestaltet, entwickelt und getestet. Aber wie müssen solche Teams aufgebaut sein? Welche Methoden und Tools sollten sie einsetzen? Wo befinden sich die Fallstricke und und wie kann man sie in der Teamarbeit umgehen? Und vor allem, was hat das mit einem der größten Baseballspieler aller Zeiten zu tun?
Geolocation und Location-based Services
Stephan Schmidt
1&1 Internet AG
Das Web ist mobil geworden und es gibt immer mehr Dienste, die je nach Position des Benutzers andere Informationen zur Verfügung stellen. Durch mobile Web-Apps sind Themen wie HTML5 Geolocation, Geocoding und APIs wie foursquare, Google Places oder Qype wichtig für PHP-Entwickler. In dieser Session lernen Sie, wie Sie rausfinden, wo sich ihr Benutzer befindet und was es in seiner Nähe gibt.
Getting started with Unit Testing
Tobias Schlitt
Qafoo GmbH
Unit testing has established as the primary way for automated testing in the PHP world. This hands-on session gives you an introduction to unit testing with PHPUnit, based on a practical example. It shows you how to approach unit testing in general, how to test success and failure cases and some more advanced techniques available in PHPUnit.
Testen State of the Art
Tobias Schlitt
Qafoo GmbH
Manuel Pichler
Qafoo GmbH
Automatisiertes Testen ist zum Standard in der PHP-Welt avanciert. Aber ist Ihre Test-Suite immer noch State of the Art? Nutzen Sie die neuesten Features, um sich das Testleben einfacher zu machen? Sind Ihre Tests verlässlich? Lernen Sie, was en vogue ist in der PHP-Testwelt im Jahr 2012.
Extending MySQL: developing Server Plugins
Ulf Wendel
Oracle/MySQL
The MySQL Server has a powerful plugin API. For example, the well know HandlerSocket plugin gives users direct access to the MySQL internal storage API. By surpassing the the SQL layer it gives users an amazing performance, close to that of caching solutions. Other plugins exist. How do they work, what types of plugins are there, how to unleash the potential of MySQL, e.g. for JavaScript users.
MySQL DB Cluster Usage made easy: mysqlnd_ms
Ulf Wendel
Oracle/MySQL
The free and open source PECL/mysqlnd_ms extension for PHP supports MySQL users in using any kind of MySQL database cluster. Optimized for replication cluster but not limited to replication, it add read-write splitting, load balancing, automatic fail over, connection pooling to any PHP MySQL application using any PHP MySQL API compiled to use the mysqlnd library. mysqlnd is a default in PHP 5.4.
Unhosted – separating Web Apps from Data Storage
Jan-Christoph Borchardt
Unhosted.org
An update on the non-profit Unhosted project which develops a better web architecture. We will explain why open source is not the solution for web applications and why Javascript is. For that, we will present the remoteStorage specification and how application developers as well as storage providers can implement it – and how everyone benefits.
Tracks
Sessions
- CSS3 produktiv nutzen
- Das beste Build-System der Welt
- Deployment == Annoyment?
- What to look for when performing Security Audits
- Kanban bei Jimdo
- Introducing TDD to your Project
- Client-Security im Zeitalter von HTML5
- Typische Fehler und wie man sie vermeidet
- Designing HTTP Interfaces and RESTful Web Services
- Large-Scale Data Processing with Hadoop and PHP
- Advanced Date/Time Handling with PHP
- Profiling PHP Applications
- The five Dysfunctions of a Team
- Distributed Couch Apps - embracing eventual Consistency
- Immer am Optimum, Continuous Performance
- JavaScript QA: js-test-driver und sinon.js richtig nutzen
- Test-driven JavaScript Development
- Continuous Deployment
- Dealing with Continuous Data Processing
- Enhancing Symfony 2 and ZF 2 Components in FLOW3
- Hands on FLOW3
- Regressionstests in Webprojekten
- Stolpersteine agiler Methoden
- CoffeeScript und Backbone an einem Beispiel
- Change is inevitable (except from a vending Machine)
- This Way or the other Way?
- 23 Dinge, die Sie über Softwareentwicklung in Teams wissen sollten
- Geolocation und Location-based Services
- Getting started with Unit Testing
- Testen State of the Art
- Extending MySQL: developing Server Plugins
- MySQL DB Cluster Usage made easy: mysqlnd_ms
- Unhosted – separating Web Apps from Data Storage







