Ruby mit RVM unter Ubuntu installieren

Ruby unter Ubuntu zu installieren ist nicht schwer. Es ist in den Paketquellen enthalten und auch das Bauen einer aktuelleren Variante ist nicht wirklich kompliziert. Ein Problem ist jedoch, dass Ruby noch stark in der Entwicklung steckt und auch kleine Versionssprünge große Änderungen mit sich bringen können. Mit Paketquellen ist es schwierig überall genau die… Ruby mit RVM unter Ubuntu installieren weiterlesen

Git-Merge-Konflikte mit Diff3 einfacher lösen

Merge-Konflikte zu beheben ist nicht immer leicht: <<<<<<< HEAD customer.setPriority(42); ======= client.setPriority(32); >>>>>>> master Customer oder Client? 42 oder 32? Die richtige Lösung muss aus dem umliegenden Code abgeleitet werden. Hier kann es wie so oft helfen, den letzten gemeinsamen Stand der Versionen zu sehen.

Umfrage: Die beste Schriftart für Programmierer

Adobe Source Code Pro

Auf der Website Slant läuft derzeit eine Umfrage nach der besten Programmierschriftart. Ganz oben ist derzeit das freie Source Code Pro, insgesamt werden über 30, zum Großteil quelloffene oder zumindest gratis nutzbare Alternativen in Bildform vorgestellt. Für jeden Entwickler einen Blick wert…

SQL-Datenbankänderungen testen

Manchmal dauert es ein wenig, bis man auf das Offensichtliche kommt. Ich habe hin und her überlegt, wie ich ein Update und Alter Table testen kann, ohne die Daten zu gefährden. Die Lösung ist elementarer Bestandteil einer jeden SQL-Datenbank: Eine Transaktion. Transaktionen in PostgreSQL begin; alter table mytable rename column id to name; \d mytable

Coffeescript nur nach Änderung kompilieren

Bash-Build-Script für Node

Mein Build- und Entwicklungshilfe-Script für Node-Projekte kann bereits das Wesentliche: Coffeescript kompilieren, Tests ausführen, einen Server starten und beenden sowie das Dateisystem überwachen, um die anderen Aufgaben nach jedem Speichern automatisch auszuführen. Die schnell geschriebene Build-Task kompiliert stets jede Coffee-Datei, die sie finden kann. Um nach dem Speichern möglichst schnell die Ergebnisse zu erhalten, sollte aber nur neu gebaut werden, was sich auch geändert hat.

Server im Build-Prozess starten und stoppen

Bash-Build-Script für Node

Entwickelt man eine Server-Anwendung, so sollte das verwendete Echtzeit-Build-Script auch in dieser Lage sein, diesen zu starten und zu beenden. So muss der Entwickler nach dem Speichern im Browser nur noch F5 drücken, um die Änderungen zu sehen (das völlig unzumutbare F5-Drücken wird später auch entfallen).

Bash-Build-Script mit Desktop-Nachrichten und Dateiüberwachung

Bash-Build-Script für Node

Ich habe mich die letzte Zeit viel mit Grunt herumgeschlagen. Grunt ist ein umfangreiches und mächtiges Build-Werkzeug für Node, dennoch hatte ich stets das Gefühl, dass die Konfiguration umständlicher als der wirkliche Nutzen ist. Ich habe daher mit einem Build-Script auf Bash-Basis begonnen, welches vom Nutzer spezifizierte Aufgaben nacheinander ausführt. Diese frühe Version unterstützt Coffeescript-Kompilierung,… Bash-Build-Script mit Desktop-Nachrichten und Dateiüberwachung weiterlesen

Node-Coding-Style: Vergleich zwischen Node FS und NPM

Noch immer führt die Suche nach einem Coding-Style für Node.js ins Leere. Da man sich für ein gleichmäßiges Code-Bild auch ohne offizielle Vorgabe Richtlinien schaffen muss, habe ich hier einen Vergleich zweier wesentlicher Module vorgenommen: Nodes integriertes FS und das unangefochtene Paketwerkzeug NPM. Ich betrachte für mich derzeit relevante Punkte, wie etwa: Einrückung if-Statements Stringausdrücke… Node-Coding-Style: Vergleich zwischen Node FS und NPM weiterlesen

Pfad und Name eines Bash-Skripts

Oft muss ein Bash-Script einige Sachen von sich selbst wissen, um zum Beispiel das CWD sicherzustellen oder sinnvolle Ausgaben zu erzeugen. Die folgenden drei Befehle befüllen drei Variablen mit dem absoluten Verzeichnispfad, mit dem Dateinamen und dem vollständigen Pfad zur aktuellen Script-Datei: #!/bin/bash # /home/user scriptdir=$(cd $(dirname $0); pwd -P) # test.sh scriptname=$(basename $0) #… Pfad und Name eines Bash-Skripts weiterlesen

Live-Unittest-Entwicklungsumgebung für Node

Und wieder mal mehr Zeit in die Arbeitsvorbereitung als in die eigentliche Arbeit gesteckt. Eigentlich wollte ich in einem bestehenden Node-Projekt auch mit Coffee-Script arbeiten können. Herausgekommen ist eine Entwicklungsumgebung, in der man jede auf Node basierende Sprache wie eben Coffee- oder auch Type-Script verwenden kann, eine die Änderungen in Echtzeit deployt, die Unittests ausführt… Live-Unittest-Entwicklungsumgebung für Node weiterlesen