Da bin ich gerade an neuen Videoaufnahmen für LinkedIn Learning (LiL) im Homerekording in meinem Zweitbüro in Eppstein und in der Zeit wird die Aktualisierung von einem meiner erfolgreichsten Trainings freigeschaltet – Python lernen. Genaugenommen wurde ein neues Video als Ergänzung hinzugefügt, was ich unlängst aufgenommen habe. Denn mit Python 3.10 gab es eine Erweiterung (match-case), die es zu Zeiten der Aufnahme des Trainings noch nicht gab und ich auf jeden Fall nachtragen wollte.
Schlagwort: Python
GTP-4 API Warteliste
Ich habe mich eben auf die Warteliste für das GTP-4 API gesetzt. Ich glaube zwar nicht, dass die Sperre von ChatGPT in Deutschland wirklich durchkommt und zudem sollte so eine Zensur – falls sie denn doch kommt – keinen Einfluss auf die Zugänglichkeit von dem API haben (denke ich). Aber dennoch will ich rechtzeitig die Version 4 ansehen und schauen, ob ich die Fortschritte gegenüber GPT-3 erkennen kann. Die sollen ja riesig sein, wobei mich schon GTP-3 umgeworfen hat. Auch wenn in manchen Foren gelästert wird, dass die Möglichkeiten der KI eher mau und Ergebnisse oft falsch wären, sehe ich das ganz anders. Insbesondere ich Art der Interaktion ist für mich immer noch beeindruckend – auch wenn ich jetzt schon eine Weile damit experimentiere.
Interessanter Nebeneffekt – oder ehrlich gesagt für mich mehr als Nebeneffekt 😉 – der ständigen Medienpräsenz von KI (engl. Artificial Intelligence oder kurz AI) und wohl unabhängig davon, die Meldungen gut oder schlecht sind:
Die Besucherzahlen meiner Onlinevideos von LinkedIn Learning (LiL), die sich mit Künstlicher Intelligenz im weiteren Sinn oder auch mathematischen Grundlagen davon beschäftigen, haben gut angezogen. „GTP-4 API Warteliste“ weiterlesen
KI-unterstütztes Programmieren mit OpenAI und ChatGPT
Nachdem ich erst vorgestern aus Graz von neuen Videoaufnahmen bei LinkedIn Learning (LiL) zurückgekommen bin, habe ich direkt eine Mail von LiL zu einer internationaler Aktion erhalten, in der Kurse über künstlichen Intelligenz (KI) im Mittelpunkt stehen und auch ein Kurs von mir dabei wäre (Python für die Datenanalyse 2: Machine Learning von Lillian Pierson und Ralph Steyer). LinkedIn Learning hat weltweit etwa 100 LinkedIn Learning-Kursen zum Thema KI (engl. Artificial Intelligence oder kurz AI), die in der Kampange ab sofort bis zum 15. Juni kostenlos angeboten werden. Schon in dem Blogbeitrag zu der Aktion habe ich angekündigt, dass sehr bald von mir ein weiteres Training zum Thema KI folgen wird. Und tatsächlich ist es heute bereits soweit.
Das Videotraining „KI-unterstütztes Programmieren mit OpenAI und ChatGPT“ wurde veröffentlicht.
„KI-unterstütztes Programmieren mit OpenAI und ChatGPT“ weiterlesen
ASP.NET MVC, Codespace & Docker
Ich habe eine neue Webseite erstellt. Das ist nicht ungewöhnlich und kaum eines Posts wert. Zumal die Webseite nicht der Burner ist. Weder vom Design, noch dem Inhalt. Es ist im Grunde nur etwas Werbung für mein Buch zu „Webanwendungen mit ASP.NET MVC und Razor – Ein kompakter und praxisnaher Einstieg„, das ich vor einiger Zeit beim Springer-Verlag veröffentlicht habe. Also wozu der Hussle?
Nun – wenn man den Link zu der Webseite anklickt, fällt vielleicht der ungewöhnliche Port auf (33333). Der eigentliche Anlass für die neue Webseite war die Vorbereitung für eine Schulung mit ASP.NET im kommenden Januar. Ich will einfach einige Praxisseiten zum Zeigen von ein paar Sachen haben.
Ich betreibe meine Webseiten nun aber mit einem Apache-Webserver unter Linux. Die neue Webseite ist jedoch – aus besagten Gründen – mit ASP.NET MVC und Razor gemacht. Und das braucht – eigentlich – einen Windows-Server mit IIS oder so. Also auf jeden Fall .NET. Lokal auf einem Windows-PC bzw. direkt aus Visual Studio kein Problem. Aber wenn man „In-the-wild“ nur Linux verwendet? „ASP.NET MVC, Codespace & Docker“ weiterlesen
Schulungsjahr 2022 beendet
Gestern habe ich meinen letzten Schulungstag 2022 (falls nicht noch ganz kurzfristig was aufläuft) gehalten (zu Python) und eben habe ich die letzte Rechnung für eine Schulung erstellt und versendet. Damit schließe ich das Schulungsjahr 2022 ab. Allerdings kommt vor Weihnachten noch eine Woche mit Videoaufnahmen bei LinkedIn Learning in Graz, worauf ich mich richtig freue.

Wenn ich die Schulungen dieses Jahr durchgehe, kamen wieder eine ganze Reihe an Themen vor. Wie üblich mit einigen Schwerpunkten, die sich im Vergleich zu den Jahren zuvor aber teils verschoben haben. Andere Themen sind komplett weggebrochen oder ich habe sie nicht annehmen können und ich muss mir überlegen, ob ich die weiter im Schulungsprogramm behalte. Auch wenn ich sie persönlich meist immer noch interessant finde (etwa F#, GWT oder Perl) bzw. unabhängig von direkten Schulungen oft verwende (etwa Eclipse oder alles rund um mein Lieblingsbetriebssystem Linux, wofür ich aber keine aktuelles Schulungsagenda mehr ausgearbeitet habe – zu nahezu allen anderen Schulungthemen habe ich ja eigene Bücher und Schulungsunterlagen und/oder Videotraining bei LiL erstellt).
Mein neuer LiL-Python-Kurs ist bei der internationalen GitHub Codespaces-Aktion dabei
Der Python-Kurs, den ich im Sommer neu aufgenommen habe, ist gestern freigeschaltet worden. Mittlerweile sind schon sehr viele Kurse von mir bei LinkedIn Learning erschienen (aktuell sind 62 Kurse online verfügbar), aber diese Code Challenge ist dennoch etwas Besonderes.
Denn das Training ist Teil einer internationalen Kampagne, bei der in der Tech-Library von LiL gestern auf einen Schlag über 50 internationale Programmierkurse veröffentlicht wurden, die sich durch Integration in die ebenfalls brandneue Cloud-basierte Entwicklungsumgebung (IDE) Github Codespaces auszeichnen. Mein Python-Kurs,ist eben als einer von nur 3 deutschsprachigen Kurse dabei. „Mein neuer LiL-Python-Kurs ist bei der internationalen GitHub Codespaces-Aktion dabei“ weiterlesen
Radikalschnitt
Die letzten Wochen standen bei mir ganz im Zeichen sehr vieler Schulungstage. Zuerst im Rahmen mehrerer Fachinformatikerausbildungen zu Python und MySQL, aber die letzten 3 Wochen komplett zu Java und JavaFX/OpenJFX. Dabei ging es bei purem Java um eine „Werkstatt“ im Rahmen der Fachinformatikerausbildung, bei der noch mit Swing gearbeitet wurde.
Bei dem Kurs zu JavaFX habe ich hingegen professionelle Java-Entwickler einer Berliner Behörde geschult, die vorher bei einem anderen Trainer einen Kurs zu Maven gemacht hatten und danach eben noch JavaFX kennenlernen sollten. Zum Teil hatten die aber auch schon vorher mit JavaFX gearbeitet.
Der JavaFX-Kurs war bereits früher angesetzt gewesen, aber der
eingeplante Trainer war ausgefallen und ich habe den Kurs mit einem neuen Termin kurzfristig übernommen. Die beiden Tage habe ich zwar recht schwer untergebracht und eigentlich war ich bereits so ausgelastet, dass ich im Grunde keine Termine mehr annehmen wollte. „Radikalschnitt“ weiterlesen
Auf dem Rückweg aus Hamburg
Ich sitze am Gate und warte auf meinen Flieger. Der Tripp nach Hamburg ist also so gut wie erledigt und es war in der Tat mal wieder interessant/nett auf Tour zu sein. Ich mag Hamburg und war in einer schönen Ecke im Norden, wo ich bisher noch nicht war.
Das Hotel war zwar eine Katastrophe und die Liste der Mängel länger als die längste Praline der Welt, aber trotzdem habe ich mich dort gar nicht so unwohl gefühlt, wie es objektiv der Fall sein müsste (eigentlich müsste ich vom Hotel Geld zurückfordern).
Auf dem Weg vom Schulungsraum zum Flughafen in HH habe ich mir einen e-Scooter geleistet. Das erste Mal habe ich so ein Ding ausprobiert, was hier in HH massenhaft für den Nahverkehr genutzt wird. Macht Spass damit zu fahren, aber ist schon recht teuer und muss ich nur als Gag nicht haben. Für kurze Entfernungen gut, aber die kann ich meist auch laufen. Aber neben „mal wieder mit einem Flguzeug in die Luft zu gehen“ war der e-Scooter ein Teil der eben interessanten Abwechselung gewesen, die dieser Tripp mit sich gebracht hat. Und die Entfernung zum Flughafen ist auch fast 4,5 Kilometer gewesen und da hat der e-Scooter schon Sinn gemacht.
Allerdings ist insgesamt der Reiseaufwand schon der Abtörner. Auto zu viel Stau und zu lange Zeit, Bahn unzuverlässig, teuer und aufwändig und mit dem Flieger sind die ganzen Aktionen vor dem eigentlichen Flug mit Sicherheitskontrolle etc. auch nicht wirklich das, was ich so brauche. „Auf dem Rückweg aus Hamburg“ weiterlesen
HH-Schulung hat begonnen
Die Schulung in Hamburg hat begonnen. Ich habe offiziell 9 Teilnehmer, aber 2 haben sich krank gemeldet. Mit dem Rest mache ich Python. Genaugenommen ist das eine Python-Werkstatt mit hauptsächlich Praxis. Normalerweise halte ich vorher eine Python-Schulung, aber die hat ein Kollege übernommen, da ich letzte Woche noch mit einer MySQL-Schulung für die Kölner Gruppe beschäftigt war.
Die Schulung letzte Woche war remote und mit der Hamburger Gruppe kommt nächste Woche auch MySQL dran – aber dann auch remote. Das bedeutet, ich fliege am Freitag wieder zurück und wir treffen uns dann auf Teams. Ich wollte einmal nicht über das Wochenende in HH ausharren und schon gar nicht für 3 Tage wieder hierher fliegen. Das hätte ich auch nicht geregelt bekommen, denn ab Donnerstag nächster Woche übernehme ich wieder die Wiesbadener Gruppe. Das wäre mit einer Rückreise am Mittwochabend einfach zu eng geworden.
Django bzw. 2-facher Doppelschlag
„Doppelschlag“ aus der Überschrift kann man auf zwei Arten verstehen:
- In der Woche wurden bei LinkedIn Learning (LiL) gleich 2 neue Video-Training von mir veröffentlicht. Anfang der Woche die Überarbeitung meines Grundlagen-Trainings zu C und gestern dann ein brandneues Django-Training.
- Mit dem neuen Django Grundkurs verbinde ich die beiden IT-Technologien (Python und Web-Programmierung), die ich in den letzten Jahren wohl am meisten verwendet habe.
Django ist ein quelloffenes und serverseitiges Webframework, das die Programmiersprache Python mit einer modernen Architektur zur Generierung der klassischen Webtechnologien für den Client kombiniert. In meinem Grundlagenkurs zeige ich die Philosophie des Frameworks und beschreibe ausführlich die Installation und den Dateiaufbau eines Django-Projekts sowie den Betrieb in einer virtuellen Umgebung. Weitere Filme beschreiben den Unterschied zwischen einem Projekt und einer App, beleuchten das MVT-Schema, Views und Templates, und Sie sehen, wie Sie mittels QuerySets auf Datenbanken zugreifen. Schritt für Schritt lernen Sie, wie Sie ein eigenes Projekt starten und eine eigene Webapplikation entwickeln.
Mein Python-Weekly ist in einen regulären Kurs umgebaut worden
Nachdem der letzte Tipp im wöchentlichen Turnus veröffentlicht wurde, sind meine regelmäßigen Tipps zu Python in einen „regulären“ Kurs umgebaut und gerade freigeschaltet worden.
Python-Weeklies laufen aus
Meine neuen Videoaufnahmen für LinkedIn Learning sind fertig. Ich habe ein neues Training rund um Python aufgenommen, das in den Kontext einer neuen Serie bzw. Konzeption als eines der ersten Testtraining eingefügt werden soll. In einem gleichartigen Konzept werden dazu Training von verschiedenen Trainern und mit unterschiedlichen Sprachen veröffentlicht. Wenn sich die Strategie bewährt, werden irgendwann auch anderer Trainer und Themen folgen. Es gibt bereits US-Versionen, an denen wir uns orientieren. Aber fachlich als auch in Details sind wir eigenständig und ich lege Wert darauf, dass ich meinen eigenen Stil dennoch beibehalte und eigene Themen bereitstelle.
Zusätzlich habe ich noch 2 Erweiterungsfilme eines meiner Training zu JavaScript aufgenommen. Durch die fortschreitende Unterstützung von JavaScript in den verschiedenen Browsern war es mir wichtig, dass diese modernen Themen rund um asynchrone Programmierung und DOM-Selektion ergänzt werden.
Die Aufnahmen waren die Woche mit einigen technischen und organisatorischen Problemen behaftet, sind aber dennoch flott durchgegangen. Auch wenn die Hitze wirklich brutal war und ich die Pausenzone auf dem Balkon reichlich ausnutzen musste.
Ansonsten wird das neu aufgenommene Python-Training auch eine Art Ersatz bzw. Fortsetzung meiner Entwicklertipp der Woche zu Python werden. Denn diese laufen so langsam aus. Vielleicht ist es aufgefallen, aber der Abstand zwischen dem letzten Entwicklertipp der Woche zum Thema Anagramm und dem aktuellen Entwicklertipp der Woche zum Modul trace und Coverage.py war länger wie eine Woche. Die Veröffentlichungsfrequenz wird quasi „runtergebremst“, bevor die Entwicklertipps der Woche in ein „normales“ Videotraining mit einer fixen Anzahl an Filmen umgewandelt werden.
Hot record
Gestern habe ich in Eppstein die neuen Videoaufnahmen für LinkedIn Learning angefangen. Ich bin ganz früh mit dem Mopped hingefahren und als ich ins Amstertal runtergefahren bin, wurde es schlagartig mehrere Grad kälter. Das merkt man insbesondere auf dem Mopped sofort. Es war noch vor 8:00 Uhr und gerade zu frisch mit dem Fahrtwind. Aber das hat über den Tag nicht angehalten und selbst hier in Eppstein wurde es den Tag über brutal heiß. 2x ist mir am späten Nachmittag der Rechner ausgegangen und es könnte sein, dass er überhitzt war. Ich habe keine Daten verloren und der Rechner ist auch ziemlich direkt wieder da gewesen, aber die Temperaturen sind schon heftig. Wobei es hier noch halbwegs geht. In meinem Büro in Bodenheim unter dem Dach sollte es noch um mehrere Grade heißer sein und wegen Aufnahmen könnte ich da meinen kleinen Klima-Block auch nicht anmachen.
Anagramm – nicht Anna gram
In der übernächsten Woche stehen wieder Videoaufnahmen für LinkedIn Learning an, aber heute gibt es erst einmal wieder einen neuen Entwicklertipp der Woche zu Python. Es geht darum, was ein Anagramm ist und wie man mit Python dies überprüfen kann.
Was ein Anagramm ist, kann man einfach beschreiben. Keinesfalls steht es dafür, dass irgendeine Anna gram ist, sondern es ist eine Buchstabenfolge, die durch reine Umsortierung der einzelnen Buchstaben aus einer anderen Buchstabenfolge entsteht. So eine Umsortierung kann im Rahmen der Kryptografie interessant sein. Oder auch bei Vorgaben, dass ein neues Passwort nicht einfach ein Anagramm eines bisherigen Passwortes sein darf. Diese Anwendung greife ich möglicherweise auf und werde darauf vielleicht im Rahmen der oben schon angedeuteten kommenden neuen Videoaufnahmen für LinkedIn Learning zurückkommen. Mal sehen – da bin ich im Moment am Vorbereiten.
Auf das Dateisystem zugreifen – neu im Tutorial zu Python
Es gibt wieder einen neuen Entwicklertipp der Woche zu Python bei LinkedIn Learning. Es geht darum, wie man mit Python auf das Dateisystem des Rechners zugreifen kann, um dort Datei- oder Verzeichnis-Operationen durchzuführen. Die beiden Module pathlib und os.path sind für Sie die wahrscheinlich wichtigsten Einstiegsstellen. Dabei beschreibt pathlib einen objektorientierter Ansatz, um auf das Dateisystem zuzugreifen, während os.path einen, sagen wir mal, traditionellen Weg bereitstellt. Sie haben viele ähnliche Funktionen oder deckungsgleiche Funktionalitäten und beide haben so ziemlich alles, was man so braucht, um auf dem Dateisystem zu arbeiten.
Terminalinhalt mit Python zur Laufzeit Plattformneutral leeren
Der neue Entwicklertipp der Woche zu Python ist bei LinkedIn Learning freigeschaltet. Es geht darum, wie man den Terminalinhalt zur Laufzeit leeren kann. Denn das ist nicht so ganz trivial bzw. einfach mit einer Python-Anweisung möglich. Denn wenn man in einem Terminal arbeitet, kennt Python keinen integrierten Befehl, um dieses Terminal dynamisch zu löschen, das heißt, direkt aus einem Skript heraus. Sie können selbstverständlich im Terminal einen Betriebssystembefehl wie cls unter Windows als clear unter Linux eingeben und damit wird das Terminal geleert. Aber das machen Sie aktiv im Terminal nach oder vor dem Ausführen des Skripts. Es gibt diese Befehle aber so nicht in Python.
Doch manchmal möchte man eben zur Laufzeit auch aus einem Skript das Terminal leeren und dann wieder oben mit einem frischen Terminal beginnen. Das kann man nachprogrammieren und die Basis ist das Modul os.system. Damit kann man aus Python einen Betriebssystembefehl aufrufen. Wenn man zudem vorher das Betriebssystem abfragt, kann man diesen dann auch in Abhängigkeit von dem Betriebssystem passend auswählen und das Skript Plattformneutral erstellen.
Tipp & Tour
In ein paar Minuten geht es auf einen kurzen Radurlaub mit meinem Sohn. Ein kleiner Nachschlag unserer Vierländertour rund um den Bodensee. Dieses Mal aber nur 4 Tage und weitgehend in der Heimatregion. Es soll von Marburg die Lahn und den Rhein entlang gehen. Ich hoffe, dass die Fahrradmitnahme mit dem Zug nach Marburg auch geht, denn mit der Bahn habe ich überwiegend schlechte Erfahrungen. Wir werden sehen. Vorher habe ich aber noch gecheckt, welcher Entwicklertipp der Woche zu Python heute bei LinkedIn Learning freigeschaltet wurde. Es geht die Woche darum, wie man per os-Modul auf die Betriebssystemschnittstelle zugreifen kann.
Manche verstehen unter „Python“ wohl etwas anderes :-)
Bei LinkedIn Learning habe ich ja diverse Videotrainings zu Python und ergänzender Techniken bzw. Themen aufgenommen und auch einen regelmäßigen Entwicklertipp der Woche zu Python am Laufen. Dazu kommt neben häufigen Python-Schulungen noch ein Buch:

Programmierung in Python – Ein kompakter Einstieg für die Praxis
- Autor: Steyer, Ralph
- 978-3-658-20705-2
- Umfang in Druckseiten: 257
- Verlag: Springer Fachmedien Wiesbaden GmbH
- Erscheinungsjahr: 2018
Aber andere Leute verstehen „Python“ wohl etwas anders bzw. universeller. Ein Vermieter hat nach dem Auszug seiner Mieter in der Wohnung drei zurückgelassene Pythons gefunden. Stellen sich Fragen:
- Waren die Mieter Programmierer?
- Auf welche Programmiersprachen sind sie umgestiegen, dass die Pythons überflüssig waren?
Moduleinbindung absichern
Ich warte gerade auf meine „Gäste“ (Studenten) zur Teams-Sitzung der TH Bingen. Heute ist die letzte Fragestunde, bevor diese die Semesterarbeit abgeben sollen. Diese Fragestunde ist aber optional und vielleicht kommt auch niemand. Nachdem ich gestern mit dem ebike nach Wiesbaden zu meiner Schulung der Fachinformatiker gefahren bin, bin ich danach weiter nach Eppstein zum Training und habe hier übernachtet. Nach der Teams-Sitzung geht es dann wieder mit dem ebike zurück nach Bodenheim. Davor habe ich aber wie am Mittwoch üblich bei bei LinkedIn Learning geschaut, welcher Entwicklertipp der Woche zu Python heute freigeschaltet wurde. Thema ist, wie man die Moduleinbindung absichern kann. Denn wenn man in Python Module einbinden will, braucht man manchmal Informationen über die Module und muss auch ggf. reagieren, wenn eine Einbindung schiefgeht. Eventuell muss man dann andere Module einbinden oder von einem anderen Ort.
Der Bedingungsoperator in meinem Tutorial zu Python
Ab der Woche habe ich eine regelmäßige Schulungssession jeweils am Montag und Dienstag jeder Woche gestartet. Die geht über mehrere Wochen. Eine Präsenzschulung, was in den aktuellen Zeiten bemerkenswert ist. Aber in Wiesbaden und damit entfallen eine längere Anreise (ich plane sogar, hin und wieder mit dem ebike da hinzufahren) sowie eine externe Übernachtung. Die regelmäßigen Slots werden dann Mittwochs durch die wöchentlichen Veröffentlichung meiner Entwicklertipp der Woche zu Python ergänzt. Der heute bei LinkedIn Learning freigeschaltete Entwicklertipp hat den Bedingungsoperator zum Thema.
Wenn man einen Programmfluss aufgrund einer Bedingung steuern möchte, nutzt man in den meisten Programmiersprachen eine if-Anweisung oder eine if-else- bzw. elif-Anweisung oder so irgendwas in dieser Art oder in anderen Sprachen wie Python gegebenenfalls auch switch-case oder so irgendwas.
Es gibt aber in fast allen Programmiersprachen einen sogenannten Bedingungsoperator. Man nennt ihn auch den tenären Operator, respektive auch den Konditionaloperator oder den triadischen Operator. Und so etwas gibt es auch in Python.
Du muss angemeldet sein, um einen Kommentar zu veröffentlichen.