Backend

In diesen Episoden sprechen wir ĂŒber Backend Themen. Gerade mit Andy’s Dev-Ops und SRE Schwerpunkt und Wolfi’s Datenbanken Wissen sind Skalierung und Architektur im Backend ein stĂ€ndiges und beliebtes Thema.

Podcast

Backend im Engineering Kiosk Podcast

Details zur Podcast Episode #98 Der Hype um Rust mit Matthias Endler Software Engineering Interview Backend

#98 Der Hype um Rust mit Matthias Endler

Rust: Die System-Programmiersprache der nĂ€chsten 40 Jahre? Die Programmiersprache Rust erlebt aktuell einen Hype, wie kaum eine andere Programmiersprache bisher. Sehr viele Leute nennen Rust als die nĂ€chste Programmiersprache, die sie gerne lernen wollen. Projekte auf Github prahlen damit, dass diese mit Rust geschrieben wurden. Und jede zweite Case-Study einer großen Tech-Firma hat etwas mit Rust zu tun. Doch warum wird die Sprache so gehyped? Ist es nur Marketing oder steckt wirklich der Knaller der nĂ€chsten 40 Jahre dahinter? Und ist wirklich alles Gold was glĂ€nzt? Irgendwo muss es doch auch ein paar Pitfalls und Shortcomings geben. In dieser Episode sprechen wir mit Matthias Endler. Matthias ist seit Anfang an bei Rust dabei. Dabei geht es um: Welches Problem Rust löst, einen Deep Dive in die Konzepte, wie sich die Lernkurve von Rust verhĂ€lt, aber auch die RĂŒckwĂ€rtskompatibilitĂ€t...

Details zur Podcast Episode #91 Konsistent, VerfĂŒgbar, Ausfalltolerant oder Performant: Das CAP- und PACELC-Theorem in verteilten Systemen Backend Software Engineering Datenbanken Cloud

#91 Konsistent, VerfĂŒgbar, Ausfalltolerant oder Performant: Das CAP- und PACELC-Theorem in verteilten Systemen

Konsistent, VerfĂŒgbar und Ausfalltolerant: WĂ€hle zwei - Das CAP-Theorem Stellt euch vor, ein Handwerker könnte die Dienstleistung schnell, gĂŒnstig und in hoher QualitĂ€t leisten. WĂ€re dies nicht ein Traum? Leider sind alle drei Eigenschaften in der RealitĂ€t nicht möglich. Und genau so geht es uns mit dem CAP-Theorem in verteilten Systemen mit Datenhaltung. Speziell im aktuellen Zeitalter mit Cloud Computing, horizontaler Skalierung, weltweiter VerfĂŒgbarkeit spielt das CAP-Theorem eine essentielle Rolle. Wie soll sich dein System verhalten, wenn die Netzwerk-Verbindung zwischen deinen Compute-Knoten ausfĂ€llt? Muss die Datenhaltung konsistent bleiben? Oder sind Inkonsistenzen fĂŒr eine gewisse Zeit OK, dafĂŒr hat die VerfĂŒgbarkeit eine höhere PrioritĂ€t? Um diesen Konflikt geht es in dieser Episode. Bonus: Auf GCP kannst du deine Compute-Instanz auf maximal 12 TB SSD Disk (ohne...

Details zur Podcast Episode #84 Die Evolution von JavaScript: Vom Ducktyping zum Monopol im Browser mit Peter Kröner Backend Frontend Software Engineering Interview

#84 Die Evolution von JavaScript: Vom Ducktyping zum Monopol im Browser mit Peter Kröner

JavaScript: Eine multiparadigmatische Skriptsprache mit einem schwachen dynamischen Ducktyping-System. Um die Sprache JavaScript kommt man im Web nicht mehr vorbei. Die meisten kennen sie durch Frameworks wie React, Angular, Vue.js, Next und Co. Doch wie viel weißt du ĂŒber die HintergrĂŒnde und die Weiterentwicklung dieser Sprache? In dieser Episode geht es nicht um das nĂ€chste hippe JavaScript-Framework, sondern wir sprechen mit Peter Kröner darĂŒber, wie JavaScript erfunden wurde, was ECMAScript ist, wie TypeScript in den Mix spielt, warum die Sprache so beliebt ist, wie neue Features den Weg in die Sprache finden, was das TC39 ist, ĂŒber das Monopol im Browser, verschiedene JavaScript-Engines und viel mehr. Bonus: Wenn Hamburg im SĂŒden liegt. **** Diese Episode wird gesponsert vom Open-Source Förderprogramm Media Tech Lab: Bewirb dich jetzt und erhalte bis zu 50.000€ Fördersumme fĂŒr...

Details zur Podcast Episode #81 Copilot & AI im Dev-Test: ProduktivitÀts-Boost oder nur Hype? Backend Frontend Software Engineering ProduktivitÀt

#81 Copilot & AI im Dev-Test: ProduktivitÀts-Boost oder nur Hype?

Ist GitHub Copilot (und AI) wirklich dein fehlender Partner beim Pair-Programming? AI und speziell auf die Programmierung trainierte Modelle sind angetreten, um die Welt, wie wir programmieren, zu verĂ€ndern. Doch halten diese auch die Versprechen? GitHub Copilot ist der Platzhirsch im Markt. Viele Software-Entwickler*innen haben den Service bereits ausprobiert. Manche schwören darauf und wollen nicht mehr ohne. Manche sagen "Och, ganz nett", aber nutzen es nicht regelmĂ€ĂŸig und andere wiederum, "hatten noch nicht die Zeit rein zu schauen". Wolfgang ist einer der Early Adopter und nutzt GitHub Copilot tĂ€glich. In dieser Episode teilt er seine Erfahrungen und wir sprechen ĂŒber Themen wie GitHub Copilot effektiv genutzt werden kann, Training Bias, den möglichen ProduktivitĂ€ts Boost, Bugs die durch die AI generiert werden, die Auslagerung von langweiligen Arbeiten und warum die Nutzung von...

Details zur Podcast Episode #78 Microservice & Monolith: Was die Industrie in den letzten 9 Jahren gelernt hat DevOps Software Engineering Automation Frontend Backend

#78 Microservice & Monolith: Was die Industrie in den letzten 9 Jahren gelernt hat

Monolithen und Microservices: Ein Evergreen der Software-Industrie. Mitte der 2010er Jahre bekam das Thema der Microservices PopularitĂ€t. Doch was haben wir nach ca. 9 Jahren darĂŒber gelernt? Sind Microservices immer noch der heilige Gral oder war es eine tolle Reise und alle pendeln zurĂŒck zu Monolithen? Viele Firmen haben positive und negative Erfahrungen und Learnings mit Microservices gemacht. Doch war es fĂŒr alle der richtige Schritt? Nutzen die meisten Firmen die wahren Vorteile von Microservices wirklich aus? Und welches Problem löst der Microservice-Trend eigentlich? Ein technisches oder organisatorisches Problem? Welche Probleme gibt es in der Welt um Microservices, besonders in großen, schnell wachsenden Organisationen? Was sind typische GrĂŒnde warum Microservices scheitern? Und waren Cloud Native, Container-Scheduler wie Kubernetes und Co einfach nur weiteres Öl, was ins...

Details zur Podcast Episode #74 REST: Das oft falsch verstandene Architektur-Paradigma Software Engineering Backend

#74 REST: Das oft falsch verstandene Architektur-Paradigma

Das REST-API Architektur-Paradigma: Oft verwendet und oft nicht komplett umgesetzt. REST-APIs sind ĂŒberall im Internet. Jede statische Webseite ist sogar REST-Konform. Doch die meisten REST-Implementationen sind gar nicht vollstĂ€ndig, bzw. nur halbherzig umgesetzt. Die ursprĂŒngliche Idee von REST hatte viel mehr im GepĂ€ck. In dieser Episode gehen wir das Thema der REST-API an. Was ist REST? Wo ist der Unterschied zu Restful? Warum wird dieses Architektur-Paradigma oft falsch verstanden? Worum geht es bei den 6 Prinzipien (Client-Server-Architektur-Modell, (HTTP)-Caching, Mehrschichtige Systeme, Zustandslosigkeit, Einheitliche Schnittstelle und Code on Demand) eigentlich? Wie versioniert man eine API? Und welche Nachteile hat REST? All das und noch viel mehr in dieser Episode. Bonus: Was Napster, eDonkey und Korn mit Brause mit REST APIs zu tun haben. Das schnelle Feedback zur Episode:...

Details zur Podcast Episode #73 Cache-freundliches Programmieren, CPU-Caches, Ersetzungsstrategien und Cache-Invalidierung Software Engineering Backend

#73 Cache-freundliches Programmieren, CPU-Caches, Ersetzungsstrategien und Cache-Invalidierung

There are only two hard things in Computer Science: cache invalidation and naming things. Caches sind einfach ĂŒberall. Jede Aktion auf einem Computer nutzt eine Vielzahl an Caches. Sei es der Browser Cache, DNS-Cache, In-Memory Cache auf dem Server oder dein lokaler CPU Cache L1-L4. Doch was sind Caches eigentlich? Welche Cache-Layer und Cache-Hierarchien gibt es? Wie funktionieren Caches? Wie kann ich Cache-freundlich programmieren? Was passiert, wenn der Cache voll ist und was sind Eviction-Policies? Wie relevant sind heutzutage eigentlich die CPU-Caches L1 bis L4 fĂŒr die normalen Software-Entwickler*innen? Wie kann ich verifizieren, ob mein Code Cache-freundlich ist? Und warum ist Cache Invalidation eigentlich ein hartes Problem? Bonus: Was Bandlaufwerke mit Caching und niederlĂ€ndisches HĂ€hnchen mit Queues zu tun haben. Das schnelle Feedback zur Episode: 👍 (top) 👎 (geht so)

Details zur Podcast Episode #71 Tim Berners-Lee: Was ist das World Wide Web und was ist seine Zukunft? Tech Kultur Software Engineering Backend Cloud Turing Award

#71 Tim Berners-Lee: Was ist das World Wide Web und was ist seine Zukunft?

"Open Data now" - Dazu ruft der Turing Award Gewinner Sir Tim Berners-Lee in seinem Kampf um offene Daten auf. Das macht er heute. Doch bekannt ist er als Erfinder des World Wide Webs. WofĂŒr er 2016 auch den Turing Award verliehen bekommen hat. Doch wer ist eigentlich Sir Tim Berners-Lee genau? Wie kam es dazu, dass er das “heutige Internet” erfunden hat? Welches Problem wollte er damals lösen? Wie weit ist die heutige Implementierung und Nutzung des WWW von der ursprĂŒnglichen Idee entfernt? Welche architekturelle Änderungen wĂŒrde Sir Tim Berners-Lee machen, wenn er das ganze nochmal neu machen wĂŒrde? Und womit verbringt er heute seine Zeit? All das und noch viel mehr klĂ€ren wir in der ersten Episoden zu den Turing Award Gewinnern. Bonus: Das Internet war ein Side Project geschrieben in Objective-C und ob wir fĂŒr Social Media zahlen sollten. Das schnelle Feedback zur Episode: 👍 (top) ...

Details zur Podcast Episode #69 MySQL vs. MariaDB Backend Software Engineering Datenbanken

#69 MySQL vs. MariaDB

Wie viel MySQL Drop In-Replacement steckt wirklich in MariaDB? MariaDB, ein Fork der populĂ€ren Datenbank MySQL. Angetreten, um ein Drop-In-Replacement und eine direkte Alternative zu MySQL darzustellen. Doch wie viel ist da dran? Ist MariaDB MySQL kompatibel? Wo liegen die Gemeinsamkeiten und Unterschiede? Was war eigentlich der Grund fĂŒr den Fork? In welchen Bereichen entwickeln sich beide Datenbanken vollkommen anders? Und was hat sich im Bereich der Storage-Engines alles so getan? In dieser Episode bringen wir etwas Licht in den direkten Vergleich zwischen MySQL und MariaDB. Bonus: Was ein Weber-Grill mit MySQL und MariaDB zu tun hat. Das schnelle Feedback zur Episode: 👍 (top) 👎 (geht so)

Details zur Podcast Episode #65 Clean Code macht Software langsam Backend Frontend Software Engineering Software QualitÀt ProduktivitÀt

#65 Clean Code macht Software langsam

Zerstört die Anwendung von Clean Code die Performance deiner Applikation? Es war einmal Casey Muratori, ein Softwareentwickler mit Fokus auf Game-Engines, der sich ins Internet gestellt hat und sagte "Clean Code resultiert in schrecklicher Performance". Das YouTube-Video ging um die Welt, die YouTube-Kommentare wurden deaktiviert und Hackernews ging bis an die Decke. Auch der Kopf hinter "Clean Code", Uncle Bob, hat dies nicht auf sich sitzen lassen und ging in die Diskussion. Diese Episode handelt genau um das genannte Video. Wir besprechen, was die Key-Message des Videos ist, wer der Autor ist, was Clean Code ist und von wem es stammt und um was sich die Diskussion zwischen Casey Muratori und Uncle Bob dreht. Eine Art "Reaction-Podcast", sozusagen.  Bonus: Was der heilige Gral der Teamentwicklung ist. Das schnelle Feedback zur Episode: 👍 (top) 👎 (geht so)

Details zur Podcast Episode #64 Infrastruktur-Bingo: Forward-, Reverse-, SOCKS-Proxy, Load Balancing und gibt es einen Unterschied zwischen Load-Balancer und Reverse-Proxy? Backend DevOps Software Engineering Sicherheit Cloud

#64 Infrastruktur-Bingo: Forward-, Reverse-, SOCKS-Proxy, Load Balancing und gibt es einen Unterschied zwischen Load-Balancer und Reverse-Proxy?

Forward-Proxy, Reverse-Proxy, Bastion-Host, Load Balancer, SOCKS5-Proxy, Edge-Router, Zero-Trust, Geo-Balancing, ... Haltet eure Buzzword-Bingo-Karten bereit. In dieser Episode beschĂ€ftigen wir uns mit der Frage "Was ist eigentlich der Unterschied zwischen einem Loadbalancer und einem Reverse Proxy?". Klingt einfach zu beantworten, ist es aber nicht. Zwei (oder sogar mehr) Welten treffen da aufeinander. Um der Antwort nĂ€her zu kommen, steigen wir Tief in das Thema ein und klĂ€ren was eigentlich ein normaler Proxy ist, wo der Unterschied zu einem Reverse Proxy ist, was ein SOCKS5-Proxy kann, wozu Proxies heutzutage eingesetzt werden, was ein Bastion Host ist, wozu Edge Nodes gut sind, was Ihr fĂŒr Tools einsetzen könnt und klĂ€ren am Ende auch die Frage, was denn nun eigentlich der Unterschied zu einem Load Balancer ist. Bonus: Ob Wein durch SchlĂ€uche schmeckt und was das DĂŒsseldorfer...

Details zur Podcast Episode #63 Spaß mit Zahlen: Under- und Overflows, RĂŒckwĂ€rtslaufende Zeit, Negative Modulos und WĂ€hrungsbetrĂ€ge Software Engineering Backend Datenbanken

#63 Spaß mit Zahlen: Under- und Overflows, RĂŒckwĂ€rtslaufende Zeit, Negative Modulos und WĂ€hrungsbetrĂ€ge

Herausforderungen mit Zahlen in der Programmierung: Hidden bugs, Effekte auf die RealitĂ€t und der richtige Umgang. Der korrekte Umgang mit Zahlen in der Softwareentwicklung ist so wichtig wie die Reifen bei einem Auto, um es zu fahren. Obwohl viele Entwickler sagen, Mathematik ist ein tĂ€glicher Bestandteil des Tages, so kommt man um die Verarbeitung von Zahlen nicht drum herum. Doch wie schon frĂŒher in der Schule, kann der Umgang mit Zahlen sehr Herausfordernd sein. In dieser Episode sprechen wir ĂŒber klassische Fehler, die beim Umgang mit Zahlen in Software gemacht werden, ĂŒber skurriles Verhalten von Programmiersprachen aber auch ĂŒber die Effekte dessen auf die reale Welt. Es geht um Datentypen in Programmiersprachen und deren Wertebereiche, Probleme mit großen Zahlen und JSON, WĂ€hrungsumrechnung und die korrekte Speicherung, Integer-Under- und Overflow, negative Modulo-Berechnungen,...

Details zur Podcast Episode #60 On-Call: Warum auch Software-Engineers auf Rufbereitschaft sein sollten Team Backend DevOps

#60 On-Call: Warum auch Software-Engineers auf Rufbereitschaft sein sollten

On-Call bzw. Rufbereitschaft: Eine ewige Hass-Liebe? Software-Engineers entwickeln die Applikationen. Doch wer maintained diese und bringt diese wieder zurĂŒck ins Leben, wenn die Applikationen mal abstĂŒrzen? Im klassischen Sinne sind das System-Administratoren. Und fĂŒr die meisten in diesem Beruf gehört On-Call dazu. Doch ist dies auch im modernen Dev-Ops-Umfeld und in Voll-Autonomen Teams der Fall? Welche Herausforderungen gibt es beim On-Call? Sollten Software-Engineers genauso auf Rufbereitschaft sein? Wie sieht ein strukturierter On-Call-Prozess aus? Und was muss getan werden, um einen solchen zu etablieren? Und welche Modelle zur Bezahlung bzw. Kompensation gibt es, wenn man auch nach der Arbeit fĂŒr seine App gerade steht? All das und noch viel mehr gibt es in dieser Episode. Bonus: Was Pager mit Tamagotchi zu tun haben und ob On-Call zu einer Handy-Phobie fĂŒhrt. Schaut vorbei in...

Details zur Podcast Episode #56 Applikations-Skalierung: Wann, wieso, was kostet es? Stateless und Stateful, Horizontal vs. Vertikal Backend DevOps Cloud

#56 Applikations-Skalierung: Wann, wieso, was kostet es? Stateless und Stateful, Horizontal vs. Vertikal

Die App muss skalieren. Das kann doch nicht so schwer sein, oder? Sekundenschnelles und automatisches Hochskalieren bei einem erhöhten Traffic-Aufkommen. So oder so Ă€hnlich versprechen es die Cloud-Hyperscaler in ihren Marketing-Texten. Das erweckt oft den Anschein, dass das Ganze gar nicht so schwer sein kann. Doch ist dies auch in der RealitĂ€t so? Eine Applikation skalierbar zu gestalten, ist bei weitem nicht einfach. Stichworte wie Ausfallsicherheit, vertikale- oder horizontale Skalierung, Stateless- oder Stateful-Applications, Loadbalancer und Auto-Discovery, Kubernetes und zusĂ€tzliche Code-KomplexitĂ€t, finanzieller Impact, Load-Tests, Request-Deadlines, Chaos Monkey und Down-Scaling. Alles Begriffe, die damit in Verbindung stehen und einen wichtigen Bestandteil ausmachen. In dieser Episode geben wir einen Überblick ĂŒber das Thema Application-Skalierung: Was ist das? Wer braucht es?...

Details zur Podcast Episode #52 Asynchrone Verarbeitung durch Message Queues - Vor- und Nachteile Backend Software Engineering Open Source

#52 Asynchrone Verarbeitung durch Message Queues - Vor- und Nachteile

Asynchrone Verarbeitung durch Message Queues: Was ist das und wofĂŒr ist das gut? In vielen Applikationen gibt es Bereiche, die einfach etwas Zeit fĂŒr die Verarbeitung brauchen, aber das klassische Anfrage/Antwort (Request/Response) Verhalten nicht blockieren sollen. Oft werden dafĂŒr asynchrone Prozesse verwendet. Durch den Einsatz von Message Queues ergeben sich weitere Vorteile wie u.a. granulare Skalierbarkeit und UnabhĂ€ngigkeit von einzelnen Programmiersprachen. RabbitMQ ist einer der Platzhirsche im Bereich Open-Source-Message-Broker. In dieser Episode klĂ€ren wir wofĂŒr Message Queues gut sind, bei welchen klassischen AnwendungsfĂ€llen diese helfen können, welche Herausforderungen diese Darstellen, wo der Unterschied zu Pub/Sub oder Streams ist und was Redis, Kafka und ZeroMQ damit zu tun hat. Bonus: Warum Software rostet.

Details zur Podcast Episode #49 Die Zukunft: Software Repository Mining Backend Software Engineering Datenbanken ProduktivitÀt

#49 Die Zukunft: Software Repository Mining

Die Analyse von Metadaten aus dem Software-Entwicklungsprozess: Yey or Ney? Die wenigsten kennen den Begriff des Software Repository Minings, doch die meisten benutzen Features, die darauf zurĂŒckzufĂŒhren sind. Zum Beispiel der automatische Vorschlag von den richtigen Pull Request Reviewern. Es geht darum, auf Basis der Daten aus dem Softwareentwicklungsprozess neue Erkenntnisse zu gewinnen, um diesen einfacher und produktiver zu gestalten. In dieser Episode klĂ€ren wir, woher die Daten kommen, wie man an diese gelangt, welche AnwendungsfĂ€lle es gibt, was die Herausforderungen dabei sind und wie ihr damit starten könnt. Bonus: Ob Andy bereits 50 Jahre alt ist und warum gute Architektur auch als Selbstschutz dient.

Details zur Podcast Episode #48 Der Layer unter Docker: containerd, Kubernetes, Container Runtime Interface, CRI-O und Open Container Initiative (OCI) Backend DevOps Open Source Cloud

#48 Der Layer unter Docker: containerd, Kubernetes, Container Runtime Interface, CRI-O und Open Container Initiative (OCI)

Wie sieht eigentlich der Layer unter Docker aus? Und wie interagiert Kubernetes mit Containern? In Episode 46 haben wir geklĂ€rt, welches Problem Docker eigentlich löst. Das Container-Ecosystem ist jedoch weit grĂ¶ĂŸer. Deswegen widmet sich diese Folge der darunter liegenden Ebene. Wir besprechen die Modularisierung von Docker, die herausgetrennte Highlevel Runtime containerd, wie Kubernetes mit Docker-Containern umgeht, ob Docker Container die einzige Art von Containern ist, die Kubernetes unterstĂŒtzt, was ein Container Runtime Interface (CRI) ist, was die Open Container Initiative (OCI) und ob auch du dir deine eigene Highlevel Container Runtime programmieren kannst. Bonus: Was die Linux-Mafia ist und wieso es bald eine österreichische Container Runtime gibt.

Details zur Podcast Episode #46 Welches Problem löst Docker? Backend DevOps Open Source

#46 Welches Problem löst Docker?

Docker und Container: Buzzwords der letzten Dekade - Doch was ist Docker wirklich? In dieser Episode versuchen wir genau diese Frage zu beantworten. Jeder redet davon, und wie in jedem Hype werden Wörter und Begriffe oft in einem falschen Kontext genutzt und das Ecosystem entwickelt sich unglaublich schnell. Deswegen ist es doch ganz gut, wenn man ein wenig hinter die Kulissen schaut: Warum wurde Docker erschaffen und welches ursprĂŒngliche Problem sollte es lösen? Was ist das besondere an Docker, wenn es "diese Linux Container" bereits seit > 20 Jahren gibt? Was ist eigentlich ein Container im Kontext von Software und was hat "Change Root" (chroot) damit zu tun? Und welche Nachteile hat Docker? Kurz um: 55 Minuten um das “Warum” hinter Docker. Bonus: Warum Duisburg eine essentielle Rolle im Container-Ecosystem spielt, was Kaffe mit Software deployen zu tun hat und wie man das EndstĂŒck...

Details zur Podcast Episode #43 Cloud vs. On-Premise: Die Entscheidungshilfe Backend DevOps Cloud

#43 Cloud vs. On-Premise: Die Entscheidungshilfe

Wann ist die Cloud das richtige fĂŒr dich und deine Applikation? Oder doch lieber alles selbst hosten? Die Cloud wird oft als "die Lösung" fĂŒr all deine Probleme beschrieben. Sie ist gĂŒnstig, man benötigt weniger Personen fĂŒr den operativen Betrieb, alle Services sind gemanagt und serverless und alle anderen Probleme hat man sowieso nur On-Premise. Sind damit On-Premise Datacenter und Selfhosting ausgestorben und sollten gemieden werden? Oder gibt es sogar Szenarien, wo On-Premise sogar große Vorteile hat? In dieser Episode geht es um diese Frage: Wann ist die Cloud und wann On-Premise / die eigenen Server fĂŒr dich die bessere Wahl? Wir diskutieren ĂŒber diese Frage anhand eines Blogposts ĂŒber eine Migration aus der Cloud von 37Signal's Produkt "Hey.com". Bonus: Was der Produktlebenszyklus vom VW Golf mit der Cloud zu tun hat und warum ein Raid 1 kein Backup ist.

Details zur Podcast Episode #42 Lexer, Parser und Open Source in Counterstrike Backend Software Engineering Open Source

#42 Lexer, Parser und Open Source in Counterstrike

Was haben Lexer, Parser und Counter-Strike gemeinsam? Richtig! Eine schöne Open Source Story. Computerspiele sind fĂŒr viele Software-Entwicklerinnen und -Entwickler der Einstieg. Andere wiederum steigen ĂŒber den klassischen Bildungsweg eines Informatik-Studiums in die Softwareentwicklung ein. Dabei wird oft viel Theorie wie Lexer, Parser und Compilerbau durchgenommen. Doch was haben Computerspiele mit Lexer und Parser gemeinsam? Andy erzĂ€hlt eine Story, wie er vor Jahren sich mit Lexer und Parser anhand einer Counter-Strike-Konfigurationsdatei vertraut gemacht hat. Eigentlich nur, um eine datengetriebene Spielanalyse zu betreiben. Raus kam ein Lexer und Parser fĂŒr das Valve Data Format (VDF). Eine Geschichte voller Over-Engineering, Open Source, Spaß und einem Job-Angebot. Bonus: Wie Wolfgang nur ans cheaten denkt, was autoexec mit Maustreibern zu tun hat und was Landmaschinen auf...

Details zur Podcast Episode #41 SQL Injections - Ein unterschÀtztes Risiko Backend Datenbanken Sicherheit Software Engineering

#41 SQL Injections - Ein unterschÀtztes Risiko

SQL Injections: Eine der weitverbreitetsten SicherheitslĂŒcken im Web, auch im Jahr 2022 Der Großteil aller Applikationen interagiert in irgendeiner Art und Weise mit einer Datenbank. Deswegen werden die meisten Entwicklerinnen und Entwickler bereits von der SicherheitslĂŒcke "SQL Injection" gehört haben. Seit 24 Jahren ist dies eine der weitverbreitetsten SicherheitslĂŒcken im Internet und es ist kein Ende in Sicht. Was ist eigentlich eine SQL-Injection im Detail? Welche verschiedenen Arten gibt es? Was ist der Grund, dass uns dieses Einfallstor so lange beschĂ€ftigt? Woher kommt diese und wer hat sie entdeckt? Wie kann man sich schĂŒtzen und seine Anwendung ausreichend testen? All das und noch viel mehr in dieser Episode. Bonus: Der Kontrast zwischen Duisburg und Berlin und wie die SQL-Injektion als Nebenprodukt entdeckt wurde.

Details zur Podcast Episode #38 Monitoring, Metriken, Tracing, Alerting, Observability Backend DevOps Software Engineering Cloud

#38 Monitoring, Metriken, Tracing, Alerting, Observability

Wie wĂŒrde heutzutage ein moderner Logging, Metriken, Monitoring, Alerting und Tracing-Stack aussehen? Im Infrastruktur-Bereich gibt es zu jedem Bereich etliche Tools. Cloud-Native ist das Buzzword der Stunde. In dieser Episode erzĂ€hlt Andy, wie er einen modernen Stack fĂŒr ein Side-Projekt fĂŒr die Bereiche Logging, Metriken, Monitoring, Alerting und Tracing aufsetzen wĂŒrde. Unter anderem geht es dabei um Fragen wie: Was sollte man eigentlich alles loggen? Wie kann man von einem Alert angerufen werden? Wie visualisiert man Daten in schönen Graphen? Brauchen wir Tracing? Und was ist Observability? Bonus: Engineering Porn und Buzzword-Bingo.

Details zur Podcast Episode #34 Wie cloudy bist du? Backend DevOps Cloud

#34 Wie cloudy bist du?

Die Cloud Native Infrastruktur vs. ein dicker Server - Ein Dauerstreit-Thema AWS, GCP, Azure und Co bieten viele Cloud Native Services, die dir dein Leben vereinfachen sollen. Serverless, weniger Admins und alles super gĂŒnstig. Das sind die Versprechen. Doch ist das wirklich so? WĂ€re ein leistungsstarker Server nicht besser, gĂŒnstiger, einfacher und ausreichend? Und wie steht das nicht im Konflikt mit einer modernen Microservice-Architektur? All diese Fragen stellen Wolfgang und Andy in dieser Episode, wo sie einen Artikel "Use One Big Server" besprechen. Bonus: Was eine Klatsche auf Reddit, Vendor-Lock-in und CV-Driven-Development mit Servern zu tun hat.

Details zur Podcast Episode #31 Ich automatisiere mir die Welt wie sie mir gefÀllt (mit GitHub Actions) Backend DevOps Software Engineering Software QualitÀt

#31 Ich automatisiere mir die Welt wie sie mir gefÀllt (mit GitHub Actions)

Schuftest du noch oder automatisierst du schon? Heute gehts um die Faulheit von Entwicklern: Wir sprechen ĂŒber GitHub Actions - Was es ist, wozu man es benutzen kann, wie es das eigene Leben erleichtern kann, wo der Unterschied zu Jenkins ist, wie das Engineering Kiosk es selbst einsetzt und welche Use-Cases von der Community oft genutzt werden. Bonus: Warum LinkedIn einen HTTP Status Code 999 sendet, wann wir Programmiersprachen wie Unterhosen wechseln und was Michael "Bully" Herbig mit der ganzen Sache zu tun hat.

Details zur Podcast Episode #28 O(1), O(log n), O(n^2) - Ist die KomplexitÀt von Algorithmen im Entwickler-Alltag relevant? Software Engineering Frontend Backend

#28 O(1), O(log n), O(n^2) - Ist die KomplexitÀt von Algorithmen im Entwickler-Alltag relevant?

Beim Programmieren ist alles ein Algorithmus. Irgendwie zumindest. Doch wie misst man die ZeitkomplexitĂ€t? Das ganze nennt sich Big-O-Notation, oder zu deutsch "Bachmann-Landau-Notation". Eigentlich ein recht trockenes Thema, doch auch irgendwie relevant in der heutigen Zeit von verteilten Systemen und großen Datenmengen. Doch was ist die Big-O-Notation? Was sagt sie aus? Wo kommt diese in der Praxis vor? Und inwieweit hat das ganze noch eine Relevanz in Zeiten von Cloud Computing und fast unbegrenzten Hardware-Ressourcen? Darum geht es in dieser Episode. Bonus: Wie Andy und Wolfgang in deutscher Grammatik belehrt werden, ob es OK ist in 1on1s zu fluchen und das Hash-Kollisionen mit der ganzen Sache zu tun haben.

Details zur Podcast Episode #27 Sicherheit in der Dependency Hölle DevOps Software Engineering Frontend Backend Sicherheit

#27 Sicherheit in der Dependency Hölle

Was haben die JavaScript Pakete left-pad, color, faker und cross-env gemeinsam? Alle waren in npm Package Sicherheits-Incidents involviert. Wenn man sich die Anzahl von Javascript AbhĂ€ngigkeiten bei Mittelgroßen Projekten ansieht, ist eine dreistellige Anzahl an JavaScript Paketen nicht unĂŒblich. Das liegt primĂ€r an der ĂŒberschaubaren GrĂ¶ĂŸe der Pakete und somit der FunktionalitĂ€t. Alles nur, um Pakete verwaltbarer zu halten. Doch dieser Umstand macht das JavaScript-Ecosystem so attraktiv fĂŒr Angreifer oder kann zu extremen Seiteneffekten fĂŒhren. In dieser Episode sprechen wir drei npm Package Incidents durch, was es damit aufsich hatte, welche Attack-Möglichkeiten es noch gibt und wie man sich als Software Entwickler dagegen schĂŒtzen kann. Bonus: Was Bademeister, Blubberwasser und eine ASCII-ReprĂ€sentation von Uncle Sam und der amerikanischen Flagge mit JavaScript zu tun haben.

Details zur Podcast Episode #24 Infrastructure as Code oder old man yells at cloud Automation Backend DevOps Cloud

#24 Infrastructure as Code oder old man yells at cloud

Old man yells at cloud - Oder: Wie managed man seine Infrastruktur mit Stil (und Software) Anders als gewohnt nimmt in dieser Episode Andy die Dozenten-Rolle ein und beantwortet Wolfgang all seine Fragen zum Thema Infrastructure as Code. Wir klĂ€ren wozu man das ganze eigentlich braucht, was Terraform und Pulumi ist, klĂ€ren ĂŒber einen weit verbreiteten Mythos auf, wo der Unterschied zwischen Infrastructure Orchestration und Configuration Management ist, was das beste Configuration Management Tool ist und wo es Herausforderungen bei der Verwendung von Infrastructure as Code gibt. Bonus: Was ein Data Engineer ist, ob Wolfgang Holz-Clogs trĂ€gt und wie Deutschland mit dem 9€ Ticket umgeht.

Details zur Podcast Episode #16 Code Reviews: NĂŒtzlich oder bremsen nur ein gutes Team? Team Software QualitĂ€t Frontend Backend Software Engineering

#16 Code Reviews: NĂŒtzlich oder bremsen nur ein gutes Team?

Code Reviews: Jeder will schnelles Feedback, doch niemand hat Zeit dafĂŒr - Eine Hassliebe. Eine Komponente im Alltag jedes Software Engineers. Egal ob Junior, Senior oder Staff-Engineer. Jeder erstellt Code Reviews und kommentiert die Arbeit von den Kollegen. Doch wie sehen gute Code Reviews aus? Was gehört hinein, was bleibt besser draußen? Wie viel Reviewer machen Sinn? Wie geht man mit Nitpicking-Kommentaren und Gatekeepern um? Und allgemein: Zieht dieser zusĂ€tzliche Schritt nicht die Performance des Teams runter und ist sowieso Overhead? All das und noch viel mehr in dieser Episode zum Thema Code Reviews. Bonus: Was Faultiere und Markus Söder mit Code Reviews zu tun haben und warum Blubberwasser den Charakter verdirbt.

Details zur Podcast Episode #03 Over-Engineering, das Werkzeug des Teufels? Software Engineering Frontend Backend

#03 Over-Engineering, das Werkzeug des Teufels?

Was ist eigentlich Over-Engineering? Und wann ist es einfach nur gutes Engineering? Ist das eigentlich immer nur negativ? Oder auch mal positiv? Gibt es auch Under-Engineering? In dieser Episode philosophieren Andy und Wolfgang darĂŒber, wann der Drang nach dem perfekten Source-Code Overenegineering ist und warum es in der akademischen Welt nur dreckig programmiert wird. Bonus: Warum Wolfgang seine Kletterschuhe nach Tschechien sendet

Details zur Podcast Episode #02 Technologienzoo Side Projects Side Projects Frontend Backend

#02 Technologienzoo Side Projects

Wolfgang und Andy erzĂ€hlen ein wenig was ĂŒber ihre eigenen Side Projects sourcectl (https://gettoknow.sourcectl.dev/), F-Online (https://www.f-online.at/) und the athlete (https://theathlete.app/). Wir machen eine Rundfahrt durch den verwendeten Technologienzoo, diskutieren ob man Monitoring in Side Projects benötigt, wann es Over-Engineering und wann gerechtfertigt ist, ob der heutige Einsatz von Zend Framework 1 schon als kriminell gewertet werden kann und hören Wolfgang zu, wie er DevOps AnfĂ€ngerfehler begeht indem ihm die Festplatte voll logs lĂ€uft. Bonus: Wie Wolfgang den ultimativen Reichtum mit seinem eigenen CMS zur dotcom Blase verpasst hat