Passwort vergessen?

ALL YOU CAN READ!

Der One-Stop-Shop für mehr als 420 Magazine, Bücher und Ausgaben der Digitalbuchreihe shortcuts!

Finden Sie Ihr Thema direkt in unserem großen Archiv!


Von Machine Learning bis Domain Driven Design. Jetzt registrieren und sofort über 100 Seiten Expertenwissen erhalten.

Lesen Sie mit unserem neuen Premiumservice mehr als 420 Magazine, Bücher und shortcuts online. Mit dem entwickler.kiosk-Abonnement greifen Sie ab 9,90 Euro im Monat auf das gesamte Sortiment im entwickler.kiosk zu. Bestehende Abonnenten lesen in unserem entwickler.kiosk ihre abonnierten Magazine kostenfrei.

Registrierung

  • Mit Absenden der Registrierung bestätigen Sie unsere AGB und Datenschutzbestimmungen.

Direkt bestellen

DIREKT BESTELLEN

Bestehendes Abonnement zum entwickler.kiosk-Zugang erweitern

Bitte wählen Sie Ihr bestehendes Abonnement:

Volltextsuche

Ihre Suchergebnisse für:

Java 9 Streams

Entwickler Magazin S...

PHP Magazin 4.18

Java Magazin 6.18

IPC WebTech 2014

The International PHP Conference is the world’s first PHP conference and stands since more than a decade for top-notch pragmatic expertise in PHP and web technologies. At the IPC, internationally renowned experts from the PHP industry meet up with PHP users and developers from large and small companies. Here is the place where concepts emerge and ideas are born – the IPC signifies knowledge transfer at highest level.

All delegates of the International PHP Conference have, in addition to PHP program, free access to the entire range of the WebTechCon taking place at the same time.

26. bis 29. Oktober 2014
Hochstrasse 3 Holiday Inn Munich City Centre
81669 , Munich

bis
Reverse Caching Proxies: Varnish or Nginx? | Thijs Feryn

In a world full of scalability challenges, a reverse caching proxy has become an essential tool to protect your backend servers. This talk is dedicated to that and compares Varnish to Nginx as the two tools for the job. We'll be talking about setup, configuration, default behaviour, invalidation, monitoring and some advanced tricks such as ESI.

MySQL Group Replication: synchronous, update anywhere | Ulf Wendel

A new plugin for MySQL 5.7 adds group communication based, update anywhere replication to MySQL. Simply put, that's true multi-master replication: read and write to any replication node. It is synchronous replication which means all servers always return the latest data. Gone are the days of complex master failover and slave promotions procedures. Nodes joining (elastic scalability) and leaving (failures) a group are standard operations in group communication systems.

Modern PHP Development | Thomas Weinert

An overview of modern PHP development - Tools, Concepts and Syntax. The intent of this session is to show you ideas on how you can improve your development process and code quality.

Symfony2 superschnell mit Elasticsearch - Eine Retrospektive | Thorsten Rinne

Im Herbst 2013 wurde die Shopping-Mall Yatego auf Basis von Symfony2 und Elasticsearch gerelaunched. Der Vortrag zeigt den Weg vom Legacy System zum Relaunch des neuen, vollständig getesteten Systems auf Basis von Symfony2. Er zeigt dabei auch einige Fallstricke sowie Besonderheiten bei der Nutzung von Elasticsearch in Verbindung mit Symfony2 und welche Erfahrungen im Livebetrieb gemacht worden sind.

Trunk-Based Development | Gordon Oheim

Are you sick of Merge Hell? Do your feature branches go rogue? Do you spend more time fiddling with your Version Control System than doing actual development work? Then Trunk Based Development might be for you. Facebook does it. Google does it. Instead of messing with multiple branches, just use your master branch. Always. In addition to giving you an overview about how Trunk Based Development works, where it shines and where the pitfalls are, this talk will also cover the necessary techniques to succeed with it, such as Branch By abstraction, Feature Toggles and backwards compatible Database Migrations.

TYPO3 Neos - Next Generation CMS | Patrick Lobacher

Lange Zeit gab es entweder benutzerfreundliche Content-Management-Systeme, die nicht besonders leistungsfähig waren oder aber technisch ausgereifte Tools, die Usability nicht zu ihren Stärken zählen konnten. TYPO3 Neos ist angetreten, um beides perfekt in einem modernen CMS zu verbinden. Ende letzten Jahres hat die TYPO3-Association nach achtjähriger Entwicklungszeit das Enterprise Open Source Content Management System TYPO3 Neos veröffentlicht. Dabei standen vor allem die Usability für Redakteure und Anwender sowie die Flexibilität und Leistungsfähigkeit für Entwickler im Vordergrund. Ausgestattet mit modernsten Technologien und einer Architektur, die maximal flexibel gestaltet wurde, tritt TYPO3 Neos an, alle Bedürfnisse an modernes Content-Management bestmöglich zu erfüllen. Der Vortrag zeigt das System in einem Roundtrip für Entscheider und geht auch auf die technischen Details wie Architektur, TypoScript, FlowQuery, EEL, Fizzle und das unter TYPO3 liegende Web-Application-Framework TYPO3 Flow ein.

TypeScript | Florian Rappl

In the recent years JavaScript went from a language for adding small front-end capabilities to the center-piece of every webproject and beyond. Now many projects face the reality of undeterminism during compile-time. This prevents JavaScript projects from scaling as well for big projects as statically typed languages. TypeScript offers a way around this problem by introducing annotations that can optionally be used in any JavaScript code. Another advantage is that TypeScript generates JavaScript again, which can target various ECMAScript standards. In the end we can finally use ECMAScript 6 constructs without worrying about feature adoption. The main focus of this talk will be placed around the important question: Why (and when) is writing TypeScript so much better than just writing plain JavaScript?

IT und Leadership: eine Geschichte voller Missverständnisse | Johann-Peter Hartmann

Wer als Entwickler Führungskraft werden möchte - oder noch schlimmer - von anderen dazu erklärt wird, hat einen langen und schmerzhaften Weg vor sich. Und die Erfolgsquote, das belegen die eigenen Vorgesetzten jeden Tag, ist nicht hoch. Viele gute Pläne und logische Schlussfolgerungen funktionieren in der Praxis nicht mehr, und die kollegiale Unterstützung wird durch Politik ersetzt. Wir erzählen nicht nur unsere Geschichte, sondern auch darüber, was heute als gute Führung gilt.

High-availability & clustering strategies for Redis |Thijs Feryn

Redis has steadily become the tool of choice for developers who want to store non-relational data. Redis is a key-value store much like Memcached, but it offers so much more features and his several data types.Most people use Redis to cache internal data, but Redis can also be used as a key-value database. Heck ... there are even people using it as a message queue.Nowadays performance and uptime have become increasingly important. Redis offers built-in master/slave replication to cover some of those concerns. But there's more to it ...This talk will cover several strategies to achieve high-availability with Redis and to ensure things are fast. I'll also explain how Sentinel can help you with autofailover, service discovery and notifications.I'll also talk about sharding and how to combine this with the built-in replication system.And finally I'll talk about the upcoming release of Redis v3 which contains built-in cluster support.

Arduino with PHP | Thomas Weinert

An introduction into hardware control using PHP and the Firmata protocol. Includes leds, sensors, motors and other devices.

"Almost native" - Mit dem Ionic-Framework hybride Apps für Mobile bauen | Norbert Schmidt

"Mobile First", das klingt wichtig und richtig. Da will und sollte man als Webentwickler mitmachen. Dabei wäre es schön, wenn man die bekannten technologischen Standards nicht aufgeben müsste, um in die Entwicklung von quasi nativen Mobile-Apps einzusteigen. Mit anderen Worten: HTML5, CSS3 und JavaScript sollen weiterhin genutzt werden.Hier kommt das neue Framework Ionic ins Spiel. Es bietet fertige Frontend-Komponenten (HTML5, CSS3 und JavaScript) für die Entwicklung von hybriden Apps auf mobilen Plattformen. Der JavaScript-Anteil kommt von AngularJS, dem bekannten Application-Framework aus dem Hause Google, und Cordova sorgt dafür, dass die Apps ihren Weg in die App Stores finden.Im Rahmen dieser Session sollen (1) die Installation und Konfiguration von Ionic und Cordova erläutert, (2) die Basics von Ionic vorgestellt, (3) vor dem Hintergrund einer Beispielanwendung der Einsatz der Ionic-Komponenten gezeigt und schließlich (4) der Zugriff z.B. auf Kamera, Orientierungs- und Beschleunigungssensoren der mobilen Geräte mit Bibliotheken wie ngCordova erklärt werden.

Vertical Reuseablility through Components | Volker Dusch

This talk will feature an overview of an architecture that enables heavy reuse of even the smallest components by showing the details of the researchgate.net implementation. Using this approach enables developers to take page elements, like a single "follow" button, and place it everywhere on the site without having to duplicate any PHP, JS, HTML, CSS or AJAX endpoint in the process. It goes on to show what scalability, performance and UX improvements this enables and should provide a couple new ideas that are usually not explored in a classic (H)MVC approach.

Designing HTTP Interfaces and RESTful Web Services | David Zülke

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 guidelines, shows what REST is about and why Hypermedia matters.

Effective Integration Testing | Sebastian Bergmann

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.

HHVM and PHP7: The Next Generation of PHP Engines | David Zülke

The release of Facebook's HHVM implementation of PHP and its impressive performance has fueled a new era of engine optimizations for PHP, as Zend have responded with "PHPNG", a fully refactored Zend Engine that aims to lay the groundwork for future improvements to the engine while maintaining compatibility with previous releases and likewise offering a big boost in performance. With this refactoring now scheduled to land in PHP 7 and the continuous development of HHVM that brings it closer and closer to full feature parity and compatibility with Zend PHP it's time to look at both engines, their roadmaps, their unique features, and the various pitfalls that are awaiting developers who are looking to take advantage of the next generation of PHP engines.

Full Throttle Refactoring | Thorsten Rinne

10 years of legacy code, 2.4 million lines of awful PHP code and still more than 3 mio visitors per month - tales from the dark side or how to refactor your code base while keeping it alive. Some insights moving a huge application to a service orientated architecture and tips about how to bring a big code base back to the future.

What's new in Magento 2? | David Manners

Magento 2 was first announced way back when in 2010, but a lot can change in IT over four years. There was not a lot of noise from the Magento camp until October 2013. Now there is a public repository with updates published weekly.In this talk we'll have a look at the current technical status, make a comparison to the first version of Magento and review the road ahead.

Neue Webstandards für Responsive Design Teil1 | Peter Kröner

Responsive Design wird inzwischen als Standard bei Webprojekten vorausgesetzt, doch es stehen neue Herausforderungen vor der Tür. Die Bildschirme der mobilen Geräte werden immer hochauflösender, Web Components mischen die Struktur von Webseiten auf und der Spagat zwischen Mobile-Layout und normalem Seitendesign wird immer schwieriger. Zum Glück stehen neue Webstandards vor der Tür, mit denen man diese Probleme angehen kann. Responsive Images sind ein festes HTML-Feature geworden, Element Queries könnten responsive Komponenten ermöglichen und Flexbox-Layout ermgöglicht erstmals multidimensionales Responsive Design.In diesem Workshop lernen Sie diese und einige andere Techniken rund um Responsive Design kennen, die über den einfachen Einsatz von Media Queries hinausgehen. Die durchgeführten Praxisbeispiele können Sie direkt für Ihre eigenen Projekte nutzen.

PHP is the King, Node.js is the Prince and Lua is the Fool | Alessandro (cirpo) Cinelli

In Namshi, an e-commerce retailer based in Dubai serving the UAE, we are using different technologies to boost our architecture. We started with a common architecture based on PHP (Yii and Zend Framework), NGINX, MySQL and Memcache: the usual suspects.During last year the architecture changed a lot, using an SOA paradigm to meet expectations and the huge increase of traffic from several milions users throughout the year and PHP is still dispatching and serving the huge number of responses. But there’s more…In this talk we will show how funny, easy and rewarding is to integrate different technologies in your stack, with PHP always being the king of the whole system.

Regex-Fu for PHP | Juliette Reinders Folmer

Regular expressions, you either hate them or you love them, but do you really know how to harness their power? This talk will show you how to get the most out of your /^regex(es)?$/, how switches affect your results, how to be less greedy and let's not forget: when *not* to use regex.

How to steal and modify data using Business Logic flaws - Insecure Direct Object Reference | Frans Rosén

Regardless on how sophisticated your framework is, how many layers of firewalls and mitigation techniques that are put in place, there's a common weakness that often gets overlooked: the insecure direct object reference. The flaw exist everywhere: WordPress with username enumeration issues. Twitter where remote attackers could delete credit cards for the ad service and to OculusVR with a horizontal privilege escalation vulnerability which got disclosed recently.

Seamless integration architecture for content commerce websites | Robert Lemke

Today's websites are rather complex applications which try to create the illusion of an homogeneous user experience. A content management system might ultimately render the markup, but shops, product information systems or booking engines deliver content, too. Which architecture and mechanisms are necessary to seamlessly integrate third party systems into a CMS? Which strategies allow you to make your website scalable and perform well? This session doesn't provide you with a one-fits-all solution but rather shows the thinking behind a typical project architecture and the pros and cons of different options. Includes examples based on TYPO3 Neos.

Multi Language Websites with TYPO3 Neos | Robert Lemke

The multi language support for Neos was several years in the making. Instead of implementing a solution only focussed on translation and localization, the core team came up with a broader concept called "Content Dimensions". It not only allows you to introduce new languages with fallback scenarios but opens up a whole new way of personalising customer experience.In this talk you'll learn all about the experiences we made while creating a big customer website based on Neos Content Dimensions and how you can start creating a multi language website with Neos today.

SVG - weniger Pixel, mehr Fun! | Sven Wolfermann

SVG, das skalierbare Grafikformat, gibt es bereits seit 1999, aber erst jetzt, mit einer weitreichenden Browserunterstützung und immer mehr hochauflösenden Displays am Markt, kann SVG seine Stärken voll ausspielen. Gerade für Logos, mehrfarbige Icons und vollflächige Grafiken ist SVG das ideale Format. Durch die Möglichkeit mit CSS Änderungen im SVG vorzunehmen, sowie Animationen und Transitions zu verwenden, ist SVG das perfecte Hilfsmittel für modernes Webdesign. Sven zeigt in seinem Vortrag, wie SVG-Grafiken im Responsive Webdesign verwendet werden, gibt Tipps zur Erstellung der Grafiken, zeigt welche Probleme SVGs aktuell noch bereiten und wie man diese lösen kann.

gulp | Florian Rappl

There are many interesting technologies that have been published on top of Node.js. Some of these technologies try to simplify the (front-end) build process. The times where we used makefiles in combination with specialized tools for each task seem to be over. A great tool for creating an automated build can be found with gulp. It improves how we develop websites by automating common tasks. These tasks can be as trivial as compiling preprocessed CSS, minifying JavaScript or reloading the browser. But with gulp we could also automate hard tasks like comparing our design in various browsers by taking screenshots. The main advantage of using gulp instead of e.g., Grunt, is efficiency. Not only is the build process much faster using gulp, the configuration files are usually smaller and easier to read. In this talk we will introduce gulp's stream concept, as well as the most important plugins.

Risk-free Framework Usage | Stefan Priebsch

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 frameworkwhile staying independent enough from it to minimize the risks of coupling your application too tightly to it.

Zend Framework 3 - Viva la evolución! | Ralf Eggert

Das Zend Framework 2 war eine Revolution, bei der kein Auge trocken blieb. Für das kommende Zend Framework 3 ist keine Revolution zu erwarten, und das ist auch gut so. Statt fast alles über den Haufen zu werfen, wird das ZF3 ein evolutionäres Update mit dem Hauptaugenmerk auf Geschwindigkeit, Konsistenz und Nutzbarkeit sein. In diesem Vortrag erfahren Sie unter anderem, wie das Routing einfacher und schneller wird, was sich alles beim ServiceManager ändert und welche spannenden Neuerungen noch auf Sie warten.

Kanban Paper Airplanes | Dominik Jungowski

You have probably already heard of the so-called “flow” in Kanban and the associated “Work-in-Progress” Limits. But what do they both feel like? What are the advantages of using WIP-Limits? Here are 45 minutes in which you can feel as if you’re back in school as you’re going to experience both by building paper airplanes!

Neue Webstandards für Responsive Design Teil2 | Peter Kröner

Responsive Design wird inzwischen als Standard bei Webprojekten vorausgesetzt, doch es stehen neue Herausforderungen vor der Tür. Die Bildschirme der mobilen Geräte werden immer hochauflösender, Web Components mischen die Struktur von Webseiten auf und der Spagat zwischen Mobile-Layout und normalem Seitendesign wird immer schwieriger. Zum Glück stehen neue Webstandards vor der Tür, mit denen man diese Probleme angehen kann. Responsive Images sind ein festes HTML-Feature geworden, Element Queries könnten responsive Komponenten ermöglichen und Flexbox-Layout ermgöglicht erstmals multidimensionales Responsive Design.In diesem Workshop lernen Sie diese und einige andere Techniken rund um Responsive Design kennen, die über den einfachen Einsatz von Media Queries hinausgehen. Die durchgeführten Praxisbeispiele können Sie direkt für Ihre eigenen Projekte nutzen.

Architecture of a Generic Payment System | Martin Geisse

Payment providers such as PayPal or Authorize.net have vastly different APIs, yet in the context of an e-commerce system they all perform a common task: Accept the data for an order, and perform the payment. Integrating a large number of providers also poses the problem that a lot of manpower with knowledge about the system is needed. This session describes how we created a generic architecture that allows developers to integrate payment providers without knowledge about the core system and with minimal boilerplate code.

How holistic DevOps transforms entire Organizations | Matthias Marschall

When I look across many of today's organizations, I see both employees and customers suffering. The work environment is divided amongst departments whose hidden political agendas disconnect them from customers and create dangerous undercurrents. The tremendous energy expended to defend and expand their power and influence within the company crashes through established rules and procedures. Trustfully working together to delight customers becomes an exception rather than the rule.DevOps refocuses the business back on the customers by fostering a corporate culture founded upon transparency and trust. What started out in the IT department, however, is needed throughout the entire organization.Apply DevOps to the whole company and get rid of hidden agendas. Establish business processes which help people collaborate. Grow a culture where delighting the customer is again top priority. This is what the holistic application of DevOps can do for an organization.

Pimp dein Apigility | Ralf Eggert

Mit Apigility kann jeder Entwickler per Administrationsoberfläche einen REST oder RPC Web Service erstellen und betreiben. Apigility unterstützt zahlreiche Features wie HAL-JSON, Fehlerbehandlung, Versionierung, Authentifizierung und Dokumentation. Dies klappt prima für einfach strukturierte APIs. Doch können auch komplexere Strukturen umgesetzt werden oder stößt man hierbei schnell an die Grenzen? Dieser Vortrag zeigt Ihnen, wann Sie selber Hand an den generierten Code anlegen müssen und warum der Einsatz von Apigility auch bei komplexeren Services viel Sinn macht.

Opening your Application to Third Parties using a Node.js Sandbox | Martin Geisse

Most applications require a certain amount of customization from its users, yet in a multi-user environment such as SaaS, sandboxing is required to shield users from adverse effects of other user’s customizations. In this session, you will learn about the problems to expect in such an environment, and how to set up a Node.js sandbox to handle those problems.

The Twelve-Factor App: Best Practices for PHP on Platforms-as-a-Service | David Zülke

Horizontal scalability has always been at the core of PHP application design, and in the cloud, that approach shines the brightest. But to fully leverage the power and convenience of PaaS offerings such as Heroku, it's worth following certain best practices and methodologies when developing applications. This presentation covers all the steps from code and dependency management over configuration to maintaining dev/prod environment parity, and will demonstrate, live on stage, just how easy it can be to deploy and scale a PHP application on Heroku.

Tests as Documentation | Alexander M. Turek

With automatic software tests, we ensure that our application (or certain parts of it) behaves like intended. Even if new requirements are added, our tests tell us if our old requirements are still fulfilled. A well maintained set of tests may also serve as a catalog of requirements, but usually only the developers are able to read those tests. BDD tools like Behat might change this. Let's have a look at how human-readable tests could be used as a communication tool for developers and stakeholders.

Progressive Enhancement in der Praxis Teil 1 | Roman Stranghöner

Sowohl das rapide Wachstum der weltweiten Nutzerzahlen als auch die Vielseitigkeit der Geräte, mit denen das Web zunehmend benutzt wird, stellen die Webentwicklung vor eine große Herausforderung: Wie erreicht man ein möglichst großes Publikum, erfüllt zeitgleich steigende Anforderungen durch neue Webstandards und entwickelt dabei eine wartbare, modulare und wiederverwendbare Codebasis?Dieser Vortrag soll anhand von praktischen Beispielen zeigen, dass Progressive Enhancement dabei helfen kann, diesen scheinbaren Widerspruch aufzulösen. Dieses Prinzip ermöglicht durch schichtweise Komposition der Kerntechnologien HTML, CSS und JavaScript sowie schrittweises Hinzufügen von Funktionalität die Umsetzung von interaktiven, robusten und zukunftssicheren Webanwendungen.

Next Level: DevOps Teil2 | Ole Michaelis

My current company hired me as a Software Engineer. Their software has organically grown over the past six years and it really looks like what you would expect, when you hear that a software system is that old. There was no real abstraction, no idea of services - nothing fancy. It is all very tightly coupled and not really SOLID. I noticed a bunch of things that I wanted to change, but the whole software was not only tightly coupled in itself - it was also tightly coupled to the system architecture. I realized that if I wanted to change the software I had to start with the system architecture. Thus, I joined the infrastructure team where I learned a lot of new stuff as well as what it meant to be on call. I realized that this has really improved my software engineering skills, and hence I can really encourage any developer to be aware of the system on which the software runs, that he is writing.

Next Level: DevOps Teil 1 | Ole Michaelis

My current company hired me as a Software Engineer. Their software has organically grown over the past six years and it really looks like what you would expect, when you hear that a software system is that old. There was no real abstraction, no idea of services - nothing fancy. It is all very tightly coupled and not really SOLID. I noticed a bunch of things that I wanted to change, but the whole software was not only tightly coupled in itself - it was also tightly coupled to the system architecture. I realized that if I wanted to change the software I had to start with the system architecture. Thus, I joined the infrastructure team where I learned a lot of new stuff as well as what it meant to be on call. I realized that this has really improved my software engineering skills, and hence I can really encourage any developer to be aware of the system on which the software runs, that he is writing.

Progressive Enhancement in der Praxis Teil 2 | Roman Stranghöner

Sowohl das rapide Wachstum der weltweiten Nutzerzahlen als auch die Vielseitigkeit der Geräte, mit denen das Web zunehmend benutzt wird, stellen die Webentwicklung vor eine große Herausforderung: Wie erreicht man ein möglichst großes Publikum, erfüllt zeitgleich steigende Anforderungen durch neue Webstandards und entwickelt dabei eine wartbare, modulare und wiederverwendbare Codebasis?Dieser Vortrag soll anhand von praktischen Beispielen zeigen, dass Progressive Enhancement dabei helfen kann, diesen scheinbaren Widerspruch aufzulösen. Dieses Prinzip ermöglicht durch schichtweise Komposition der Kerntechnologien HTML, CSS und JavaScript sowie schrittweises Hinzufügen von Funktionalität die Umsetzung von interaktiven, robusten und zukunftssicheren Webanwendungen.

Queue it! What job queues can do for you! Teil 1 | Ole Michaelis

In times of node.js and asynchronous IO, our other beloved languages can sometimes feel like the wrong tool. But looking at it like this would be too narrow-minded - like sending a registration confirmation mail, you can do it in the “register” user request, while the user is waiting for the response. But what if the mail server isn’t reachable? You’ll have to wait for the timeout. This will make your common user pretty angry.There are tons of different job queues around. I’d like to talk about a few different queues like Gearman and beanstalkd - what’s the differences and what are the perfect match use-cases. I also have some hints on what’s a good implementation detail ready.

Queue it! What job queues can do for you! Teil 3 | Ole Michaelis

In times of node.js and asynchronous IO, our other beloved languages can sometimes feel like the wrong tool. But looking at it like this would be too narrow-minded - like sending a registration confirmation mail, you can do it in the “register” user request, while the user is waiting for the response. But what if the mail server isn’t reachable? You’ll have to wait for the timeout. This will make your common user pretty angry.There are tons of different job queues around. I’d like to talk about a few different queues like Gearman and beanstalkd - what’s the differences and what are the perfect match use-cases. I also have some hints on what’s a good implementation detail ready.

Queue it! What job queues can do for you! Teil 2 | Ole Michaelis

In times of node.js and asynchronous IO, our other beloved languages can sometimes feel like the wrong tool. But looking at it like this would be too narrow-minded - like sending a registration confirmation mail, you can do it in the “register” user request, while the user is waiting for the response. But what if the mail server isn’t reachable? You’ll have to wait for the timeout. This will make your common user pretty angry.There are tons of different job queues around. I’d like to talk about a few different queues like Gearman and beanstalkd - what’s the differences and what are the perfect match use-cases. I also have some hints on what’s a good implementation detail ready.

Mastering Complexity of HTML5 Rich Clients Teil 2 | Ralf S. Engelschall

Implementing User Interfaces (UI) as HTML5 Rich Clients (aka Single-Page Apps, SPA) is a major challenge: those UIs have both a high inherent complexity coming from the usual nesting of User Interface dialogs and an additional accidental complexity caused by the weak structuring support of the underlying JavaScript programming language. Additionally, the UI rendering in HTML5 Rich Clients is performed by various UI toolkits and those are based on different programming models (DOM Enrichment or Technology-abstracting Object Graphs). Finally, true "head-less" testing of such UIs during the Continuous Integration steps is complicated and requires tricks.For mastering these challenges, a modern UI reference architecture was developed which is strictly based on the proven architecture principles Component Orientation, Loose Coupling, Separation of Concerns, Model-View Separation and Hierarchical Decomposition. It allows one to directly base both the static code structure and the dynamic run-time communication on the Hierarchical Decomposition of the UI into a run-time tree of DOM-agnostic stateful composite and widget components. As the architecture has to be supported by a run-time component system, a sophisticated UI-toolkit independent reference implementation exists with ComponentJS (http://componentjs.com/). This presentation provides insights into the reference architecture, the ComponentJS reference implementation and various desktop and mobile applications from practice, based on top of both.

Mastering Complexity of HTML5 Rich Clients Teil1 | Ralf S. Engelschall

Implementing User Interfaces (UI) as HTML5 Rich Clients (aka Single-Page Apps, SPA) is a major challenge: those UIs have both a high inherent complexity coming from the usual nesting of User Interface dialogs and an additional accidental complexity caused by the weak structuring support of the underlying JavaScript programming language. Additionally, the UI rendering in HTML5 Rich Clients is performed by various UI toolkits and those are based on different programming models (DOM Enrichment or Technology-abstracting Object Graphs). Finally, true "head-less" testing of such UIs during the Continuous Integration steps is complicated and requires tricks.For mastering these challenges, a modern UI reference architecture was developed which is strictly based on the proven architecture principles Component Orientation, Loose Coupling, Separation of Concerns, Model-View Separation and Hierarchical Decomposition. It allows one to directly base both the static code structure and the dynamic run-time communication on the Hierarchical Decomposition of the UI into a run-time tree of DOM-agnostic stateful composite and widget components. As the architecture has to be supported by a run-time component system, a sophisticated UI-toolkit independent reference implementation exists with ComponentJS (http://componentjs.com/). This presentation provides insights into the reference architecture, the ComponentJS reference implementation and various desktop and mobile applications from practice, based on top of both.

Best Case and Unlikely Case: Responsive Webdesign, und was ist mit der User Experience? | Peter Rozek

Responsive Webdesign ist aus dem Web nicht mehr wegzudenken. Wer heute relauncht, kommt um die Frage Responsive - ja oder nein - nicht herum. Responsive Webdesign wird dabei gerne als überwiegend technologiegetrieben betrachtet. Media Queries, fluide Grids, Responsive Images, Performance, RESS und Server-Side Components sind einige der diskutierten Werkzeuge. Das hat leider zur Folge, dass die meisten responsiven Webseiten eine Anpassung von Inhalten an verschiedene Displaygrößen sind. Zurecht melden sich Kritiker, die Responsive Webdesign als Schrott für User Experience und Conversion Rate sehen. Wo liegen also die Herausforderungen im Responsive Webdesign? Wie muss die UX gestaltet werden? Was heißt das für den Workflow, und wie muss der organisiert sein? Wie holen wir uns das Commitment beim Auftraggeber? Responsive Webdesign und User Experience entstehen nicht in unzähligen Photoshop-Dateien und auch nicht unter Einsatz der neusten Frontend-Technologien. Responsive Webdesign ist eine große Herausforderung und erfordert vor allem ein Umdenken im Kopf. Responsive Webdesign ist weder Pixel-Perfect-Design noch Technologie, sondern Konvergenz zweier Gewerke zu einer kulturellen Einheit. Die Herausforderung besteht darin, sich der Unterschiede bewusst zu sein und produktiv damit umzugehen. Es geht darum, das Mindset von Designern und Developern für das Fachgebiet des anderen zu erweitern und ein gemeinsames Verständnis füreinander zu schaffen. Wer Responsive Webdesign wirklich verstanden hat, wird sich in den kommenden Jahren zeigen. Die Idee des Webs war von Anfang an auf Zugänglichkeit und Transformation ausgerichtet, im Responsive Webdesign finden diese Leitgedanken seine Fortführung.

Agile Xchange: Schwierigkeiten in Projekten erfolgreich meistern | Björn Schotte | Dominik Jungowski

Auch in agilen Softwareprojekten kann es Schwierigkeiten geben: Kunden, die die agilen Prinzipien nicht verstehen, Product Owner, die die Schätzungen des Teams hinterfragen, Teams, die nur Erwartungen an den PO haben, jedoch nicht die Zusammenarbeit suchen, Vertragskonstrukte, die agiles Arbeiten behindern. Ausgehend von den agilen Prinzipien und einer systemischen Betrachtung der Kunden-/Dienstleister- (intern wie extern) Beziehung möchten wir in dieser interaktiven Session mit Ihnen War Stories austauschen und gemeinsam Lösungswege finden, damit Ihr agiles Softwareprojekt wieder auf Spur kommt.

PHP Backends for Real-Time User Interaction using Apache Storm. "Take Off and Stay Airborne" | Martin Schütte | Mike Lohmann

Engaging users in real-time is the topic of our times. Whether it’s a game, a shop, or a content-network, the aim remains the same: providing a personalized experience. In this workshop we will look under the hood of Apache Storm and lay a firm foundation on how to use it with PHP. By that, you can leverage your existing codebase and PHP expertise for an entirely new world: real-time analytics and business logic working on message streams. During the course of the workshop, we will introduce Apache Storm and take a look at all of its components. We will then skyrocket the applicability of Storm by showing you how to implement their components with PHP. All exercises will be conducted using an example project, the infamous and most exhilarating lolcat kitten game ever conceived: Plan 9 From Outer Kitten. In order to follow the hands-on excercises, you will need a development VM prepared by us with all relevant system components and our project repositories. To make the workshop experience as smooth as possible for all participants, please bring a prepared computer to the workshop, as there will be no time to deal with installation and setup issues. Please download all prerequisites and install them as described: VM, Plan 9 webapp, Plan 9 storm backend, (Tutorial: https://github.com/DECK36/plan9_workshop_tutorial ).If you have any issues in preparing your system, you are welcome to contact us at: ipc2014-storm-setup@deck36.de

Best Practices für TDD mit JavaScript | Sebastian Springer

Testgetriebene Entwicklung mit Jasmine und Karma hat sich mittlerweile schon als defacto-Standard etabliert. Routinen ohne Abhängigkeiten lassen sich damit ohne Probleme testen. Die Schwierigkeiten beginnen jedoch schon, wenn es um die Auflösung von Abhängigkeiten geht. In diesem Vortrag werden verschiedene Strategien und Werkzeuge vorgestellt, mit denen Abhängigkeiten zu Objekten und Funktionen oder zum Server abgedeckt werden können. Aber nicht nur Abhängigkeiten stellen Schwierigkeiten bei der testgetriebenen Entwicklung dar, auch der Umgang mit Fixtures ist bei der testgetriebenen Entwicklung mit JavaScript relevant. Abgerundet wird dieser Vortrag mit einigen Best Practices für die testgetriebenen Entwicklung mit JavaScript.

Commando Code - what software developers can learn from the US Marine Corps | Gordon Oheim

While developers do not fight wars, the characteristics of their work environment are similar to those of a battlefield: rapid change and constant uncertainty require us to be highly agile and flexible. To achieve project success, we need to cooperate, lead and communicate efficiently with the team and other business units to make timely and right decisions. The US Marine Corps has a long tradition at solving these problems. Their leadership strategies scale to 190000 soldiers along the entire chain of command. Consequently, it makes sense to draw parallels from these strategies and apply them to our craft.This session is based on the findings of my academic thesis on the same topic. The talk will give a brief overview of how the US Marine Corps defines war and how it meets the challenges it poses through Mission Command and Control. I will show how Agile Software Development already utilizes similar concepts and which additional strategies we could reap for our benefit, be it as an individual, team or organisation.

Highway to Hell: Responsive Webdesign testen | Peter Rozek

Unzählige Browser und Versionen, eine unübersehbare Anzahl an Bildschirmauflösungen und unterschiedliche Geräte machen die Entwicklung und das Testen von responsiven Webseiten nicht einfach. Wie kann man welche Browser verlässlich testen? Das sind Fragen, die sich jeder am Projekt Beteiligte stellen muss. Grundlagen und Strategien für das Testing kann man bereits in der Konzeptions- und Designphase legen. Frühe Tests können an HTML-Mockups oder Prototypen erfolgen. Der Vorteil liegt klar auf der Hand, Funktionen und Verhalten können in unterschiedlichen Browsern und Geräten getestet werden. HTML-Mockups und Prototypen können im Laufe der Entwicklung als Basis für die Finalisierung der Webseite dienen. Regelmäßige Testintervalle steigern die Qualität und helfen Designern, die Machbarkeit von Interaktionskonzepten in HTML und CSS besser zu verstehen.

Content Security Policy | Arne Blankerts

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.

Queue it! What job queues can do for you! Teil 4 | Ole Michaelis

In times of node.js and asynchronous IO, our other beloved languages can sometimes feel like the wrong tool. But looking at it like this would be too narrow-minded - like sending a registration confirmation mail, you can do it in the “register” user request, while the user is waiting for the response. But what if the mail server isn’t reachable? You’ll have to wait for the timeout. This will make your common user pretty angry.There are tons of different job queues around. I’d like to talk about a few different queues like Gearman and beanstalkd - what’s the differences and what are the perfect match use-cases. I also have some hints on what’s a good implementation detail ready.

Talking and listening to Web Pages | Aurelio De Rosa

As web developers, our job is to build nice, fast, and reliable websites, web apps, or web services. But our role isn’t limited to this. We have to build these products not only for our ideal users but for a range of people as wide as possible. Today’s browsers help us in achieving this goal providing APIs created with this scope in mind. One of these APIs is the Web Speech API that provides speech input and text-to-speech output features in a web browser. In this talk you’ll learn what the Web Speech API is and how it can drastically improve the way users, especially those with disabilities, perform tasks in your web pages.

NGINX- The Webserver you might actually LIKE | Volker Dusch

Did you ever configure Apache and think: "Oh I'm already done? I wish there was more to do!" That's exactly how I currently feel about NGINX. It's a Web server that already knows about your use case and is waiting to offer you the solution. Let me show you how it can be your Web server, Load balancer, SSL off-loader, reverse proxy and/or cache in 50 short lines of config or less.

HTML maßgeschneidert - Direktiven in AngularJS und Web Components mit Polymer | Norbert Schmidt

Das JavaScript-Application-Framework AngularJS aus dem Hause Google hat neue Maßstäbe gesetzt und trumpft mit einem modernen Set von Features. Eines davon stellt ohne Zweifel eine Besonderheit dar: Direktiven. Dabei geht es um die Möglichkeit, mit AngularJS "dem Browser neue Tricks beizubringen" – HTML kann so erweitert werden, wie es für Webapplikationen sinnvoll ist. Auf der anderen Seite existieren Web Components, ein W3C-Standard, bei dem es um das Erweitern bestehender und das Entwickeln eigener HTML-Elemente geht. Da klingt natürlich noch sehr viel Zukunftsmusik mit. Aber es existieren bereits Polyfills dafür, und auch Google hat eines veröffentlicht: Polymer. In dieser Session geht es darum, AngularJS-Direktiven und Polymer zu vergleichen und letztendlich zusammenzubringen. Die Teilnehmer sollten idealerweise bereits mit JavaScript gute Erfahrungen gesammelt haben, schon mit AngularJS in Berührung gekommen und neugierig auf Web Components sein. Es sollen die Basiskonzepte und wichtigsten Anwendungsfälle von AngularJS-Direktiven und Web Components mit Polymer vorgestellt werden.

Frontend Performance Beginner to Expert to Crazy Person | Philip Tellis

There’s no such thing as fast enough. You can always make your website faster. This talk will show you how. The very first requirement of a great user experience is actually getting the bytes of that experience to the user before they they get tired and leave.In this talk we’ll start with the basics and get progressively insane. We’ll go over several frontend performance best practices, a few anti-patterns, the reasoning behind the rules, and how they’ve changed over the years. We’ll also look at some great tools to help you.

Patterns for Software Modernization | Alexander M. Turek

Patterns like MVC and dependency injection help the development teams of modern applications frameworks to deliver an extendable and maintainable product. Why shouldn't those patterns help you modernizing your legacy application? In this session, we will have a look at ways to apply modern patterns to legacy code by using small refactoring steps.

Responsive-Webdesign-Workflow - ein praktischer Leitfaden | Patrick Lobacher

Mittlerweile müsste es sich herumgesprochen haben, dass Responsive Webdesign vor allem im Kopf beginnt. Es muss ein neuer Workflow her, damit RWD-Projekte erfolgreich sind. Dabei fällt aber oft die ganz konkrete Umsetzung schwer. Der Talk greift daher den Workflow pragmatisch auf und zeigt, wie man ihn konkret umsetzt. Ergebnis ist ein praktischer Leitfaden, der sofort im eigenen Projekt verwendet werden kann.

Testing Filesystem related Code with vfsStream | Frank Kleine

All the unit tests you write are decoupled from services and the database. What about unit tests for classes which touch the file system - are they decoupled from it? The talk introduces vfsStream and shows how unit tests can be made independent from the actual file system. I will also show how to simulate a full disc, missing read or write rights, mocking large files, and limitations imposed by PHP.

Taugt AngularJS wirklich was? Ein Erfahrungsbericht | Philipp Burgmer

AngularJS verspricht, die Entwicklung moderner Single-Page-Webanwendungen radikal zu vereinfachen. Doch kann dieses Versprechen auch bei Anwendungen, die über eine Demoanwendung (To-do-App) hinausgehen, gehalten werden? In diesem Vortrag zeigen wir die Stärken und Schwächen von AngularJS anhand unserer Erfahrungen aus mehreren Projekten und unserer Schulungen. Wie meistert man den Einstieg? Was sind die Gefahren, und wie minimiert man sie? Ist AngularJS bereit für den Einsatz in großen Anwendungen? Wir geben Antworten. Zusätzlich geben wir einen Ausblick auf AngularJS 2.0, wie die bekannten Schwächen dort behoben werden sollen und was an Neuerungen zu erwarten ist.

Efficient A/B Testing with PHP | Arne Blankerts

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 as a separate JavaScript code 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.

Don’t screw it up, how to build durable Web APIs | Alessandro (cirpo) Cinelli

In this session we will describe the best practices for writing durable APIs and PHP: how would you design services that need to be stable, evolvable and easily maintainable for years without the hassle of (too much) refactoring? How do you ensure you pick the correct patterns and technologies that won’t be outdated in the upcoming months? How to glue your APIs in a single response and still make it perform in milliseconds? Writing APIs is cool, maintaining them is usually a pain.

Drei Jahre nach studiVZ … Herausforderungen, Probleme und wie wir sie mit heutigen Technologien lösen würden | Sebastian Utz

Sebastian Utz war einer der Softwarearchitekten bei studiVZ und mit für die Skalierung der Platform verantwortlich. Der historisch gewachsene LAMP-Stack, der bis zu 70 Prozent der Plattformfeatures auslieferte, benötigte massive Workarounds und Tweaks, um der Last von ca. 17 Millionen aktiven Nutzern standzuhalten. Hochlastinfrastukturen dieser Art auf einfache, skalierende Storage-Lösungen zu migrieren, ist eine Herausforderung - von SQL auf nicht standardisierte JSON-APIs umzuschwenken, eine ganz andere.Mittlerweile ist Basti einer der Core Developer bei crate.io und erläutert, wie heutige Technologien bei diesen Problemstellungen hilfreich sein können.

Warum ES6 die Welt ein Stückchen besser macht | Sebastian Springer

Wo die Neuerungen von ECMAScript 5 recht unspektakulär waren, sind die Features des neuen Sprachstandards umso interessanter. ECMAScript 6 versucht einige Anforderungen zu erfüllen, mit denen man als JavaScript-Entwickler täglich konfrontiert ist. Klassische Beispiele sind hier Promises zum Umgang mit asynchronen Funktionen, ein Module Loader zur Strukturierung der Applikation, Generatoren und Iteratoren oder aber ein neuer Gültigkeitsbereich für Variablen. Aber nicht nur große Änderungen, sondern auch sinnvolle Erweiterungen bestehender Objekte wie String und Array halten mit dem neuen Standard Einzug in den Browser. Problematisch wird die Situation jedoch, wenn man in den Genuss verschiedener Features kommen möchte, die aktuell noch von keinem Browser unterstützt werden. Hier schafft Traceur, der ECMAScript-6-Compiler von Google, Abhilfe.

The state of PHP configuration and hardening | Ben Fuhrmannek

Can there be anything wrong with empty PHP files? And what happens, if an attacker were to modify .htaccess? During development of the PHP Secure Configuration Checker (PCC) some rarely used INI directives came to mind. This session will explore the possibility of attacking web applications by PHP misconfiguration.The second part will show, that the PHP hardening extension Suhosin is very much alive. We will have the opportunity to discuss recent development and future plans.

A State of Mind | Sebastian Bergmann

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.

Besser layouten mit Multicolumn, Flexbox und CSS-Shapes | Florence Maurice

CSS verwendet man für Layouts, das ist klar. Dabei hat das klassische CSS 2.1 erstaunlich wenig für die Erstellung von Layouts zu bieten. Das ändert sich erst mit den neuen CSS3-Layoutmodulen.Nach einem kurzen Blick auf gängige Anforderungen an Layouts zu Zeiten des responsiven Webdesigns und auf die Einschränkungen der verschiedenen Positionierungstechniken in CSS 2.1, werden wichtige CSS3-Layoutmodulevorgestellt: Multicolumn, Flexbox, Grids und CSS-Shapes. Florence Maurice zeigt die Grundprinzipien der neuen Layoutmodule und ihre Einsatzmöglichkeiten und geht auf ihre praktische Relevanz ein.

Dealing with Legacy | Sebastian Bergmann

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.

Das Ende der Homepage, wie wir sie kennen | Klaus Breyer

Die Newsfeeds der sozialen Netzwerke lösen die altgedienten Lesezeichen ab. Besucher müssen nicht mehr auf einer Homepage "abgeholt" werden, denn sie springen direkt über die Links von ihren Freunden auf die Inhalte der Unterseiten. Noch dazu kommen die Nutzer auf verschiedenste Devices und haben dabei auch noch das Bedürfnis nach authentischen Inhalten. Bei der Konzeption sind deshalb die Kanäle, die zu einer Webseite hin- und wegführen, genauso wichtig wie die Navigationsstruktur. Der Talk zeigt, wie der durch Social Media angereicherte Nutzerkontext immer mehr Einfluss auf die User Experience von Websites nimmt. Inhalte: Filterbubble: Die Mechaniken, die hinter den Social-Media-Newsfeeds stecken. Schlummerndes Potenzial: Welche Macht in den Referern der sozialen Netzwerke liegt. Kontext bieten: Jeder Besuch einer Unterseite ist auch ein Erstkontakt. Nutzungssituationen: Brauchen Smartphonenutzer die gleichen Inhalte wie Desktopsurfer? Contentmarketing: Reichweite in Social Media und SEO benötigt gute Inhalte. Blick in die Zukunft: Mögliche Nutzungsszenarien für die Homepage.

PHP Backends for Real-Time User Interaction using Apache Storm. Take Off and Stay Airborne | Martin Schütte, Mike Lohmann

Engaging users in real-time is the topic of our times. Whether it’s a game, a shop, or a content-network, the aim remains the same: providing a personalized experience. In this workshop we will look under the hood of Apache Storm and lay a firm foundation on how to use it with PHP. By that, you can leverage your existing codebase and PHP expertise for an entirely new world: real-time analytics and business logic working on message streams. During the course of the workshop, we will introduce Apache Storm and take a look at all of its components. We will then skyrocket the applicability of Storm by showing you how to implement their components with PHP. All exercises will be conducted using an example project, the infamous and most exhilarating lolcat kitten game ever conceived: Plan 9 From Outer Kitten. In order to follow the hands-on excercises, you will need a development VM prepared by us with all relevant system components and our project repositories. To make the workshop experience as smooth as possible for all participants, please bring a prepared computer to the workshop, as there will be no time to deal with installation and setup issues. Please download all prerequisites and install them as described: VM, Plan 9 webapp, Plan 9 storm backend, (Tutorial: https://github.com/DECK36/plan9_workshop_tutorial ).If you have any issues in preparing your system, you are welcome to contact us at: ipc2014-storm-setup@deck36.de

X
- Gib Deinen Standort ein -
- or -