Tracks & Sessions

Session

Your Tests are lying!

Sebastian Bergmann thePHP.cc

2010-10-11 | 11:45 AM - 12:45 PM | Zagreb I

Unit Tests help reducing the cost and risk of any individual change smaller. But how do you know that your tests are not lying and give you a false sense of confidence? In this session you will learn how to automatically detect problems in your test code, so called Test Smells, and how to avoid them. You will also learn how to write effective tests that will pay you back with information.

Using Cassandra with your web application

Tom Melendez Skybox Imaging, Inc

2010-10-13 | 04:30 PM - 05:30 PM | Gutenberg I

You've got big data needs, ones that traditional RDBMS just don't fit. And you don't need the overhead. Introducing Cassandra, an open source, decentralized, key-value data store which can provide you with massive scale without a single point of failure. We'll discuss installation, configuration, how to talk to it with PHP and usage examples.

State of the Mocks

Sebastian Bergmann thePHP.cc

2010-10-13 | 09:00 AM - 10:00 AM | Gutenberg III

When we are writing a test in which we cannot (or chose not to) use a real dependency, we can replace it with a Test Double. PHPUnit supports the automatic generation of stubs and mocks for this. Alternative mock object libraries such as Mockery and Phake promise to be more powerful yet to be easier to use. This session compares the various mock object implementations for PHP that are available.

Ran an den Klienten - ein Cache-Plugin für mysqlnd

Ulf Wendel MySQL GmbH/Sun Microsystems GmbH

2010-10-12 | 04:30 PM - 05:30 PM | Gutenberg III

//Session will be in English upon request ("A caching plugin for mysqlnd") Kinder lieben es Türme zu bauen. Sie stapeln Bauklotz um Bauklotz aufeinander bis ihr Turm schwindelerregende Höhen erreicht. Programmierer haben sich kindliche Experimentierfreudigkeit erhalten. Sie stapeln Datenbankabstraktion auf Datenbankabstraktion. Der Quellcode profitiert, die Datenbank leidet. Ein Cache muss her: mysqlnd-Plugin oder MySQL Server Query Cache. Doch welchen und wie optimieren?

HTML5 for PHP Developers

Thorsten Rinne Mayflower GmbH

2010-10-11 | 05:00 PM - 06:00 PM | Gutenberg III

HTML5 is the future. And the future has already begun! This talk will introduce the new features of HTML5 like Canvas, Web Storage, Websockets, Document Object Model 5 and Geolocation and how HTML5 will affect PHP developers.

Introduction to Testing with Selenium

Arne Blankerts thePHP.cc

2010-10-11 | 03:45 PM - 04:45 PM | Zagreb I

While unit tests usually cover all the important aspects of the backend, webbased frontends require a different approach - especially if javascript and client-side user interactions are to be tested. This session will introduce you to the powerful Selenium IDE and testing framework. You will learn how to create robust tests, using various selectors and how to integrate the tests with phpunit.

Why MVC is not an application architecture ...

Stefan Priebsch thePHP.cc

2010-10-11 | 11:45 AM - 12:45 PM | Gutenberg I

... and how this should affect your code. Pretty much every PHP framework is based on MVC. We will explore what MVC was originally meant to be and how it is used (and abused) in web applications these days. We will find out where the model hides, and how to organize an application's business logic and clearly separate concerns. As a bonus, unit testing will become a lot easier.

Geolocation and Maps with PHP

Derick Rethans

2010-10-13 | 04:30 PM - 05:30 PM | Gutenberg III

This presentation covers the use of geolocation information with PHP. I will start with a theorectical background of all the services, mapping systems etc involved. After that, I will discuss on how to use geo-services from PHP. From obtaining of geo-location information through databases and services, mapping services to visualize geo-aware data to geo-aware data storage, manipulation and querying.

Practical PHP Refactoring

Stefan Priebsch thePHP.cc

2010-10-12 | 09:00 AM - 10:00 AM | Gutenberg III

Refactoring - modifying software without affecting its behavior - can dramatically cut maintenance costs, and help avoid rewriting an application from scratch. We will demonstrate various refactoring patterns and use them on real-life code examples. What impact does refactoring have on application architecture, and how can developers sell refactoring to customers and the management?

Any to any - Convert your documents

Kore Nordmann Qafoo Tobias Schlitt Qafoo GmbH

2010-10-13 | 11:45 AM - 12:45 PM | Zagreb I

Not only in the CMS world converting between different document formats is an essential but painful task. (X)HTML, DocBook XML, different Wiki markup languages, PDF and OpenDocument can be easily converted into each other using the Zeta Document component. This talk will show you the possibilities based on practical examples and will also touch the internals of the component.

PHP inside
(of embedded devices)

Derick Rethans

2010-10-12 | 09:00 AM - 10:00 AM | Gutenberg I

Traditionally a web-only language, but that doesn't mean that it can only be used for web applications. This presentation will show you how PHP can be used on embedded devices. I will cover some basics for GUI design, but also cover issues that show up when you have to take care of low-memory, low-bandwidth situations as well as restrictions with input methods.

PHPUnit to the limit

Tobias Schlitt Qafoo GmbH Kore Nordmann Qafoo

2010-10-11 | 05:00 PM - 06:00 PM | Zagreb I

PHPUnit is the de facto standard for testing in PHP. Not only unit tests are developed using this framework, but also e.g. front end tests using Selenium integration. In this session we will discuss more edge cases where the flexibility of PHPUnit allows you to write tests and integrate them into your automated test run, even if they are clearly not unit tests anymore.

From eZ to Zeta Components

Tobias Schlitt Qafoo GmbH Kore Nordmann Qafoo

2010-10-12 | 10:15 AM - 11:15 AM | Gutenberg I

Since June 2010 eZ Components are incubated for becoming a project of the Apache Software Foundation under their new name Zeta Components. How did that come? What about the future of the project? And what about eZ? Legal aspects? Can I still venture to use this stuff? Who is now maintaining? And wow can I get involved? These are just some of the questions to be answered in this session.

'In search of…' - integrating site search systems

Ian Barber Ibuildings

2010-10-12 | 11:45 AM - 12:45 PM | Gutenberg III

Though often a key method of navigation, site search often gets the short end of the stick in development, either by handing the job over to Google or just enabling full text search in the database. In this talk we look at how full text search actually works, how to integrate search into your PHP application, and how it's possible to provide better results than Google - at least on your own site.

Debugging - Rules and Tools

Ian Barber Ibuildings

2010-10-11 | 10:15 AM - 11:15 AM | Zagreb I

Finding and fixing bugs is a major chunk of any developers time. This talk describes the basic rules for effective debugging in any language, but shows how the tools available in PHP can be used to find and fix even the most elusive error.

Security by Design

Arne Blankerts thePHP.cc

2010-10-13 | 10:15 AM - 11:15 AM | Zagreb I

While security is commonly referred to as input/output filtering and about preventing all kinds of attacks from becoming successful, there is a lot more on the non-visual side of web development. This talk will uncover all the small details that may disrupt the users trust in your application. It is about all the things you may forget when developing your application and planning the environment.

MySQL Query Tracing and Profiling

Johannes Schlüter Oracle

2010-10-13 | 10:15 AM - 11:15 AM | Gutenberg III

Many performance-related presentations tell you that your bottleneck lies in the database. Following the famous 80/20 rule - 80 percent of the application are responsible for 20% of the resource usage - this presentation will discuss different tracing and profiling techniques available for PHP and MySQL to identify your bottlenecks and optimizing the parts of your setup which matter the most.

Designing HTTP URLs and REST Interfaces

David Zuelke Bitextender GmbH

2010-10-11 | 03:45 PM - 04:45 PM | Gutenberg III

A lot of Web Services today claim to be RESTful APIs. But are they really? Do the URLs form a logical hierarchy, and do they accurately identify resources? Are the powers of HTTP leveraged properly? What is "hypermedia", 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.

MySQL&PHP - The current state

Johannes Schlüter Oracle

2010-10-11 | 10:15 AM - 11:15 AM | Gutenberg I

MySQL is the most used database for PHP-powered applications. Still many users don't know much more than msql_query() and PDO::query(). This presentation will demonstratethe pros andcons ofthe different MySQL APIs for PHP (ext/mysql, msqli, pdo_msql) as well as demystify mysqlnd. It will also show recent advances by the PHP and MySQL development teams.

Advanced project tracking with arbit

Kore Nordmann Qafoo

2010-10-12 | 04:30 PM - 05:30 PM | Gutenberg I

Arbit is open source and aims to be the next project tracker for your software projects, and is written in PHP. Besides issue tracking and Wikis it also provides integration with quality assurance tools, like PHPUnit, PHPCS and phpDepend. This talk will give an overview on its architecture, current state and how it will contribute to your development and maintance of PHP software.

Increase performance and uptime with Apache Traffic Server

Tom Melendez Skybox Imaging, Inc

2010-10-11 | 10:15 AM - 11:15 AM | Gutenberg III

You've deployed your PHP application and your user base is growing from around the world. Do you need to rewrite your app for such a large scale? Do you need full installations in international colos? Maybe. Maybe not. Apache Traffic Server is a high-performance proxy and cache recently open-sourced by Yahoo!. Installation, usage, best practices and case studies will be covered at this talk.

Continuous Improvement in PHP Projects

Thorsten Rinne Mayflower GmbH

2010-10-12 | 11:45 AM - 12:45 PM | Zagreb I

We all know Continuous Integration and Continuous Inspection with PHPUnit, Hudson/phpUnderControl and other PHP QA Tools. But nowadays software gets more complex and we need a third CI process: Continuous Improvement. This process includes anti pattern detection, technical debt analysis and static code analysis. The talk will present tools like the PHP_CodeBrowser, Cinder, Padawan or PHPMD.

Gearman Job Server

Frank Ruske Mayflower GmbH

2010-10-11 | 03:45 PM - 04:45 PM | Gutenberg I

Gearman ermöglicht paralleles abarbeiten von Aufgaben auf verteilten Systemen und Prozessen. Es bietet die Möglichkeit, Jobs zu parallelisieren, Last zu verteilen und Funktionen sprachübergreifend aufzurufen. In dieser Session werden neben den Grundlagen auch praxisbezogene Beispiele gezeigt.

The Secret Recipe for a Rich and Juicy M

Robert Lemke

2010-10-11 | 05:00 PM - 06:00 PM | Gutenberg I

Most Ms are stale and tasteless - and that although they are probably the most important ingredient of a tasty MVC implementation. This session is about the underestimated role of the M and how to create meaningful and clean Domain Models using Domain-Driven Design (a practical approach for creating clean apps for complex domains, independent from a specific technology). Bring your own apron.

Of knowledge sharing and the developer quality lifecycle

Jordi Boggiano Nelmio

2010-10-11 | 11:45 AM - 12:45 PM | Gutenberg III

The buzz is all about software metrics, continuous integration and testing, but a rather simple way to achieve higher quality and make developers happy is to share knowledge and allow developers to learn and improve instead of only being milked for code. The session will go over multiple techniques implementable at a rather low cost that can improve knowledge sharing within a company or OS project.

JavaScript Scopes and Events

Jordi Boggiano Nelmio

2010-10-12 | 10:15 AM - 11:15 AM | Watford I

JavaScript is strange to many, misunderstood by some, but it can not be ignored anymore. Variables scoping and event bubbling are probably the most important things every web developer should understand about JavaScript. The session will explore them in depth.

Introduction to AtomPub Web Services

Ben Ramsey Moontoast

2010-10-11 | 02:15 PM - 03:15 PM | Gutenberg I

Since 2003, the Atom format has been used as yet another feed format like RSS, but the Atom protocol opens the door to far more uses of Atom as both a means for distribution and publication. Ben Ramsey introduces the Atom format and protocol, explaining how these can form the foundation of any publishing service and serve as a platform for rich Internet applications.

First Steps: Lizenzverwaltung und Updates in Form eines eigenen PHP AppStores

Stefan Pasel blueend web:applications

2010-10-12 | 11:45 AM - 12:45 PM | Gutenberg I

Webanwendungen genießen den großen Vorteil, dass Updates sich zentralisiert durchführen lassen, jedoch bedarf es im Rahmen einer Mehrkundenbeziehung eines effizienten Umgangs mit Systemversionen, Lizenzen etc. Weiterhin muss der Deployment-Prozess sich harmonisch in die vorhandenen Entwicklungsprozesse integrieren. Wir zeigen erste Schritte und Erfahrungen mit der Entwicklung eines PHP AppStores für unsere Softwarelösung xelos.net und geben Ideen für eigene Umsetzungen. Kernelemente sind hierbei u.a. eine Quellcode-Versionierung mit Subversion, Packaging und Encoding der Daten sowie eine Kommunikation mittels WebServices.

Creating clean code with Aspect-Oriented Programming

Robert Lemke

2010-10-13 | 09:00 AM - 10:00 AM | Gutenberg I

OOP helps us creating a clearly laid out and intuitive model of the reality by means of objects. However, concerns like security, logging or transactions need to be implemented virtually anywhere, resulting in scattered error-prone code. Aspect-Oriented Programming separates these cross-cutting concerns from the rest of the code and lets you handle them in a well-known, central location.

Embracing Constraints with CouchDB

David Zuelke Bitextender GmbH

2010-10-13 | 03:00 PM - 04:00 PM | Gutenberg III

There has been a lot of buzz lately about the NoSQL movement in general and CouchDB in particular. For people who are used to relational databases, a lot of CouchDB's limitations look like severe disadvantages; these constraints however can also be great opportunities. This talk will give an overview of CouchDB and then focus on embracing the system's constraints to build better products.

How to scale a PHP Application

Jan Burkl Zend Technologies GmbH

2010-10-13 | 11:45 AM - 12:45 PM | Gutenberg III

In this last years a lot of high traffic web sites have been built in PHP. One of the main problem to design a distributed PHP architecture is how to share session data between multiple servers. In this talk I would like to present the most used solutions to scale a PHP application along multiple servers using different technologies: nfs, database, memcache, Zend Server Cluster Manager, etc.

PHP als Glue-Language für Legacy-Systeme

Sascha Schumann SOPRADO GmbH

2010-10-13 | 03:00 PM - 04:00 PM | Gutenberg I

Anbindung an Legacy-Systeme leicht gemacht. Wie steigert man den Wert von bestehenden Non-PHP-Infrastrukturen durch Einbindung von PHP. Welche Fallstricke gibt es, auf die man achten muss? Wo liegt das meiste Potential? Wir zeigen konkrete Erfahrungswerte. Bonus: Wie wir mithilfe von PHP ein Legacy-System mit einer Million Zeilen Code nach PHP konvertiert und das Ergebnis validiert haben.

Creating a flexible WebDAV server with PHP

Slavey Karadzhov Zend Technologies GmbH

2010-10-11 | 02:15 PM - 03:15 PM | Zagreb I

Why is WebDAV getting more and more interesting nowadays? In the PHP world we have already a couple of different implementations, but those are not always as flexible and well designed as one might want them to be. This talk shows ideas for a different kind of implementation of the WebDAV protocol and deals with the challenges that you will face when creating a flexible WebDAV server purely in PHP.

Lesser Known Security Problems in PHP Applications (2010 Edition)

Stefan Esser SektionEins GmbH

2010-10-13 | 03:00 PM - 04:00 PM | Gutenberg II

When the security of PHP applications is in focus usually standard XSS vulnerabilities, SQL Injections, Remote File Inclusions, Header Injections and CSRF are discussed. However there are a number of different vulnerability classes and non obvious exploitation paths that are as dangerous but lesser known. This talk will give an insight in such vulnerabilities and how to defend against them. This includes all the new vulnerability classes that surfaced since 2008 when the previous edition of this session was given.

HTML5 Security

Stefan Esser SektionEins GmbH

2010-10-13 | 10:15 AM - 11:15 AM | Gutenberg II

HTML5 is the new hot topic because it brings a lot of fancy new features to the world wide web. Browser vendors work hard to implement as many of the new standard as possible and web application developers on the other hand cannot wait to make use of all the new possibilities. This talk will therefore discuss new features of HTML5 from a security point of view. An insight will be given into the new chances and new risks HTML5 brings for web application security.

Daten im Web: OData

Dariusz Parys Microsoft Deutschland GmbH

2010-10-13 | 03:00 PM - 04:00 PM | Gutenberg I

Web-Anwendungen leben von Daten. Die eigenen Daten ins Netz zu bringen ist oftmals nicht ganz trivial. Lernen Sie in dieser Session was OData ist, wie Sie davon als PHP-Entwickler profitieren können und wie Sie OData in Ihre PHP-Anwendungen integrieren können. Das ganze wird anhand von Beispielen live demonstriert und erläutert.

PHP Cloud Operating Patterns

Tobias Kunze Briseño Red Hat

2010-10-13 | 03:00 PM - 04:00 PM | Watford I

By now, we have all heard plenty of analyses and opinions regarding the benefits or pitfalls of The Cloud. What these reports are often lacking, though, is a perspective on operations: how does it actually "feel" to run in an environment where everything is fleeting and dynamic, where few things have an SLA and where we can't run diagnostics? Are there Best Practices we can follow? And, how does this all relate to DevOps?

This session will show how operations break down into patterns by application type. We will look at characteristics such as architectural complexity, frequency of change, and of course how deep application requirements reach into the stack. Attendants will learn how to evaluate clouds and applications for their deployment needs. The key takeaway is that operations matter in the cloud, in particular for PHP applications.

In the follow-on Hackathon Session, we'll do a Makara platform deep-dive and work on deploying and operating apps on Amazon EC2. Bring your app and Amazon credentials!

Makara On-Boarding Hackathon

Tobias Kunze Briseño Red Hat

2010-10-13 | 04:30 PM - 05:30 PM | Watford I

Beer, Pretzels, PHP and The Cloud! – After the "PHP Cloud Operating Patterns" talk we'll turn talk into action with a Makara Cloud Application Platform deep-dive. Bring your PHP applications and you Amazon credentials and we’ll get your app running on Amazon EC2. No code? No problem. Spectators are welcome, too.

Ein Silberstreifen am Horizont

Richard Temme Peter Prochaska Softwareentwicklung

2010-10-12 | 10:15 AM - 11:15 AM | Gutenberg III

Content Management Systeme gibt es wie Sand am Meer, was dazu führt, dass schon die Wahl des richtigen Systems den Entwickler vor ein größeres Problem stellen kann. Alternativen zu den bekannten und großen CM-Systemen gibt es wenige. SilverStripe kann die Lösung für Ihr Problem sein. Diese Session soll es Ihnen ermöglichen, zukünftige Projekte mittels SilverStripe einfach und schnell umzusetzen.

RedSpark für PHP-Developer

Till Kubelke Kuborgh* GmbH

2010-10-13 | 09:00 AM - 10:00 AM | Zagreb I

Information to be updated, soon.

Integrating symfony and Zend Framework

Stefan Koopmanschap

2010-10-12 | 03:00 PM - 04:00 PM | Gutenberg III

Unlike popular belief it is not necessary to pick a single framework for a PHP project. On the contrary, it is quite easy to use more than one for your next project. The flexibility of PHP and the popular PHP frameworks allows an easy and close integration. During this presentation, you will get to see how to combine the best of both worlds into a single application of pure awesomeness.

Would you like docs with that?

Stefan Koopmanschap

2010-10-13 | 03:00 PM - 04:00 PM | Zagreb I

For most developers, documentation is a necessary evil they'd rather skip. But really, is documentation that evil? Or is it actually useful? This presentation with show the types of (technical) documentation that can be written (often used ones such as functional & technical design, but also some unexpected ones such as commit messages), the reasons for documenting, and the tools that can be used.

Better Quality through Scrum

Dominik Jungowski CHIP Xonio Online GmbH

2010-10-12 | 09:00 AM - 10:00 AM | Zagreb I

Scrum is a popular method of agile project management. This session will introduce you to the Scrum basics, its set of methods and meetings, and will show you how Scrum will automatically increase the quality of your product and code by encouraging you to implement methods such as refactoring, test-driven development and fixing bugs immediately.

Virtualization Strategies for Developing and Deploying High Performance PHP Applications

Todd Trichler Oracle

2010-10-13 | 10:15 AM - 11:15 AM | Gutenberg I

This session covers techniques for using OS virtualization in your PHP development, testing, and deployment environments. A demonstration and discussion of how to set up and use virtualization in a desktop environment will be shown.

The second half of the presentation covers tips for building high performance PHP applications with Oracle Database. Techniques shown include connection pooling, automatic data privacy for PHP application users, caching for performance, and how to suspend and resume database transactions to effectively build stateful web applications.

All attendees will receive a complete VirtualBox environment that they can use to test their existing PHP applications against an Oracle Database on Mac OS X, Windows or Linux.

Doctrine 2: Next Generation ORM

Benjamin Eberlei SimpleThings GmbH

2010-10-12 | 03:00 PM - 04:00 PM | Gutenberg I

Object-Oriented Modeling in PHP projects has lead to a increasing demand for Object-Relational Mapping (ORM) tools in the last years. This talk introduces Doctrine 2, which is a powerful data-mapper that allows a clean separation of business logic and persistence. For the second generation we focused on loosing dead weight and came up with a simple, fast and extendable solution.

Agility and Quality

Sebastian Bergmann thePHP.cc

2010-10-12 | 10:15 AM - 11:15 AM | Zagreb I

Agile methodologies and processes have changed how PHP-based software projects are realized. This session gives an overview on how agility and quality can go hand-in-hand helping to deliver software on time and in budget. Agility does not stop at software development, though, but extends into other realms such as web operations. The audience will learn about some of the core ideas of DevOps, such as "Dark Launches", "Feature Flags" or "Gradual Ramps" that help with implementing continuous deployment strategies.

Develop for Lean Administration - Chances from the Cloud

Dana Stoll aliando.com

2010-10-12 | 03:00 PM - 04:00 PM | Zagreb I

Information to be updated, soon.

 

  • Follow Us
    • Facebook
  • Bookmark Us
    • Digg it!
    • Mr. Wong
    • Yigg it!
    • del.icio.us
 
css based on YAML 3.0.4