Programmierblog von Johannes Dienst

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

Nib: Library für Stylus

Posted by in JavaScript, Nodejs, Präprozessor

Mit dem Präprozessor Stylus habe ich im letzten Blog meine Loginseite gestylt. Das Ergebnis sah dann so aus: Stylus an an sich ist schon sehr mächtig. Erweitert man es zusätzlich mit Nib hat man so ziemlich alles an der Hand, was man so braucht um Webseiten sogar Cross-Browserfähig zu gestalten. Installation Um Stylus mitzuteilen, dass es Nib verwenden soll hängt man in der Funktion compile noch ein use(nib()) an das return-Statement mit an.

In der style.styl muss man nur noch die gebrauchten Features einbinden. Für das Augmentieren von Gradienten…read more

0

Mit Stylus Webseiten Stylen

Posted by in CSS, Nodejs, Präprozessor

Wer mein Nodejs-Tutorial aufmerksam gelesen hat (Wer nicht kann das gerne nachholen 😉 ) hat sich sicher schon gefragt, ob ich das so lassen will von der Optik her. Natürlich nicht! Das CSS zu erstellen hätte nur völlig den Rahmen gesprengt. Deswegen hole ich das mit diesem Beitrag nach. Für die CSS-Erstellung sind heutzutage Präprozessoren voll im Trend. Neben Sass, Less und noch ein paar weiteren unbekannteren Vertretern, hat sich für Nodejs Stylus als Quasi-Standard etabliert. Deswegen werde ich auf die ersten Schritte, die mit man so mit Stylus macht…read more

0

6 Bücher für (Java-)Entwickler

Posted by in Buch, clean code

In diesem Post stelle ich 6 Fachbücher vor, die mich besonders inspiriert haben. Darunter sind sowohl Java-Spezifische als auch allgemein Bücher für Entwickler. Der Weg zum Java-Profi Das Buch Der Weg zum Java-Profi: Konzepte und Techniken für die professionelle Java-Entwicklung ist für mich DIE Java-Bibel überhaupt. Es behandelt so ziemlich jeden Aspekt von Java. Von den Basics bis hin zu Bad-Smells und verschiedenen Garbage-Collection-Strategien. Der pragmatische Programmierer Andrew Hunt und David Thomas haben 2003 mit Der Pragmatische Programmierer eine neue Sichtweise auf die Programmierkunst aufgezeigt. Einige Punkte sind zwar inzwischen…read more

0

Git: Basics

Posted by in git

Seit einigen Monaten schon wollte ich auf github.com ein eigenes Projekt hochladen. Habe es dann doch nie getan, weil ich das Ganze mit Eclipse und Egit machen wollte und mir die Bedienung von git zu undurchsichtig war mit all dem Staging, und Branchen usw. Die ersten Gehversuche Für mein kleines Nodejs-Tutorial wollte ich aber unbedingt den Source-Code online stellen. Also habe ich mich auf die Suche nach Tutorials gemacht, die git auf der Kommandozeile behandeln, da es eigentlich von dort bedient werden soll. Und siehe da, es hat endlich Klick…read more

0