Posts

Es werden Posts vom April, 2022 angezeigt.

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: Ältere Browser haben diese nicht unterstützt. 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

OpenStreetMap statt Google oder Bing

Bild
Im Rahmen meiner Vorlesung zur Entwicklung von plattformneutralen Apps mit Cordova an der TH Bingen ist mir aufgefallen, dass die Verwendung des Google Map-APIs nicht mehr so funktioniert hat, wie ich es gewohnt war. Ältere, aber erprobte/getestete Codes haben einen Fehler produziert. Ich stelle den Studenten schon seit ein paar Semestern als eine mögliche Semesterarbeit eine App als Aufgabe, die unter anderem die aktuelle Position in einer Karte zeigen soll. Dabei habe ich bisher Google Maps und als Alternative Bing Maps verwendet. Die jeweiligen APIs ließen sich bisher problemlos verwenden. Nur benötigt man mittlerweile bei neuen Versionen der APIs dafür API-Keys. Die sind zwar kostenfrei zu bekommen (mit ein paar Einschränkungen hinsichtlich der erlaubten Verwendung), aber die Generierung ist dennoch mittlerweile etwas umständlich bzw. ich komme mit den unendlich vielen Details und unübersichtlichen Entwicklerwebseiten einfach nicht klar. Die speziellen Features der neuen Version

Es muss nicht immer tkinter sein - die PyQt-Alternative

Wenn Sie grafische Oberflächen mit Python erzeugen wollen, ist das integrierte tkinter-Framework in der Regel die erste Anlaufstelle. Der Grund ist offensichtlich - tkinter steht standardmäßig im Python-API zur Verfügung und hiermit können Sie bereits wunderbar grafische Oberflächen erzeugen.  Es gibt allerdings Alternativen. Beispielsweise PyQt . Zwar muss man PyQt in der Regel erst einmal installieren, aber man erhält damit ein GUI-Framework, das  eigentlich auf C++ aufbaut, wovon es aber diverse Derivate für verschiedene Sprachen gibt. Eben auch für Python in Form von PyQt . Damit kann man Oberflächen recht leicht zwischen verschiedenen Programmierapachen bzw. Systemen portieren. Die Grundidee basiert, wie bei allen grafischen Oberflächen mittlerweile, auf Widgets und einem sehr verwandten Konzept. In dem neusten Entwickler-Tipp der Woche zu Python  bei  LinkedIn Learning zeige ich den Ansatz, wie man grafische Oberflächen mit PyQt erstellen kann.

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

Bild
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 h

Der JSON-Kleber zwischen Python und JavaScript

Ich ömmel mich immer noch weg, wenn ich mich daran erinnere, wie JavaScript früher schlechtgeredet wurde. Oder wenn auch heute noch Leute abschätzig von JavaScript reden und dann ständig mit JSON arbeiten. Das ist wie bei den Unwissenden, die über Linux lästern oder angeblich niemals verwenden würden und dann ihr Android-Handy, ihren Smart-TV, ihr Entertainment-System im Auto etc. verwenden. JSON ist ja pures JavaScript, aber zudem mittlerweile ein Datenformat, was aus dem modernen Datenaustausch nicht mehr wegzudenken ist. Auf Klartextbasis kann man über JSON beliebige Datenstrukturen austauschen, man kann aber auch Programme konfigurieren und ähnliche Dinge machen. Und nahezu alle Sprachen unterstützen JSON mittlerweile. Natürlich auch Python. In Python gibt es im Modul json Möglichkeiten, womit man JSON serialisieren und deserialisieren kann. Mit anderen Worten - man kann ein JSON-Objekt bzw. eine JSON-Datenstruktur nehmen und daraus einen String machen und einen so stringifizierte

all und any

In dem aktuellen Entwickler-Tipp der Woche zu Python bei LinkedIn Learning geht es um die Funktionen all und any . Das sind zwei Funktionen, mit denen Sie bei sequentiellen Datentypen überprüfen können, ob die Elemente darin True- oder False-Zuständen entsprechen. Dabei wird ja in Python alles, was ungleich 0 bzw. einem Leerstring ist, als True gewertet. 

Die Belegexemplare sind da

Bild
Eben hat die Post die Belegexemplare von meinem neuen  Buch zu JavaFX bzw. OpenJFX gebracht. Es ist eine Aktualisierung meines JavaFX-Buchs aus dem Jahr 2014 beim  Springer -Verlag. 

April-Scherz?

Bild
Am Montag habe ich meine Blockveranstaltung zur Entwicklung von plattformneutralen Apps mit  Cordova   an der TH Bingen begonnen und eben den ersten Block über 6 Tage beendet. Ich glaube, das war das 1. Mal überhaupt, dass ich 6 Tage am Stück bei einer Veranstaltung unterrichtet habe.  Klar habe ich schon Samstags geschult, aber nicht Montag - Samstag bei einer Veranstaltung. Aber ich wollte den Block auf jeden Fall vor der nächsten Woche mit dem offiziellen Semesterbeginn durch haben und konnte erst am Montag dieser Woche anfangen.  Jetzt folgen noch ein paar  Fragestunden über das Semester und am Ende im Juli einer Vorstellung der Semesterarbeit durch die Studis. Alles remote vermutlich.  Anyway - gestern war der 1. April und heute morgen dachte ich, da wäre ein verspäteter April-Scherz am Laufen oder ich in der falschen Jahreszeit aufgewacht. Selbst in Bodenheim liegt etwas Schnee und am Büro in Eppstein sogar wirklich.  Eigentlich wäre ich heute gerne zum Hammerwerfen nach Niederse