Archiv der Kategorie Programmierung
Leere ohne Breite
Im typographischen Setzkasten gibt es seit der Renaissance Zwischenräume (Spatien) verschiedener Breite, gemessen in Unterteilungen eines Gevierts (der Breite, die der Höhe der Letternkegel einer Satzschrift entspricht). Eine Breite kam erst mit dem digitalen Schriftsatz hinzu: Ein Leerzeichen mit einer … Weiterlesen
Shebang
Letztens wunderte ich mich, warum ein Shell-Skript, das lokal einwandfrei lief, auf dem Server mit einer Fehlerausgabe aussetzte. Die beanstandete Zeile entspricht in etwa folgendem Code-Schnipsel: if [[ $PATH =~ (^|:)$DIR(:|\$) ]] then echo „$DIR is in the PATH“ fi
Doppelklammern
In einem früheren Artikel über die Bash haben wir uns bereits mit Ersetzungen im Sinne von Befehlssubstitutionen und insbesondere bei der Extraktion von Teilen von Zeichenketten befasst. Es gibt auch Ersetzungen, welche als Arithmetic Expansion bezeichnet werden, bei denen eine … Weiterlesen
Ersetzungen
Zu einem unixoiden System, wie es auch Linux und Mac OS X sind, gehört unbedingt eine Shell. Sicher gibt es Anwender (vielleicht die meisten), die noch nie eine Befehlszeile in eine Shell getippt haben, und lieber die Finger davon lassen. … Weiterlesen
Kopieren über Schreiben
Der Zugriff auf gemeinsam benutzte veränderliche Daten sollte in nebenläufigen Programmen synchronisiert werden, weil ein kritischer Wettlauf (race condition) zu Zugriffsfehlern und zu nicht deterministischem Verhalten führt (s.a. Item 66 in Effective Java von Joshua Bloch, 2. Auflage, 2008). In … Weiterlesen
Ressourcen freigeben
Bei Nr. 41 der Tüftelfragen in Java Puzzlers von Joshua Bloch und Neil Gafter (2. Auflage, 2005) geht es darum, wie zwei Datenströme, ein Eingabestrom und ein Ausgabestrom, sicher geschlossen werden, somit so, dass auf jeden Fall – also auch … Weiterlesen
Wege durch den Schutzwall
Der Stein rollt, aber es bröckelt: Änderungen, die es leichter machen sollten, sich durch eine Firewall mit einem JMX-Server zu verbinden, wurden diese Woche aus der Feature-Liste für Java 7 gestrichen. Begründet wurde der Schritt mit der zu knapp gewordenen … Weiterlesen
Ansicht oder Kopie?
Es lohnt sich oft, den Vertrag einer Methode zu lesen, also die Dokumentation, welche die Methode, ihre Argumente, ihre Rückgabe und die Auswirkung auf den Status des Objektes beschreibt. Bei manchen Methoden von Java-Collection-Klassen ist das besonders wichtig, denn sie … Weiterlesen