Schlagwort: Scala

  • Folge 78: To Monorepo or not to Monorepo

    Das war mal wieder ne Folge! Wir waren wirklich nicht gut drauf. Wirklich nicht. So richtig auf ein Thema festlegen konnten wir uns nicht. Aber komm wir fangen einfach mal an und schauen mal was passiert. Was kann schon schiefgehen. Einen groben Fahrplan gabs. Aber nur um den sofort wieder einzureißen. Unsere MathCore Folge.

    Aber worum geht es heuer?
    Holger erzählt noch ein paar brühwarme Anekdoten von seinem Vortrag beim Tech and Talk in Solingen.

    Und dann geht die wilder Fahrt los! Die Luzie geht ab! Bene erzählt erst von dem heißesten Scheiß in der Scala Welt. Dotty! Scala lebt!

    Davon inspiriert wandern wir in Richtung JavaScript und eruieren dort die Lage der typenstarken Sprachen. Typen! Auf Typen stehen wir! PureScript! Der Olli Kahn der Software Entwicklung.

    Irgendwie landen wir dann bei Microfrontends um dann irgendwie – der Autor dieser Zeilen kann es kaum nachvollziehen – bei der Diskussion Monorepo vs. Multirepo zu landen.

    Ob da was bei rauskommt.

    Erst ganz am Ende kann der Holger noch den Heise Kommentar der Woche loswerden. er kommt ja nie zu Wort.

    Puh! War das ne Folge! Wir verraten auch nicht, was die eigentliche Folgenidee war! Hint: Es kam nicht mal im Ansatz in der Folge vor. 🙂

    Viel Spaß und bis zum nächsten Mal!

    Links

    • Ein paar Beispiel für Doom Metal haben wir hier. Es ist langsam, es ist hart und es ist traurig.
    • Sun O))) ist auch irgendwie Doom. Aber mit sehr viel Feedback Brummen. (… also eher Drone… natürlich)
    • Holger hat nen Talk gehalten. Bene wird nicht müde das zu erwähnen. Und zwar beim Tech and Talk in Solingen.
    • Der Bene war auch mal wieder unterwegs in Meetup-Hausen. Und zwar bei der Scala User Group Düsseldorf.
    • Was geht denn im Frontendland so stark typisiert? Z.B. Mit PureScript, Elm, ReasonML ….
    • ReasonML ist so OCaml-mäßig. Ein Spruch den man auf jeder Party bringen kann.
    • Sind Monorepos jetzt gut oder schlecht. Was denkt ihr?
    • Die 12 Factor App. Wollten wir auch mal ne Folge drüber machen.
    • Microfrontends wollen den Microservice Gedanken auch ins Frontend bringen.
    • Der Heise Kommentar der Woche

    Bier

    Heute gibt es ein Bier aus Schwaben. Was salziges! Was karamelliges. Das Salz Kam’mer Gut. Wortspiel ahead.
    Wir waren skeptisch! Sehr skeptisch! Was ist denn das für ein Bierstil? Dann sind wir in den Analysemodus gegangen.
    Irgendwie farbig zwischen Pils und Alt.
    Dann roch das schonmal richtig lecker. Und dann schmeckt es sehr besonders. Ganz viel Karamell. Sehr rund! Sehr lecker! Vielen Dank!
    So lange haben wir noch kein Bier beschrieben.

  • Folge 54: Die For-Schleife… kann die nicht weg?

     

    Die Vergangenheit hat uns fast wieder eingeholt. Wir sind fast im Hier und Jetzt angekommen. Mark Forster könnte dazu sicherlich einen Ikea-Sinnspruch an die Wand winseln… Aber: Wir schweifen ab! Wieder einmal!

    Bevor es im Jahr 2019 frisches und brandneues Material gibt, folgt hier nochmal eine von uns fleißigst vorproduzierte Folge. Mensch, was waren wir fleißig!

    So kurz vorm Jahreswechsel wird es bei uns noch einen Hauch technischer und irgendwie auch profaner aber vielleicht auch abgefahrener. Wie immer also! 🙂

    Wir reden über die gute alte For-Schleife! Holger hält ein Plädoyer, warum die For-Schleife keine Kunst ist, sondern weg kann. Bene setzt zur wütenden Gegenrede an, holt dann aber doch schonmal den Mülleimer.

    Nein, so ganz wollen wir uns da wie gewohnt nicht festlegen, aber wer uns kennt, der weiß, dass wir dem Funktionalen entlehnte Konzepte schon ganz dufte finden. Was waren nochmal gleich funktionale Parser?

    Es wird also wieder ein Rundumschlag autoweirdscher Güte. 🙂

    Dann wünschen wir euch an dieser Stelle einen guten Rutsch! Vielen Dank für die Treue auch in diesem Jahr! Wir hören uns 2019 wieder! Schöööö

    Bene und Holger

    P.S.: Wir können festhalten:

    • Gladbach ist nicht Herbstmeister.
    • Horst Seehofer ist immer noch ein Ding, er lässt sich aber weniger blicken.

    Links

    • Bene der Tausendsassa hat(te) Urlaub und schraubt mit am Testcontainers-Projekt rum.
    • Dann schlägt er noch eine neue API für JUnit 5 Extension Autoren vor. Das ist einer!
    • Holger hatte mal wieder Bilder im Kopf.
    • Filter und Map in JavaScript. Und FlatMap hat man doch (und smoosh!).
    • 30 seconds of code zeigt Implementierungen für viele oft gebrauchte (JavaScript) Operationen.
    • Die Java Stream API erklärt vom großartigen Thorsten Horn.
    • Wir unterscheiden in dieser Folge zwischen imperativer und deklarativer Programmierung.
    • Von welchem Typ ist der Stream in IntelliJ?
    • Sowas Ähnliches haben wir schon im Editor Lighttable gesehen.
    • MapStruct und Dozer nehmen sich (in Java) des Problems an, Strukturen von A nach B zu mappen. Ja, das sind Bean Mapper. MapStruct ist Holgers Meinung nach aber zu bevorzugen: Dozer arbeitet mit XML-Config, MapStruct mit Annotationen. Diese Diskussion wäre auch mal ne Folge wert.
    • For-Schleifen und –Iteratoren wirkten auch anfangs umständlich.
    • Mule ist ein exzellentes …  ach lassen wir das. Mule hat mit Dataweave ein schönes Feature um funktional zwischen Dingen zu mappen (z.B. von JSON zu XML).
    • Generics waren anfangs sehr scary. Und sie sind es auch heute noch, wenn man sich deren Innereien mal genauer ansieht.
    • Was sind denn eigentlich For Comprehensions?
    • Ach, in der Scala User Group haben wir ja For-Comprehensions verwendet um einen Functional Parser zu bauen! Is klar, ne!
    • Damals in der grauen Vorzeit gab es mal einen Showdown-Vortrag zwischen Rails und Grails. Natürlich hat Rails gewonnen! Keine Frage! Selbstverständlich!
    • Der Bene ist fluent im zip und zipWithIndex.

    Bier

    Aus Holgers Kühlschrank gab es diesmal:

    • Das Sierra Nevada Tropical Torpedo
      • Es kommt einfach nix an das Referenzbier ran. Das Tropical Torpedo ist ein American IPA mit Zitrusfruchtaromen. Lecker, bleibt aber – wie gesagt – im Schatten von Benes Bier Numero Uno!
    • Das Poppels Double IPA
      • Was schwedisches! Also deswegen quasi sofort gut. Die können es, die Schweden. Also: Double IPA. Dem Holger schmeckt’s. Sehr rund die Nummer.

     

    Datum: 23.10.2018

  • Folge 46: Herr Potter und die Aktoren

    Heute haben wir in unserer legendären Trelloliste mal wieder ganz nach hinten gescrollt!
    Das nun folgende Thema war schon ein Thema, als die autoweird-Folgenzahl noch einstellig war. Quasi noch vor der Pubertät. Also holen uns jetzt unsere infantilen Gedanken wieder ein:

    Damals hatten wir uns gesagt: Hmmm, die Idee muss vielleicht noch ein wenig sacken!
    Aber jetzt! Jetzt ist es endlich soweit – wir sagen: genug gesackt!

    Heute reden wir endlich mal über Akka! Und das Aktorenmodell! Und alles drum herum.
    Wozu braucht man eigentlich Akka? Und wozu nicht? Wird mit Akka alles gut oder gibt es da noch einen Haken?

    Und das alles kriegen wir locker in 10 Minuten hin! 🙂 Da passen noch easy drei andere Themen rein. So wie immer.
    Heute bestehen die restlichen 50 Minuten aber nur aus Rauschen! 🙂

    Links:
    Helmut Rahn hat das legendäre Tor von 1954 geschossen.
    Ikonisch kommentiert von Herbert Zimmermann.
    – Holger war auf Schloss Burg in Solingen. Schön da!
    – Und die Halteststelle heisst Burg Schloss.
    – @Autoweird.fm empfiehlt für’s Podcast hören Overcast.
    Akka ist von Lightbend.
    – Benedikt hat Akka von Heiko Seeberger gelernt.
    – Das Aktormodell geht auf Gul Abdulnabi Agha zurück, der dies im Rahmen seiner Dissertation entwickelt hat.
    – Mit Erlang hat das Aktormodell Verbreitung gefunden.
    Akka Typed ist Akka mit besserer Typisierung.
    Akka Persistence erweitert Akka um den PersistentActor.
    Akka HTTP ist eine DSL, um HTTP-basierte Anwendungen zu schreiben.
    Lagom ist ein Framework basierend auf Akka, welches im Microservice-Umfeld Verwendung findet.
    – Aktoren in Javascript: Akka.js.
    – Das Github Issue zur Folge.

    Bier:

    Heute verköstigen wir Bier aus der Männerhandtasche vom Christian. Danke nochmal!
    – Zunächst gibt es ein schönes Altfränkisches Klosterbier der Klosterbrauerei Weissenohe. Ein tolles Kellerbier.
    – Und dann gibt es den Hammer: Das legendäre Bamberger Rauchbier. Ist es ein Bier oder ein Schinken? Es hat zumindest keinen Fettrand. Aber irgendwie geil! Nur nichts für mal Zwischendurch. 🙂

    Datum der Aufnahme: 16.07.2018

  • Folge 31: Die legendäre Monadenfolge ft. Luka Jacobowitz

    Leute! Jetzt gibts was auf die Ohren. Meine Fresse ist das episch! Aber sowas von!
    Der großartige Luka (@lukajacobowitz) kommt plötzlich zur Tür rein und verbringt mit uns ein wenig Qualitäts-Monadenzeit. Falls ihr euch also immer schon gefragt habt, was das denn für ein Quatsch ist, von dem die Podcast-Gazellen in Minute 27 faseln, das ist eure Chance!
    Luka rennt mit uns ein einmal quer durch die Monadenwelt. Vom Assoziativgesetz zu den Monadentransformern. Java wird gebasht, Kotlin wird gebasht, Scala wird trotz scheunentorgroßen Seiteneffekten gut gefunden. Aber alles steht im Schatten vom allmächtigen Haskell.
    Hmmmm jetzt ne Curry-Wurst!!
    War total geil, eine würdige, großartige und epische legendäre Monadenfolge!

    Links:

    Bier:

    • Als erstes haben wir ein, oder nein besser DAS Bier verkoststet, welches uns der Alex wärmstens empfohlen hat. Nora: Hammerbier
    • Dann gabs es noch ein Hipsterbier: Ein Stout, gelagert in einem Faß in dem vorher 16 jähriger Macallan drin war. Überawesome! Ola Dubh
    • Am Ende haben wir noch ein schönes Weizen aus Hongkong angeteasert: Schön fruchtigweizig. Das Hangry Donut

    Datum der Aufnahme: 12.11.2017

  • Folge 10: Das nächste große Ding

    Die 10. Folge autoweird.fm! Hammer! Wir sind amazed! Auf nem Plattencover würde da jetzt ein fettes X draufstehen. Wahrscheinlich jedenfalls. Das feiern wir, in dem Holger auch mal die Ansage sprechen darf/kann/muss. Ob das die Zukunft ist? Man weiß es nicht! 🙂

    In dieser Folge schwadronieren wir über ‚Das nächste große Ding‘. Wir lassen mal wieder ein wenig die gute alte Zeit Revue passieren. Schwelgen in Erinnerungen über Objektorientierung, GOF-Patterns, JSF, EJB 2 und Java everywhere.
    Wir streifen das Jetzt mit Hypethemen wie Microservices, Cloud, funktionaler Programmierung, reaktiven Systemen und TypeScript.

    Und enthüllen dann das nächste große Ding. Das Ding, was uns bis in unsere Rente begleiten wird. Das Ding, auf das alle gewartet haben.

    Aber dafür müsst ihr die Folge hören 🙂
    Danke nochmal an Robert fürs Fehler finden und melden und sorry für das #DropboxGate.

    Links:
    JSF ist ein komponentenorientiertes Webframework. Hier programmiert man bevorzugt in Java und bekommt von HTTP nicht so viel mit.
    Vaadin ist ein auf dem Google Web Toolkit (GWT) basierendes Framework. Auch hier werden Client und Server nahezu komplett in Java geschrieben. Die Konzepte von JSF und Vaadin unterscheiden sich allerdings. Die Firma Vaadin sitzt im Steering Committee von GWT.
    – Wir erwähnen hier natürlich Microservices: Eine Idee von Microservices ist es sprachunabhängig entwickelbar zu sein.
    React.js ist in unserem Umfeld sehr verbreitet.
    – Die Entwicklung von Node.js hatte einen großen Einfluss auch auf die Java Welt.
    – Wir reden die ganze Zeit über ‚Funktionale Programmierung‘ und erklären eigentlich nie so richtig was es damit auf sich hat. Ein Buch, was wir zu diesem Thema als Einstieg u.a. empfehlen, können ist das Curry Buch.
    – Robustere und anpassungsfähigere Systeme kann man mit dem Reaktiven Paradigma erreichen: Das Reactie Manifesto beschreibt dieses.
    – Welche [ES6] (https://babeljs.io/learn-es2015/) Features nehm ich denn?
    TypeScript bringt Typen nach JavaScript.
    – Holger war letztes Jahr auf der CraftConf. Eine sehr lohnende Konferenz.
    – Michael Feathers hat dort bei einem Meetup den Talk: ‚Why Types Aren’t Very Important‘ gehalten.
    – Michael Feathers hat das Buch ‚Working effectively with legacy code‘ geschrieben. Auch empfehlenswert.
    – Der Kölner Podcast GeekStammtisch hat in einer der letzten Folgen u.a. über Ruby und Rails sowie deren Relevanz gesprochen.
    Spring Roo/Grails haben seinerzeit die Gedanken von Rails in die JVM Welt gebracht.
    Gordon Oheim ist unser PHP-Buff.
    – Wie reden mal wieder über Akka. Da müssen wir mal eine eigene Folge zu machen.
    – Akka ist ja ‚lediglich‘ eine Implementierung des Aktormodells.
    – Mit Hilfe von AWS Lambda kann man ’serverless Applicatioms‘ bauen. Man schreibt nur noch ‚den Code‘; um die Laufzeitumgebung und deren Konfiguration kümmert man sich nicht mehr.
    – Was ‚Serverless‘ genau bedeutet, erklärt Martin Fowler.
    ‚Der SMACK Stack halt‘: Eine Sammlung von Tools und Frameworks, die beim Aufbau von sehr großen Big Data Lösungen helfen.
    – Das (actionbasierte) Webframework Play verfolgt einen ähnlichen Gedanken wie Rails. Es hat eine sehr gute Scala Unterstützung.
    – Im Tiobe Index von diesem Jahr sind Java/C und C++ wieder ganz weit vorne.
    – Im Stackoverflow Survey ist allerdings JavaScript vorne. So!
    ‚Sach mal! Wann kommt denn eigentlich Java 9?‘.
    – Ein Miele Geschirrspüler hat einen Webserver. Dieser Webserver hat [Security Flaws] (http://boingboing.net/2017/03/27/the-brave-little-dishwasher.html).
    – Amazon hat OpenSSL für Go reimplementiert.
    – Unser Kollege Luka hat neben seinem Studium mal eben das tolle von Cycle.js inspirierte reaktive UI Framework OutWatch geschrieben. Kudos!
    – Wir haben bis jetzt noch nicht über Domain Driven Design gesprochen. Jetzt ist die Folge aber auch schon vorbei.

    Biere:

    Datum der Aufnahme: 28.03.2017

  • Folge 3: Fehlerbehandlung

    Fehlerbehandlung

    Huch! Oha! Die Weihnachtsfolge!
    In dieser Folge lassen Benedikt und Holger ihre Erfahrungen zum Fehlerhandling in der Softwareentwicklung Revue passieren.
    Es gibt Ausflüge in Richtung Return Codes, Exceptions, Optionals und – wie immer – Monaden. Wir wagen uns sogar soweit vor, dass wir unsere Meinung zu „gutem“ Fehlerhandling offenbaren.

    Vielen Dank an Rainer, Andreas und Claudia

    Wir wünschen euch ein schönes Fest und ein gutes und erfolgreiches Jahr 2017!

    Links:

    • Eine Möglichkeit in Java 8 mit möglichen Fehlern umzugehen sind Optionals.
    • Als Beispiel für die Verwendung von Optionals Spring Data JPA.
    • Benedikt verwendet Swagger zur Dokumentation seiner Rest APIs.
    • Hiermit schaffen wir ein für alle Mal den Irrtum aus der Welt, dass das Fangen von Throwable eine gute Idee ist.
    • In Scala gibt es den generischen Typ Try zur Fehlerbehandlung.
    • Ein alternatives Konstrukt in Scala ist Either.
    • Das von Holger erwähnte Clojure Buch.
    • Scalas Try ähnelt einer Monade.
    • Hier einer von vielen Monaden Erklärlinks. Vielleicht der Bekannteste, allerdings sehr umstritten.
    • Hier gab es das Beispiel zum XOR-Typ: Scala User Group Vortrag zum Thema FP in Scala.
    • Das obige Beispiel verwendet die Bibliothek Cats von Typelevel. Eine Bibliothek, die Abstraktionen für funktionale Programmierung in Scala liefert.
    • JavaSlang bildet die Scala Collection API und das erwähnte Try in Java ab. Wollen wir uns noch anschauen.
    • Wie macht man das in JavaScript? Futures und Promises in JavaScript
    • Der Podcast von Rainer Raynacast
    • Der Youtube Kanal von Andreas: Alltagsabenteuer

    Bier:

    Datum der Aufnahme: 07.12.2016