Eine der Sachen, die ich mir nie merken kann: Wie adressiere ich eine Datei (z.B. Properties), die neben der zugehörigen Klasse im Paket liegt? Die Meta-Klasse der Klasse enthält den gesuchten Pfad: final File file = new File( MyClass.class.getResource( „myfile“ ).getPath() ); Textdatei in String lesen Will man eine solche Datei lesen und in einen… Dateien relativ zur aktuellen Klasse adressieren weiterlesen
Heterogene Webserver-Umgebung mit Nginx zusammenfassen
Nginx ist ein recht schmaler Webserver, der dank seiner Forward-Proxy-Eigenschaften sehr gut dazu geeignet ist, verschiedene Webserver unter einem Host zusammenzufassen. „Für jeden Job das passende Werkzeug“ führt gern zu folgenden Strukturen auf Server und Entwicklungsumgebung: http://localhost:8080/tomcat-project http://localhost:8081/node-project http://localhost:8082/php-project Ein Albtraum für jeden Ajax-Entwickler. Mit Nginx lassen sich verschiedene Hosts und Ports zusammenfassen.
Probleme mit falschen Liquibase-Checksummen beheben
Liquibase ist eine nette Sache, um die Evolution von Datenbankschemata zu verwalten. Nervig wird es, wenn man während der Entwicklung ein bereits ausgeführtes Changeset noch einmal ändern muss und infolge dessen die Checksummen nicht mehr stimmen: liquibase.exception.ValidationFailedException: Validation Failed: 1 change sets check sum changelog.xml::changeSetId::author is now: 3:eeeedcadbc71ae018f46bd682e9132c7 Die Lösung ist recht einfach: Der betroffene… Probleme mit falschen Liquibase-Checksummen beheben weiterlesen
Rote Ampeln
Eine rote Ampel zu ignorieren ist ja schon irgendwie unverantwortlich. Aber was ist dann das Überholen eines bei Rot haltenden Autos, um die Ampel zu überfahren? Mein persönlicher Sprachlosmacher des Tages…
Betroffenheitskunde beim NDR
Die Moderatorin des Radiosenders N-Joy bringt es noch mal auf den Punkt: Es mache schon sehr betroffen, wenn der US-Präsident in seiner Ansprache mit den Tränen ringe. Danke Lena Vogt, nun wissen auch die dummen jugendlichen Zuhörer, wie sie 20 tote Grundschüler emotional einzuordnen haben.
Nutzereingaben mit dem HTML-Element kbd
Eines der weniger verbreiteten HTML-Elemente ist <kbd>. Laut W3C dient es dazu, den Text anzuzeigen, den der Nutzer eingeben soll: „KBD: Indicates text to be entered by the user.“ Das klingt natürlich wunderbar schwammig, viele Websites nutzen es aber einfach für die Darstellung von einzelnen Tasten, um so Shortcuts darzustellen. Da auch das W3C-Wiki diese Verwendung… Nutzereingaben mit dem HTML-Element kbd weiterlesen
Fensterwut nach Windows-Phone-Kampagne gegen Android
Da habe ich Microsoft kürzlich für seine Internet-Explorer-Kampagne gelobt und nun sowas: Im Rahmen des Twitter-Accounts Windows Phone, einem proprietären Nischenbetriebssystem für skandinavische Telefone in schrecklichen Farben, ruft der Konzern dazu auf, Horrorgeschichten über Android zu verbreiten. Nicht, dass diese auch stimmen müsse: „Do you have an Android malware horror story?“ Wer sich die mieseste… Fensterwut nach Windows-Phone-Kampagne gegen Android weiterlesen
Bash: Letztes Argument erneut einfügen
Kleiner Tipp zum Wochenende: In der Bash kann man mit einem einfachen Tastenkürzel das Argument des letzten Befehls an der aktuellen Cursorposition einfügen: Alt + .. Das ganze funktioniert auch in der ZSH.
Binding mit Google Guice
Die Projektseite von Google Guice und ihr Wiki empfinde ich als selten hilfreich. Besser macht sich da das zugehörige Javadoc, dass meine Fragen meist direkter zu beantworten wusste. Beispiel Binding-Möglichkeiten Implementierung an Interface binden Üblicherweise bindet man ein Interface an seine Implementierung: bind(Map.class).to(ArrayMap.class);
Neue Beta-Version von Any.do für Chrome
Da ich noch in der Google-Group von Any.do angemeldet bin, wurde ich heute auf eine neue Beta-Version der Aufgabenverwaltung aufmerksam gemacht. Inhaltliche Änderungen konnte ich kaum ausmachen, so dass meine Kritikpunkte im Wesentlichen bestehen bleiben. Ein wichtiger Punkt wurde jedoch behoben: Die Größe des Popup-Fensters kann nun geändert werden, nachdem man es von der Addon-Leiste… Neue Beta-Version von Any.do für Chrome weiterlesen