Migration vom ZF1 zum ZF2 von einfach bis fies (IPC Spring 2013, Berlin)Ralf Eggert
• ZF1 Projekt vorbereiten
• ZF2 Skeleton integrieren
• Startseite nach ZF2 migrieren
• MVC-Layer für Blog Modul migrieren
• Authentifizierung & Autorisierung migrieren
• Model-Layer für Blog Modul migrieren
Haben Sie als Zend-Framework-Entwickler nicht schon immer etwas neidisch auf die Konsolenanwendungen der anderen PHP-Frameworks geschielt, mit denen innerhalb kurzer Zeit ein Blog umgesetzt werden konnte? Das Open-Source-Tool ZFrapid schließt diese Lücke und hilft Einsteigern und Profis dabei, im Handumdrehen neue Zend-Framework-Projekte einzurichten, Module zu erstellen und zu konfigurieren und einfache Administrationsoberflächen automatisch zu generieren. Erfahren Sie in dieser Session, wie Sie ZFrapid nutzen können, um die Entwicklungszeit von Prototypen beschleunigen zu können.
Migration vom ZF1 zum ZF2 von einfach bis fies (IPC Spring 2013, Berlin)Ralf Eggert
• ZF1 Projekt vorbereiten
• ZF2 Skeleton integrieren
• Startseite nach ZF2 migrieren
• MVC-Layer für Blog Modul migrieren
• Authentifizierung & Autorisierung migrieren
• Model-Layer für Blog Modul migrieren
Haben Sie als Zend-Framework-Entwickler nicht schon immer etwas neidisch auf die Konsolenanwendungen der anderen PHP-Frameworks geschielt, mit denen innerhalb kurzer Zeit ein Blog umgesetzt werden konnte? Das Open-Source-Tool ZFrapid schließt diese Lücke und hilft Einsteigern und Profis dabei, im Handumdrehen neue Zend-Framework-Projekte einzurichten, Module zu erstellen und zu konfigurieren und einfache Administrationsoberflächen automatisch zu generieren. Erfahren Sie in dieser Session, wie Sie ZFrapid nutzen können, um die Entwicklungszeit von Prototypen beschleunigen zu können.
Dieser Vortrag erklärt, was der PHP_CodeSniffer ist, was er kann, wozu er gut ist, wie man einen eigenen Standard mit eigenen Regeln erstellt und warum man Ihn nutzen sollte.
Er wurde am 22. September 2010 bei der PHP Usergroup Düsseldorf, Duisburg, Krefeld gehalten.
Deploying an application can be tedious and error-prone. Using Phing’s rich set of tasks, easy extension points and simple XML build files to handle the packaging, deploying and testing of your application can help you save time and increase quality. After this talk you will know how to use Phing and how to tailor it to your specific situation. A number of demonstrations will help illustrate transformation, file synchronization, database migration and other real-world use cases.
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.
jQuery - the world's most popular java script library comes to XPagesMark Roden
This document discusses using jQuery with XPages. It begins with an introduction to jQuery, explaining that it is a popular JavaScript library that simplifies document manipulation, events, animation, and AJAX. It then compares jQuery to Dojo and provides guidance on when each should be used. The document demonstrates how jQuery works via its API and methods. It also explains how to add jQuery to an XPages application either directly in code or via a theme. Finally, it discusses jQuery plugins and how they can provide ready-made functionality to solve requirements.
1) Camptothecin is a natural alkaloid isolated from the Chinese camptotheca tree that was found to inhibit the enzyme topoisomerase I.
2) Monroe Wall and Mansukh Wani at Research Triangle Institute discovered and developed camptothecin and its analogs as promising anticancer agents in the 1960s-1980s.
3) Since then, over 100 derivatives have been synthesized using modern organic chemistry techniques like Diels-Alder reactions, radical annulations, and asymmetric syntheses.
4) Two FDA-approved camptothecin analogs, irinotecan and topotecan, are now important cancer drugs, with worldwide sales of $800
Building and deploying PHP applications with PhingMichiel Rook
Slides for my talk at the PHP UK Conference 2012.
Some of the examples discussed during the talk can be found at http://www.touchdownconsulting.nl/conferences/phing-phpuk2012-examples.tgz
If you attended, please leave me some feedback at http://joind.in/4954 - thanks!
The skeleton has four main functions: providing shape, enabling movement, protecting organs, and producing blood cells. It gives the body its shape and allows for movement through joints and muscle attachment. The skeleton protects vital organs like the heart, lungs, and brain. Bone marrow inside bones produces red and white blood cells. There are over 200 bones in the adult body that can be categorized as flat, irregular, or long bones depending on their shape.
PHP Optimization can increase a client’s site performance and leverage your plugin design and capacity. Writing your code with PHP in mind first will help you build stable scalable plugins and applications. It will also save you time and energy after product release. Practical tips will be shared in this session for you to implement in projects immediately. Yes, there will be code.
Websites, die stark frequentiert werden, sollten in jedem Augenblick optimale Ladezeiten für den Besucher aufweisen. Kommt PHP als objektorientierte Interpreter- Sprache zum Einsatz, muss besonderes Know How mitgebracht werden. Dieser Artikel gibt einen
Überblick über die Performance-Maßnahmen, -Methoden, -Produkten und -Werkzeugen in der PHP- rogrammierung.
30 minütige AJAX Präsentation.
Begonnen bei DOM, JavaScript und HTTP werden hier die Basics behandelt.
Vermittelt gegen Ende viele technische Probleme, die mit AJAX kommen.
Dadurch wird auf Folgepräsentationen vorbereitet, die behandeln wie die verschiedenen Web-Frameworks AJAX in den Griff bekommen.
Die wichtigsten Technologien für die Entwicklung von WebanwendungenYUHIRO
In diesem Beitrag sind die wichtigsten Technologien beschrieben, welche man benötigt um gute Webapplikationen zu entwickeln. Beispielsweise sind die Serverseitigen Programmiersprachen PHP, ASP.NET, Python, Ruby und Java beschrieben. Sowie auch die populärsten Frameworks in diesen Softwaresprachen. Auch ein Einblick in die Frontend-Technologien, wie HTML, CSS, JavaScript, jQuery, etc. wird gegeben.
Dieser Vortrag erklärt, was der PHP_CodeSniffer ist, was er kann, wozu er gut ist, wie man einen eigenen Standard mit eigenen Regeln erstellt und warum man Ihn nutzen sollte.
Er wurde am 22. September 2010 bei der PHP Usergroup Düsseldorf, Duisburg, Krefeld gehalten.
Deploying an application can be tedious and error-prone. Using Phing’s rich set of tasks, easy extension points and simple XML build files to handle the packaging, deploying and testing of your application can help you save time and increase quality. After this talk you will know how to use Phing and how to tailor it to your specific situation. A number of demonstrations will help illustrate transformation, file synchronization, database migration and other real-world use cases.
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.
jQuery - the world's most popular java script library comes to XPagesMark Roden
This document discusses using jQuery with XPages. It begins with an introduction to jQuery, explaining that it is a popular JavaScript library that simplifies document manipulation, events, animation, and AJAX. It then compares jQuery to Dojo and provides guidance on when each should be used. The document demonstrates how jQuery works via its API and methods. It also explains how to add jQuery to an XPages application either directly in code or via a theme. Finally, it discusses jQuery plugins and how they can provide ready-made functionality to solve requirements.
1) Camptothecin is a natural alkaloid isolated from the Chinese camptotheca tree that was found to inhibit the enzyme topoisomerase I.
2) Monroe Wall and Mansukh Wani at Research Triangle Institute discovered and developed camptothecin and its analogs as promising anticancer agents in the 1960s-1980s.
3) Since then, over 100 derivatives have been synthesized using modern organic chemistry techniques like Diels-Alder reactions, radical annulations, and asymmetric syntheses.
4) Two FDA-approved camptothecin analogs, irinotecan and topotecan, are now important cancer drugs, with worldwide sales of $800
Building and deploying PHP applications with PhingMichiel Rook
Slides for my talk at the PHP UK Conference 2012.
Some of the examples discussed during the talk can be found at http://www.touchdownconsulting.nl/conferences/phing-phpuk2012-examples.tgz
If you attended, please leave me some feedback at http://joind.in/4954 - thanks!
The skeleton has four main functions: providing shape, enabling movement, protecting organs, and producing blood cells. It gives the body its shape and allows for movement through joints and muscle attachment. The skeleton protects vital organs like the heart, lungs, and brain. Bone marrow inside bones produces red and white blood cells. There are over 200 bones in the adult body that can be categorized as flat, irregular, or long bones depending on their shape.
PHP Optimization can increase a client’s site performance and leverage your plugin design and capacity. Writing your code with PHP in mind first will help you build stable scalable plugins and applications. It will also save you time and energy after product release. Practical tips will be shared in this session for you to implement in projects immediately. Yes, there will be code.
Websites, die stark frequentiert werden, sollten in jedem Augenblick optimale Ladezeiten für den Besucher aufweisen. Kommt PHP als objektorientierte Interpreter- Sprache zum Einsatz, muss besonderes Know How mitgebracht werden. Dieser Artikel gibt einen
Überblick über die Performance-Maßnahmen, -Methoden, -Produkten und -Werkzeugen in der PHP- rogrammierung.
30 minütige AJAX Präsentation.
Begonnen bei DOM, JavaScript und HTTP werden hier die Basics behandelt.
Vermittelt gegen Ende viele technische Probleme, die mit AJAX kommen.
Dadurch wird auf Folgepräsentationen vorbereitet, die behandeln wie die verschiedenen Web-Frameworks AJAX in den Griff bekommen.
Die wichtigsten Technologien für die Entwicklung von WebanwendungenYUHIRO
In diesem Beitrag sind die wichtigsten Technologien beschrieben, welche man benötigt um gute Webapplikationen zu entwickeln. Beispielsweise sind die Serverseitigen Programmiersprachen PHP, ASP.NET, Python, Ruby und Java beschrieben. Sowie auch die populärsten Frameworks in diesen Softwaresprachen. Auch ein Einblick in die Frontend-Technologien, wie HTML, CSS, JavaScript, jQuery, etc. wird gegeben.
Jeder von uns kennt sie – die alten PHP-Projekte, die vor vielen Jahren entstanden und heute noch eine wichtige Funktion im Unternehmen erfüllen. Und es gibt ebenso viele Ratschläge, mit diesen Applikationen umzugehen: Tests und Continuous Deployment einführen. Kompatibel zu Symfony2 machen oder gleich dahin portieren – oder doch lieber Laravel? Domain-driven Design und Microservices nutzen, durch Node.js, Go, Rust ersetzen. Der Talk zeigt, welche Optionen man hat, welche Probleme sie jeweils mit sich bringen und wie man sich entscheiden kann.
Ein Blick in die Kristallkugel mit dem Ziel spannende und relevante Online-Trends für das Jahr 2005 hervorzusagen. Auf der Liste sind:
- Open Source / Free Software
- WebAnalytics
- Compression
- VoIP
- Rich Thin Clients
- WiFi/WiMax
- SOA (Service-oriented architecture)
- Flash Streaming
- DAISY
- Folksonomy
Analyse einer sinnvollen WCMS Auswahl und wie Plone sich in diesem Kontext präsentiert.
SWOT-Analyse und Marktanalyse, sowie relevante Web-Trends für WCMS.
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.
JavaScript hat eine bewegte Geschichte hinter sich. Manch einer erinnert sich diesbzüglich vielleicht an die ersten Gehversuche für kleinere Spielereien auf Webseiten. Inzwischen hat sich JavaScript nicht nur zu einer ernstzunehmenden Programmiersprache gemausert, sondern gehört auch zu den Top 10 der meist genutzten Sprachen.
Tausende von frei verfügbaren Web-Frameworks auf JavaScript-Basis bieten einen reichhaltigen Fundus zur Entwicklung oder Ergänzung von eigenen Anwendungen.
Darüberhinaus gibt es nicht nur Client-basiert sondern auch Server-basiert mächtige Werkzeuge, mit denen sich unterschiedlichste Anwendungsszenarien – vom Number-Crunching bis zu hochskalierbaren Server-Diensten – effektiv umsetzen lassen.
Wie man sich diese Möglichkeiten innerhalb von FileMaker zu Nutze machen kann, erklärt dieser Vortrag anhand von Beispielen – wie z.B. interaktive Kalender, graphische Auswertungen, Batch-Verarbeitung von umfangreichen Berechnungen.
Aus der Praxis wird ein Beispielprojekt vorgestellt zur Lösung des TSP (Traveling Salesman Problem), wo die Möglichkeiten von JavaScript effektiv in eine FileMaker-Anwendung integriert wurden. Es werden Herangehensweisen erläutert und frei verfügbare Bibliotheken für unterschiedliche Anwendungszwecke vorgestellt.
Interessant für den FileMaker-Entwicker sind die unterschiedlichen Integrations-Möglichkeiten von JavaScript in eigene Anwendungen. Hierzu werden alternative Integrations- und Schnittstellen-Methoden vorgestellt, die über die Standard-Möglichkeiten des Webviewers hinausgehen.
Aus der Praxis wird ein Beispielprojekt vorgestellt zur Lösung des TSP (Traveling Salesman Problem), wo die Möglichkeiten von JavaScript effektiv in eine FileMaker-Anwendung integriert wurden.
Django ist ein in Python programmiertes Framework, dass die schnelle Entwicklung von Web-Applikationen ermöglicht. Dabei wird Wert auf sauberen Code und die Wiederverwendbarkeit von einzelnen Komponenten gelegt.
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.
Framework Auswahlkriterin, PHP Unconference 2009 in Hamburg
1. Auswahlkriterien für PHP Frameworks
3. PHP Unconference, Hamburg
12. und 13. September 2009
10 Auswahlkriterien
für PHP Frameworks
Begriffsdefinitionen, Kleine Marktübersicht,
Allgemeine und spezielle Kriterien zur Auswahl,
Gründe für Eigenentwicklung
Präsentiert von:
Ralf Eggert
Geschäftsführer Travello GmbH
12./13.09.2009
3. PHP Unconference
1 von 21
2. Auswahlkriterien für PHP Frameworks
Bitte jederzeit zwischendurch Eure
Fragen und Anregungen stellen!
Mit den Beschimpfungen bitte
bis zum Ende warten!
Danke!
12./13.09.2009
3. PHP Unconference
2 von 21
3. Auswahlkriterien für PHP Frameworks
Wer bin ich?
●
Ralf Eggert, Jahrgang 1972, Dipl. WInf (FH),
Geschäftsführer Travello GmbH
●
Entwickelt in PHP seit 1999, hat auch in PHP 3 gestümpert
●
Entwickelt mit dem Zend Framework seit 2006
●
Regelmäßiger Autor für das PHP Magazin seit 2007
●
Autor des Buches „Das Zend Framework - Von den
Grundlagen bis zur fertigen Anwendung“ erschienen 2009
(www.zendframeworkbuch.de)
●
Bloggt unter www.ralfeggert.de über PHP usw.
●
Twittert unter twitter.com/Frille
12./13.09.2009
3. PHP Unconference
3 von 21
4. Auswahlkriterien für PHP Frameworks
Was gilt als PHP Framework?
●
●
●
Klassensammlungen (PHPLIB, PHP Classes)
Komponentensammlungen (PEAR, eZ Components, Zend
Framework)
„Full-Stack“ Frameworks und Ruby-on-Rails Klone (Code
Igniter, CakePHP, Symfony, Seagull, Agavi)
12./13.09.2009
3. PHP Unconference
4 von 21
5. Auswahlkriterien für PHP Frameworks
Welche PHP Frameworks gibt es?
12./13.09.2009
3. PHP Unconference
5 von 21
6. Auswahlkriterien für PHP Frameworks
Wie wählt man ein Framework aus?
●
Viele Wege führen nach Rom
●
Eine Hand voll ausprobieren und eines auswählen
●
Im Internet nach „unabhängigen“ Vergleichen suchen
●
Featurelisten durchwühlen
●
Freunde und Kollegen fragen
●
Einfach eines aus dem Bauch heraus auswählen
●
Oder sich einen Kriterienkatalog für die Auswahl erstellen
12./13.09.2009
3. PHP Unconference
6 von 21
7. Auswahlkriterien für PHP Frameworks
1. Kriterium: Aktualität
●
Wie aktuell ist das neueste stabile Release?
●
Wie häufig gibt es neue Releases?
●
Wie sieht die Release Historie aus?
●
Gibt es feste Release-Zyklen?
●
Seit wann wird das Framework entwickelt?
●
Gibt es eine Roadmap?
12./13.09.2009
3. PHP Unconference
7 von 21
8. Auswahlkriterien für PHP Frameworks
2. Kriterium: Verbreitung
●
●
Gibt es Informationen zu den Downloadzahlen (leider nur
selten verfügbar)?
Gibt es bekannte Referenzen, die das Framework
einsetzen?
●
Anzahl Treffer in Suchmaschinen (Google, Yahoo)
●
Google Pagerank?
●
●
Ist in Zukunft eher von einer steigenden Verbreitung
auszugehen?
Gibt es Stellenangebote von Unternehmen, welche
Erfahrung im Framework voraussetzen?
12./13.09.2009
3. PHP Unconference
8 von 21
9. Auswahlkriterien für PHP Frameworks
3. Kriterium: Dokumentation
●
●
●
Wie umfangreich und aktuell ist die mitgelieferte
Dokumentation?
Gibt es eine Kommentarfunktion in der Dokumentation mit
weiteren Hinweisen der Anwender?
Gibt es viele Tutorials, Anleitungen und dokumentierte
Best Practices? Wie aktuell sind diese?
●
Gibt es auch eine API Dokumentation zum Download?
●
Gibt es Bücher zum Framework (Gedruckt, E-Books)?
12./13.09.2009
3. PHP Unconference
9 von 21
10. Auswahlkriterien für PHP Frameworks
4. Kriterium: Qualitätssicherung
●
Gibt es Programmierrichtlinien, an die sich alle Entwickler
des Frameworks halten müssen?
●
Werden Unit-Tests zur Qualitätssicherung eingesetzt?
●
Werden diese mitgeliefert?
●
Wie hoch ist die Testabdeckung?
●
Wird sogar testgetrieben entwickelt?
●
Wird das Schreiben von Unit-Tests für eine auf dem
Framework basierende Anwendung unterstützt?
12./13.09.2009
3. PHP Unconference
10 von 21
11. Auswahlkriterien für PHP Frameworks
5. Kriterium: Entwickler
●
●
●
●
●
Ist es ein reines Open-Source Projekt, das von vielen
Freiwilligen gestützt wird?
Oder steht eine Firma im Hintergrund, welche die
Entwicklung vorantreibt / unterstützt?
Ist die Anzahl der Kernentwickler bekannt? Wie viele?
Bieten die Kernentwickler / die Firma auch kommerziellen
Support an?
Ist das Framework ein Fork oder wurde es schon mal
geforkt („brain drain“)?
12./13.09.2009
3. PHP Unconference
11 von 21
12. Auswahlkriterien für PHP Frameworks
6. Kriterium: Community
●
Wie aktiv sind die Mailinglisten und Foren zum
Framework?
●
Wie schnell bekommt man Hilfe auf eine Frage?
●
Wie ist der Umgangston in den Mailinglisten und Foren?
●
Gibt es Blogs, welche aktuelle Informationen sammeln und
veröffentlichen?
12./13.09.2009
3. PHP Unconference
12 von 21
13. Auswahlkriterien für PHP Frameworks
7. Kriterium: Lizenz
●
Unter welcher Lizenz wird das Framework veröffentlicht?
●
Gibt es auch eine kommerzielle Lizenz?
●
Passt diese Lizenz zu den eigenen Anforderungen für die
Nutzung des Frameworks?
●
12./13.09.2009
3. PHP Unconference
13 von 21
14. Auswahlkriterien für PHP Frameworks
8. Kriterium: Technik
●
●
●
●
●
Wird noch das veraltete PHP 4 unterstützt oder werden die
Stärken von PHP 5 ausgekostet?
Passen die technischen Anforderungen des Frameworks
auf die vorhandenen technischen Voraussetzungen?
Lässt sich das Framework einfach erweitern?
Werden umfangreiche Konfigurationsdateien benötigt oder
gibt es Konventionen, die man einhalten muss / kann?
Besteht die eigene Anwendung aus Monsterklassen oder
lassen sich die Elemente (Controller, Aktionen, Models,
Views, Formulare, etc.) fein trennen?
12./13.09.2009
3. PHP Unconference
14 von 21
15. Auswahlkriterien für PHP Frameworks
9. Kriterium: Bugs
●
Ist das Framework bugfrei? (kleiner Scherz)
●
Wie viele Bugs wurden gemeldet / gelöst?
●
Verhältnis gemeldete und bereinigte Bugs?
●
Beispielzahlen von Mitte August 2009:
–
Agavi (gemeldet 1065, bereinigt 995, Ratio 93,43%)
–
CakePHP (gemeldet 6528, bereinigt 5880, Ratio 90,07%)
–
eZ Components (gemeldet 1355, bereinigt 1215, Ratio 89,67%)
–
Symfony (gemeldet 6814, bereinigt 5367, Ratio 78,76%)
–
Zend Framework (gemeldet 7551, bereinigt 5736, Ratio 75,96%)
12./13.09.2009
3. PHP Unconference
15 von 21
16. Auswahlkriterien für PHP Frameworks
10. Kriterium: Features
●
●
●
●
●
Endlich! Die Features
Bietet das Framework alle Features / Komponenten, die in
der eigenen Anwendung gebraucht werden?
Sind die fehlenden Features / Komponenten zeitnah (in
den nächsten Monaten) geplant?
Können die Anwender auch eigene Features /
Komponenten vorschlagen / anbieten?
Wie einfach lassen sich externe Komponenten integrieren,
z.B. Smarty, Doctrine, Webservices?
12./13.09.2009
3. PHP Unconference
16 von 21
17. Auswahlkriterien für PHP Frameworks
Zusammenfassung Auswahlkriterien
●
●
●
●
Natürlich lassen sich nur schwer alle Fragen für alle
Frameworks beantworten!
Kriteriumkatalog ermöglicht aber, schnell eine Vielzahl an
Frameworks auszuschließen!
Damit kann man sich auf die wesentlichen Frameworks
konzentrieren!
Ergänzt wird die Auswertung dann durch Ausprobieren und
Testen der Frameworks
12./13.09.2009
3. PHP Unconference
17 von 21
18. Auswahlkriterien für PHP Frameworks
10 Gründe gegen Frameworks I
●
●
●
●
●
Bevor ich mich in fremden Programmcode einarbeite, schreibe
ich das schneller selbst.
PHP Frameworks sind voller Bugs, man schaue nur auf die
langen Listen mit Bugfixes bei jedem Release.
Da der Programmcode des PHP Frameworks öffentlich
zugänglich ist, mache ich meine Anwendung unsicher.
Schließlich können die Hacker den Programmcode des
Frameworks auch einsehen.
Das Framework XYZ ist völlig überladen, ich brauche nur 2
oder 3 der 40 Komponenten.
Das Framework XYZ ist nicht vollständig, mir fehlen 2 bis 3
Komponenten!
12./13.09.2009
3. PHP Unconference
18 von 21
19. Auswahlkriterien für PHP Frameworks
10 Gründe gegen Frameworks II
●
●
●
●
●
●
Ich kenne gerne den gesamten Programmcode im Detail, so
dass ich lieber alles selber schreibe!
Was mache ich, wenn das PHP Framework nicht mehr weiter
entwickelt wird, weil die Hauptentwickler keine Zeit mehr
haben?
Für das Framework gibt es dauernd neue Releases, bin ja nur
noch am aktualisieren.
Wenn mein Kunde mitbekommt, dass ich nicht alles selber
programmiert habe, kürzt er mir das Budget!
Ich schreibe mein eigenes PHP Framework, um zu lernen!
Quelle: http://www.phphatesme.com/blog/wtf/10-grunde-gegenden-einsatz-von-php-frameworks/
12./13.09.2009
3. PHP Unconference
19 von 21
20. Auswahlkriterien für PHP Frameworks
Fragen?
Meinungen?
Wutausbrüche?
12./13.09.2009
3. PHP Unconference
20 von 21
21. Auswahlkriterien für PHP Frameworks
Danke für Eure Aufmerksamkeit!
Ralf Eggert
r.eggert@travello.com
12./13.09.2009
3. PHP Unconference
21 von 21