Tupel Um-Tupeln

In einigen Tagen geht es mit neuen Videoaufnahmen für LinkedIn Learning (LiL)  wieder los. Immer noch in Form von Home-Recording, aber es ist absehbar, dass ich auch irgendwann mal wieder nach Graz komme. Bis dahin wird jedoch noch einiges Wasser „die Bach runterfließen“ – ja die (!) Bach, was man als echter Hesse selbstverständlich sagt.  Und die Bach bringt Mitte jeder Woche ein Boot mit einem  neuen Entwicklertipp der Woche zu Python vorbei. Diese Woche behandle ich das Manipulieren von Tupeln. die ja „eigentlich“ immutable sind.

Zoom-Meeting mit Linkedin Learning direkt in der Natur

Anlässlich interner Umstrukturierungen in Graz bei LinkedIn Learning (LiL) gab es heute ein Abschieds-/Vorstellungs-Meeting auf Zoom. Da wollte ich auf jeden Fall teilnehmen, um mal wieder die Grazer Mann- bzw. Frauschaft und auch andere Trainer zu sehen. Wenn auch nur virtuell.

Nur wollte ich auch um die Zeit eine Radtour machen. Also habe ich beides kombiniert und dann am Alteburger Markt eine Pause gemacht, um auf einer Bank unter Bäumen per SmartPhone am Zoom-Meeting teilzunehmen. Tja – moderne Techniken machen es möglich. Unmöglich war allerdings die Hitze. Hab mich mit der Tour etwas übernommen.

Gulp.js: Workflow in Webprojekten

Zur Zeit habe ich ja jede Woche die Veröffentlichung eines neuen  Entwicklertipps der Woche zu Python bei LinkedIn Learning (LiL) zu vermelden.

Aber es werden zusätzlich immer wieder vollständige Videotrainings publiziert. Natürlich nicht wöchentlich, sondern in unregelmäßigen Intervallen – halt gerade so, wie ich komplette Trainings aufgenommen habe und diese bei LiL fertig produziert wurden.

Jetzt ist es wieder soweit – Gulp.js: Workflow in Webprojekten ist da. Wieder eine US-Adaption eines Trainings. Das Original ist von meinem amerikanischen Kollegen Ray Villalobos konzipiert worden.

Es geht um die Optimierung des Erstellens von Websites. Denn so etwas ist im Laufe der Jahre ein ziemlich komplizierter Prozess geworden. Man erstellt nicht nur mehr einfach HTML-, CSS- und/oder JavaScript-Dateien. Oft verwendet man zusätzlich Tools wie CSS-Prozessoren wie Sass, um vor allen Dingen auch mit älteren Browser kompatibel zu sein.
Diesen Prozess der Webseiten-Erstellung kann man mit einem Tool namens gulp.js verwalten und optimieren. Damit gibt es eine konsistente, einfach zu verwendende Sprache auf Basis von JavaScript für die Erstellung und Verwaltung gängiger Aufgaben. In diesem Kurs geht es um die Konzepte hinter gulp.js.

Webseitenerstellung mit gulp.js optimieren aus dem Kurs „Gulp.js: Workflow in Webprojekten“ von Ralph Steyer und Ray Villalobos

Mittwoch – mit 2 regelmäßigen Events

Es ist Mittwoch und da stehen bei mir 2 regelmäßig auftretende Ereignisse an. Bereits seit Jahrzehnten ist Mittwochs der Probetermin meiner Band. Zwar Corona-bedingt die letzte Zeit nur virtuell mit JamKazam, aber ab heute stellen wir wieder um.

Nicht ganz so lange, dass man das – wie bei der Bandprobe – „traditionell“ nennen kann, gibt es aber als 2. Event regelmäßig neuen IT-Content.  Aber nun doch schon mehrere Monate wird Mittwochs ein neuer  Entwicklertipp der Woche zu Python bei LinkedIn Learning (LiL)  veröffentlicht. Diese Woche geht es um den Einsatz von Default-Parametern beim Aufruf einer Funktion.

Defaultparameter aus dem Kurs „Python-Entwicklertipps: Jede Woche neu“ von Ralph Steyer

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.

Protektion in Python

Weiter geht es mit meinen regelmäßigen Entwicklertipps der Woche zu Python bei LinkedIn Learning (LiL).  Diese Woche behandle ich das Thema „protected“ in Python. Diese Beschränkung auf die Zugänglichkeit aus Subklassen wird in Python mit einem vorangestellten Unterstrich gekennzeichnet, ist aber streng genommen nur eine unverbindliche Empfehlung.

Da isser ja

Eigentlich hätte mein Entwicklertipp der Woche zu Python schon am Mittwoch veröffentlicht werden sollen, denke ich. Die Webseite bei LinkedIn Learning (LiL) hatte für den Kurs auch eine Aktualisierung am Mittwoch angezeigt, aber es wurde noch der Tipp von letzter Woche als neuster Tipp angezeigt. Da war wohl mit der Freigabe der etwas schiefgegangen, aber jetzt ist der neue Tipp da. Es geht diese Woche um variable Parameter einer Funktion.

Weiter geht es

Es ist Mitte der Woche, ich habe gerade meinen Einzel-Crashkurs zu erweiterten Java-Themen abgeschlossen und ein neuer Entwicklertipp der Woche zu Python ist heute bei LiL (LinkedIn Learning) herausgekommen. Die Woche geht es darum, wie man in Python privat deklarierte Elemente von außen manipulieren kann.

Woche rum und Aufnahmen im Kasten

Die Arbeitswoche ist rum und nachdem ich gestern den Feiertag frei genommen habe, bin ich heute mit den neuen Aufnahmen für LinkedIn Learning (LiL) fertig geworden.

Nächste Woche steht eine Einzelschulung an. Das erste Mal seit fast 1,5 Jahren sogar als Live- und nicht Remote-Schulung. Ganz so wie früher :-).

 

Mein neuer LiL-Python-Kurs für Umsteiger

Derzeit kommt bei mir jede Woche bei LinkedIn Learning (LiL) ein neuer Entwickler-Tipp zu Python heraus und mittlerweile sind da Tipps im Umfang von über einer Stunde bereits veröffentlicht. Das wird auch das Jahr noch so jede Woche weiter gehen. Aber zusätzlich kommen immer wieder vollständige neue Trainings heraus. Und vor ein paar Tagen war es wieder soweit – ein kompletter neuer Kurs ist freigegeben worden.

Python für C++-, Java- und C#-Entwickler:innen

Schnell und einfach von C#, C++ und Java auf Python umsteigen aus dem Kurs „Python für C++-, Java- und C#-Entwickler:innen“ von Ralph Steyer
Mit der Popularität der Programmiersprache Python steigt auch der Bedarf an Python-Entwicklern. Gerade Umsteiger benötigen dazu einen anderen Ansatz als Einsteiger. Deshalb gehe ich in diesem Umsteigerkurs gezielt darauf ein, wie man von Grundkenntnissen in anderen Programmiersprachen bei den ersten Schritten in der Python-Welt profitieren kann. Dazu behandele ich in der grundlegenden Darstellung immer wieder Parallelen, Schnittmengen und Unterschiede insbesondere zu C++, C# und Java sowie Python-eigene Besonderheiten.

Aufrufargumente an ein Python-Programm übergeben – Entwicklertipp der Woche zu Python

Gerade passiert bei mir im Zusammenhang mit LinkedIn Learning (LiL) ziemlich viel. Geht wie beim Bretzelbacken, denn ein neuer Entwicklertipp der Woche zu Python ist heute herausgekommen. Die Woche ist das Thema, wie Aufrufargumente an ein Python-Programm übergeben und dort verarbeitet werden können.

Aufrufargumente an ein Python-Programm übergeben aus dem Kurs „Python-Entwicklertipps: Jede Woche neu“ von Ralph Steyer

#TopCompanies2021

Im Rahmen der neuen Kampagne  #TopCompanies2021 von LinkedIn Learning ist auch einer meiner Kurse (Python lernen) für den Monat Mai freigeschaltet worden.

Ziel der Kampagne: Um zu wachsen und an der Spitze zu bleiben ist es unerlässlich, bei wichtigen Trendthemen up-to-date zu bleiben. Deshalb zeigt LiL die 5 wichtigsten Trends von Top-Unternehmen im deutschsprachigen Raum auf, um Lernenden dabei zu unterstützen, ganz vorne dabei zu bleiben.

Auf „Videotour“

Seit gestern bin ich wieder an neuen Aufnahmen für LinkedIn Learning (LiL). Dabei sind gleich 3 Aufgaben zu erledigen.

  1. Eine kleine Fehlerkorrektur über gut 10 Sekunden in einem schon recht alten UML-Training. Ein Wortdreher ist erst nach zig Jahren aufgefallen.
  2. Eine komplette Aktualisierung eines Trainings aus dem Jahr 2013. Da ist definitiv klar, dass das nicht mehr ganz auf dem aktuellen Stand sein kann.
  3. Ein paar weitere Entwicklertipps der Woche zu Python.

Es stehen also reine Aktualisierungen und Erweiterungen zu bereits vorhandenen Trainings von mir an.

Der Entwicklertipp der Woche ist da – OpenCV unter Python nutzen

Nächste Woche werde ich neue Aufnahmen für LinkedIn Learning (LiL) einspielen, aber wie jede Woche kommt auch in der Mitte dieser Woche wieder ein Entwicklertipp der Woche zu Python heraus. Es geht um ein spezielles Framework, um unter Python Bilder und Videos anzuzeigen – OpenCV und das ist eine freie Programmbibliothek mit Algorithmen für die Bild- und Videoverarbeitung. Diese kann unter Python, aber auch anderen Sprachen verwendet werden. Die Bibliothek wird vor allen Dingen beim Deep Learning verwendet, kann aber auch einfach für das Anzeigen von Bildern und Videos verwendet werden. Und darauf konzentriert sich dieser Tipp der Woche.

Bilder und Videos mit OpenCV anzeigen aus dem Kurs „Python-Entwicklertipps: Jede Woche neu“ von Ralph Steyer

Dynamische Klassen und Typinformationen generieren – aus dem LiL-Tutorial zu Python

In Python kann man mit type nicht nur zur Laufzeit den Typ eines Objektes bestimmen, sondern sogar dynamisch eine Klasse generieren. Und genau das ist das Thema meinem Entwickler-Tipp der Woche bei LiL (LinkedIn Learning).


Dynamische Klassen und Typinformationen generieren aus dem Kurs „Python-Entwicklertipps: Jede Woche neu“ von Ralph Steyer

An apple a day keeps the doctor away

Äpfel sind gesund und schmecken meist (nicht zuletzt in Form von Äppler im Gerippten – also unserem regionalen Apfelwein). Aber zu technischen Äpfeln habe ich ein sehr gespaltenes Verhältnis. Die Zeit, wo ich auf Apple-Produkte herab geschaut habe, nur um mich als etwas Besseres zu fühlen, sind vorbei. Man wird Altersmilde. Und auch wenn ich niemals ein Apfel-SmartPhone, -Tablet oder sonstiges -Consumergerät haben will. Mich hat ein uralter Mac Mini, den ich eigentlich nur vor Jahren im Rahmen meiner Videotrainings zu iOS-Entwicklung für LinkedIn Learning (LiL) eingesetzt hatte, vor einigen Monaten bei den Corona-bedingten virtuellen Proben meiner Band komplett beeindruckt.

Wir nutzen bei den regelmässigen virtuellen Proben ein Programm mit Namen JamKazam und damit kann man – einen entsprechenden Account, gutes Internet und passende Hardware vorausgesetzt – fast Latenzfrei direkt live zusammenspielen. Mein Highend USB Interface, das ich von LinkedIn Learning (LiL) für meine Remote-Videotrainings gestellt bekomme, ist schon mal ideal, aber nur mit dem Mac Mini gibt es das perfekte Zusammenspiel – im wahrsten Sinn des Wortes. Mit drei anderen Rechnern (alle mit Windows 10) gab es immer irgendwelche kleinen oder grossen Macken.

Nur beim Mac läuft alles „out-of-the-box“. Das hat mich zu der Überlegung gebracht, ob ich mir nicht doch mal einen neuen Apple-Rechner zulegen sollte. Der neue M1-Prozessor soll ja verdammt gut sein. Vielleicht einen Mac Mini der neuen Generation? Nur gibt es die Dinger leider nur mit winzigem RAM und minimaler SSD. Da ein späteres Aufrüsten nicht geht, wäre eine Anschaffung nur dann sinnvoll, wenn man den Rechner 2 oder 3 Jahre als Hauptrechner einsetzt und dann abstösst. Da ich aber die Sache mehr oder weniger als „Hobby“ bzw. zum Aufbau von etwas mehr Erfahrung in der fremden Apple-Welt betrachte, ist mir die Angelegenheit zu teuer. Das ist ja immer das Apple-Problem – mindestens doppelt so teuer wie die direkte Konkurrenz und Aufrüsten ist nicht vorgesehen. Der neue All-in-one-Rechner von Apple hat mich jetzt auch komplett abgeschreckt. Die Vermarktung und die Schwerpunkte sowie die erkennbaren Produktausrichtungen sind nicht meine Welt.

Aber es gibt ja noch den alten Mac Mini, der in meinem Büro in Eppstein verstaubt und nur seit einiger Zeit zu den besagten Bandproben 2 -3 x im Monat erwacht ist. Den habe wieder in mein Bodenheimer Büro mitgenommen, denn er ist immer noch leistungsfähig genug, auch wenn die neuste Version von macOS darauf schon nicht mehr läuft. Ausserdem kann ich einen Monitor drauf stellen und muss dafür nicht wie bisher ein Buch nehmen, um den etwas höher zu bekommen. Zwar habe ich keinen Monitor und auch keine Tastatur für den Mac Mini übrig, aber dem lästigen Umstecken begegne ich mit VNC. Damit bleibt auch der Schreibtisch leerer. Die minimale Verzögerung bei den Signalen kann ich akzeptieren und sollte ich wider Erwarten ernsthaft mit dem Mac arbeiten, kann ich ja für den Fall tatsächlich die Peripherie umstecken.

Das sollte für meine Apple-Ambitionen genügen und ich schaffe mir doch lieber wieder für weniger Geld einen leistungsfähigeren Rechner an. Aber auch das hat keine Eile – noch geht meiner Workstation, das Matebook sowieso und selbst mein altes Terra-Notebook kann als Backup-Rechner alles liefern, was sich brauche (wenn auch etwas gemütlicher).

eval is evil – der aktuelle Python Entwickler-Tipp

Die Woche ist wieder rum und mein neuer Entwickler-Tipp der Woche bei LiL (LinkedIn Learning) ist freigegeben. Dieses Mal behandele ich das Thema Strings evaluieren in Python. Das geht mit der eval-Funktion, die aber nicht ganz unkritisch ist. Der Tipp stammt – wie die anderen bisher veröffentlichten Tipps – aus dem Kurs: Python-Entwicklertipps: Jede Woche neu.

Shallow-Copy: tiefes und flaches Kopieren – mein aktueller Python-Tipp der Woche

Nachdem als eine Art Belohnung für die gestiegenen Belastungen während der Corona-Krise letzte Woche LinkedIn alle Mitarbeiter weltweit in Urlaub geschickt hat, gab es auch von mir in dieser Woche keinen neuen Entwickler-Tipp der Woche zu Python. Aber seit Montag ist dieser Urlaub vorüber und ich habe vorgestern und gestern schon wieder mit einem Ansprechpartnern bei LiL wegen neuer Aktionen gesprochen. Und es gibt ab heute den nächsten Tipp der Woche.

Dabei geht es um Referenzen und Kopien in Python im Allgemeinen und die Unterschiede zwischen flachem und tiefem Kopieren im Speziellen. Python kennt verschiedene Versionen von Kopiervorgängen. Diese haben Auswirkungen darauf, was kopiert und was nur referenziert wird. Python zaubert im Hintergrund ganz gewaltig,

Shallow-Copy: tiefes und flaches Kopieren aus dem Kurs „Python-Entwicklertipps: Jede Woche neu“ von Ralph Steyer