Lambda-Ausdrücke in JavaScript

Diverse Trainings von mir bei LinkedIn Learning (LiL) werden nach und nach modifiziert bzw. erweitert, wenn mir etwas einfällt und/oder die Entwicklung von Technologien über die Zeit das sinnvoll macht. In meinem aktuellen JavaScript Grundkurs 2: Programmiertechniken und Frameworks war das gerade wieder der Fall und gestern wurden die Erweiterungen freigeschaltet. Ich hatte da bisher Lambda-Ausdrücke sehr stiefmütterlich behandelt. Was 2 Gründen geschultet war:

  1. Ältere Browser haben diese nicht unterstützt.
  2. Anonyme Funktionen bzw. innere Funktionen decken in JavaScript im Grunde alles ab, was Lambda-Ausdrücke leisten. Diese Sprachvorteile haben die meisten anderen Programmiersprachen nicht und Lambda-Ausdrücke kompensieren dort hauptsächlich diesen Mangel. Die Notwendigkeit für Lambda-Ausdrücke in JavaScript besteht also im Grunde nicht oder besser nicht so stark.

Dennoch war es Zeit, das Thema zu ergänzen. Denn mittlerweile sollten die Browser, die Lambda-Ausdrücke nicht unterstützen, verschwunden sein, viele Programmierer setzen diese Lambda-Asudrücke in der Praxis ein (oft, weil vom Konzept analog zu anderen Sprachen) und die Syntax ist oft kompakter als bei anonymen Funktionen.

Deshalb habe ich gleich drei Videos rund um Lambda-Ausdrücke in JavaScript ergänzt:

Da isses endlich – mein neues Training bei LiL zu Kryptografie und Steganografie mit Python

Gerade wurde mein neustes Training Kryptografie und Steganografie mit Python bei LinkedIn Learning (LiL) freigeschaltet. Als Sicherheitsthema mehr oder weniger „zeitlos“ und deshalb – da nicht zeitkritisch – ungewöhnlich lange in der Produktion gewesen, finde ich es persönlich aber wahnsinnig interessant. Mir hat da die Einarbeitung und das praktische Umsetzen von den theoretischen Konzepten mit Python bei dem Training so richtig viel Spaß gemacht.

Um ein bisschen abzuschweifen – ich werde immer wieder gefragt, ob ich noch viel mit Mathematik zu tun habe? In der Tat ist die Frage nicht ganz einfach zu beantworten, denn wie viele Mathematiker bin ich komplett in die Computerschiene geraten. Aber hin und wieder bricht auch in dieser IT-Welt die „echte“ Mathematik durch. Beispielsweise bei Kursen wie Mathematik-Grundbegriffe für Programmierer:innen von LiL, wo „Mathematik“ schon im Titel steckt. Oder auch LiL-Kurse wie Python: Statistische Auswertungen haben offensichtlich eine Verbindung zu Teilen der Mathematik – wenngleich in Bezug zu einer Programmiersprache. Ebenso kommt Mathematik rund um die Datenanalyse und das Maschinenlernen (Python für die Datenanalyse 1: Grundlagen und Python für die Datenanalyse 2: Machine Learning) im Hintergrund massiv zum Einsatz. Wenngleich alles auf einem einfachen und praxisorientiertem Level – aus Sicht von Mathematikern gesehen. Also mathematische Beweise habe ich etwa seit meinem Studium nicht mehr geführt.

In meinem neusten Training hingegen kommt die Mathematik sogar ebenso recht intensiv zum Einsatz – mehr als es der Titel Kryptografie und Steganografie mit Python deutlich macht. Denn die Verfahren, die hierbei eine Rolle spielen, erinnern mich durchaus an das Thema Zahlentheorie, das ich im 2. Semester hatte, und allgemein die Algebra und Logik sowie sogar ganz wenig die Stochastik. Aber das Training versucht dennoch die Mathematik mehr in den Hintergrund zu stellen und das praktische Probieren in den Fokus zu nehmen. Was liegt denn hinter den ganzen Fachbegriffen und Techniken und kann man das auch ganz einfach und praktisch sich veranschaulichen? Ich selbst brauche bei komplexen Themen immer einen maximal vereinfachten Ansatz und wenn ich den verstanden habe, kann ich mich Schritt-für-Schritt an die komplexen Level ranarbeiten. Getreu dem Motto, dass Mathematik ganz einfach ist – die Komplexität entsteht nur daraus, dass ganz viele einfache Dingen zusammengesetzt sind. Hat man die Einzelteile verstanden, versteht man auch das Gesamte.

Also kümmere ich mich in dem Training darum, was genau hinter Sicherheitstechniken wie Verschlüsselung und Signaturen steckt oder was unter Steganografie zu verstehen ist. Die Programmiersprache Python eignet sich hervorragend dazu, sich mittels praktischen Beispielen in diese Thematik einzuarbeiten, da wichtige Funktionen bereits in der API bereitgestellt werden. In diesem Videokurs erfahren Sie alles Wichtige zu AES und RSA und Sie lernen einfache Verschlüsselungs- und Angriffstechniken zu entwickeln und anzuwenden. Anhand von Code-Challenges am Ende eines Kapitels können Sie das Erlernte sofort testen und Ihre Lösung mit der angebotenen »Solution« vergleichen. Parallel zu vielen kleinen und einfachen Beispielen entsteht in dem Training ein komplexes Programm, das eine grafische Oberfläche bereitstellt und Daten sowohl verschlüsseln, verstecken und signieren sowie die Informationen wieder herstellen kann.

Ich gehe davon aus, die Zielgruppe von dem Training eher geringer ist als bei vielen anderen Grundlagenthemen von mir, aber was rein meine Interessen und das Fachliche angeht, sehe ich in dem Kurs vermutlich das Highlight meiner bisherigen Videotraining.

Neu erschienen – mein JavaFX Grundkurs bei LiL

Über den Sommer habe ich mehrere Training bzw. Aktualisierungen für LinkedIn Learning eingespielt, deren endgültige Fertigstellung bzw. Produktion sich dann doch ziemlich hingezogen haben. Nicht zuletzt Corona hat Arbeitsabläufe und Kapazitäten sowie Prioritäten im Griff,. Aber die Woche ging es wie beim Bretzelbacken und neben der Aktualisierung meines Training zu den Neuerungen der verschiedenen Versionen von Java und meinem aktuellen Entwickler-Tipp zu Python ist diese Woche auch der JavaFX Kurs erschienen. Dabei geht es neben JavaFX auch um FXML und den Sceen Builder sowie NetBeans, Maven, Ant, Gradle, JDK etc..

Ich habe schon früher Kurse zu JavaFX eingespielt (sogar schon zu Zeiten von Video2Brain (V2B), aber auch dann Aktualisierungen für LiL), aber die sind mittlerweile komplett veraltet. Der neue JavaFX Kurs ist deshalb vollkommen neu konzipiert und vollständig neu eingespielt. Außer ein paar Ideen für Beispiele ist nichts mehr identisch zu den alten Kursen.

Was übrigens auch JavaFX als Technologie betrifft. Diese hat sich zum Teil komplett inkompatibel zu älteren Versionen weiterentwickelt. Offiziell heisst sie jetzt sogar nicht mehr JavaFX, sondern OpenJFX und wird nicht mehr von Orcale verantwortet, sondern einer OpenSource-Organisation. Wobei sich der Bezeichner „OpenJFX“ wohl nicht so richtig etablieren will und man deshalb an den meisten Stellen doch wieder den ursprünglichen Bezeichner „JavaFX“ beibehält.

Und nochmal Brand Awarness-Kampagne von LinkedIn Learning

Wenn das so weiter geht, kann ich bald nicht mehr durch die Gassen gehen, ohne Autogramme geben zu müssen ;-).

Nachdem Kurse von mir in der ersten großen Brand Awarness-Kampagne für die DACH-Region (Deutschland-Österreich-Schweiz) von LinkedIn Learning (LiL) in dem einen Video auf Youtube sogar direkt im Fokus standen, bin ich auch in dem allgemeineren Video, das sich nicht an eine bestimmte Zielgruppe richtet, im Hintergrund eine Weile präsent. So von 0:10 – 0:14 im Zeitindex. Die 4 Sekunden sind schon knapp, aber immerhin und das Video hat schon jetzt gewaltige Besucherzahlen.

 

Mein Training in der Brand Awarness-Kampagne von LinkedIn Learning

Oha!

Da kann ich wohl mächtig stolz drauf sein :-).

Die erste große Brand Awarness-Kampagne für die DACH-Region (Deutschland-Österreich-Schweiz) von LinkedIn Learning (LiL) ist live!

Und Kurse von mir wurden ausgewählt, um mit in diesem Video die Kampangne zu bewerben. M.a.W – der Trailer von meinem Grundlagenkurs zu Python läuft im Hintergrund und im Text wird der JavaScript-Kurs beworben. Dieses Video ist Teil einer Anzeigenkampagne von LiL auf YouTube, Facebook, Instagram, dem weitere folgen sollen.

Motto für die Zielgruppe ist es, die eigene Karriere mit Hilfe von LinkedIn Learning zu fördern und weiterzubringen.

Videorekording im Homeoffice

Gleich startet mein „Flieger“ von „Homeoffice 1“ nach „Homeoffice 2“, um dort neue Videos für LinkedIn Learning aufzunehmen. Also alles wie immer?! Ganz klar jain. Die Formulierungen machen es ja schon deutlich – mein „Flieger“ hat 2 Räder und 800 ccm Hubraum, „Homeoffice 1“ ist mein Büro in Bodenheim und Nr 2  liegt in Eppstein.

Normalerweise nehme ich ja bei LinkedIn in Graz auf, aber durch Corona sind die Aufnahmen vor Ort gestoppt. Deshalb ist die Sache schon ungewöhnlich, aber nicht das erste Mal. Mittlerweile sollte ich schon gut 10 Training im „Homeoffice“ aufgenommen haben. Die meisten davon schon lange vor Corona. Teils in Bodenheim, teils in Eppstein. Ich werde die nächsten 4 Wochen gleich mehrere Trainings aufnehmen und in Eppstein habe ich einfach mehr Ruhe. Und ob ich abends dann zurückfahre oder dableibe, kann ich komplett flexibel handhaben. Ich hoffe, dass ich die nächsten Tage mein neues Fahrrad bekomme. Dann werde ich den „Motorflieger“ in einen Flieger mit Tretantrieb wandeln, wenn das Wetter passt.

Weiter geht es mit Videoaufnahmen und der remoten Welt

Wenn ich die letzte Woche wie geplant nach Graz zu LinkedIn (LiL) geflogen wäre und dort eine komplette Woche Zeit gehabt hätte, hätte ich vermutlich zusätzlich zu dem Training über PHP und OOP, was ich dann letzte Woche – gezwungenermaßen ob der mittlerweile allgegenwärtigen Coronakrise – remote in meinem Büro in Eppstein eingespielt habe, noch ein zweites Kurztraining rund um Github aufgenommen.

So wurden die beiden Aufnahmesets aber zeitlich auseinander dividiert und ich erledige die neuen Aufnahmen ab morgen – wieder in meinem „Tonstudio“ in Eppstein.

Überhaupt richtet sich die Welt um mich herum langsam immer mehr auf Remote-Kontakte ein.  Diverse Schulungsunternehmen melden, dass sie für kommende Remote-Aufträge vorbereitet sind, aber da habe ich bisher noch keine konkreten Anfragen. Aber meine schon fixen Schulungen im April werden vermutlich doch nicht ausfallen (was ich bisher eigentlich dachte), sondern eben online erfolgen. Das ist zwar auch noch nicht fest gebucht und ich bin ebenfalls noch nicht informiert worden, welche Software da zum Einsatz kommt, aber sieht sehr wahrscheinlich aus.

Unabhängig davon experimentiere ich mit diversen Programmen rund um Webinare und Online-Schulungen, habe noch etwas Hardware nachgerüstet und bin mittlerweile vollständig remote-bereit. Morgen abend wollen wir sogar eine virtuelle Bandprobe probieren – aus meinem „Tonstudio“ in Eppstein nach den Videoaufnahmen. Vielleicht klappt sogar gemeinsames Jamen, aber im Grunde erwarte ich nur soziales Bandgeflüster mit virtuellem Zuprosten beim Bier. Ich „missbrauche“ die Sache natürlich, um weitere praktische Erfahrungen mit Onlineveranstaltungen zu gewinnen. Was immer meine Strategie darstellt – eine Win-Win-Situation schaffen und aus einer Aktion möglichst noch profitable Nebeneffekte generieren. So wie aus einer Schulung Ideen für Videotraining oder Bücher bekommen oder umgekehrt oder aus einem Buch ein Videotraining machen etc.

Was die derzeit angesagten und leider vermutlich auch notwendigen „Stay-at-home“-Aktionen angeht, will ich eben so auch ein paar positive Effekte rausholen. Einerseits ist es genial, nicht mehr so viel reisen zu müssen und viel Zeit zu sparen, die sonst mit Fahrerei etc. verloren gegangen ist. Andererseit fehlen mir meine regelmäßigen Trainingstermine und ich habe echten Musikmachen-Entzug.

Aber beiden Leiden steuere ich gegen.

Als Ersatz für ausgefallene Trainingstermine habe ich eigentlich jeden Tag Sport gemacht – nur halt alleine und beschränkt auf Joggen, Radfahren und etwas Not-Krafttraining/Gymnastik mit rudmentärstem Equipment (was ist im Moment noch schwerer zu bekommen wir Klopapier? Hantelstangen mit Gewichten – und in 2 Monaten steht das Zeug nur noch in diversen Kellern rum).

Dem Entzug durch fehlende Bandproben begegne ich neben der virtuellen Bandprobe mit weiteren Versuchen, meiner neuen Querflöte endlich saubere Töne zu entlocken, Versuchen auf meiner Bluesharp, Geklimper auf meinem alten 2/3-Keyboard und Jamsession mit meinen Kidds, bei denen ich am Bass mein Glück versuche. Also ohne Hemmungen werden alle Instrumente gequält, die ich eigentlich nicht kann, aber immer schon spielen wollte. Aus der Not mache ich auch hier die Tugend, dass ich mir sowieso neben dem Sax endlich mal ein Zweitinstrument draufschaffen will und die Coronazeit gibt die Gelegenheit. Eben das oben besagte Ziel, aus einer Situation doch noch einen Vorteil zu ziehen.

Wie schon mal angedeutet – eigentlich läuft arbeitstechnisch sogar alles in die Richtung, in die ich schon seit ein paar Jahren gehen wollte, nur durch finanzielle Bestechung und mangelnde Bereitschaft bei meinen Auftraggebern davon abgehalten wurde. Und meine Auftragslage mit Jobs, die ich von zuhause aus erledigen kann, ist absolut ausreichend bis Mitte des Jahres.

Dumm nur sind eben die soziale Isolation samt den anderen Nebenwirkungen, die mit diesen für mich positiven Entwicklungen einhergehen.

Neuer Onlinekurs: Java 12: Ein erster Blick

Da ist doch gerade wieder einen neues Training von mir bei LinkedIn Learning erschienen und ich habe das nur indirekt mitbekommen – über den Post von meinem Content-Mangager bei LinkedIn. Das erklärt auch eine Mail mit einer Frage unter Bezug auf mein neues Training zu Java 12. Die hatte ich gestern beantwortet, aber nicht so ganz geblickt, dass es um das neue Training von mir im Bezug gegangen war. Es geht in dem Training umd einen kurzen Überblick zu den Java-Version 8.0 bis 12.0. Seit Java im Jahr 1996 das Licht der Welt erblickte haben die einzelnen Versionen immer wieder Standards gesetzt und nach wie vor zählt Java zu den erfolgreichsten und verbreitetsten Programmiersprachen. Während früher jedoch zwischen den verschiedenen Versionen oft geraume Zeit verging und diese auch unregelmäßig erschienen sind, gibt es seit Java 10 neue Versionsnummern im halbjährlichen Turnus. Diese Video-Training stellt Java 12 in den Mittelpunkt, wobei der Überblick auch die wichtigsten Neuerungen der immer noch sehr verbreiteten Versionen 9, 10 und 11 erfasst.

Mal wieder schauen, ob sich in Graz was verändert hat

Letztes Jahr habe ich für Video2Brain eine ganze Menge an Training aufgenommen. Aber in Form von Homerekording. Oder anders ausgedrückt – ich war für meine Verhältnisse ungewöhnlich lange nicht mehr in Graz selbst. Jetzt geht es aber mal wieder runter :-). Sitze am Flughafen in FFM am Gate und warte auch das Boarding. Wobei es ätzend früh ist. Muss aber sein, denn der Tripp ist dieses Mal ziemlich kurz und da muss ich heute noch was schaffen. Zudem ist über das Wochenende die normale Besatzung von V2B natürlich nicht da und da muss vorher alles laufen, damit die Aufnahmen glatt gehen.