Publications
Books and video courses
Praxiswissen TYPO3 CMS 10
Mit der richtigen Anleitung ist der Einsatz von TYPO3 nicht schwer zu lernen. Das beweist dieses Buch, das seit Jahren als Standardwerk für den TYPO3-Einstieg gilt. Praxiswissen TYPO3 CMS 10 LTS ist eine gut verständliche Einführung in das beliebte Content-Management-System, die sich auch an TYPO3-Einsteiger ohne ausgeprägte Programmierkenntnisse richtet. Es vermittelt das nötige Handwerkszeug, um responsive Websites mit TYPO3 erfolgreich einzurichten und zu optimieren. Für die 11. Auflage wurde der Bestseller aktualisiert, er deckt jetzt TYPO3 in der LTS-Version 10.4 ab.
Praxiswissen TYPO3 CMS 9
Mit der richtigen Anleitung ist der Einsatz von TYPO3 nicht schwer zu lernen. Das beweist dieses Buch, das seit Jahren als Standardwerk für den TYPO3-Einstieg gilt. Praxiswissen TYPO3 CMS 9 LTS ist eine gut verständliche Einführung in das beliebte Content-Management-System, die sich auch an TYPO3-Einsteiger ohne ausgeprägte Programmierkenntnisse richtet. Es vermittelt das nötige Handwerkszeug, um responsive Websites mit TYPO3 erfolgreich einzurichten und zu optimieren. Für die 10. Auflage wurde der Bestseller aktualisiert, er deckt jetzt TYPO3 in der LTS-Version 9.5 ab.
Go Application Development - Tips, Tricks, and Techniques
In this course, we will provide you with tips and tricks by giving you simple and easy to follow examples that will improve your day-to-day life as a Go application developer.
TYPO3 CMS für Redakteure
TYPO3 CMS hat Online-Redakteuren viel zu bieten – eine übersichtliche Oberfläche, intuitive Bedienbarkeit und jede Menge hilfreiche Editing-Features. Dieses Buch zeigt Redakteuren, wie sie ihren Content fürs Web aufbereiten und in die TYPO3-Struktur einbauen.
Develop and Operate Microservices on Kubernetes
This video course will take you through the key concepts required in using Kubernetes features to design, deploy, and manage microservices. By using practical examples, you will learn to design and build complex microservice-based architectures that run on Kubernetes.
Cloud Native programming with Golang
This book will take you on a journey into the world of microservices and cloud computing with the help of Go. It will start by covering the software architectural patterns of cloud applications, as well as practical concepts regarding how to scale, distribute, and deploy those applications. You will also learn how to build a JavaScript-based front-end for your application, using TypeScript and React. From there, we dive into commercial cloud offerings by covering AWS. Finally, we conclude our book by providing some overviews of other concepts and technologies that the reader can explore to move from where the book leaves off.
Praxiswissen TYPO3 CMS 8
Mit der richtigen Anleitung ist der Einsatz von TYPO3 nicht schwer zu lernen. Das beweist dieses Buch, das seit Jahren als Standardwerk für den TYPO3-Einstieg gilt. Praxiswissen TYPO3 CMS 8 LTS ist eine gut verständliche Einführung in das beliebte Content-Management-System, die sich auch an TYPO3-Einsteiger ohne ausgeprägte Programmierkenntnisse richtet. Es vermittelt das nötige Handwerkszeug, um responsive Websites mit TYPO3 erfolgreich einzurichten und zu optimieren. Für die 9. Auflage wurde der Bestseller aktualisiert, er deckt jetzt TYPO3 in der LTS-Version 8.7 ab.
PHP 7 Programming Blueprints
When it comes to modern web development, performance is everything. The latest version of PHP has been improvised and updated to make it easier to build for performance, improved engine execution, better memory usage, and a new and extended set of tools. If you’re a web developer, what’s not to love? This guide will show you how to make full use of PHP 7 with a range of practical projects that will not only teach you the principles, but also show you how to put them into practice. It will push and extend your skills, helping you to become a more confident and fluent PHP developer.
Praxiswissen TYPO3 CMS 7
Der große Erfolg der vorangegangenen sieben Auflagen beweist: Ein wirklich komplexes Content Management-System wie TYPO3 lässt sich auch für Programmier-Neulinge verständlich erklären. Zahlreiche Leserkommentare bestätigen, wie leicht mit diesem Buch der Einstieg in TYPO3 gelingt. Insbesondere wird gelobt, dass es sehr praxisnah ist und für ein Einsteigerbuch eine große Bandbreite an Themen behandelt. Praxiswissen TYPO3 vermittelt das komplette Handwerkszeug, um Websites mit TYPO3 erfolgreich einzurichten und zu optimieren.
Zukunftssichere TYPO3-Extensions mit Extbase & Fluid
TYPO3 CMS ist ein mächtiges Content-Management-System, das seine Beliebtheit nicht zuletzt seiner Erweiterbarkeit durch Extensions verdankt. Seit TYPO3 v4.3 bietet das CMS ein eigenes Framework und eine Template-Engine, mit der die Extension-Entwicklung noch geschmeidiger wird - und das bei hoher Qualität des Codes. Mit Extbase und Fluid stehen zwei Tools zur Verfügung, die Sie darin unterstützen, saubere, modular gekapselte und gut wartbare Extensions zu schreiben. Durch die moderne Extension-Architektur setzt die Nutzung von Extbase und Fluid anderes Fachwissen als bisher voraus. Dieses Buch macht Sie mit den Programmier-Paradigmen vertraut, die Sie brauchen, um effektiv mit Extbase und Fluid zu arbeiten.
Talks and Articles
Webentwicklung mit Rust
Bereits unseren Artikel zum Thema Rust in t3n Nr. 60 im Jahr 2020 leiteten wir mit der Feststellung ein, dass sich diese seit vier Jahren wacker an der Spitze der “am meisten geliebten” Programmiersprachen in der alljährlichen StackOverflow-Entwickler-Umfrage hält. Daran geändert hat sich seitdem lediglich, dass es mittlerweile sechs Jahre sind. Grund genug, sich noch einmal ein paar praktische Anwendungsfälle der Sprache genauer anzuschauen.
Event-Sourcing: Das steckt hinter dem Software-Kontenbuch
Wer Software nachträglich ohne großen Aufwand um zusätzliche Funktionen erweitern will, kann zu Microservices greifen. Oder sich am Architekturmuster von Event-Sourcing bedienen. So funktioniert das digitale Kontenbuch.
Rust: Ein Blick auf die C/C++-Alternative
In der alljährlichen Entwickler-Umfrage von StackOverflow wird Jahr für Jahr nach der “am meisten geliebten” Programmiersprache gefragt. Hier hält sich seit vier Jahren die (im Mainstream noch nicht so recht angekommene) Sprache Rust wacker an der Spitze – Grund genug, sich den aufsteigenden Stern am Programmiersprachen-Himmel einmal genauer anzuschauen. Dieser Artikel liefert eine Einführung in die Programmiersprache und stellt die grundlegenden Eigenschaften und Besonderheiten vor.
Microservices: Mit Tools wie Jaeger die Übersicht behalten
In komplexen Microservice-Architekturen verliert selbst der Senior-Entwickler schnell die Übersicht. Um nachvollziehen zu können, welchen Weg eine einzelne Nutzeranfrage eigentlich nimmt und welche Services darin involviert sind, haben sich Tools wie Jaeger etabliert. So funktioniert das Werkzeug für „Distributed Tracing“.
Kommunikation zwischen Browser & Server: Mit Publish/Subscribe mehr Komplexität abbilden
In der Web-Entwicklung folgt die Kommunikation zwischen zwei Teilnehmern – beispielsweise Browser und Server, oder Services untereinander – meistens dem Request/Response-Muster. Daneben gibt es jedoch noch andere Kommunikationsmuster, mit denen sich manche Probleme in der Softwareentwicklung effizienter lösen lassen. Eines davon ist das Publish-Subscribe-Muster (kurz “Pub/Sub”), welches in diesem Artikel näher vorgestellt werden soll.
Automatisierung mit Kubernetes Operators
In der Kubernetes-Sprache ist ein Operator ein Stück Software, das operatives Wissen (daher der Name) über Betrieb und Installation eines bestimmten Programms oder einer Systemkomponente seinerseits in Software abbildet und damit automatisieren kann. Lernen Sie, wie Sie einen solchen Operator mit Hilfe des Operator SDKs selbst in Go programmieren können.
Continuous Delivery mit Kubernetes
In der schnelllebigen Software-Industrie sind die Reaktionsfähigkeit auf neue Marktanforderungen und eine kurze Produkteinführungszeiten entscheidende Wettbewerbsfaktoren. Viele Entwicklungsteams führen daher DevOps-Praktiken wie etwa Continous Delivery ein und setzen aktuelle Technologien wie Kubernetes als unterstützende Werkzeuge. Dieser Artikel stellt vor, wie diese Prinzipien und Werkzeuge in der Praxis sinnvoll miteinander kombiniert und eingesetzt werden können.
Ready for Lift-Off: The future of TYPO3 from a provider's perspective
Flexible und mitwachsende Infrastrukturen, schnellebige Projekte in verteilten Teams, neue Technologien und Plattformen, strengere Datenschutz- und Security-Anforderungen – Die Zukunft hält nicht nur für Anwender, Entwickler und Agenturen Spannendes bereit, sondern auch für Infrastruktur-Provider. In diesem Talk wage ich einen Blick in die Glaskugel und phantasiere, worauf Provider im TYPO3-Umfeld sich in der Zukunft einstellen können (müssen) und wie sie die Arbeit mit dem CMS auch zukünftig effizient unterstützen und einfacher machen können.
PHP in der Container-Cloud
Container-Technologien wie Docker und Kubernetes haben in den letzten Jahren zunehmend an Beliebtheit gewonnen. In diesem Talk vermittle ich einen Überblick über die Systemarchitektur größerer Container-Cluster auf Grundlage von Kubernetes, und erläutere – aufbauend auf Erfahrungen und gelernten Lektionen – wie komplexe PHP-Applikationen auf großem Scale in solchen Infrastrukturen betrieben werden können.
Hosting TYPO3 in Container Cloud Architectures
Containervirtualisierung mit Docker ist aktuell eines der großen Hype-Themen der IT. Dieser Talk zeigt, wie bei Mittwald Containertechnologien wie Docker und Kubernetes zum Hosting von TYPO3-Projekten eingesetzt werden.
Webentwicklung mit Go: Der Schnelleinstieg in Googles Programmiersprache
Go ist schnell, einfach und vielfältig – auch für komplexere WebApplikationen und Anwendungen wie etwa die Containervirtualisierung Docker. Ein Schnelleinstieg in die Programmiersprache von Google.
PHP on Scale
PHP ist seit langem eine der beliebtesten Programmiersprachen des Webs, und wird sowohl für kleine Privatwebseiten als auch für große Projekte eingesetzt. Dieser Talk erklärt, worauf bei der Architektur größerer PHP-Anwendungen zu achten ist, damit Performance und Skalierbarkeit beherrschbar bleiben.
Container-Virtualisierung mit Docker
Container-Virtualisierungstechnologien wie Docker oder rkt haben in den letzten Jahren rasant an Beliebtheit gewonnen. Dieser Vortrag erklärt die Unterschiede zwischen Containervirtualisierung und „klassischer“ Virtualisierung und betrachtet die Einsatzmöglichkeiten von Docker-Containern bei der Entwicklung und Betrieb von Applikationen.
Neue Features, bessere Performance: Das kann der PHP 5-Nachfolger: PHP 7 ist da!
Nach langem Warten war es Anfang Dezember endlich so weit: Nach zwei Jahren Entwicklungszeit wurde die beliebte Programmiersprache PHP in Version 7 veröffentlicht. Was sich geändert hat, warum ihr auf jeden Fall updaten solltet und worauf dabei zu achten ist.
Server-Management leicht gemacht: IT-Automation mit Ansible
Mit dem Aufkommen der DevOps-Bewegung haben Configuration-Management-Systeme in den letzten Jahren rasant an Beliebtheit gewonnen. Das Tool Ansible hat sich dabei einen guten Ruf erworben, denn es stellt nur eine sehr niedrige Einstiegshürde für Entwickler und Administratoren. Dieser Artikel zeigt, wie der bequeme Start in die Welt der IT-Automation gelingt.
Bringing TYPO3 Legacy Applications into the Flow
With the release of TYPO3 Flow in 2011 and TYPO3 Neos in 2012, a both flexible and powerful platform was introduced as a possible successor for TYPO3 CMS. However, migration from TYPO3 CMS to TYPO3 Flow and Neos still presents a challenge due to large conceptual differences between the two systems.
Entspannte Architektur: RESTful Webservices mit TYPO3 Flow
Webservices gehören zu den wichtigsten Bestandteilen des WWW, denn sie ermöglichen die Kommunikation von Anwendungen untereinander. In den letzten Jahren hat sich der „Representational State Transfer“ als Standard-Architekturstil dafür etabliert. Dieser Artikel zeigt, wie sich standardkonforme REST-Webservices auf Grundlage von TYPO3 Flow entwickeln lassen.
Bringing TYPO3 Legacy Applications into the Flow
With the release of TYPO3 Flow in 2011 and TYPO3 Neos in 2012, a both flexible and powerful platform was introduced as a possible successor for TYPO3 CMS. However, migration from TYPO3 CMS to TYPO3 Flow and Neos is still presents a challenge due to large conceptual differences between the two systems.
Verteiles Konfigurationsmanagement mit Open Source-Komponenten
Moderne Open-Source-Konfigurationsmanagementsysteme wie CFEngine, Puppet oder Chef arbeiten als zentralisierte Systeme, in denen der Soll-Zustand eines IT-Systems in deklarativer Art beschrieben wird. Dieser Ansatz ist nur bedingt geeignet für Systeme mit extrem häufigen Konfigurationsänderungen, die zudem unter Einhaltung bestimmter Zeitbedingungen umgesetzt werden müssen. Dieser Artikel beschreibt eine mögliche Architektur für ein Softwaresystem, das als Teilkomponente eines komplexen Konfigurationsmanagementsystems genutzt werden kann. Insbesondere wird darauf eingegangen, wie aus frei verfügbaren Open-Source-Komponenten eine hochskalierbare Message-Broker-basierte Architektur aufgebaut werden kann, die in der Lage ist, beliebig programmierbare Konfigurationsänderungen mit sehr geringer Latenz auf einer großen Anzahl heterogen konfigurierter Hosts durchzuführen.
ElePHPants on speed: Running TYPO3 Flow on HipHop VM
The rise of increasingly complex PHP frameworks and applications in the past few years has also changed the requirements that are put on the performance of the PHP interpreter itself – a field in which PHP as an interpreted language has always had a conceptual disadvantage in comparison to compiled languages.
Web application development using Behaviour Driven Development
While Test-Driven Development (TDD) has already emerged as a widely accepted standard in agile software development over the past decade, the relatively young concept of Behaviour-Driven Development (BDD) tries to apply TDD principles to bridge the gap between developers and domain experts.
Scalable Deployment Architectures with TYPO3 Surf, Git and Jenkins
When developing and administrating large-scale distributed applications, deployment and change management becomes a new challenge. Modern version control systems like Git and Continuous Integration platforms like Jenkins or Hudson help automating this process, thus making it more efficient and less error-prone.