Ich kann mir nicht helfen, nach zwei Jahren Ruby sieht Java manchmal nur noch umständlich aus. Gerade bei kleinen, in sich geschlossenen Programmen sollte man die Sprache mit Bedacht wählen. Wie aufwendig kann es sein herauszufinden, ob die verschiedenen Klammerarten in einem String ausbalanciert sind? Diese Frage stellte sich auch Code Corner und lieferte diese Lösung… Bracket-Balancing in Ruby weiterlesen
Schlagwort: Java
Ubuntu: Java-Standardversion festlegen
Ein kürzlich installiertes Paket hatte das Java JDK 7 als Abhängigkeit. Netterweise hat es dies gleich als Standard eingestellt, so dass meine Java-6-Projekte nun nicht mehr richtig wollten. Statt alle Projekte umzustellen war es einfacher, den Standard im System wieder zurückzudrehen: sudo update-alternatives –config java
Compiler-Sicherheit für Wicket: Bindgen und Wicket-ID-Bindings-Generator
Eine zentrale Schwachstelle von Apache Wicket ist die fehlende Sicherheit zur Übersetzungszeit. Viele Dinge werden als Strings angegeben, so dass simple Tippfehler erst zur Laufzeit und somit schlimmstenfalls erst beim Kunden auffallen. Betroffen sind vor allem drei Bereiche: PropertyModels, in denen Objektattribute als Strings notiert werden: new PropertyModel<String>(person, „name“); Wicket-ID-Referenzen, die Komponenten mit ihrem Template… Compiler-Sicherheit für Wicket: Bindgen und Wicket-ID-Bindings-Generator weiterlesen
Nighthacking auf Youtube
Eine kleine Empfehlung für Software-Entwickler: Der Youtube-Kanal Java hat viele sogenannter Nighthacking-Videos, in denen professionelle Programmierer frei und locker über für sie interessante Themen erzählen und direkt in Code gießen. Es wirkt nicht aufgesetzt und oft funktioniert nicht alles auf Anhieb. Eine Mischung aus charmant und lehrreich, die ich sehr unterhaltsam finde. Ein Beispiel: Venkat Subramaniam… Nighthacking auf Youtube weiterlesen
Alles schon da: Vielseitige Runtime-Exceptions in Java
Ich kann es nicht mehr sehen: Try-Catch-Throw, Try-Catch-Throw. Gecheckte Exceptions sind so gut wie tot, helfen wir bei der schnellen Beerdigung. Java bietet von Haus aus ein kleines aber feines Portfolio an Runtime-Exceptions. Diese decken fast alle Fälle des täglichen Bedarfs ab und belästigen den Aufrufer nicht mit möglichen Fehlern, die er ohnehin nicht ordentlich… Alles schon da: Vielseitige Runtime-Exceptions in Java weiterlesen
Mikro-Webframework Spark
Für Node und Co. sieht man sie überall, aber auch für Java gibt nette Minimal-Frameworks, wenn es um eine kleine Webanwendung geht. Spark ist einer der Vertreter, über den ich gerade gestolpert bin. Nicht ewig mit Umherkonfigurieren, keine neue Template-Sprache lernen, kein stundenlanges API-Lesen. Wenn der Großteil der Webapp ohnehin aus Javascript besteht, ist so… Mikro-Webframework Spark weiterlesen
Dateien relativ zur aktuellen Klasse adressieren
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
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);
Java: Nicht-Null- oder Default-Wert
Ein typisch-nerviges Java-Szenario ist das ewige Nullgeprüfe. Oft will man den Wert aus einem Parameter oder aber eine Alternative nutzen, wenn der Parameter null ist. Klassisches Beispiel: Ist ein String null, gib einen leeren String aus, wenn nicht, gib den String selbst aus. Eine einfache Lösung dafür bietet beispielsweise Apache Commons in der Funktionssammlung ObjectUtils.
Echtzeit-Semantikprüfung für Java
Fast schon unscheinbar kommt es daher, bahnbrechend könnte die Idee sein: Das Eclipse-Plugin JUnitLoop prüft in Echtzeit, welche Unittests von gerade gemachten Änderungen betroffen sind und führt diese automatisch aus. Der Entwickler bekommt mit dem Speichern eine Rückmeldung, ob und wo seine Änderungen zu Problemen geführt haben. Das Tool ist in etwas so einfach zu bedienen,… Echtzeit-Semantikprüfung für Java weiterlesen