Rechtschreibprüfung in Java

Gregor Ottmann | Juli 27, 2006 on 9:57 am | In Know-How, Tools | 2 Comments

Argh, der Tag ist stressig, die Zeit ist knapp - aber den Artikel über Rechtschreibprüfung in Java-Programmen mit “Jazzy”, den ich heute gefunden habe, muss ich doch kurz in die Community werfen - sonst vergesse ich das wieder, bis ich es selber mal gebrauchen kann.

Wenn irgendwer weiß, woher man deutsche Dictionary-Files für das Ding kriegt, bin ich übrigens für Hinweise stets dankbar.

Heute wird getestet!

Gregor Ottmann | Juli 21, 2006 on 7:58 am | In Know-How | No Comments

Der geschätzte Kollege OBlume durfte sich in letzter Zeit viel mit Unit-Tests rumschlagen, und erfreulicherweise hat er mir mitgeteilt, was er so herausgefunden hat. Beispielsweise fand ich den Artikel über das Testen von Spring-Webapplikationen mit Mock-Objects, den der gute O ausgegraben hat, sehr interessant. Ähnlich interessant wie den über die Überprüfung von O/R-Mappings, auch wenn ich zugeben muss, letzteren nicht bis zum Ende aufmerksam gelesen zu haben. Es ist einfach zu warm für sowas, derlei Texte lese ich prinzipiell nur bis maximal 25° im Schatten.

Wie man den MS SQL Server 2005 clustert

Gregor Ottmann | Juli 21, 2006 on 7:41 am | In Datenbanken, Know-How | 1 Comment

Verklumpte Server sind schön, weil nicht gleich alles futsch ist, wenn mal eine der eingeklumpten Kisten die legendäre Blutgrätsche des Todes hinlegt. Leider ist es nicht annähernd so einfach, so ein paar Datenbankserver zu einem Verbund zusammenzuschalten, wie die Werbung es uns hoffen lässt. Nein, dazu gehört durchaus noch etwas Gehirnschmalz, eine ordentliche Portion Geduld, etwas Glück und ein Kasten Cola. Kartoffelchips sind nützlich, aber optional.

Neulich mussten bei uns jedenfalls im Rahmen eines Projekts ein paar MS-SQL-Server zu einem Cluster verklebt werden, und die Sache lief wohl nicht ganz so intuitiv, wie es erhofft wurde. Damit die Probleme beim nächsten Mal nicht ganz so krass werden, schrieb Kollege ABraun freundlicherweise ein HowTo zusammen, und ich als Euer geliebter Reporter und Helfer in der Not habe das Dokument gleich mal abgegriffen. So präsentiere ich Euch mit stolzgeschwellter Brust eine detaillierte Anleitung zur Verclusterung des MS SQL Server 2005 und grüble anschließend eine Weile darüber, wie man wohl “MS SQL Server 2005″ korrekt schreibt, ohne sich der Sünde des Deppenleerzeichens schuldig zu machen. Sachdienliche Hinweise werden gerne in Form von Kommentaren entgegengenommen.

HINWEIS: Im Dokument wird auf ein anderes Dokument, das SKYTEC-HOWTO für NLB-Clustering, verwiesen. Nach dem Dokument wurde schon mehrfach gefragt und ich muss leider sagen, dass dieses NICHT rausgegeben werden kann. Ich habe die Gründe dafür selber nicht ganz verstanden, aber die zuständigen Kollegen bestehen darauf, dass das Ding vertraulich ist, deswegen kann ich es nicht veröffentlichen - Nachfragen ist zwecklos. Nach Aussage des Autors braucht man das andere Paper aber auch nicht wirklich, also ist das wohl halb so schlimm.

Kostenloser 10-wöchiger AJAX-Onlineworkshop

Gregor Ottmann | Juli 21, 2006 on 7:20 am | In AJAX, Aktuelles, Know-How | 2 Comments

Ein sauberes Netz dank Scheuermittel! AJAX FTW! Spätestens seit meinen durchaus positiven Erfahrungen bei der Einbindung von Kallistra in Website mit Hilfe dieses AJAX-Krams bin ich von der Technologie ja wirklich angetan, auch wenn ich zugeben muss, dass ich momentan eigentlich nur mit Libs rumspiele, ohne wirklich komplett zu verstehen, wie die Grundlagen funktionieren. OK, im Grunde ist das optional, aber ich bin halt einer von diesen neugierigen Typen… Etwas strukturierte Fortbildung wäre nicht übel.

Eventuell verschaffe ich mir diese Fortbildung ja in Form des kostenlosen Online-Workshops über AJAX, der am 4. August offiziell losgeht und mir von MHenze gemeldet wurde. Falls ich bis dahin nicht schon durch intensive Webrecherche und Ajaxifizierung aller greifbaren Applikationen, die SKYTEC jemals gebaut hat, zum totalen Putzmittelprofi geworden bin. Und falls mich das Thema bis dahin immer noch so interessiert - ich bin ja bekanntlich extrem sprunghaft, was meine Interessen angeht.

Scriptakulöses AJAX

Gregor Ottmann | Juli 19, 2006 on 7:43 am | In AJAX, Tools | No Comments

Bisher habe ich es ganz gut geschafft, mich aus dieser ganzen AJAX-Soße herauszuhalten - da ich hauptsächlich Dinge mache, die wahlweise in Word, Excel oder auf dem Server eine Rolle spielen, gab es für mich noch nicht viele eigene Anwendungsfälle. Just gestern ergab es sich aber, dass ich doch mal ran musste bzw. wollte, weil ich “mal eben” was ausprobieren wollte, was ich für “eigentlich ganz easy” gehalten hatte: Ich wollte “nur” die Ausgabe unseres Kallistra-Servlets per AJAX in eine einfache HTML-Seite einbinden. Das ging prinzipiell auch ganz einfach, nur durfte ich dann feststellen, dass man mit “dingsbums.innerHtml = xmlRequest.responseText” zwar ganz viel HTML in die Seite kriegt, dafür aber das Javascript aus der externen Quelle komplett ignoriert ist. Meine zum Thema abgegebenen Kommentare möchte ich hier nicht wiedergeben, um keinen Ärger mit dem Jugendschutz zu provozieren.

Zum Glück stand just in dem Moment, als ich wild fluchend meinen Computer physisch zu misshandeln begann, mein Kollege LHoss im Büro und meinte nur, ich solle doch einfach “Scriptaculous” als AJAX-Helferlein nehmen, das könne sowas. Also gut, ich habe also das Zip gezogen, die Datei “prototypes.js” eingebunden und die folgende Zeile in meine Seite gebastelt:

new Ajax.Updater(’mydiv’, ‘/kallistra/pfadZumServlet’, {evalScripts:true});

Was soll ich sagen… Es tat, wie es sollte! Nach ein paar kurzen Blicken in die Dokumentation zu dieser Klasse hatte ich dann auch meinen Formularversand im Griff und bin jetzt ziemlich glücklich, weil ich in meinem Lebenslauf noch irgendwas von “Experte für Web-2.0-Technologien” schreiben kann… Ausgezeichnet, genau so muss das laufen.

Erfahrungen mit Hibernate

Gregor Ottmann | Juli 17, 2006 on 7:46 am | In Know-How, Tools | 1 Comment

Ich persönlich finde Hibernate ja irgendwie extrem sexy, zumindest so lange, wie ich keine Probleme damit habe. Andere finden es aber gar nicht, vor allem nicht in ihrem lib-Verzeichnis, was meistens daran liegt, dass sie es nicht verwenden. Dass sie es auch weiterhin nicht verwenden, liegt dann meistens an dieser nagenden ungewissheit, ob das Teil wirklich etwas taugt und ob es sich denn lohnt, sich in diese Software einzuarbeiten. Man könnte es selbstverständlich als Frevel bezeichnen, dass diese Leute mir nicht blind vertrauen und sofort in das Tutorial eintauchen, weil ICH die Software als cool bezeichnet habe, aber nun gut… Offen gestanden würde nicht mal ich selbst mir so sehr vertrauen, also erwarte ich es auch nicht von besagten Nichthibernierern.

Interessant mag es in dem Kontext sein, mal den Artikel über Erfahrungen mit Hibernate im Produktiveinsatz durchzulesen, von dem mir CSpeldrich berichtet hat. Diese geradezu ekelhafte fast schon objektive Betrachtungsweise der Sache, bei der auch weniger gute Eigenschaften des Tools angesprochen werden, hat ja schon was für sich, finde ich.

Ach ja, von OBlume habe ich noch ein paar Links zu Erfahrungsberichten mit den neuen Hibernate-Annotations bekommen, die will ich Euch nicht vorenthalten:

Eindeutige Kennungen in Java

Gregor Ottmann | Juli 7, 2006 on 10:30 am | In Tools | No Comments

Gerade beim Erzeugen von XML-Files oder transportablen Datensätzen braucht man immer mal wieder ID-Codes, die so richtig total eindeutig sind. Weltweit. Für immer und ewig. Als gewitzter Programmierer setzt man sich dann hin, bastelt sich einen geeignete Hilfsklasse und stellt nach 3 Jahren Produktbetrieb fest, dass zwei Objekte die selbe ID haben. Ich möchte mich mal der Gamersprache bedienen und an dieser Stelle eine Kurzaussage mit umfassender Semantik einbringen: 0wned!

Damit einem sowas nicht passiert, sollte man sich die Arbeit am eigenen UID-Generator einfach sparen und stattdessen auf den GUID-Generator “JUG” zurückgreifen, der schön eindeutige Bezeichner gemäß der passenden IETF-Spezifikation erzeugt. Das spart Arbeit und graue Haare, außerdem kann man jemand anderem die Schuld geben, wenn doch mal was schiefgeht.

Besonders schick finde ich übrigens, dass zur Software auf ein kleines JNI-Dings gehört, das die MAC-Adresse einer Netzwerkkarte herausfinden kann. Sowas kann man bestimmt auch für andere Zwecke ganz gut gebrauchen.

Dekorieren und delegieren mit PHP 5

Gregor Ottmann | Juli 7, 2006 on 7:38 am | In Know-How, PHP | No Comments

Java-Entwickler sind sich der Existenz von Design-Patterns wie dem “Decorator” ja schon länger bewusst, schließlich sind sie an objektorientierte Programmierung gewöhnt - oder an sehr große main()-Methoden mit mehr als 10000 Zeilen, falls sie vorher vor allem C verwendet haben. Für die PHP-Gemeinde sind die Konzepte aber noch recht neu, weshalb ich es als meine heilige Mission betrachte, ebenjener Zielgruppe möglichst viel nützliches Theoriewissen zu vermitteln. Wer sich der heiligen Mission widersetzt, muss damit rechnen, heilige Handgranaten entgegenschleudert zu bekommen, und das hält bekanntlich nicht mal ein Karnickel aus.

Von der Suche nach dem Gral möchte ich mal wieder auf PHP zurückkommen, genaugenommen zu jenem Artikel über die Verwendung von Decorators und Delegates in PHP 5, den mir LErler untergejubelt hat. Wenn man viel mit PHP arbeitet und damit mehr als nur Mailformulare baut, sollte man sich diesen ruhig mal ansehen, und anschließend ist dann der Einkauf des Standardwerks zur Patternthematik Pflicht. Tja, Jungs (und Mädels), das habt Ihr jetzt davon, dass Eure Sprache neuerdings alles bietet, was man so braucht - jetzt müsst Ihr es auch benutzen!

Enumerationen in die Datenbank hibernieren

Gregor Ottmann | Juli 7, 2006 on 7:30 am | In Know-How | 1 Comment

Java 5 ist toll, und in der aktuellen Version so ziemlich jeden Toolkits wird man auch kräftig mit Annotations beworfen. Die anderen interessanten Features des “neuen” JDK werden allerdings teilweise noch recht stiefmütterlich behandelt, gerade wenn sie eher unauffällig sind, statt wie die Generics rumzuprotzen. So wie die Enum-Typen, deren Bescheidenheit und unaufdringliches Wesen eigentlich nur noch von ihrer Nützlichkeit übertroffen wird. Zumindest, solange man kein Hibernate verwendet - wenn man das tut, wird der Nutzen nämlich durch mangelnde Unterstützung für dieses Feature aufgewogen, wie man mir sagte.

Tja, wenn das Tooln nicht zum Entwickler kommt, muss der Entwickler eben zum Tool kommen, wie man so schön sagt. In diesem Fall bewegt sich der Entwickler, indem er den kleinen Trick zur Abbildung von Enums als SMALLINTs verwendet, von dem mir OBlume zu berichten wusste. Ja, das gefällt mir sehr gut, und ich denke mal, dass die Tage meiner Typkonstanten endgültig gezählt sind.

Entries and comments feeds. Valid XHTML and CSS. ^Top^

xml :RSS2-Feed