Programmierblog von Johannes Dienst

Warum man als Programmierer bescheiden bleiben sollte

Posted by in clean code

Da ich ständig versuche über meine Arbeit zu reflektieren – was übrigens auch von einem Clean Code Entwickler erwartet wird – komme ich immer wieder zu der Frage: Was macht denn einen guten Softwareentwickler aus? Inzwischen glaube ich ja, dass ich gar nicht so schlecht in dem bin, was ich tue. Aber ich bin weit vom Expertenstatus des Dreyfus Modells entfernt. Für Projekte, die ich selbst mitentwickelt habe, kommt es tatsächlich vor, dass ich Experte bin, da ich bei Bugs intuitiv sagen kann, wo genau das Problem liegt. Also wie…read more

0

Ausbilderqualifikation in Vollzeit bei der IHK Würzburg-Schweinfurt

Posted by in Allgemein

Seit Anfang April bin ich stolzer Besitzer einer Prüfungsurkunde laut AEVO. Damit bin ich qualifiziert, Fachinformatiker ausbilden zu können. Falls Interessse an einer Ausbildung besteht gehts hier zu der Seite meines Arbeitgebers MULTA MEDIO Informationssysteme AG. Wie der Unterricht und die Prüfungen abgelaufen sind, werde ich in den nächsten Absätzen beschreiben. 1. Woche Nach einem langgezogenen Papierkrieg und vielen Unterschriften wurden wir nach einer kurzen Vorstellungsrunde von unserer engagierten Dozentin Frau Münch in Gruppen aufgeteilt. Wir sind ein bunter Haufen bestehend aus einem Informatikkaufmann, einer Hotelfachfrau, einem Restaurantfachmann, einer Verwaltungskauffrau…read more

0

Git: Repository aus Github klonen und bearbeiten

Posted by in git

In meinem Artikel Git: Basics habe ich grundlegende Funktionalitäten von Git im Zusammenspiel mit Github anhand eines Beispiels vorgestellt. Dieser Artikel zeigt, wie ich ein auf Github erstelltes Repository klone und dann Dateien hochpushe. Kleine Werbung am Rande: Es handelt sich dabei um einen Output-Wrapper für xml.js der hier zu finden ist xml.js-Output-Wrapper. Repository klonen Zuerst muss man das Repository auf github erstellen. Die URL ist in diesem Fall https://github.com/JohannesDienst/xml.js-Output-Wrapper.git. Dann kann man schon klonen.

Dateien adden und committen Der xml.js-Wrapper besteht aus genau zwei Dateien. Zuerst der Wrapper…read more

0

LESS in Eclipse automatisch kompilieren

Posted by in CSS, eclipse, Präprozessor

In letzter Zeit arbeite ich viel mit dem CSS-Präprozessor LESS. Da es für meine Lieblingsentwicklungsumgebung Eclipse anscheinend kein gutes Plugin gibt, habe ich mir einen Project-Builder zusammengebaut, der bei einer Änderung in LESS automatisch die neue CSS-Datei erstellt. Setup Unter der github-Seite des Projekts in der Sektion Getting started gibt es verschiedene Installationsmöglichkeiten. Je nach Einsatzgebiet wählt man dann das Passende aus. Wichtig ist, sich den Installationsort zu merken (vor allem unter Windows). Unter Linux hilft einem das Konsolenkommando whereis lessc weiter (bei mir ist das /usr/bin/lessc). Dieser Pfad wird…read more

0

SASS mit libsass in Nodejs (1): Installation

Posted by in CSS, Nodejs, Präprozessor

Dieser Blog beschreibt das Setup das notwendig ist, um SASS anstatt mit Ruby mit Nodejs zu kompilieren. Dazu wird die Library namens libsass benötigt und der Taskrunner Grunt mit dem Modul grunt-sass. Grunt sorgt dafür, dass bei einer Änderung in den SASS-Dateien automatisch das CSS neu erstellt wird. So erspart man sich nervige manuell angestoßene Kompilierungsvorgänge. package.json Zuerst erstellen wir einen Projektordner und legen in diesen eine package.json mit folgendem Inhalt:

Soweit so gut und nichts Besonderes. grunt-contrib-watch sorgt für das automatische Neukompilieren bei Änderung von SASS-Dateien. grunt-sass musste…read more

0

Legacy Code refactoren

Posted by in clean code, legacy

Immer wieder komme ich mit Legacy Code in Berührung, der mitunter schon ziemlich alt sein kann. Dementsprechend schwierig kann die Arbeit mit so einer Codebasis werden. Richtig knifflig wirds, wenn von mehreren Entwicklern Änderungen eingepflegt wurden und immer wieder Spezialfälle individuell gelöst wurden, anstatt einen generellen Ansatz zu verfolgen. Inzwischen habe ich mehrere Punkte für mich herausarbeiten können, die mir besonders weiterhelfen, wenn ich mit Legacy Code zu tun habe Umfangreiches Refactoring braucht Zeit. Diese Zeit muss vor allem störungsfrei sein. Ansonsten gibt es nur Frust und man zerstört im…read more

0

Clean Code mit PHP: Geht das?

Posted by in Allgemein

Der aufmerksame Leser wird festgestellt haben, dass ich nun schon seit längerem im zweiten Grad der Clean-Code-Developer Initiative verweile. Der erste Grund ist der, dass ich erst seit 3 Wochen wieder Vollzeitprogrammierer bin. Vorher war ich mit Continuous Integration beschäftigt, das vielleicht auch noch einen Artikel wert ist. Jetzt aber zurück zum eigentlichen Grund meines langen Verweilens im orangenen Grad: PHP. Im Moment integriere ich eine Reihe von Shortcodes in WordPress um mit Motopress anschließend Seiten zusammenklicken zu können. Dabei habe ich nicht nur oberflächlich mit PHP zu tun, sondern…read more

0

Red 0.4.3: Experimente auf der Red-Konsole

Posted by in red

Version 0.4.3 von Red wurde vor Kurzem releast. Neben dem größten Punkt Floating-Point-Support gab es einige neue Funktionen, die ich in diesem Blog auf der Red-Konsole vorstellen werde. An dieser Stelle verweise ich auch mal auf das Video, in dem Nenad Rakocevic einen Überblick darüber gibt, was Red eigentlich ist. Action to Für integer/float/string gibt es eine Action, um diese ineinander zu transformieren.

Mit den neuen mezzanine-Funktionen float? und routine? kann man überprüfen, ob eine Variable ein float oder eine Routine ist

Ein Vergleich von Variablen ist auch…read more

0

Quicksort in Red

Posted by in red

Mein letzter Beitrag ist einige Zeit her, denn ich habe mich mit Red beschäftigt. Die Sprache steckt noch mehr als in den Kinderschuhen, da sie erst seit 2011 entwickelt wird. Interessant ist sie deswegen, weil sich die Erfinder das Ziel gesetzt haben, eine FullStack-Language zu entwickeln, mit der man auf jedem Abstraktionsniveau arbeiten kann. Außerdem ist die Syntax mehr als außergewöhnlich, da viele Befehle wie einfache Sätze geschrieben werden können. Ein erfrischendes Konzept, wenn man Unsprachen wie PHP als Vergleich heranzieht. Schön ist auch die sehr freundliche Community, die sich…read more

0

Nodemon und PM2 mit Express 4

Posted by in JavaScript, Nodejs

Nodemon und PM2 sind sehr nützliche Tools für die Entwicklung und dann später in der Poduktion. Mit Express 3 konnte man nach der Installation einfach diese Aufrufe zum starten der Applikation benutzen:

Mit dem neuen Layout von Express 4 änderte sich das Startkommando auf npm start. Dabei wird auf die package.json und dort auf Scripts->start verwiesen, das dann ausgeführt wird. Will man Nodemon starten, dann muss man hier statt node einfach nodemon eintragen.

Startet man jetzt die Applikation sieht man in der Konsole, dass sie mit Nodemon gestartet…read more

0