Tracks & Sessions

Session

Your tests are lying!

Sebastian Bergmann thePHP.cc

2010-10-11 | 11:45 AM - 12:45 PM | Room 1

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 Yahoo!, Inc

2010-10-13 | 09:00 AM - 10:00 AM | Room 2

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 | Room 1

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 | Room 2

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 muß 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 | Room 3

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 | Room 1

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 | Room 2

... 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.

Recipes for managing an Open-Source project with Git

Fabien Potencier Sensio

2010-10-12 | 03:00 PM - 04:00 PM | Room 1

Git is taking over source control management, and for good reason. After some time working with Git, you realize how fast and powerful it is. But in this session, I want to focus on the killer features that makes Git a fantastic tool for an Open-Source community. Of course, these techniques are also applicable to in-house developer teams.

Geolocation and Maps with PHP

Derick Rethans

2010-10-13 | 04:30 PM - 05:30 PM | Room 1

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 | Room 2

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 GmbH Tobias Schlitt Qafoo GmbH

2010-10-13 | 11:45 AM - 12:45 PM | Room 3

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

Derick Rethans

2010-10-12 | 09:00 AM - 10:00 AM | Room 1

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 GmbH

2010-10-11 | 05:00 PM - 06:00 PM | Room 1

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 GmbH

2010-10-12 | 10:15 AM - 11:15 AM | Room 1

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 | Room 2

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 | Room 1

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 | Room 3

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.

Design patterns... revisited for PHP 5.3

Fabien Potencier Sensio

2010-10-13 | 04:30 PM - 05:30 PM | Room 3

Everything single major version of PHP brings interesting enhancements to the language. These changes means new possibilities and better implementation of some design patterns. In this session, I will show the evolution of the implementation of the infamous Singleton over the years. I will also show the implementation of some popular design patterns like the Observer and the Dependency Injector.

MySQL Query Tracing and Profiling

Johannes Schlüter Sun Microsystems

2010-10-13 | 10:15 AM - 11:15 AM | Room 1

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 | Room 3

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 Sun Microsystems

2010-10-11 | 10:15 AM - 11:15 AM | Room 2

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 GmbH

2010-10-12 | 04:30 PM - 05:30 PM | Room 1

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 Yahoo!, Inc

2010-10-11 | 10:15 AM - 11:15 AM | Room 3

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-13 | 11:45 AM - 12:45 PM | Room 2

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 | Room 2

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 TYPO3 Association

2010-10-11 | 05:00 PM - 06:00 PM | Room 2

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 Liip AG

2010-10-11 | 11:45 AM - 12:45 PM | Room 3

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.

Introduction to AtomPub Web Services

Ben Ramsey Moontoast

2010-10-11 | 02:15 PM - 02:45 PM | Room 2

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

TBN (to be named)

2010-10-12 | 11:45 AM - 12:45 PM | Room 1

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 TYPO3 Association

2010-10-13 | 03:00 PM - 04:00 PM | Room 2

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 | Room 1

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 | Room 1

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.

 

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