Forgot your password?

Conference slides of S&S Media Group
until september 2019


  • By sending the registration you confirm our general terms and conditions and data protection regulations.


Bestehendes Abonnement zum entwickler.kiosk-Zugang erweitern

Bitte wählen Sie Ihr bestehendes Abonnement:


Ihre Suchergebnisse für:

No content found!

IPC & IJS 2017

23. bis 27. Oktober 2017
Hochstraße 3 Holiday Inn Munich City Center
81669 , München - Deutschland

Monday - 23. October 2017

09:00 bis 17:00
Workshop: Modern Web APIs with Node.js [SOLD OUT]

Companies like Netflix, PayPal and even NASA have shown that with the help of Node.js, JavaScript can be used to implement scalable server-side solutions. The asynchronous and non-blocking nature of the language makes it easy to create modern and fast web applications with real-time features, while keeping a small overall footprint. Sven Kölpin and Manuel Rauber will introduce you to this brave new world. They will use a demo application to show you how to create modern web APIs with Node.js. Topics like API design, real-time communication, security, database access and single-page applications will be covered within the workshop.

Keine Slides vorhanden
PHP 7 Deep Dive Workshop [SOLD OUT]

PHP 7 is being used in production by a growing number of companies. With PHP 5.6 no longer actively supported by the PHP project, it is high time to plan your migration to PHP 7 (in case you are still running PHP 5). It is also time to learn about the new features introduced in PHP 7.1 and PHP 7.2 and how to leverage them effectively. This workshop will get you ready for PHP 7, in all aspects. To prepare you for the migration from PHP 5 to PHP 7, common pitfalls will be covered, and you will get to know pragmatic solutions. You will also take a look under the hood of PHP to better understand why PHP 7 can offer better performance and lower resource usage than PHP 5, and how this will affect the future of PHP. You will learn about the new language features introduced in PHP 7.0 and PHP 7.1 as well as what PHP 7.2 will bring. The day is rounded up with a Q+A session where no question will go unanswered.

Workshop: Accelerate Domain-driven Design with Event Storming

Event Storming is an emerging group modeling technique using sticky notes and verbal communication that is not only extremely efficient, but also easy to learn, and fun to do. This workshop introduces you to Event Storming with a strong focus on process design. Rather than talking a lot of theory, we will quickly dive into a group exercise and start modeling a real-life business problem, which will lead to valuable insights and is likely to spark off a lot of interesting discussions. We will not stop there, however, but also turn the model into working PHP code using Domain-driven Design techniques and patterns, so bring your laptop with a working PHP environment. To conclude the day, we will demonstrate how to integrate the code with your favorite framework. This workshop might forever change the way you write code, so do not miss out on it.

Keine Slides vorhanden
Workshop: Functional Reactive Programming with RxJS [SOLD OUT]

Functional programming is one of the most interesting topic in today's JavaScript community. Pure functions and immutable data structures make for code that's fun to test and easy to reason about ... but creating interesting programs from pure computation is neither fun nor easy. This is where Functional Reactive Programming comes in. By wrapping data in observable objects, applying transformations and explicitly assigning side effects, functional programs turn into practical programs. This workshop is a comprehensive introduction into Functional Reactive Programming with RxJS. It covers the basics of FRP and large parts of RxJS's API as well as advanced topics like creating custom operators and using marble tests for unit testing. Much of the material covered in this workshop can be applied to other libraries and programming languages that implement Functional Reactive Programming.

Workshop: Angular Jumpstart [SOLD OUT]

Angular, Google’s popular application framework for modern web-based solutions, brings component orientation, static type checking, and a breath-taking performance. By leveraging the single page application architecture as well as modern web standards it makes the creation of ambitious and enterprise-scale applications very easy. This workshop shows two possibilities of Angular and introduces it with an example application.

Keine Slides vorhanden

Tuesday - 24. October 2017

09:00 bis 09:45
Opening & Welcome Keynote

JavaScript has come a long way from simple Website Scripting to being a secret weapon to almost any problem the other programming languages can not solve appropriately. But JavaScript isn’t just JavaScript anymore — there’s the pure ECMAScript approach, while the fan base of TypeScript is continuously growing; frameworks like Angular and React are dominating the scene, while Progressive Web Apps, Serverside JavaScript (Node.js) are adding more shades to the JavaScript color palette. This panel discusses different views on today’s JavaScript scene.

Keine Slides vorhanden
10:15 bis 11:15
From Zero to Hero – Web Performance

Nobody likes to wait for web pages to load in the browser. The longer it takes, the more dissatisfied the users become. Slow web pages lead to a higher bounce rate and the loss of customers. To solve this kind of problems can be very hard sometimes. Before you even start to optimise your page, you have to understand the workflows a browser performs in order to display a page on the screen. In this talk you will get some insights in the critical rendering path and the javascript engine of your browser that help you to find performance problems and solve them. I will show you also some tools and best practices that make your life easier when it comes to performance.

Database? Meh! Implementation Details with Domain-driven Design

Often the work with new project starts with the database and its schema (or lack of it). Next up, we reflect that very model in the code. Adding our favourite library dealing with data storage and stuffing into our framework of choice, we are able to quickly close tasks and finish entire projects. But is that really all that has to be done? What about tests? They are either scarce or totally absent – which is often a pain in the neck. What if such a rattled off project will become successful and greatly outgrows its development capabilities? Let's see what we can do about these issues by forgetting for a moment about the chosen database and library which abstract it away, be it Hibernate, Doctrine, Eloquent or any other technology you fancy. Throughout the presentation we'll take a close look at a rapidly developed application and will try to fix initial shortcomings: we'll write some more code, take a page from Domain-driven Design and see what will come out of it. Maybe, just maybe, we'll get something more than a testable application that is ready to embrace changes the business team has yet to tell you about?

Develop Desktop Applications with Electron

Do you know the Atom editor by GitHub? This quite complex desktop application was created solely using web technologies. The utilized framework Electron allows you to develop applications with a native look and feel based on Node.js, JavaScript, HTML and CSS. Follow your trainer Jakob Westhoff down the rabbit hole, while he provides you with insights into Electron itself, as well as established toolchains for packaging and creating your next native looking application.

Modern Web APIs with Node.js & TypeScript

Full-Stack-Development! Modern frontends are using Single-Page Applications like Angular or React communicating with some light-weight Web APIs in the background. Thanks to Node.js we can speak one language in both worlds: JavaScript … or even TypeScript! Within this session we want to take a look at building (lots of live coding!) modern and light-weight Web APIs based on Node.js with TypeScript and connect to a database using an ORM called TypeORM. A few lines of code are needed to create a “next generation” Web API.

Everything you need to know about PHP 7.2

Almost two years after the release of PHP 7.0 it is time to look ahead to PHP 7.2 (and say "Goodbye!" to PHP 5). The attendees of this session will learn how to prepare their code for this upcoming version in order to leverage its performance improvements as well as its new functionality offerings as soon as possible and with the least amount of risk.

11:45 bis 12:45
Angular with Redux

Angular uses a relatively classical MVC approach with two-way data binding. This makes it easy to getting started but with more complex applications this approach can be a problem when it comes to traceability of data flows and it can make it harder to extend and maintain an application. An alternative is Redux which is the de facto standard in the React community. Redux is both a pattern and a library that uses principles of functional programming to manage the state of an application. The restriction to one-way data flow, the explicit modelling of user actions and the usage of immutable data leads to better understandable processes in the app and also a better separation of concerns.Redux is not limited to React but instead is neutral to technology and can be used with Angular too. This talk will cover the idea and the principles of Redux and will show how to use Redux with Angular.

Keine Slides vorhanden
PouchDB – The perfect Offline-First Database for your Browser

PouchDB is an open source JavaScript database, that runs in the browser. It comes with a pretty simple api, is lightweight and supports querying the data in both a MongoDB-way and using map reduce. It’s most outstanding feature might be that supports the CouchDB replication protocol, which allows you setup multi-master-replications between PouchDB in the browser and CouchDB on your servers. This session will give you an introduction into PouchDB, CouchDB and the constraints of architectures that you can build on these technologies.

The Security State of Open Source PHP Applications

PHP is the most popular server-side language on the Web and the most favored language for Web attacks. A single security vulnerability in a widespread open-source PHP application can be used to compromise thousands of server installations. But how bad is the security state of open source applications and plugins today? This talk covers common and quirky security issues and mistakes detected lately. We introduce static analysis techniques for the automated detection of these complex issues and a summary of the most prevalent risks and pitfalls that should be avoided in your application.

Symfony 4 and Symfony Flex – Core Ideas, Features and Improvements

Since its release back in 2005, Symfony has been continuously evolving and improving. With every new version, the framework has pushed forward, helping us writing better code faster. In this talk we will see the new features and improvements that Symfony 4 is going to introduce next November. We will learn the core ideas from this new version, understanding not only how to use it, but also what are the key assumptions and motivations behind. Moreover, we will have a close look at the so-called "Symfony 4 secret weapon": Symfony Flex. This Composer plugin has been created with the idea of cutting configuration times to the minimum. We will understand how it works and learn how to use it properly to boost our productivity.

SonarJS: a static Tool to detect Runtime Exceptions in JavaScript

What is SonarJS good for? How does it work internally and how to use it to prevent bugs? An introduction to the ins and outs of the SonarJS code analyzer. After a live demo of the usage of SonarJS within an IDE, we will look into what it means to build a code analyzer and how JavaScript code is represented and understood at different levels of abstraction. And finally we will see how to execute JavaScript code without its actual execution, which is our way to detect runtime exceptions statically.

Keine Slides vorhanden
14:15 bis 15:15
Stabile Software in volatilen Umgebungen

Wie lässt sich heute effizient Software entwickeln, die mit den sich schnell ändernden Marktbedingungen mithalten kann und trotzdem unanfällig gegenüber Fremdsystemen ist? Aus unserer Erfahrung in Zusammenarbeit mit Oxid, Shopware, Spryker sowie mehreren Agenturen stellen wir dar, welche Softwaremuster die meisten Probleme verursachen, und wie sich stabile und gut getestete Software effektiv entwickeln lässt. Angedeutet wird zudem ein Weg, wie sich existierende Software dahin entwickeln lässt.

Domain-specific Languages with PHP

It is easy to write code that computers can understand. Writing code that humans can understand is far more challenging. In this presentation, we will look into how we can use PHP to create a beautiful and maintainable domain-specific language for your business. After analyzing various approaches to understand why and where they fail, learn how to express business rules as executable PHP code, which will, as an added bonus, make test automation for your business rules really easy.

Routing into the Sunset with Angular

A router is the linchpin of every modern single page application. Angular comes with a solution for this. It is offering component orientation as well as some advanced concepts such as child routes and auxiliary routes, guards, lazy loading and preloading as well as sticky routes. Using a show case, you will discover in this session what lies behind it all and how you can benefit from the new component router in your new projects.

There’s a slight Smell of wet Dog in your Code

Do you know code smells? Do you think they are a bad thing? Actually they are not! Code smells help you to recognize problems in your code. And the best thing about them is, that they help you refactor your code the right way. In this talk we put our noses deep into our code and have a look at how this smells can help you improve your legacy code or even the code you write today.

16:00 bis 17:00
Make your own Robotic Tester with Docker, FFmpeg and codeception

During my presentation I will describe setup that my company (Codesushi) developed. This setup mimics Ghost Inspector service. The big plus of Ghost Inspector is ability to record a video of failed tests. We love that feature so we developed a way to achieve that in our own architecture. Key points of the presentation: explanation of this conceptintroduction to Dockerour way of dockerizing PHP Appexplanation of the idea: how we can dockerize browser and have ability to record sessionscodeception setupbinding it with Jenkins or any other CI

Keine Slides vorhanden
Legacy-Anwendungen mit Expressive modernisieren

Überall hören Sie von den neuen Möglichkeiten, die Ihnen die modernen PHP-Frameworks und -Tools bieten können, doch Sie müssen immer noch an einer trägen und veralteten Legacy-Anwendung arbeiten? Ein kompletter Relaunch kommt aus Kostengründen und aufgrund stetig zu implementierender Features nicht in Frage? Mit dem Microframework Expressive können Sie beides vereinen. Sie können ein modernes und leichtgewichtiges Framework einsetzen und parallel dazu Ihre Legacy-Anwendung betreiben. Damit schaffen Sie die Grundlage, um Ihre Anwendung schrittweise zu modernisieren und damit wettbewerbsfähig zu bleiben.

Web goes Native: Progressive Web Apps (PWA) – with Angular

Web applications and specifically Single Page Applications leverage the power of our computers and give a fast, fluent experience to users who have a strong wifi connection. But a huge proportion of web activity is done on mobile devices, which require different capabilities, such as minimizing data usage and power consumption. Native mobile applications also introduce additional features to engage the users, such as notifications. But they lack some of the features web applications have. Today’s technology and rapid browsers’ advancement allow us to enjoy the best of both worlds. We can write web applications with a native mobile app look and feel. We can run these applications on desktop browsers and enjoy the features introduced by native mobile apps. In this talk Shmuela will present the wonderful world of possibilities with Progressive Web Applications, and how Angular helps you to enter this world.

Keine Slides vorhanden
Redux and React

A lot of us have felt the pain when using the Flux pattern with React. There is a better way, Redux and it is not that hard to get started with. I will explain what the problems with Flux are and how Redux works solves this.

Der Weg von nativen/Java-basierten Clientsystemen nach HTML/JavaScript: die RISC-HTML-Methode

Wir - eine Community mittelständischer Softwarehersteller von Geschäftsanwendungen - kamen von Java Swing und später JavaFX-basierten Clientsystemen. Der “Browserdruck” wurde immer größer, die Probleme einer Portierung in Richtung Browser mithilfe bestehender Frameworks wurden aber nicht kleiner. Grund waren die üblichen Verdächtigen: hoher Aufwand für Implementierung und Wartung sowie mangelnde Abdeckung von Layout-/Komponentenfunktionen. Da wurde eine Idee geboren, die vom Prototyp zum Selbstläufer wurde: RISC-HTML. Hierbei wird HTML nur noch zum Ausrendern simpelster grafischer Grundelemente verwendet. Eine JavaScript Library baut diese Grundelemente zu Komponenten zusammen: vom einfachen Button über das Grid bis hin zu komplexen Layoutmanagern. Das Ergebnis: 100 % Browserkompatibilität, neue Freiheitsräume beim Erstellen eigener Controls und Layouts sowie - auch für uns eine Überraschung! - eine hervorragende Performance. Über RISC-HTML gelang somit binnen eines Jahres die vollständige technologische Ablösung der vormalig Java-basierten Clients durch nun browserbasierte Clients. Die RISC-HTML-Methode wird im Vortrag anhand vieler Livebeispiele und -anwendungen vorgestellt und technologisch erläutert.

Climbing the Abstract Syntax Tree

The new Abstract Syntax Tree (AST) in PHP 7 means the way our PHP code is being executed has changed. Understanding this new fundamental compilation step is key to understanding how our code is being run. To demonstrate, James will show how a basic compiler works and how introducing an AST simplifies this process. We’ll look into how these magical time-warp techniques* can also be used in your code to introspect, analyse and modify code in a way that was never possible before. After seeing this talk, you'll have a great insight as to the wonders of an AST, and how it can be applied to both compilers and userland code. (*actual magic or time-warp not guaranteed)

Keine Slides vorhanden
17:15 bis 18:15
Using PHP outside the Web Context, why not scientific Applications?

In the last few years we'll observed how PHP has advanced at a very fast pace improving almost all its facets (performance, consistency, security, tooling, community common practices...), but something that we haven't seen yet is PHP as a serious option to solve problems not related to the web. The scientific community is still small inside the PHP world, but it's growing. In this talk we'll discover where we are and where are we going, which pieces are missing and what we already have. We'll do a tour over some recent projects that are leading these efforts: machine learning, time series forecasting and other data science related problems can be solved using PHP without the need of complex technology stacks.

Sharing Code between Web and Native Mobile Apps with Angular and NativeScript

With the dawn of Angular v2 and it’s platform agnostic architecture we find ourselves in a world of new possibilities. Just top it up with complementing Open Source frameworks like NativeScript (to build Native iOS and Android apps) and Electron (to build desktop apps) and we can begin to tackle the platform fragmentation. Using Angular as the common ground, this beautiful combo allows us to share the code between the Web, Mobile (both iOS and Android) and Desktop apps. Suddenly the division between the Web, Mobile and Desktop developers disappears and everyone is simply a Developer like a one happy family. In this talk we will have a look what is possible from the code sharing point of perspective, how to set up your project and how to build your components to ensure maximum code sharing, but also we will look at what you shouldn’t be trying to share and how to handle the differences between various platforms.

Global Inventory Web App in Angular – Keeping 5700 People in sync

Deep look into our inventory app for a global inventory project (in use with e.g. Mercedes-Benz) written in Angular and PHP in the backend. Going through the development, deployment and update process of a JavaScript App that is in production in over 5.700 locations worldwide and currently supports 24 languages. See what obstacles JavaScript produced on different devices and learn how to overcome them. This practical example shall demonstrate, how JavaScript can be your savior for distributed data management. It shows how much data is handled (images, documents, signatures), synchronized and how errors can be anticipated and handled for a blue chip company. Get a real life grip on development setups, testing and roll-out procedures.

Packt mein Shop das? Load Testing, Performance und Co.

Shoprelaunch, Fernsehwerbung, Newsletterkampagne und immer wieder die eine Frage: Packt mein Shop das? Denn nichts ist ärgerlicher, als wenn die Kunden frustriert den Kauf abbrechen. Dieser Talk zeigt, wie man realistisch Last simulieren und testen kann, welche Vorüberlegungen notwendig sind und welche Schritte folgen sollten, wenn das Ergebnis eher ernüchternd ist.

Through the Sound Barrier: High-Performance Applications with Angular

There is not a sole adjusting screw for performance tuning in single page applications but even several influencing factors that need be considered. This session shows how to deal with them. You learn how to leverage Ahead of Time Compilation (AOT), Tree Shaking and Lazy Loading to improve the startup performance of your application dramatically. For this, we are looking at the Angular Build Optimizer as well as at Google’s Closure compiler that allows aggressive optimizations. In addition to that you see how to use the optimization strategy OnPush to speed up data binding performance in your solutions. Furthermore, Service Worker for caching and instant loading is covered as well as Server Side Rendering to improve the perceived loading time.

Templating in 2017 – you're still doing it wrong

Smarty, Twig or even XSLT – templating engines are a vital component of the web stack when it comes to transforming data into HTML. And of course there are many different engines to choose from. Most of them though have two very annoying things in common: They require the full application stack to develop the design and they combine markup and display and sometimes even application logic. This talk will re-introduce you to how simple templating could be and why truly separating application logic, view logic and design can make everybody's life a lot easier.

Wednesday - 25. October 2017

09:00 bis 10:00
Divide and Conquer – Microservices with Node.js

Node.js and microservices go hand in hand. This comes mainly from the design of Node.js. It is a specialised small platform with an enormous package environment. The NPM ecosystem provides a lot of packages you can use to build your microservice. The two most popular frameworks for this job are Express and Seneca. In this talk I will show you how you can communicate synchronously and asynchronously with your microservices and how easy it is to put your Node.js application into a docker container.

Dip your Toes in the Sea of Security

Security is an enormous topic, and it’s really, really complicated. If you’re not careful, you’ll find yourself vulnerable to any number of attacks which you definitely don’t want to be on the receiving end of. This talk will give you just a taster of the vast array of things there is to know about security in modern web applications, such as writing secure PHP web applications and securing a Linux server. Whether you are writing anything beyond a basic brochure website, or even developing a complicated business web application, this talk will give you insights to some of the things you need to be aware of.

Keine Slides vorhanden
RxJS, a better async

RxJS is the new better way to do async programming. It makes up for the short coming of Promises while introducing a very elegant functional approach. You are also able to mix and match different async concepts such events, ajax, callbacks and more. I will cover the Fundamentals of RxJS, what it consists of and how to think in RxJS.

Keine Slides vorhanden
The Vue of Search Engine Optimization – How to make your Single-Page App rank well

With the rise of modern web-frameworks, single-page applications have conquered the web. If done right, they are not only faster and smoother than conventional websites, but also create a richer user-experience. These modern applications don’t just enable new interaction patterns, but also new capabilities, such as offline and real-time data interactions. This has come at a cost – more client-side JavaScript increases the download time of pages, while client-side URL routing introduces new problems – it delays the page-rendering time even further and makes it hard for search engines to index your pages. Dangerous stuff if you care about your search-engine ranking. André will talk about what it takes to build top-ranking web applications, while Dennis will demonstrate some software architecture patterns using Vue.js to dramatically increase performance.

Queues with RabbitMQ

Queues are a powerful addition to our applications, enabling looser coupling between our components and reducing the load on key elements of the system such as the database. This session covers how queues in general, and excellent open source tool RabbitMQ in particular, can be used to improve the scalability and robustness of applications. We'll look at designing queue structures and the options around queues, messages, and durability. Creating reliable worker scripts can be tricky but there will be advice on doing so even in systems which require complex or multi-step processing of tasks. We'll also talk about data hygiene; when to include data with a message, when a worker should fetch data itself, and how to manage the flow of information back to the component that created the message in the first place. With stories and practical examples, this session is recommended for developers and technical architects everywhere.

10:45 bis 11:45
Go for PHP Developers

Different jobs require different tools. There are times where PHP isn't the right tool for the job. When those times arise, Go can be a great alternative tool to use. Go is a compiled programming language created by Google and used in emerging tools like Docker and Kubernetes. This session will take you through the basics of Go, compare and contrast it with PHP, and give you some pointers as to what problem areas can you best use Go to compliment your PHP applications.

How to escape Legacy Hell

Congratulations! You finally managed to convince the business that there really is no way to add this important new feature to the old legacy code base without causing major disruptions. But where to go from here? Completely rewriting the old monolithic application that does a gazillion things from scratch may seem tempting but is a gigantic effort with an unforeseeable outcome. Discover a way out of legacy hell by learning about architectural patterns as well as concrete technical solutions that enable you to gradually move functionality into new software components without the impediments of a full rewrite.

The Art of State Machinery

The transparent modeling of business processes in any structure requires a solid level of abstraction as well as a deep understanding of the business process itself. One must bridge the gap between business requirements and actual lines of code, without leaving a massive footprint. Business changes, processes adapt, so must the underlying structure. Can they? This talk will give you ideas on how to tackle the art of state machinery. It will give an overview of the possible modeling concepts, their pros and cons, and common pitfalls when running them in production.

Keine Slides vorhanden
Writing React Components: The Functional Way

Functional programming is becoming increasingly popular in the JavaScript ecosystem. This was caused not only by the advent of libraries such as React and Redux, but also by the benefits the application of its principles brought. In my talk, I will argue that using these principles effectively in React applications has many benefits and it should be the preferred way over the more object-oriented alternatives. Using pure functions with immutable data structures will help you to write more readable, predictable and testable code without side effects. In the realm of React, you can achieve this by using the pure functional components, that receive data as input and return a view. I will show you how these components can be easily enhanced by other functionalities (internal state, lifecycle hooks etc.) using higher-order components. As a result you will see that you don’t need to use class components anymore. At the end of my talk, I will show you how a developer can benefit from using this functional approach in React.

Write solid JavaScript Code with TypeScript

TypeScript is a static typed superset of JavaScript. TypeScript gives you all the comfort known from languages like C# or Java: Static types and great tooling support with code completion, compile time errors and refactorings. Beside that TypeScript compiles to plain JavaScript. You can use latest JavaScript features and compile them down to older JavaScript versions like ES3 or ES5. This session is an introduction to TypeScript with a lot of live coding. You learn how to set up your environment and the TypeScript Compiler, how to migrate your JavaScript code to TypeScript, how to use interfaces and classes, how to debug your TypeScript code and much more.

12:00 bis 13:00
Self-hosted Continuous Integration for PHP Applications with GitLab

Over the course of some years, we established a workflow for developing PHP APIs or web applications which we'd like to share with you. We're a German company, and the business model is very focused on data security and self-hosted solution with maximum control over where the data resides and who has access to it. We try to stay away from Travis CI and the likes without cut back on features. Using GitLab, PhpStorm, Docker, Codeception, PSR-7 middleware, Zend Framework, Doctrine, custom migration routines, messaging and more we created and refined a self-hosted setup for developing our applications. Together, we can set up a new demo project and discover the steps necessary to travel from idea to deployment. This is only based on our best practices, so hopefully it is relatable to your daily business, tasks and perspectives. Maybe it can help you refine your own workflow or move away from cloud services. We'd also love to get feedback and discuss further optimisations with you.

Unleash the Power of Angular Reactive Forms

The Reactive Forms module is powerful. During this session we will live code a complex form from scratch, going through all the main features: validation, reactive state tracking, dynamic form creation, and much more…

Keine Slides vorhanden
Was man alles ohne JavaScript machen kann

Die Webstandards haben sich massiv entwickelt, und mittlerweile sind viele CSS-Techniken verfügbar, die es nicht mehr nötig machen, JavaScript für Layoutgestaltung zu verwenden. Sven zeigt in seinem Vortrag, welche CSS-Techniken heute schon crossbrowserweit eingesetzt werden können, und gibt einen Ausblick auf Techniken, die noch nicht in allen Browsern verfügbar sind.

When to abstract?

One of the most difficult challenges in a developers life is finding the "right" abstraction, or at least the best one given the current circumstances. The core problem is that abstraction is a bet on the future development of the software and we know that future is volatile. I will discuss different environments of software development and we find a base for you to decide when and what to abstract.

ECMAScript oder TypeScript, das ist hier die Frage

Fehlende Typisierung, uneinheitliche Implementierungen und nicht zuletzt eine Sprache, die auch mit syntaktischen Fehlern "irgendwie" läuft, haben den Ruf von JavaScript lange Zeit beschädigt. TypeScript konnte viele dieser Probleme verbessern. Mit ECMAScript (Standardisierung von JavaScript) werden nun seit 2015 einmal pro Jahr einige Unterschiede zwischen den beiden Sprachen abgebaut. Die Session zeigt die neuesten Features von ECMAScript, die weiterhin bestehenden Unterschiede zu TypeScript und klärt die Frage, ob wir TypeScript langfristig noch brauchen.

14:15 bis 15:15
JavaScript Testing mit Jasmine

Beim Testen wird JavaScript häufig aufgrund “schwerer Testbarkeit” ausgelassen. Diese Session vermittelt einen Einstieg in das mächtige JavaScript-Testing-Framework Jasmine. Dabei lernen Sie, wie sie einfache JavaScript-Funktionen, Methoden oder Klassen testen können. Außerdem zeigen wir verschiedene Mittel und Wege, Tests auszuführen und zu verwalten. Natürlich stehen auch unterschiedliche Werkzeuge auf dem Plan, die das Testen von DOM-Operationen, XHR sowie Node.js und weitere ansonsten komplexe Situationen vereinfachen.

Learning Machine Learning

From chatbots to your home thermostat, it seems like machine learning algorithms are everywhere nowadays. How about understanding how this works now? In this talk, you will learn about the basics of machine learning through various basic examples, without the need for a PhD or deep knowledge of assembly. At the end of this talk, you will know what the Naive Bayes classifiers, sentiment analysis and basic genetic algorithms are and how they work. You will also see how to create your own implementations in JavaScript.

Domain-specific Assertions

A common language, understood by technical and non-technical stakeholders alike, is essential for good communication in a software project. Combining ideas from Domain-driven Design and Test-driven Development, this ubiquitous language can be represented in both production code and test code. Attendees of this session will learn how to create tests that are easy to write, fast to execute, and deliver highly reliable results. They will gain expertise in the confident and effective implementation of automated tests for their software and learn how to implement custom assertions for PHPUnit to represent the common language of their project in test code.

Bausteine erfolgreicher Retrospektiven in agilen Prozessen

Lernen ist das Erfolgsrezept, um in einer sich stetig verändernden Umgebung dauerhaft hohe Leistung zu bringen. In agilen Prozessen sollte Lernen (auch) in Retrospektiven stattfinden. Doch zu häufig ist das nicht der Fall: Von Jammerrunden bis zur Kuschelstunde ist uns alles schon einmal begegnet. Solche Retros werden nachvollziehbar als langweilig oder überflüssig empfunden. Dabei sind Feedback und Lernen essenzielle Bestandteile agilen Vorgehens. Tobias Ranft zeigt auf, wie Lernen gelingen kann, welche Bausteine eine gute Retrospektive braucht und mit welchem Rezept eure Retros gelingen können. Damit können Teams, Abteilungen und Unternehmen ihr Versprechen guter Zusammenarbeit erfolgreich einlösen.

Zero-Configuration Microservices with Node.js and Docker

The concept of microservices is hot and it draws many developers from a diverse background. Unfortunately, we see a lot of ideas from the past rebranded as microservices; whereas the thinking behind microservices imply and promise a bigger change. This talk will go over the details of what actually makes a microservices architecture and how other distributed systems — that rely on queues and other mechanisms to function — fail to fulfill the promise. A modern microservices implementation should be: * Zero-configuration: any microservices system will likely have hundreds of services. A manual configuration of IP addresses, ports and API capabilities is infeasible. * Highly-redundant: service failures are common in this scenario. So it should be very cheap to have copies of such services at disposal with proper fail-over mechanisms. * Fault-tolerant: the system should tolerate and gracefully handle miscommunication, errors in message processing, timeouts and more. * Self-healing: it’s normal for outages and failures to occur. The implementation should automatically recover any lost service and functionality. * Auto-discovery: the services should automatically identify new services that are introduced to the system to start communication without manual intervention or downtime. Finally, this talk will present how such a system can be realised using Node.js and Docker.

16:00 bis 17:00
JavaScript frameworks vs. SEO: Challenges around JS crawling and indexing

Can Google crawl and index JavaScript? How about other search engines? In this session, Bartosz will introduce the basics about JS crawling and indexing, and the differences between the two. This talk also goes over some basic JavaScript indexing issues and explains how to troubleshoot them.

Keine Slides vorhanden
Alexa Skills für Amazon Echo mit PHP entwickeln

Digitale Sprachassistenten sind in aller Munde. Alexa mischt mit dem Amazon Echo ganz vorne mit. Doch die meisten Entwickler verbinden die Programmierung von Alexa Skills nicht direkt mit PHP. Im Frühsommer 2017 basierte der am häufigsten eingesetzte deutschsprachige Skill jedoch auf einer PHP-Anwendung. In dieser Session erfahren Sie vom Entwickler dieses Skills, wie Sie Ihren Alexa Skill konfigurieren können und wie Sie für das Backend auf Ihre PHP-Kenntnisse zurückgreifen können. Zudem lernen Sie, welche Fallstricke es bei der Entwicklung zu beachten gibt, und wie Sie diese meistern.

Inferno – React on Speed?

In recent times React has attracted quite a lot of attention despite its poor performance on mobile. The cure for this problem did not come from a big corporation, but instead originated within the open-source community. The personal project Inferno flourished into a whole community, which created a serious competitor to React. This library promises an improved performance, nearly fully-compatible API, and a more focused solution than React. Why do we want to migrate away from React? What obstacles have to be faced in the migration? Is the migration worth the efforts? In this talk we will hear the story of a large cross-platform mobile application that was migrated from React to Inferno.

Angular 5 vs. React

Dieser Vortrag vergleicht die aktuelle Version von Angular mit React. In welchem Bereich hat welches dieser beiden Frameworks die Nase vorn? Für welche Aufgabe eignet sich Angular besser, für welche verwenden Sie besser React?

Exploratory Data Analysis with JavaScript

While JavaScript offers some of the most powerful visualization libraries on the market, such as D3.js, Highcharts or three.js, they require significant configuration which hinders rapid iteration and on-the-fly analysis. However, when doing exploratory data analysis, it is necessary to take many different perspectives in order to obtain insights that might otherwise remain undiscovered. The command-line is an ideal aide for this task as it allows one to combine small, but powerful utilities to process, clean and transform one’s data. In this talk, Philipp Burckhardt will show how the stdlib JavaScript library can be used to combine the strengths of the command-line and browser-based visualization libraries. Since functions of the library are wrapped as CLI utilities, they can be used in conjunction with existing Unix pipelines, so that one is not held back anymore by the lack of data scrubbing and munging tools in the browser environment.

17:15 bis 18:00
Everything Web and why open matters

More and more applications are being realized using web technologies -- from Electron on your desktop to Progressive Web Apps (PWA) on your mobile or as a web service across all your devices. But go back ten years, and it was a rocky road. So called browser wars and competition to release hot new browser features disrupted the evolution. Open Standards and collaboration of browser vendors were helping to spread web technologies. In my session I'll explain why open standards matter. We'll take a look at the history. You'll learn which requirements a modern browser engine should fulfill. And I’ll share some ideas for how you could help to develop the open web further.

Keine Slides vorhanden

Thursday - 26. October 2017

09:00 bis 10:00
Rise of the Nodebots

So you’ve finally managed to build a full-stack application, all in JavaScript. But what if your hardware programming could be done with JavaScript too? In this introduction to Nodebots, you will learn how to use Node.js to build a robot using an Arduino board. Well, maybe not a full robot but at least a blinking LED. You will learn how to add basic sensors and other general electronic components and you will learn how you can do it by yourself, at home, on a minimal budget. Come to this talk and you too will be able to contribute to the Robocalypse.

A Year with Event Sourcing and CQRS

For the last few years, the PHP community has been buzzing about ES/CQRS, pretty much there was a talk on every conference. Now it's time to see how it worked out for me in practice. ES/CQRS is a different approach to building applications from what we all have been thought to do for years. I'm not going to introduce Event Sourcing and Command Query Responsibility Segregation (ES & CQRS) but speak about my experiences in developing & running it on production. I have implemented it on a few projects: in some projects I run it as a part of bigger application, while in some it's just the core and everything is event driven. The shift in architecture and mindset is pretty big: while code structures and logic became simple, the amount of code and workflows got complicated to the point of "where did I loose this input?". 

Keine Slides vorhanden
Building Cross-Platform Apps with Apache Cordova and GitHub Electron

Bring your Angular applications to any platform - no matter whether you think about web, mobile apps or full-blown desktop applications. See how to achieve the goal with just a single codebase by using famous frameworks like Apache Cordova and GitHub Electron. Join Thorsten Hans on the journey through the cross-platform land.

Devs fight your Battle! A Pledge for cross-functional Teams

One year ago, we were still happy to have scrum tech teams shielded from the rest of the organisation. Product managers were our gatekeepers for outside stakeholders. Our developers were even based in another office. Twelve months later we have changed the setup completely. Strongly inspired by the Spotify model, we transformed the structure of our product company into a network of fully cross-functional and self-organized teams. Discover why we took such a drastic step, what worked and what did not work – unfiltered and raw.

10:30 bis 11:30
Unlock the Power of JavaScript Decorators

Decorators are powerful but sometimes misunderstood language features of JavaScript. In this session you will learn what decorators are, why they are used, and how take advantage of them in practice. We will explore the use of decorators in Angular, and how to create our own decorators.

Keine Slides vorhanden
BotMan – From Zero to Chatbot

Haben Sie schon einmal versucht, einen Chatbot für Messaging-Plattformen wie Facebook oder Slack zu schreiben? Es ist ziemlich umständlich, da jede Messaging-Plattform über eine eigene API verfügt. Lassen Sie uns in dieser Session herausfinden, wie Sie diese Aufgabe vereinfachen und einen intelligenten Chatbot mit PHP und BotMan erstellen können, der einfach zu verwenden und leistungsfähig ist, um ihn mit verschiedenen Werkzeugen wie der Verarbeitung natürlicher Sprache zu erweitern. Der Speaker Marcel Pociot arbeitet als Backend-Entwickler bei der ORT interactive GmbH. In seiner Freizeit entwickelt Marcel Open-Source-PHP-Module für das Laravel Framework und arbeitet an dem beliebtesten PHP-Framework für Chatbots.

Keine Slides vorhanden
GraphQL - the better interface for client-server-enterprise systems

In a business context REST is completely unsuitable as a client-server interface. It is too fine-grained, under-specified and causes to many http requests. In addition, the caching mechanism cannot take advantage of its strengths due to the use of https and the specific requirement in context of client-server-enterprise systems. The better alternative is Facebooks GraphQL. GraphQL is declarative and provides always exactly the expected data. The interface is based on JSON and so it’s quick and easy to understand for the developer.

Architecture Refactoring: Moving towards DDD

If architecture is the stuff that's hard to change, how do we go about changing it? This talk discusses architectural questions like how to move from a typical MVC architecture to a more Domain-driven Architecture. We also talk about how to do architecture without over-designing and how to cut our architecture to avoid expensive change requests later on in the product life-cycle.

Fun With Serverless JavaScript

Serverless and the noOps movement are buzzwords that you've probably heard, but could these technologies also solve problems that you actually have? This session will cover _when_ to use a serverless approach, and answer your questions about how to get started with it. We'll look at how to write code for these platforms, and how to safely and repeatedly deploy your code to them. We'll also look at how we can use these technologies to build a skill for the Amazon Echo. This session is suitable for developers of all levels

11:45 bis 12:45
Backups in the Time of Microservices

Backups are hard. Especially for heavily distributed systems. As we split our apps more and more into microservices, creating backups is no longer a single task nor in a single place. Instead, it involves data from different sources in different locations. Besides the backup process itself, I will talk about the challenge of connecting the dev and the ops and an easy way to create your backups. All to make sure, that in case of a disaster scenario your data is right there to be restored.

LAMP in Containers

There is momentum to moving container based systems instead of the traditional single machine (or virtual machine) model. Where does that leave your mission critical LAMP stack application? Can it be containerized? Without tremendous amounts of pain? Of course it can. Containerizing LAMP stack apps is pretty straight forward, once you know what you're doing. The goal of this session is to get you there. This session will walk you through setting up a LAMP app on an existing Kubernetes cluster using Replica Sets, Stateful Sets, Persistent Volume Mounts, and other Kubernetes tools you need to run the LAMP stack in a container based system. The best part is that once you do for for LAMP the same principles can be used to start tackling other monolithic apps in PHP.

I didn’t know the Browser could do that

The times when a browser simply had to parse and show some markup are long gone. These days they are full of interesting APIs exposing various information and behaviour to web developers. This talk will walk you through a few of these APIs (speech, speech recognition, battery, location ...), some of which you might know, some maybe not. I will show a quick example of what some of these APIs can do, and how to use them.

Best Practices for Writing JS Libraries

We all have experienced that once a software project reaches a byzantine complexity, it becomes easier for bugs and inconsistencies to creep in. The crucial question becomes how to organize large projects to minimize errors and to ensure quality. In this talk, Philipp Burckhardt will share what control measures were implemented in the open source stdlib library for scientific computing in JavaScript, which consists of more than 1500 packages. The speaker will discuss the merits of extensive unit testing, automatic linting of source files, and the use of style guides to ensure a consistent code style. Human beings make mistakes, whereas machines are consistent and predictable in their behavior. Therefore, automation comes in handy, for example in terms of Git hooks that run tests and lint files when code is committed. While these steps might be effective and helpful, they pose the danger of creating an unwelcoming environment of strictness. Therefore, any project owner has to think about reconciling strict rules and fun, especially in open source contexts, where community involvement is critical for project survival. Although the investment in tooling and automation may be considerable (and, at times, daunting), the long term rewards of such investment are significant: higher quality software and developer happiness.

A Glimmer of Hope – Creating modern Web Components with Glimmer

The browser support ​for​ web components has been ​increasing​ ​consistently​ over the past few years and besides other component libraries, including Polymer or X-Tag, the Ember community presents its own new library – Glimmer – enabling you to create easy-to-use web components today. In this talk we will have a look at the current state of web components in the modern web, including browser support, and polyfilling, and we'll see how Glimmer can help us to create reusable components for our web apps today. Alongside a demo we will see how we can build and ship our Glimmer based web components using the battle-tested Ember-CLI and finally, we will have a look at promising API developments for the future.

Keine Slides vorhanden
13:45 bis 14:30
How hard can it be?

Back when starting our consulting company, we deemed invoicing a solved problem: Simply write them using office software, print to PDF, done. That solution did not make us happy, though. There was data redundancy in the various spreadsheets that we used to manage our company, plus concurrency and scalability issues due to binary file formats that you cannot easily diff. So we decided to build our own solution. After all, writing and managing invoices the way we need cannot be that hard - or so we thought. This is the story of how we went through iterations and rewrites, and what we have learned along he way. Well, we certainly learned to better understand some of the advice we give to our clients.

14:45 bis 15:45
Debugging, Logging and Profiling in Distributed Systems

With the increased use of Microservices and Docker in production one question is how to monitor with rising complexity in services? As often the case, we don't need to look further than Google who solved this problem with a new kind of tracing system – Dapper – which they invented several years ago. In this talk we will look at how distributed tracing works, what you can use it for and look at the open source implementations Open Zipkin and OpenTracing and how to make this work in PHP.

Keine Slides vorhanden
The Mobile Web Second Edition: First-Class Citizen on your Device now

They are so similar: Web and Mobile apps. What a nice option to use our web development experience (JavaScript, to be specific) to create cross-platform native-like applications. Is it that simple? What are the pros and cons of mobile web VS native? What is the difference between hybrid mobile apps, progressive web apps and JavaScript-compiled-to-native ones? Let's find the answers together!Attendees will get an overview of modern concepts for building web-based mobile applications, pros and cons from tech and business sides. Bonus: some practical advices on when to go for this option.First I'll give an idea: to use our JavaScript code for creating mobile applications. I'll mention and demonstrate some frameworks from those days. Right after I'll "destroy" this idea with some serious counter-arguments. Then I'll explain what could the renaissance of mobile web idea look like: using web workers, creating progressive web applications and compiling to real native code using some next generation frameworks. For the each option I'll give advantages/disadvantages from both tech and business points of view so both developers and managers will get a big picture of today's (and tomorrow's) possibilities of the mentioned concept.

You can save Web Typography

The web is written language – and it’s also a mess, because most sites don’t present text properly. Typography to the rescue! In this talk you will learn how to boost your next web project with good typography. Several examples and live demos will give you a basic understanding of type and how to apply it with CSS in responsive web design. It’s a talk for developers, designers and everyone in between. Together we can save the web’s typography – one paragraph at a time.

16:15 bis 17:15
How to automate your DevSecOps successfully

More and more processes in companies are automated to ensure a high-quality and reliable procedure in daily work processes and absorb human error. But when it comes to a topic where human absence can cause fatal consequences or where processes should work fluently, many companies are still running with human error sources - I’m talking about security automation. This session contains an overview about effective solutions to automate security relevant processes within DevSecOps. I want to present the results of a study in which attendees gave feedback on how they handle “Continuous Security in Open Source based Projects”. I will analyze the importance and prioritization of those security processes from the perspective of open source companies. Furthermore you will learn details of several security workflows in the open source business.

Jenkins vs Circle vs Travis

Lot of developers and teams are interested in doing testing, but don’t know how. Some of the most often seen excuses are: 1) We don’t have time for it. 2) Who is going to write those tests? 3) Who is going to maintain those tests? 4) Who is going to run all of those tests after each change? This talk will cover the last excuse and introduce you to the world of continuous integration and how tools like Jenkins, Circle and Travis can help you build better software faster. Yes, faster and better. While there are other options as well this talk will cover: Jenkins, CircleCI and Travis CI, three very popular solutions. The main point of the talk will be what they can do, how they do it and what are the main or subtle differences between them. There are subtle and not so subtle differences between them, come and learn more about them so you can bring an informed decision to your team.

Keine Slides vorhanden
Functional Reactive Programming with Cycle.js

Reactive Programming will be the next hot topic of this decade, understanding now how this paradigm works and when to use it will grant you great benefits for your asynchronous applications. In this talk I’ll introduce you to what Reactive Programming is guiding you trough this new dimension simplifying the learning curve and providing a real example to analyse during the talk and also after it. I’ll show how Model View Intent architecture works in order to structure your front end reactive applications with Cycle.js.

Friday - 27. October 2017

09:00 bis 17:00
Workshop: Progressive Web Apps using the Angular Mobile Toolkit [SOLD OUT]

The term Progressive Web App refers to a group of technologies, such as service workers, and push notifications, that can bring native-like performance and user experience to web apps. Progressive Web Apps are interesting because in some ways they represent a coming of age for the Web. The Angular Mobile Toolkit makes it easy to build snappy Web apps that load instantly on any device, even without an internet connection. Take advantage of the searchability, shareability, and no-install-required-ability of the Web without compromise. During this 100 per cent hands-on session we'll have a look on recent tools and guides from Angular team to help us build Progressive Web Apps. We'll have a look at Angular CLI and plugins/libraries for App Shell, Service Worker, and Application Manifest supporting us in fast and easy creation of installable, offline-capable, mobile-network-friendly apps. Course overview: Introduction to PWA and Workshop Setup, Introduction to Angular Mobile Toolkit, Create an installable mobile web app with Angular CLI, Make the App Installable with Web App Manifest, App Shell Architecture, Add an app shell component to the App, Deep dive into Service Workers, Add basic offline capabilities with Service Worker, Adding Splash Screen, Sending Push Notifications, Questions and answer.

Keine Slides vorhanden
Symfony 4 for large and small projects

In a world where the front-end is evolving so fast, it is specially important to be able to count on a solid technology for your back-end that holds the foundations of your project. Symfony is a mature framework that had already proven its capacity of enabling rapid and good quality development, both for small prototypes and large and complex systems. Symfony 4 moves further in this direction, cutting configuration times to the minimum, and becoming more flexible and powerful than its previous versions.We will see how to turn Symfony 4 into your best ally for every project. Starting with a fresh installation, we’ll go through the process of building a Symfony application, as well as a RESTful API and an admin panel – two of the most common requirements in almost every project. Along the way, we will review the best practices and learn how to organize the architecture of your project, as well as many useful tips and tricks learned along the years working with this framework.

Keine Slides vorhanden
- Gib Deinen Standort ein -
- or -