Meine Slides für den ganzjährigen Workshop zu Zend\Expressive auf der International PHP Conference 2017 Spring Edition. Die Slides bilden die Grundlagen für den Workshop.
Das Jahr 2015 steht ganz im Zeichen der erneuerten PHP-Frameworks. Auch das Zend Framework lässt sich nicht lumpen und erfindet sich neu: Der Fokus liegt auf der Implementation des PSR-7-Standards, dem Thema Middleware und einer tieferen Separierung der einzelnen Frameworkkomponenten. Als Ergänzung zum Full-Stack-Framework wird es leichtgewichtigere Alternativen geben. Erfahren Sie in dieser Session, was das Zend Framework 3 alles Neues bringt und was Sie als Entwickler bei der Migration Ihrer Zend-Framework-2-Anwendungen beachten müssen.
Das Zend Framework 3 bietet mit seiner MVC-Komponente und mit dem Nebenprojekt Apigility bereits verschiedene Möglichkeiten, ein RESTful API auf Basis von PHP zu entwickeln. Doch auch das neue Microframework Expressive ist für den Betrieb eines RESTful Web Services geeignet. In der simpelsten Variante reichen nach der Installation der Skeleton Application nur wenige Zeilen Code für ein REST-API. Durch das offene Konzept sind jedoch auch komplexere API-Anwendungen flexibel und ohne großen Frameworkballast zu entwickeln. In diesem Vortrag erfahren Sie alles Wissenswerte zu Expressive und dem Aufbau einer RESTful Anwendung mit PHP.
der aktuelle Stand Perl 5.20 an features und Kultur: beeinflusst von Perl 6 wird an den wesentlichen Stellen aufgeräumt: dies war das Update für den Linuxtag in Chemnitz März 2015
Ant ist ein Build-Werkzeug aus der Java-Welt, das auch für Python Projekte verwendbar ist. Diese Präsentation zeigt Beispiele für häufige Aufgaben und beschreibt, wie eine Einbindung in Jenkins zur continuous integration erfolgeb kann.
Open-Source-Monitoring von Netzwerkkomponenten mit check_nwc_healthGerhard Lausser
Die Komponenten einer Unternehmens-IT können nur zusammenarbeiten und mit der Außenwelt kommunizieren, wenn das Netzwerk funktioniert. Switches, Router, Firewalls und Loadbalancer bilden das Rückgrat vernetzter Systeme und sind somit Primärziele für das Monitoring. Bisher gab es für jedes Fabrikat und jeden Abfragetyp ein extra Plugin. Dies führte dazu, dass in Nagios-Installationen mehr als zehn Plugins, natürlich jedes mit seiner eigenen Kommandozeilensyntax, zum Einsatz kamen. Um diesen Irrsinn zu beenden wurde check_nwc_health geschrieben. Es hat sich zum Ziel gesetzt, sämtliche Anforderungen beim Monitoring der gebräuchlichsten Netzwerkkomponenten in einem einzigen Plugin zu bündeln.
Mittlerweile wird es in mehreren Umgebungen mit jeweils tausenden von Netzknoten (Cisco, Juniper, HP, CheckPoint, F5, Brocade, Bluecoat uvm.) erfolgreich eingesetzt und die Liste der Features wächst stetig.
Gerhard Laußer zeigt, wie mit wenig Aufwand ein Netzwerk-Monitoring auf Basis von check_nwc_health eingerichtet werden kann und wie man das Plugin mit wenigen Zeilen Code für spezielle Anforderungen aufbohren kann.
Das Jahr 2015 steht ganz im Zeichen der erneuerten PHP-Frameworks. Auch das Zend Framework lässt sich nicht lumpen und erfindet sich neu: Der Fokus liegt auf der Implementation des PSR-7-Standards, dem Thema Middleware und einer tieferen Separierung der einzelnen Frameworkkomponenten. Als Ergänzung zum Full-Stack-Framework wird es leichtgewichtigere Alternativen geben. Erfahren Sie in dieser Session, was das Zend Framework 3 alles Neues bringt und was Sie als Entwickler bei der Migration Ihrer Zend-Framework-2-Anwendungen beachten müssen.
Das Zend Framework 3 bietet mit seiner MVC-Komponente und mit dem Nebenprojekt Apigility bereits verschiedene Möglichkeiten, ein RESTful API auf Basis von PHP zu entwickeln. Doch auch das neue Microframework Expressive ist für den Betrieb eines RESTful Web Services geeignet. In der simpelsten Variante reichen nach der Installation der Skeleton Application nur wenige Zeilen Code für ein REST-API. Durch das offene Konzept sind jedoch auch komplexere API-Anwendungen flexibel und ohne großen Frameworkballast zu entwickeln. In diesem Vortrag erfahren Sie alles Wissenswerte zu Expressive und dem Aufbau einer RESTful Anwendung mit PHP.
der aktuelle Stand Perl 5.20 an features und Kultur: beeinflusst von Perl 6 wird an den wesentlichen Stellen aufgeräumt: dies war das Update für den Linuxtag in Chemnitz März 2015
Ant ist ein Build-Werkzeug aus der Java-Welt, das auch für Python Projekte verwendbar ist. Diese Präsentation zeigt Beispiele für häufige Aufgaben und beschreibt, wie eine Einbindung in Jenkins zur continuous integration erfolgeb kann.
Open-Source-Monitoring von Netzwerkkomponenten mit check_nwc_healthGerhard Lausser
Die Komponenten einer Unternehmens-IT können nur zusammenarbeiten und mit der Außenwelt kommunizieren, wenn das Netzwerk funktioniert. Switches, Router, Firewalls und Loadbalancer bilden das Rückgrat vernetzter Systeme und sind somit Primärziele für das Monitoring. Bisher gab es für jedes Fabrikat und jeden Abfragetyp ein extra Plugin. Dies führte dazu, dass in Nagios-Installationen mehr als zehn Plugins, natürlich jedes mit seiner eigenen Kommandozeilensyntax, zum Einsatz kamen. Um diesen Irrsinn zu beenden wurde check_nwc_health geschrieben. Es hat sich zum Ziel gesetzt, sämtliche Anforderungen beim Monitoring der gebräuchlichsten Netzwerkkomponenten in einem einzigen Plugin zu bündeln.
Mittlerweile wird es in mehreren Umgebungen mit jeweils tausenden von Netzknoten (Cisco, Juniper, HP, CheckPoint, F5, Brocade, Bluecoat uvm.) erfolgreich eingesetzt und die Liste der Features wächst stetig.
Gerhard Laußer zeigt, wie mit wenig Aufwand ein Netzwerk-Monitoring auf Basis von check_nwc_health eingerichtet werden kann und wie man das Plugin mit wenigen Zeilen Code für spezielle Anforderungen aufbohren kann.
Middleware Anwendungen mit dem Zend Framework 3Ralf Eggert
Zend\Expressive ist das neue PSR-7 kompatible Middleware-Framework aus dem Zend Framework 3, mit dem Sie eigene Web- und REST-Anwendungen mit PHP implementieren können. In dieser Session erhalten Sie einen Überblick über die grundlegende Theorie sowie die Möglichkeiten von Zend\Expressive und erfahren auch die Unterschiede zum klassischen MVC-Ansatz.
Die Migration älterer Projekte zum neuen Zend Framework 3 will wohlgeplant sein; statt Aktionismus ist eine solide Vorbereitung essentiell. Wie komplex die Migration zum ZF3 ist, hängt stark von dem zu migrierenden Projekt ab: Läuft Ihre Anwendung bereits auf aktuellsten Zend Framework 2-Komponenten, kann die Migration deutlich schneller verlaufen als bei einem älteren Zend Framework 1 Projekt.
In dieser Präsentation erfahren Sie, welche wesentlichen Änderungen das ZF3 mit sich bringt und wie Sie eine Migration sinnvoll angehen sollten. Dabei beleuchtet Ralf Eggert dank seiner langjährigen Projekterfahrung verschiedene Szenarien. Zusätzlich bekommen Sie einige Checklisten an die Hand mit dem Ziel, Ihre Migration optimal vorbereiten zu können.
IPC 2017 - Legacy-Anwendungen mit Expressive modernisierenRalf Eggert
Ü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.
9 Tipps für die Modernisierung von PHP-AnwendungenRalf Eggert
PHP hat mittlerweile über 20 Jahre auf dem Buckel und die Entwicklung hat in den letzten Jahren gerade mit PHP 7 und den vielen nützlichen Frameworks einen weiteren Schub bekommen. Da ist es nicht verwunderlich, dass viele langjährig gewachsene PHP Anwendungen mittlerweile ein wenig in die Jahre gekommen sind. In dieser Session erhalten Sie 9 Tipps, mit denen Sie Ihre PHP Anwendung Schritt für Schritt modernisieren können, und erfahren auch, warum ein Reworking mit stetigem Refactoring besser als ein Rewrite mit einmaligem Relaunch ist.
This is my talk I gave at the International PHP Conference 2007 - Spring Edition in Ludwigsburg, Germany. The talk introduces the basic concepts of the Zend Framework. Additionally some components are shown in more detail and some advanced concepts are covered.
Erfahren Sie in diesem Talk, wie Sie das Zend Framework 2 gewinnbringend für Ihre eigenen Projekte einsetzen können. Sie erhalten Tipps aus der Praxis für die Praxis zu Themen wie Performance, Security, Wiederverwendbarkeit von Modulen, Einsatz des Event-Managers für eigene Zwecke, interessante Fremdmodule, Migration vom ZF1, und vieles mehr.
Developer Week 2019: Identity & Access Management in der RealitaetRobin Sedlaczek
My slide about identity and access management (IAM) in complex and distributed software applications/solutions. The goal was to share real world experiences made when evolving multiple connected software applications on different technical stacks to use/support modern security approaches and standards (specifically oAuth2 and Open ID Connect) while solving several issues with multi-tenancy, multiple distributed (production) server, organizational challenges and integration problems internal as well as with external 3rd party applications.
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...Robin Sedlaczek
Slides from my talk about direct coding in the own application using C# Scripting. Try and us your applications domain models and services in C# Scripts to empower development within an application. Or give your users the possibility to automate and extend your application with scripting.
Plug-In Development mit dem Oracle Cloud Control - Enterprise Manager 12c
DOAG 2014 -Die größte Anwenderkonferenz rund um alle Oracle Themen, vom 18.11.2014 - 20.11.2014 in Nürnberg
Plug-In Development mit dem Oracle Enterprise Manager 12c
Entwicklung einer eigenen Lösung für das Monitoring von Applikationen mit den Enterprise Manager 12c am Beispiel der Überwachung für die Oracle NoSQL Datenbank.
Im Vortrag wird das generelle Konzept der OEM Plug-Ins im OEM 12c vorgestellt und die eigenen Erfahrungen und Grenzen beim Entwurf von Plug-Ins für eine größere NoSQL Umgebung werden aufgezeigt.
Ziel ist es über die Fallstricke in der Anfangsphase eines eigenen Projektes zu informieren, um eine schnelle Umsetzung eigener Ideen ohne allzu große Hürden zu ermöglichen.
W-JAX 2013 Spring Batch - Performance und Skalierbarkeittobiasflohre
Slides to our (Dennis Schulte and me) talk at the German Java conference W-JAX 2013 in Munich. Subject is the batch processing framework Spring Batch, general hints regarding performance in batch applications and scalability options in Spring Batch. Slides are in German.
Forms and Reports 12c - Processes and Automation in Development and OperationsTorsten Kleiber
The current target architecture of IKB's credit and loan management is based on Oracle ADF and SOA and of course the database. But how can you protect in this time your Oracle Forms & Reports longtime investments, can you support their Development Lifecycle by Automation?
Many supporting technologies from the Java environment, such as branching models, automated build and deploy procedures or code review were established with the Oracle technologies and in the course of the regulatory process.
But there is still a large part of the Oracle Forms & Reports that have grown over 25 years and have not yet been replaced. Actually, we hoped that we would no longer need a version higher than 11g. Forms & Reports had been running very stably for years. A bug brought the migration to 12c back into focus to further run supported versions. The regulatory environment did the rest to revise the current processes and, where possible, to automate them.
So how do supporting technologies and automation fit in here?
I will show you a selection of these processes from IKB's development and operations life cycle:
* Installation of application server
* Regular patching
* Packaging of the local development environment
* Requirements documentation
* Branching
* Development
* Code Review
* Merge
* Deployment
* Traceability for Regulatory Purposes
The following tools are used, among others
* Jenkins
* Scripting with Bash and Powershell
* Git
* Bitbucket
* JIRA
* FormsAPI Master
Presentation bei der CodeTalks Developer Conference in Hamburg zum Thema: "Kopf frei für's Produkt - Automatisierung mit Ansible und Jenkins" von LeanIX CTO André Christ und SW Architekt Dr. Daniel Pozzi.
Vom ersten Einrichten einer Maschine bis zum Ausliefern der Anwendung ist es ein weiter Weg, der in einem Startup viele menschliche und technische Ressourcen abverlangt. Neue Kundenwünsche und Skalierung erfordern immer mehr Server, Dienste („best tool for the job“) oder Anwendungsinstanzen, die verwaltet werden wollen.
Der SaaS-Anbieter LeanIX aus Bonn hat den manuellen Prozess in wenigen Wochen gegen eine vollständig automatisierte Provision-, Build- und Deploy-Kette mit ansible und Jenkins getauscht, um den Rücken für die Produktentwicklung frei zu haben.
Eine Präsentation, welche Michael Schmid anlässlich eines Treffen der Drupal UserGroup Switzerland gehalten hat.
Es geht darum, was Drupal 7 nach aktuellem Stand alles enthalten wird, was sich ändert, wo sich neue Möglichkeiten bieten, etc.
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Gregor Biswanger
Das Jahr 2009 war die Geburtsstunde von Node.js. Dass hierbei JavaScript ebenfalls serverseitig verwendet werden kann, ist nur ein Teilaspekt für den hohen Erfolg. Viel relevanter ist die extrem hohe Performance, Skalierbarkeit und Produktivität. Nicht ohne Grund wird ASP.NET komplett neu erfunden und basiert auf den gleichen Ideen wie Node.js. Namenhafte Firmen wie Microsoft selbst, Google, PayPal, New York Times, GitHub, uvw. setzen bereits auf das leistungsstarke Node.js. Der Vortrag zeigt durch eine Reise der Node.js Architektur, woher die Vorteile kommen. Durch einen Vergleich von ähnlichen Funktionen, wird zudem der ideale Einstieg für .NET Entwickler geboten.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
PHP Rewrite: Do the right thing (IPC Berlin 2024)Ralf Eggert
This talk addresses the challenges of modernizing a PHP application that has been under development since 2007 and was initially tightly coupled with its MVC framework. This tight integration led to various problems, including an increase in bugs and prolonged timeframes for implementing changes. We will explore the shift to Domain-Driven Design, Event Sourcing, and Test-Driven Development in the application's complete rewrite. The goal is to lessen the application's dependence on this archaic framework and to address these persistent issues, aligning it with current and future technology standards.
The session offers practical strategies for transforming legacy systems, deeply intertwined with their frameworks, into more adaptable, efficient, and resilient architectures, effectively solving long-standing performance and maintenance issues.
Middleware Anwendungen mit dem Zend Framework 3Ralf Eggert
Zend\Expressive ist das neue PSR-7 kompatible Middleware-Framework aus dem Zend Framework 3, mit dem Sie eigene Web- und REST-Anwendungen mit PHP implementieren können. In dieser Session erhalten Sie einen Überblick über die grundlegende Theorie sowie die Möglichkeiten von Zend\Expressive und erfahren auch die Unterschiede zum klassischen MVC-Ansatz.
Die Migration älterer Projekte zum neuen Zend Framework 3 will wohlgeplant sein; statt Aktionismus ist eine solide Vorbereitung essentiell. Wie komplex die Migration zum ZF3 ist, hängt stark von dem zu migrierenden Projekt ab: Läuft Ihre Anwendung bereits auf aktuellsten Zend Framework 2-Komponenten, kann die Migration deutlich schneller verlaufen als bei einem älteren Zend Framework 1 Projekt.
In dieser Präsentation erfahren Sie, welche wesentlichen Änderungen das ZF3 mit sich bringt und wie Sie eine Migration sinnvoll angehen sollten. Dabei beleuchtet Ralf Eggert dank seiner langjährigen Projekterfahrung verschiedene Szenarien. Zusätzlich bekommen Sie einige Checklisten an die Hand mit dem Ziel, Ihre Migration optimal vorbereiten zu können.
IPC 2017 - Legacy-Anwendungen mit Expressive modernisierenRalf Eggert
Ü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.
9 Tipps für die Modernisierung von PHP-AnwendungenRalf Eggert
PHP hat mittlerweile über 20 Jahre auf dem Buckel und die Entwicklung hat in den letzten Jahren gerade mit PHP 7 und den vielen nützlichen Frameworks einen weiteren Schub bekommen. Da ist es nicht verwunderlich, dass viele langjährig gewachsene PHP Anwendungen mittlerweile ein wenig in die Jahre gekommen sind. In dieser Session erhalten Sie 9 Tipps, mit denen Sie Ihre PHP Anwendung Schritt für Schritt modernisieren können, und erfahren auch, warum ein Reworking mit stetigem Refactoring besser als ein Rewrite mit einmaligem Relaunch ist.
This is my talk I gave at the International PHP Conference 2007 - Spring Edition in Ludwigsburg, Germany. The talk introduces the basic concepts of the Zend Framework. Additionally some components are shown in more detail and some advanced concepts are covered.
Erfahren Sie in diesem Talk, wie Sie das Zend Framework 2 gewinnbringend für Ihre eigenen Projekte einsetzen können. Sie erhalten Tipps aus der Praxis für die Praxis zu Themen wie Performance, Security, Wiederverwendbarkeit von Modulen, Einsatz des Event-Managers für eigene Zwecke, interessante Fremdmodule, Migration vom ZF1, und vieles mehr.
Developer Week 2019: Identity & Access Management in der RealitaetRobin Sedlaczek
My slide about identity and access management (IAM) in complex and distributed software applications/solutions. The goal was to share real world experiences made when evolving multiple connected software applications on different technical stacks to use/support modern security approaches and standards (specifically oAuth2 and Open ID Connect) while solving several issues with multi-tenancy, multiple distributed (production) server, organizational challenges and integration problems internal as well as with external 3rd party applications.
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...Robin Sedlaczek
Slides from my talk about direct coding in the own application using C# Scripting. Try and us your applications domain models and services in C# Scripts to empower development within an application. Or give your users the possibility to automate and extend your application with scripting.
Plug-In Development mit dem Oracle Cloud Control - Enterprise Manager 12c
DOAG 2014 -Die größte Anwenderkonferenz rund um alle Oracle Themen, vom 18.11.2014 - 20.11.2014 in Nürnberg
Plug-In Development mit dem Oracle Enterprise Manager 12c
Entwicklung einer eigenen Lösung für das Monitoring von Applikationen mit den Enterprise Manager 12c am Beispiel der Überwachung für die Oracle NoSQL Datenbank.
Im Vortrag wird das generelle Konzept der OEM Plug-Ins im OEM 12c vorgestellt und die eigenen Erfahrungen und Grenzen beim Entwurf von Plug-Ins für eine größere NoSQL Umgebung werden aufgezeigt.
Ziel ist es über die Fallstricke in der Anfangsphase eines eigenen Projektes zu informieren, um eine schnelle Umsetzung eigener Ideen ohne allzu große Hürden zu ermöglichen.
W-JAX 2013 Spring Batch - Performance und Skalierbarkeittobiasflohre
Slides to our (Dennis Schulte and me) talk at the German Java conference W-JAX 2013 in Munich. Subject is the batch processing framework Spring Batch, general hints regarding performance in batch applications and scalability options in Spring Batch. Slides are in German.
Forms and Reports 12c - Processes and Automation in Development and OperationsTorsten Kleiber
The current target architecture of IKB's credit and loan management is based on Oracle ADF and SOA and of course the database. But how can you protect in this time your Oracle Forms & Reports longtime investments, can you support their Development Lifecycle by Automation?
Many supporting technologies from the Java environment, such as branching models, automated build and deploy procedures or code review were established with the Oracle technologies and in the course of the regulatory process.
But there is still a large part of the Oracle Forms & Reports that have grown over 25 years and have not yet been replaced. Actually, we hoped that we would no longer need a version higher than 11g. Forms & Reports had been running very stably for years. A bug brought the migration to 12c back into focus to further run supported versions. The regulatory environment did the rest to revise the current processes and, where possible, to automate them.
So how do supporting technologies and automation fit in here?
I will show you a selection of these processes from IKB's development and operations life cycle:
* Installation of application server
* Regular patching
* Packaging of the local development environment
* Requirements documentation
* Branching
* Development
* Code Review
* Merge
* Deployment
* Traceability for Regulatory Purposes
The following tools are used, among others
* Jenkins
* Scripting with Bash and Powershell
* Git
* Bitbucket
* JIRA
* FormsAPI Master
Presentation bei der CodeTalks Developer Conference in Hamburg zum Thema: "Kopf frei für's Produkt - Automatisierung mit Ansible und Jenkins" von LeanIX CTO André Christ und SW Architekt Dr. Daniel Pozzi.
Vom ersten Einrichten einer Maschine bis zum Ausliefern der Anwendung ist es ein weiter Weg, der in einem Startup viele menschliche und technische Ressourcen abverlangt. Neue Kundenwünsche und Skalierung erfordern immer mehr Server, Dienste („best tool for the job“) oder Anwendungsinstanzen, die verwaltet werden wollen.
Der SaaS-Anbieter LeanIX aus Bonn hat den manuellen Prozess in wenigen Wochen gegen eine vollständig automatisierte Provision-, Build- und Deploy-Kette mit ansible und Jenkins getauscht, um den Rücken für die Produktentwicklung frei zu haben.
Eine Präsentation, welche Michael Schmid anlässlich eines Treffen der Drupal UserGroup Switzerland gehalten hat.
Es geht darum, was Drupal 7 nach aktuellem Stand alles enthalten wird, was sich ändert, wo sich neue Möglichkeiten bieten, etc.
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Gregor Biswanger
Das Jahr 2009 war die Geburtsstunde von Node.js. Dass hierbei JavaScript ebenfalls serverseitig verwendet werden kann, ist nur ein Teilaspekt für den hohen Erfolg. Viel relevanter ist die extrem hohe Performance, Skalierbarkeit und Produktivität. Nicht ohne Grund wird ASP.NET komplett neu erfunden und basiert auf den gleichen Ideen wie Node.js. Namenhafte Firmen wie Microsoft selbst, Google, PayPal, New York Times, GitHub, uvw. setzen bereits auf das leistungsstarke Node.js. Der Vortrag zeigt durch eine Reise der Node.js Architektur, woher die Vorteile kommen. Durch einen Vergleich von ähnlichen Funktionen, wird zudem der ideale Einstieg für .NET Entwickler geboten.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
PHP Rewrite: Do the right thing (IPC Berlin 2024)Ralf Eggert
This talk addresses the challenges of modernizing a PHP application that has been under development since 2007 and was initially tightly coupled with its MVC framework. This tight integration led to various problems, including an increase in bugs and prolonged timeframes for implementing changes. We will explore the shift to Domain-Driven Design, Event Sourcing, and Test-Driven Development in the application's complete rewrite. The goal is to lessen the application's dependence on this archaic framework and to address these persistent issues, aligning it with current and future technology standards.
The session offers practical strategies for transforming legacy systems, deeply intertwined with their frameworks, into more adaptable, efficient, and resilient architectures, effectively solving long-standing performance and maintenance issues.
ChatGPT: unser täglich' Bot gib uns heuteRalf Eggert
ChatGPT ist derzeit in aller Munde. Doch was ist eigentlich dran an dieser neuen Wundertechnologie? Wird ChatGPT uns Entwickler bald überflüssig machen? Können IT Leiter in naher Zukunft mit einem komplexen Prompt eine ganze Legacy Anwendung in Nullkommanichts in eine moderne Applikation verwandeln? Oder wenigstens ein Projekt von Symfony 4 auf Laminas umstellen?
Wir schauen in dieser Session einmal, wie wir Entwickler die »Wunderwaffe« ChatGPT in unsere tägliche Arbeit integrieren können. Wir betrachten, wie uns die KI bei konkreten Problemen helfen kann, und wir schauen auch, ob uns ChatGPT auch bei der Projektplanung unterstützen kann. Wir nutzen ChatGPT in so unterschiedlichen Rollen wie Coach, Tester, Systemarchitekt oder Product Owner. Dabei orientieren wir uns auch anhand eines kleinen PHP Projektes, das von der Planung bis zur Umsetzung von ChatGPT begleitet wurde.
Die Teilnehmer bekommen bei dieser Session Tipps und Tricks an die Hand, wie sie heute schon ChatGPT in ihrer täglichen Arbeit einsetzen können, um hier und da ein wenig schneller und produktiver werden zu können. Wir gehen aber auch auf die Gefahren ein und kommen zur Erkenntnis, dass nicht alles Gold ist, was da glänzt, und dass wir keiner einzigen Antwort blind vertrauen dürfen.
Der ultimative PHP Framework Vergleich 2023 EditionRalf Eggert
Auch im Jahr 2023 gibt es immer noch unzählige PHP Frameworks, die mehr oder minder viele Nutzer hinter sich vereinen können. Neben den beiden aktuellen Platzhirschen Symfony und Laravel stehen mit Laminas (ehemals Zend Framework) auch weitere beliebte Frameworks in der zweiten Reihe. Doch wie vergleicht man so unterschiedliche Frameworks wirklich objektiv?
PHP Module als Rundum-Sorglos-Pakete entwickelnRalf Eggert
Wer viele PHP-Projekte entwickelt, kennt die Situation sicherlich: Es gibt verschiedene Features, die in fast jedem Projekt benötigt werden. Sei es das simple Kontaktformular, der Versand von E-Mails, der Einbau eines Cookie-Banners oder die Ausgabe eines Menüs. Beim Start eines neuen Projekts verfällt der Entwickler gerne in das typische Muster, sich schnell alles zusammenzukopieren und so lange anzupassen, bis es passt. Bei zwei oder drei zu betreuenden Projekten ist das noch überschaubar. Aber bei 20, 30 oder gar 100? Wie kann ich den Spamschutz des Kontaktformulars in Dutzenden Projekten verbessern, ohne jedes Projekt einzeln individuell anpassen zu müssen? Die Lösung liegt auf der Hand: wir bauen uns ein Modul, das simpel mit Composer in jedes Projekt gebracht werden kann. Mit Git können wir Releases taggen und somit unterschiedliche Versionen des Moduls bereitstellen. Automatisierte Tests helfen uns beim Sicherstellen der Funktionalitäten. Tolle Sache! Doch manchmal möchten wir Formulare auch mal im Browser anschauen und die HTML-Ausgabe anpassen. Dabei helfen Module, die eine kleine Mini-Anwendung mit sich bringen, die im Browser gestartet werden kann. Wie wir so etwas umsetzen können, zeigt dieser Vortrag.
A new Alexa skill is quickly built and certified at Amazon. Depending on its complexity, this process can be completed in a few weeks. The same applies to Google Actions. But some people put their hands in their laps afterwards and wonder why their new, innovative voice application does not go through the roof. History repeats itself: 25 years ago, with the advent of the World Wide Web, many HTML projects were published whose content was not updated for a long time. Today nobody would launch a website or a smartphone app and then leave it to itself. Why should it be different with an Alexa skill, a Google Action or a Bixby capsule? In this session you will learn about strategies and solutions to make your voice application up-to-date, interactive and interesting. Use the existing tools of the providers and make sure that your content can easily be kept up-to-date. We will also look at the insights and modernization measures from the three-year operation of one of the first German-speaking Alexa Skills.
Kurzvortrag über intelligente persönliche Assistenten und ihre Bedeutung für den Tourismus. Was können die Sprachassistenten und was (noch) nicht? Wie zuverlässig und hilfreich ist die Kommunikation in menschlicher Sprache mit der disruptiven Software?
We had a nice little voice meetup in Hamburg on 15th of January 2020:
This time we will have the following agenda:
- Short presentation Welcome Bixby (about 20 Minutes)
- Discussion: What was your Voice Highlight 2019? What do you wish for 2020?
- plus a little surprise (more will not be revealed yet)
Alexa, Google Assistant, Siri and even Cortana are on everyone’s lips. But what about Bixby? First introduced in 2017 in Korea, the US and China, other languages like French, Spanish, German or
Italian were just launched in the beginning of 2019.
This talk will give a short introduction into the Bixby virtual assistant and how the development of Bixby capsules differs from building Alexa Skills or Google Actions. You will learn about the basic concepts, the tools you need and the Bixby Marketplace.
A short presentation about Alexa Skill maintenance from the Alexa Dev Day in Berlin on 26th of November 2019. Discusses metrics, intent history, reviews and new features.
Das Zend Framework hat eine bewegte Geschichte hinter sich. Unter dem Mantel der Linux Foundation hat es nun eine neue Heimat gefunden und wird im Laminas Projekt weiter geführt. Laminas setzt die Arbeit fort und bündelt die eigenständigen Komponenten, das MVC Framework, Expressive und Apigility in einem neuen gemeinsamen Projekt. In diesem Vortrag erfahren Sie alles über den Wechsel von Rogue Wave Software zur Linux Foundation. Wir schauen, was sich ändern wird, was wegfällt und was neu sein wird. Und wir wagen auch einen Ausblick in die Zukunft des Frameworks.
Alexa Skills und PHP? Passt das zusammen?Ralf Eggert
Zugegeben, die Entwicklung digitaler Sprachanwendungen für Amazons Alexa wird eindeutig von Node.js dominiert. Dies ist der Quasi-Standard, der von Amazon angeboten und stetig ausgebaut wird. Die Entwicklung von Alexa Skills mit PHP fristet nur ein Nischendasein. Dennoch kann es sehr viel Sinn machen, auch bei der Entwicklung digitaler Sprachanwendungen auf PHP zu setzen und vorhandenes Know-how im Team zu nutzen. Denn zur Entwicklung eines professionellen Alexa Skills gehört mehr als nur die direkte Interaktion mit Alexa und dem Alexa Voice Service. Erfahren Sie in diesem Vortrag alles Wissenswerte zur PHP-Entwicklung für Alexa und welche Vorteile es dabei bietet.
Mit dem Jovo Framework ist es einfach möglich, plattformübergreifende Sprachanwendungen für Amazon Alexa und den Google Assistant zu entwickeln. Jovo basiert auf Node.js und hilft durch ein gemeinsames Sprachmodell bei der Entwicklung von Alexa Skills und Google Actions. In diesem Vortrag steigen wir nach einer kurzen Einführung direkt in die Welt der Sprachassistenten ein und schauen uns die grundlegende Vorgehensweise für die Entwicklung einer Sprachanwendung für Alexa und den Google Assistant an. Wir lernen die wichtigsten Features des Jovo Frameworks kennen und durchlaufen die grundlegenden Implementierungsphasen von der Konfiguration über den Code bis hin zum Deployment.
Das Zend Framework hat eine bewegte Geschichte hinter sich. Unter dem Mantel der Linux Foundation hat es nun eine neue Heimat gefunden und wird im Laminas Projekt weiter geführt. Laminas setzt die Arbeit fort und bündelt die eigenständigen Komponenten, das MVC Framework, Expressive und Apigility in einem neuen gemeinsamen Projekt. In diesem Vortrag erfahren Sie alles über den Wechsel von RogueWave Software zur Linux Foundation. Wir schauen, was sich ändern wird, was wegfällt und was neu sein wird. Und wir wagen auch einen Blick in die Zukunft des Frameworks.
Die digitalen Sprachassistenten wie Amazons Alexa und der Google Assistant sind in aller Munde. Nachdem sie schon die häuslichen vier Wände viele Privatnutzer erobert haben, schicken sie sich an, auch in der Hotellerie Fuß zu fassen. Dieser Vortrag führt in das Thema Voice allgemein ein und diskutiert auch die Herausforderungen für die Hotellerie. Zudem erfahren Sie, wie Sie sich mit TINA für Hotels (dem ersten Alexa-Skill-as-a-Service für die Touristik und Hotellerie) diesen Herausforderungen schon heute stellen können.
Alexa, lass uns Geld verdienen – fünf Geschäftsmodelle, die wirklich funktion...Ralf Eggert
Seit dem Aufkommen der digitalen Sprachassistenten, Amazons Alexa oder der Google Assistant, herrscht Goldgräberstimmung. Die nächste Revolution verspricht gute Geschäfte: Innovative Sprachanwendungen, Künstliche Intelligenz, Voice Commerce, Wettrüsten der Technologiegiganten. In der Realität schwemmten zu Beginn jedoch Fakten-Skills, Quizanwendungen und Geräuschgeneratoren den Skill Store. Dazu kamen Adaptionen bestehender Webanwendungen oder Smartphone-Apps, welche oft nur enttäuschte und ratloses Gesichter hinter sich ließen. Die Suche nach der Killerapplikation für digitale Sprachanwendungen begann. Zwei Jahre nach dem offiziellen Deutschlandstart von Alexa und 18 Monate nach dem Start von Google Home in Deutschland werfen wir einen Blick auf fünf verschiedene Geschäftsmodelle für digitale Sprachassistenten, die wirklich funktionieren. Erfahren Sie, wie Entwickler, Agenturen oder Unternehmen an der Voice-Revolution teilnehmen können, ohne blind der Gier nach dem neuen Gold hinterherhecheln zu müssen.
Fortgeschrittene Techniken für erfolgreiche SprachanwendungenRalf Eggert
Viele Entwickler, die mit der Entwicklung eines Alexa-Skills beginnen, machen sich in den seltensten Fällen vorab tiefer gehende Gedanken über ihre Anwendungsstruktur. Quick-Start-Anwendungen und Vorlagen konzentrieren sich in der Regel eher auf die Vermittlung von Featurewissen und weniger darum, eine nachhaltige Anwendungsstruktur einzuführen. Da besteht der eigentliche Code der Sprachanwendungen auch schon mal aus einer einzigen Datei, die durch Konfigurations- oder Sprachdateien angereichert wird.
Für ganz einfache Sprachanwendungen ist das zumeist auch ausreichend. Doch wie sieht es bei komplexeren Anwendungen aus? Wie reagieren wir auf zusätzliche Funktionen und Intents? Wie erhalten wir den Kontext im Rahmen eines Dialogs und wie können wir Daten sinnvoll persistieren? Und was passiert, wenn unsere Sprachanwendung nicht nur für Amazons Alexa, sondern auch für den Google Assistant umgesetzt werden soll?
In dieser Session erfahren Sie, welche Maßnahmen Sie ergreifen können, um den wachsenden Anforderungen an erfolgreiche Sprachanwendungen gerecht zu werden.
Künstliche Intelligenz – Traum und WirklichkeitRalf Eggert
Das Thema Künstliche Intelligenz (KI) ist derzeit in aller Munde. Überall hören wir von intelligenten Chatbots und digitalen Sprachassistenten wie Amazons Alexa, Siri oder Google Home. Entwickler und Unternehmen fügen Ihrer Software eine künstliche Intelligenz hinzu, um ihre Software zu verbessern. Einhergehend werden auch Ängste geschürt vor den Maschinen, die in Form eines realen Skynets bald die Weltherrschaft übernehmen, um die Menschheit zu knechten.
In diesem Vortrag schauen wir uns am Beispiel von digitalen Sprachassistenten wie Amazons Alexa und einiger Chatbots an, wie weit es aktuell mit der künstlichen Intelligenz im Massenmarkt eigentlich her ist. Und wir betrachten auch, inwieweit das Internet der Sprache eine Revolution oder doch eher eine Evolution darstellt.
Multi-Modal Voice Development with Amazon AlexaRalf Eggert
Building a voice application for Amazon Alexa requires the Voice First approach. But with the growing device family with displays like the Echo Spot, the Echo Show, or the Fire TV, you are able to support your voice experience with photos, illustrations, or videos. This session concentrates on how to build a Multi-Modal application with Amazon Alexa. We will have a closer look on the best-practices as well as some tools and techniques to help you to create richer voice applications.
4. Ralf EggertRalf Eggert 44 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Agenda
●
Teil 1: Einführung in ZendExpressive
●
Teil 2: Installation & Aufbau der Anwendung
●
Teil 3: Anwendungsmodule
●
Teil 4: Middleware-Aktionen
●
Teil 5: Datenbankanbindung
●
Teil 6: Formulare und Formularverarbeitung
●
Teil 7: Zusammenfassung
27. Ralf EggertRalf Eggert 2727 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
User Stories Kundenverwaltung
Story #0002
As an admin
I want to show a single customers
So that I can see all data of a
registered customer
Story #0001
As an admin
I want to list all customers
So that I have an overview of all
registered customers
Story #0003
As an admin
I want to create a new customer
So that I can add customers
without registration
Story #0005
As an admin
I want to delete a customer
So that I can remove the customer
data from the database
Story #0004
As an admin
I want to update a customer
So that I can change the details of
a customer in the database
Story #0006
As a -
I want -
So that -
30. Ralf EggertRalf Eggert 3030 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Modularität II
Modul CustomerApp Modul CustomerDomain
Action
Konfiguration
Templates
Formulare
Konfiguration
Repository
Entitäten
Storage
Services
Routing
Input-Filter
View-Helper
Paginierung
Navigation
31. Ralf EggertRalf Eggert 3131 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Modularität III
Modul
Customer
MwApp
Modul
Customer
Domain
Modul
Customer
Presentation
Modul
Customer
Console
Modul
Customer
Rest
Modul
Customer
MvcApp
32. Ralf EggertRalf Eggert 3232 vonvon 7272
ZendExpressive WorkshopZendExpressive Workshop
Modularität IV
Modul
Customer
MwApp
Modul
Customer
Domain
Modul
Customer
Presentation
Modul
Customer
Console
Modul
Customer
Rest
Modul
Customer
MvcApp