Mehrstufige Validierung

Die JSR 303 und JSR 380 Spezifikationen für Annotationen zur Validierung von Feldern sind sehr praktisch, insbesondere im Umfeld von Spring und Hibernate, stellen sie auf einfache Weise konsistente Daten sicher. Doch nicht immer ist der Einsatz der Standardimplementierung trivial und muss den Bedürfnissen angepasst werden. In diesem Fall habe ich eine Prüfung für Usernamen genauer unter die Lupe genommen.
“Mehrstufige Validierung” Weiter lesen

Stringsuche über NGramme

Vor einiger Zeit erfreute ich mich an der Suchfunktion für Klassen in IntelliJ IDEA. Gibt man dort z. B. “arrli” ein, werden die Treffer so gefiltert, dass man relativ schnell auf “ArrayList” kommt. Es werden also Teile der Eingabe an verschiedenen Stellen gesucht, denn das “arr” ist am Anfang von “ArrayList”, das “li” erst in der Mitte.
So fasziniert, wie ich von dieser nützlichen Funktion war, wollte ich wissen, wie sie funktioniert.
“Stringsuche über NGramme” Weiter lesen

JDBC Performance-Debugging mit JDBC-Perf-Logger

Datenbankqueries Monitoren und die Performanz Debuggen ist eine Herausforderung für sich selbst. Bei Einsatz von JPA und Hibernate kann man zwar die geloggtten Abfragen und auch Querystatistiken anzeigen lassen, aber richtig komfortabel sind diese Werkzeuge meistens nicht.

Mit dem Tool JDBC-Performance-Logger kann man den eingesetzten JDBC Treiber durch den Perf-Logger-JDBC-Proxy ersetzen und erhält dadurch alle ausgeführten Queries. Ein kleines GUI-Tool hilft dann dabei, alle Abfragen samt Ausführungszeiten anzuzeigen, gruppieren und filtern.