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 change the way you write code forever, so do not miss out on it.
No matter how experienced you are as a developer: you can always improve. This workshop teaches advanced coding techniques through live coding. First up, we will solve some interesting coding problems that the audience has defined (it's only live if nobody knows the problem beforehand!). In the second segment, we will write code in a test-driven fashion. In the afternoon, it is your turn to write code. You will work on an interesting non-trivial coding exercise while being individually coached by the trainer. It's your choice whether you want to try test-driven development, write code first, then tests, or write no tests at all. The latter, however, might earn you some angry looks from the trainer. We will touch on domain-driven design, test-driven development, clean code and SOLID principles, and might even throw in a few design patterns. Every question will be answered! Make sure to bring a laptop with your favourite development environment (current version of PHP, an IDE, and PHPUnit). Attendees should have a good working knowledge of PHP, at least basic OOP skills, and be familiar with the basics of PHPUnit. No frameworks or other third-party code will be needed.
Egal, ob man mit Angular, React oder irgendeinem anderen Framework entwickelt – Progressive Web Apps basieren in allen Fällen auf fundamentalen Webstandards wie Promises, Service Workers und Offline-Datastores. Um genau diese PWA-Basistechnologien geht es in diesem Workshop. Im ersten Teil des Workshops geht es um die Hintergründe und vor allem die konkreten Technologien hinter Service Workers, Offlinecache, App-Manifest und Co. Jedes neue API wird im Detail betrachtet und anhand von Beispielen demonstriert. Auch DevTools und Debugging-Techniken sind natürlich ein Thema. Gerüstet mit dem Wissen um diese und weitere Grundlagentechnologien ist die Entwicklung einer eigenen PWA ein Leichtes, zum Beispiel in der zweiten Hälfte des Workshops. Gemeinsam entwickeln die Teilnehmer einen Prototyp einer kleinen offlinefähigen Mobile-First PWA – entweder auf Basis einer Vorlage oder ganz nach dem persönlichen Geschmack mit dem Framework der Wahl. In Teil 2 gibt es keine komplizierten Slides oder langweiligen Vorträge, sondern vom Trainer unterstützte Hands-on-Entwicklung am konkreten Beispiel. Bringen Sie Ihren Laptop mit und vielleicht – wenn Sie mögen – Ihre eigene Idee für eine kleine Progressive Web App.
Die Gestaltung flexibler und interaktiver Layouts stellt Designer und Agenturen vor neue Herausforderungen. Früher war es üblich, Benutzeroberflächen für Websites und Apps in einem Grafik- oder Bildbearbeitungsprogramm zu gestalten und anschließend an die Programmierung zu übergeben. Der Designer hatte daher mit der technischen Umsetzung nur wenig zu tun und die Kommunikation mit Auftraggebern erfolgte häufig ebenso statisch und zeitintensiv wie der Designprozess.
Heute sind die Bereiche Design, UX und Entwicklung eng verzahnt. Screen-Designer müssen flexible Layouts entwerfen können, die über Interaktionen verfügen und Animationen, Verlinkungen und Scrolling-Effekte abbilden. Programme wie Photoshop, InDesign oder Illustrator sind dafür nur bedingt geeignet, doch es gibt neue Programme und Tools, die Designern unter die Arme greifen.
Scaling systems is hard, but we’re developers — that’s kind of our thing. Scaling people? Well, that’s significantly harder. Humans are complicated.
Broadly speaking, companies have three stages of development: infancy, those awkward teenage years and — if they survive the trials of adolescence — adulthood. An infant startup is so drastically different from its adult incarnation that they can be considered different companies. Each will have a unique mission and culture.
Scaling isn’t just about making what you have bigger. An ant can’t be scaled to the size of an elephant. Because the internal structure is fundamentally different. Instead, companies have to evolve. But companies aren’t living, breathing organisms. They’re collections of people — families, tribes and civilizations. So how do you scale a team of two to twenty? The answer starts over 2,000 years ago in Sparta.
Developers need tools to be productive. In this session, Sebastian Bergmann presents an overview of the tools every PHP developer needs to know. For instance, we will have a look at dePHPend, PHP CS Fixer, PHPStan, Phan, and PHPUnit. Tools are not an end unto themselves, though. Therefore we will also discuss how these tools fit into your development process.
Die CSS-Layouttechniken Flexbox und Grid werden häufig als konkurrierende Techniken zur Erstellung responsiver Weblayouts verstanden. In Wahrheit spielt Flexbox seine Stärke bei der Erzeugung linearer Komponenten aus, wohingegen CSS Grids sich besonders gut für die Konstruktion mehrdimensionaler Layouts anbieten. In dieser Session erfahren Sie anhand praktischer Anwendungsfälle, wie Flexbox- und Grid-Techniken miteinander kombiniert werden, um attraktive und flexible Weblayouts zu erzeugen. Neben den rein technischen Aspekten werft ihr auch einen Blick auf den Workflow und erfahrt, wie sinnvolle Fallbacks konstruiert werden können.
When introduced in PHP, namespaces were seen as a mere convenience: Shorter class names, yet no danger of collisions. Focusing on technicalities, strict rules like PSR-0 or PSR-4 were established to define how namespaces are to be structured and mapped into a directory layout. Since then, developers blindly follow these rules, ignoring the original concept of namespaces and the benefits they can offer. It's time to change that.
Offline First, Service Workers, Manifest Files... die Welt der Progressive Web Apps ist voller Buzzwords. Zeit, das ganze Gerede mal mit Inhalt zu füllen und sich ganz praktisch anzusehen, wie eine PWA gebaut wird. Dieser Talk zeigt wie dank neuer Webstandards wie Service Workers, Offline-Datastores und Background-Sync herkömmliche Webapps zu quasi-nativen Anwendungen mutieren. Wir begleiten eine kleine Web-App auf ihrer Reise von einer reinen Webseite hin zu einer App, die sich auf Smartphone und Desktop als Bürger erster Klasse installiert. Neben konkreten Technologien geht es auch um Architekturüberlegungen, hilfreiche Libraries sowie Dev-Tools und Debugging-Techniken.
Microservices have been a topic for years now. Traditional micro services architectures often choose the UI as it’s platform for integrating the services, which often results in small, decoupled backend services, but a tightly coupled, hard to maintain, monolithic frontend application.Micro frontends are the obvious solution to that problem: we take the learnings from the backend to the frontend. We will discuss different micro-frontend approaches, their up- and their downsides.
Congratulations, you successfully replaced your legacy monolith. And not just with a distributed monolith comprised of microservices that depend on each other, but rather with an assembly of self-contained systems that do not share infrastructure. There is just one question left to answer: How do you test an application that consists of self-contained systems? Come to this session and learn the answer!
CSS Grids ist die einfache native Art, Grid Layouts mit CSS zu erstellen. Aktuelle CSS-Grid-Systeme sind mit den Mitteln geschrieben, die CSS bisher zur Verfügung hatte, meist auf Float-Basis, mit all den Nachteilen. CSS Grid Layouts sind völlig neu und erlauben nun individuelle Raster nicht nur für Seitenlayouts, sondern auch auf Komponentenebene. Sven zeigt im Vortrag nicht nur, welche grundsätzlichen Eigenschaften CSS Grids bieten, sondern geht auch auf Fallback-Strategien ein.
As pioneers of each new digital era, IT professionals must continually search for ways to deepen customer engagement, speed up conversion, and optimize the user experience. Looking for the next gold rush? Join me as I walk through five different mobile e-Commerce case studies that demonstrate the untapped power of accessibility best practices in your mobile design and development process.
Jeder Softwareentwickler weiß, dass das eigene Gefühl für die Qualität der eigenen Software trügerisch ist. Probleme, die erst kurz zurückliegen, werden meist überspitzt wahrgenommen, während schon lange andauernde im Rauschen des Tagesgeschäfts untergehen. Oft wird daher versucht, mit Werkzeugen zur statischen Codeanalyse ein objektiveres Bild zu gewinnen. Aber die etablierten Tools betrachten nur einen kleinen Ausschnitt unserer Software: den Quellcode. Doch die Qualität unserer Software schlägt sich auch in anderen Artefakten unserer Arbeit nieder. In der Versionskontrolle dokumentieren wir, welche Codestellen wir aus welchem Grund ändern. In unserem Ticketsystem dokumentieren wir pedantisch jeden Bug unserer Software.
In diesem Vortrag werden wir uns anschauen, wie wir mit Mitteln aus der Data Science die Informationen aus den unterschiedlichen Datenquellen kombinieren können, um neues Wissen abzuleiten. Auf diese Weise versetzen wir uns in die Lage, Aussagen darüber zu treffen, welche Bereiche unserer Software besonders fehleranfällig sind, und in welchen Bereichen wir das Wissen besser auf die Teammitglieder verteilen sollten.
Did you know that Generators and Pipelines can be combined in order to solve software engineering problems?
Generators have been available to us in PHP for about 5 years, they are a very powerful item in a developer’s toolbox, they can be used to make your life easier (e.g. as data providers in PHPUnit), to help process large amounts of data, and even to enable multi-tasking.
Pipelines provide a way to compose complex tasks from stages.
In this talk we will briefly discuss a specific problem in PHPBench (a benchmarking tool for PHP) which can be solved through the use of Generators (and pipelines!). We will then explore both topics generally, before combining them into an Incredible Machine in a live coding session.
Powerful load balancer and reverse proxy, classic webserver or flexible gateway to PHP-FPM, the nginx web server software is on its way to becoming the de-facto standard for high performance web serving. But how to configure all these powerful features? SSO, Request Chaining, dynamic backend selection and more: This session will show configuration tips for beginners, tweaks for experts and lua scripting for the crazy!
Mit der Verbreitung von Webfonts wurden uns Webdesignern umfangreiche Möglichkeiten zur typografischen Gestaltung mit auf dem Weg gegeben. Plötzlich war es möglich, nahezu jede Schrift im Webdesign zu verwenden. Doch welche typografischen Möglichkeiten und Herausforderungen ergeben sich bei gestalterisch anspruchsvollen Layouts und mehrsprachigen Projekten mit verschiedenen Zeichensätzen, Anführungszeichen, Punktuationen und Währungen? In dieser Session werfen wir einen Blick auf unbekanntere Techniken und spannende, anspruchsvolle Einsatzgebiete. Welche Möglichkeiten bieten Webfonts beim Kerning, bei Ligaturen und Open Type Features? Welche Optionen gibt es, um Text nicht nur von links nach rechts, sondern auch von oben nach unten oder rechtsläufig darzustellen? Wie sorgt man dafür, dass Webfonts schnell und flackerfrei geladen werden?
I have a two-year-old daughter who adores Dr. Seuss. And as I was reading Cat in the Hat for the 214th time, I realized Dr. Seuss had it all figured out.
His words are odd. The cadence confusing. But there’s a gem hidden in all his children’s rhymes.
You see, Dr. Seuss would have made an excellent engineer. Because great code isn’t about choosing the perfect method name or building out 95% test coverage. All that is great, but it doesn’t make great code.
YOU DO.
It likely never feels that way. There’s a rhythm to software development that goes something like this:
This process is okay if you’re comfortable having a mild psychotic break every sprint. I’m not.
I think we’re going about it all wrong. Putting ourselves — our egos — above our code. No judgment. I do it too. We’re human. It’s okay.
But I think we can bypass our egos and the emotional ups and downs it produces.
While women control the majority of consumer spending worldwide, most tech-products are created by male engineers and developers and often with male consumers/users in mind - and quite a few of these products do not resonate with female values, needs and preferences. This talk will centre around how you create user centric tech solutions, aligned with female values and preferences that open for larger audiences and market potentials.
Learn about Womenomics, gender & innovation principles and get inspired by cases from industries that have embraced the female consumer.
Wer kennt es nicht? Die Designabteilung schimpft auf die Entwickler und umgekehrt fallen Begriffe wie „Pixelschubser“. Dabei sollten beide Seiten voneinander profitieren und eng zusammenarbeiten. Diese Session richtet sich vor allem an Entwickler und soll mit Vorurteilen und Ängsten bezüglich Design (mit CSS) aufräumen. Es wird gezeigt, dass gutes Design durchaus lernbar ist und man nicht als Künstler geboren sein muss.
Laura’s talk will explore how to approach accessibility, and how we can build sites and apps that are better for everyone. We’ll look at making inclusive content, and how to use aesthetics to aid the usability of our content. You’ll walk away knowing why accessibility is so important, and how you can make improvements as soon as you’re back to work next week.
With the explosion of front-end libraries like React and Vue.js, there is the advantage of being able to render JavaScript applications directly from the server instead of waiting for the browser to render them. This is beneficial for SEO and means a faster presentation of the content to the user. There is much information about how to do this in Node.js, but can we render a React or Vue.js application from a PHP server? What techniques do we have available? What are the benefits and trade-offs of each one? We will present the work that we have been doing in the past few years in libraries like ReactRenderer, ReactBundle and phpexecjs, and will see points to take care about when doing a deep integration between PHP and modern frameworks.
Design patterns are blueprints for common problems. Knowing patterns and being able to use them will help you to write better code faster. In addition, once you are familiar with certain patterns, you will also spot them in other people's code. Last but not least, patterns are a common language for developers that will improve communication in your team. We will introduce five design patterns (command, strategy, factory, template method, chain of responsibility) every web developer should know and use. We will show example code, and discuss when and where to use each pattern.
Das Thema Website-Performance beschäftigt uns seit Anbeginn des Webs. Die Websites sind grösser, bildlastiger und komplexer geworden, auf der anderen Seite sind die Bandbreiten gestiegen und die Geräte leistungsfähiger geworden, mobile Endgeräte mit ganz eigenen Anforderungen kamen hinzu.
Wir werfen einen Blick auf die Situation heute. Welche der alten Tricks bringen noch was, worauf kann man mittlerweile getrost verzichten? Alles unter besonderer Berücksichtigung der infrastrukturellen Rahmenbedingungen und Eingedenk der Tatsache, dass Websites heute nicht mehr von Hand gebaut werden, sondern zumeist aus einem CMS kommen.
Node.js is a lightweight but yet capable platform for creating powerful web applications. The core of Node.js is kept small and restricted to a limited functionality that is extended by a vast ecosystem. With the right combination of packages you are able to build full-featured web applications. There is nearly no limit in features starting with simple problems such as authentication or logging over web interfaces with REST or GraphQL to a whole application based on a microservices architecture. In this talk I will introduce you to some commonly used packages and show you how to use them by example.
Everyone fear the review of his own code. And to start with, there is no time. Because, what will happen once we have found something to detail ? In fact, a good code review means being ready to discuss a mere few lines, assess the context and evaluate an alternative, or not. It also means that when the code has become a dense jungle, there may hide monsters worse than a few errors. Using automated tools that are not scared by volume, we'll keep everything under control, without anyone else knowing about it.
Mit statischen Anwendungen, harten Übergängen und langen Wartezeiten lassen sich heutzutage keine Benutzer mehr begeistern. Eine Anwendung muss sich lebendig anfühlen und die Bedienung soll Spaß machen. Doch wann sind Animationen angebracht und wann stören sie nur? Wie geht man mit schwierigen Rahmenbedingungen wie langen Ladezeiten oder komplexen UI-Bereichen um? In dieser Session werden nicht nur diese Fragen beantwortet. Auf Basis des Angular-Animationssystems wird anhand konkreter Beispiele gezeigt, dass Animationen auch in komplexen Businessanwendungen keine Zauberei und viel wichtiger sind, als man vielleicht vermuten würde.
„Produkte“ sind in aller Munde. Doch was ist eigentlich unser Produkt? Brauche ich das überhaupt? Wie komme ich dazu, wenn ich es brauche? Kundenzentriert soll es weiterentwickelt werden! Doch wie geht das eigentlich? Welche Werkzeuge helfen mir dabei? Und ist Produkt wirklich das Nonplusultra? Oder sind jetzt doch wieder Services in Mode? Diese Fragen begegnen uns häufig in der Praxis. Wir möchten sie mit Euch kritisch beleuchten. Sicher können wir einige Fragen direkt beantworten. Für andere geben wir Euch Werkzeuge und Hilfestellungen aus der Praxis, um eine für Euch passende Antwort zu finden.
Building an IT based start up is a challenge, keeping it interesting over a long period of time and constantly improving is an even bigger one. Even - if not especially - an innovative start-up needs to concentrate on what the consumer really wants while at the same time focussing on technology. At BlaBlaCar we learned that most of our members travel from city center to city center but don’t actually live in city centers. Using a new algorithm, we are working on decentralizing transport and bringing added value to our members. This talk shows how constantly focussing on the needs of customers can take your business to the next level.
Technology is never neutral: it has inevitable social, political, and moral impact. The coming era of connected smart technologies, such as AI, autonomous vehicles, and the Internet of Things, demands trust: trust the tech industry has yet to fully earn. This session will illuminate the ethical questions of emerging technologies and challenge designers and engineers to create more thoughtful, positive products for future generations.
Artificial intelligence products are all the rage these days. AI is not scary, and there are a lot of awesome things you can do with it right from PHP. How do we, as LAMP stack professionals, ensure we embark this wonderful journey? I'll show you how we built, with PHP, a devops chatbot that enables the release manager skip the confusing discussions with the tekkies and master the release process. It's not just a simple bot, because we added from day 1 natural language processing smartness to it, so that our user base is extended to the project managers, business analysts, and customer engagement teammates. Johnny started as a devops friend for one of our customers, being extremely helpful in our day-to-day tasks. It later evolved to a tech lead/scrum master role, and even reminds us to do our timesheets. Here are some discussions you might have with Johnny: “What tickets are ready for QA?” “What version of the API is installed in production?” “Are there unused branches for the website?” "Has test coverage decrease in the last week for the API?" "What is the development team on the ETL project?" "Add Mary as a developer to the API project".
Die Webseite Elterngeld.net ist eine Eigenentwicklung des Geschäftsführers Michael Tell und über die Jahre hinweg vor allem inhaltlich und mithilfe der angebotenen Tools (Elterngeldrechner, Infopakete) gewachsen. Anfang 2018 hat Michael Tell Annika Brinkmann nach einem Kick-off-Workshop damit beauftragt, sich dem responsiven Redesign der Seite anzunehmen. Gemeinsam mit zwei Mitarbeiterinnen von Elterngeld.net haben sie einen iterativen Plan für einen mehrstufigen Releaseprozess erstellt: Zunächst wird der Rahmen der Seite neu erstellt und die bestehenden Inhalte in diesen neuen Rahmen überführt. In weiteren Schritten werden die Inhalte umstrukturiert und aktualisiert. Parallel dazu werden die vorhandenen Tools überarbeitet und um neue Tools ergänzt. Jede Seite erhält individuelle Grafiken zur optischen Untermalung der Inhalte. Nicht nur der Relaunch erfolgt iterativ, auch der Weg dahin ist es. Denn in einem sind sich Auftraggeber und Designer einig: Design und Webentwicklung sind ein Prozess.
Code quality is not just for christmas, it is a daily part of the job. So, what do you do when you're handed with a five feet long pole a million lines of code that must be vetted ? You call static analysis to the rescue. During one hour, we'll be reviewing totally unknown code code : no name, no usage, not a clue. We'll apply a wide range of tools, reaching for anything that helps us understand the code and form an opinion on it. Can we break this mystery and learn how everyone else is looking at our code ?
When starting to dabble with JavaScript, the biggest challenge for most developers is understanding how to deal with asynchronous development. During this talk, we will cover some of the different ways to handle async programming like callbacks, promises, reactive streams and events. As we cover those, we will also plunge into some of the mechanics of the Node.js engine, namely the event loop. Developers attending this talk will have a better understanding of asynchronous programming and will have a few new tools to their belt to tackle those issues as they come.
This session deals with what we learned from putting Perl, PHP, MySQL, Solr, Redis, Queues, Cassandra, AWS Services, web applications, API endpoints and off-line scripts processing into Docker containers. It fits great.
Versioning an API is one of those programming puzzles that seems simple in its essence, but tends to quickly get complicated the more you discover. There are several common approaches. Some are better than others, and perhaps all have shortcomings of one type or another. So which approach is best? That might be a rhetorical question, but in this session I will showcase one which I believe to be a contender. I will walk through the successes and struggles of setting it up for the first time, and hopefully inspire others to give it a try.
Optimizing sites to load instantly on mobile is far from trivial. Costly JavaScript can take seconds to process, we often aren’t sensitive to user's data-plans and browsers don’t know what UX-critical resources should load first. Thankfully there’s a lot we can do to give our users a MUCH better loading experience. Watch as a Google Chrome Developer Expert illuminates new loading best practices for diagnosing and making real world sites load instantly today.
Seit 25. Mai gilt sie europaweit - die neue Datenschutzgrundverordnung. Bei den einen löste sie Panik aus, bei den anderen verständnisloses Kopfschütteln, wieder andere sehen in ihr endlich eine konsequente Durchsetzung von mehr Datenschutz. Die Frage, was die DSGVO nun für kleine und große Betriebe, Open Source-Aktivisten, Zahnarztpraxen oder Freiberufler konkret bedeutet, ist auch nach dem 25. Mai nicht abschließend zu beantworten. Enno Park - der mit seinem Rant „Warum die DSGVO eine Datenschutz-Karikatur ist” auf die vielen Schwächen aufmerksam machte, diskutiert mit Frank Puscher über die Verunsicherung, die durch die neue Gesetzgebung entstanden ist und welche Folgen sie für die Branche haben dürfte.
Nobody likes to wait especially not when we are talking about waiting for web applications. In this talk we will walk through all the phases of the lifecycle of a web application. This process has its starting point in the download of all the necessary resources such as HTML, CSS or JavaScript. Then your browser starts to process these resources in order to render the application. But your application’s life does not end when it is shown to the user. In a single page application your browser has got a lot of work to do and it’s your job to build the application in a way it can do its job in a quick and responsive way. You will learn what’s under the hood of your browser and how to analyse the performance of your application's lifecycle.
We cannot avoid mistakes. But with the right tools, we can make sure they don't hurt too much. Git offers many ways to undo, revert, recover and fix. We'll look at the bad things that can happen to you - and how Git can save your neck. In this hands-on session, we'll have a look at Git's various "undo" features. My intention is to give developers more confidence in their day-to-day operations when working with code: "mistakes can be undone" is an something I'd like the audience to keep in mind. In the session, I will both talk about the theory and show the corresponding commands/tools in practice. I'll be using both Git on the command line and the popular GUI "Tower" to show how to deal with mistakes in real-world scenarios.
Der Erfolg von Softwareprojekten, wie etwa die Entwicklung mobiler Apps oder webbasierter Systeme, hängt maßgeblich mit guter Kommunikation und transparenten Prozessen zusammen. Damit ein Projekt Erfolg hat, müssen verschiedene Stakeholder regelmäßig und verständlich miteinander sprechen: Manager, Projektleiter, Entwickler und Designer sind kontinuierlich involviert. Eine maßgebliche Herausforderung stellt das Finden einer gemeinsamen Sprache, die für alle Parteien verständlich ist, dar.
In meinem Vortrag zeige ich anhand verschiedener Praxisbeispiele auf, wie Softwareprojekte mit agilen Methoden und erfolgreicher Kommunikation gelingen.
Agile Methoden und ihre Regeln haben viele Stolpersteine, über die man fallen kann. Oft scheitern sie am Verständnis, weil es schwer fällt zu verstehen, worauf manche Regeln eigentlich abzielen. Aber auch der Faktor Mensch kann ein Problem sein - nicht nur wegen des Gewohnheitstiers Mensch. Diese Session soll zeigen, welche Stolpersteine das sein können, und wie man sie aus dem Weg räumt.
Is Symfony 4 the framework that you want to use for your next project? 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. But there are many different types of projects and developers out there, and it is always good to get some insight in a technology before jumping into it. In this talk we will analyze the strengths and weaknesses of the framework, checking them against other alternatives, and learning the type of projects and developers that can benefit from it to a larger extent. We will also review the most important changes introduced in the last version of Symfony, understanding the motivations behind them, evaluating the current state of the framework in the web development environment, and trying to foresee the future of this technology.
Most developers feel productive when they are coding - the software needs to be finished and the deadline is approaching fast, isn't it? And all these meetings are only wasting our time! But we also want to create clean code and a good, maintainable architecture. Have you ever noticed, that a couple of weeks into coding you already know what you would like to change already? Because now you have more information and really understand the problem? Understanding the requirements and taking some time for planning can really save you weeks or even months of coding, even in an agile world. I want to show you how you can train this and why you need to understand the requirements in order to create a good architecture.
In this session you will learn how to automate environment creation using PHing, build scripts and Docker supported by Vagrant and Jenkins. Use same scripts to build local development environment, staging, testing and production. Automate testing, report generation and artifact preparation. Integrate CI with Bitbucket or GitHub.
Wenn in Retrospektiven nur langweilig herumgelabert wird, leiden alle darunter. Mit ein paar Kniffen und gezielter Vorbereitung kann die Grundlage für erfolgreiches Lernen im Team gelegt werden. Lernen ist in einem sich stetig verändernden Umfeld überlebenswichtig. Wie ist eine Retrospektive (sinnvoll) aufgebaut? Welche Methodenbausteine brauchen wir? Was passt zu welcher Teamphase? Wir beleuchten grundlegende Fragen und geben einen Überblick. Angereichert mit Berichten aus der Praxis zeigen wir auf, wie Lernen im Alltag gelingen kann. Damit Teams, Abteilungen und Unternehmen ihr Versprechen guter Zusammenarbeit erfolgreich einlösen können.
What if the user wants to phrase his intentions directly instead of having to take the detour via an app or website? Intelligent multimodal dialog systems seem to further reduce the gulf between human and machine. But when and how do chatbots work, when is voice appropriate and what characterizes multimodal interfaces? This talk explains the capabilities of Alexa and Co., considers their limitations, and also shows the user experience and design challenges.
Time is one of the most valuable resources in today’s society – and the internet is no exception for that. Users don’t like to wait for content, and they are gone faster than you might realise. On the other side a website should adapt to its visitors in every possible way which makes caching web pages one of the most important topics for developers these days. In my talk I will cover the issue of caching content for special target groups on a website and give a short overview of the basics about HTTP caching. I will also show how to implement a caching solution capable of handling different representations for different users with Symfony and its HTTP cache resp. Varnish.
NativeScript is a free and open-source runtime for building native apps using familiar tools—Angular, Vue.js, JavaScript/TypeScript, CSS, and npm. NativeScript renders truly native user interfaces—giving your users the best performance and UX their devices can offer. In this session you’ll learn what NativeScript is, how it works, and how to use the framework to build iOS and Android apps. The main focus will be on building apps with Angular or Vue.js and NativeScript.By the end of the session, you should be able to answer these questions: What is the added value of Angular for NativeScript? What is the added value of Vue.js for NativeScript? And what are the differences?
Code Reviews are a de facto standard for most teams. Either as a general four eyes principle, via pull requests or as a real team meeting. Each and every of these methods has their own pros and cons. Avoiding bugs is typically the main reason why code reviews are introduced, but how often do you really find serious bugs in your code reviews? This talk will give some insights into how to use code reviews as a method to establish a common understanding of code quality in your team. Using reviews tools is usually the second step in that process, after the developers have established a mindset for good quality.
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.
Which one is your favourite: React or Angular? Both React and Angular developers will get the same requirements for an application, a reactive application. Are you an Angular developer who wants to learn how to use React, or the other way around? Trust us, you can learn from each other, and that's exactly what you will do on this workshop. We will give you a buggy application that you'll have to fix before adding new features to it using either Angular or React. How fast will you go? Will you share your findings with other developers? You're welcome to test this during our workshop. We have built the same application with React and Angular. It uses RxJS and Axios for handling reactive mechanism. We invite to build such an app yourself with the help of our mentors. By the end of the workshop, you should be able to answer these questions: What is Functional Reactive Programming? How to use React and Axios? Why the new version of Angular leveraging RxJS? What are the main differences between Angular and React?
Webperformance ist und bleibt auch 2018 ein wichtiges Thema. Nicht nur dass Google schnelle Seiten im Ranking bevorzugt, auch freut sich sicherlich jeder Nutzer über eine performante Seite. Wer wartet schon gern auf das Laden von Schriften oder zu großen Bildern. Gelten die bekannten Optimierungen noch oder werden mittlerweile andere Kriterien bevorzugt? Wie werden Webfonts effizient geladen, was ist beim Laden von CSS, JavaScript und Bildern zu beachten, wie testet man Websiteperformance und automatisiert Monitoring? Welche Möglichkeiten bieten Service Workers und HTTP2 zur Performancesteigerung. Diese und weitere neue Tricks zur Frontend-Performanceoptimierung zeigt Sven Wolfermann in seinem Workshop: