Softwareentwicklung

Inversion of Flow

Nachdem ich ein leidvolles Refactoring zum Durchreichen einer Eingabe quer durch das System mitansehen musste und Martin Fowler zum Thema Inversion of Control gelesen habe, habe ich mich zu dem Versuch einer eigenen Library entschieden. Diese unterstützt den Teil von Inversion of Control, der in Dependency Incection Containern typischerweise fehlt.

Die Library Diergo Value Space habe ich heute in einem Vortrag vorgestellt, hier die Folien:

Spring Pitfalls

Nach teilweise leidvollen Erfahrungen mit FactoryBeans, Postprozessoren und Abhängigkeiten in Spring habe ich für das IT-Blog von Hypoport mal einen Artikel "Spring Pitfalls" geschrieben.

Refactoring

Refactoring gehört zu meiner täglichen Arbeit. Aus meiner Sicht ist agile Softwareentwicklung ohne Refactoring gar nicht wirklich möglich. Meine Erfahrungen und Empfehlungen habe ich ein einem Vortrag bei Hypoport zusammengefasst. Die Folien sind unter Dateien zu finden.

Spring Workshop

Gestern habe ich bei Hypoport einen Workshop zu Spring gehalten (ca. eine Stunde). Die Folien und die Sourcen liegen unter Dateien zum Download bereit. Als Buch zum Thema kann ich Pro Spring 2.5 empfehlen.

BeanFactoryKaputtProcessor

Neulich bei der Entwicklung stand ich vor der Aufgabe, zusätzliche Beans dynamisch in einen Spring Container zu bekommen. Da Spring gute Einstiegspunkte für Erweiterungen bietet, ist dies durch ein BeanFactoryPostProcessor oder noch besser ein BeanDefinitionRegistryPostProcessor problemlos möglich.mehr...

iBATIS 3 und Spring 2 - Resourcen

Das Spring Framework 2.x enthält Unterstützung zur Verwendung von iBATIS, leider aber nur für Version 2. Mit ein wenig eigenem Code kann das kurz vor dem Release stehende iBATIS 3 aber auch einfach eingebunden werden.

Die DataSource wird jetzt über Spring injected. Ein Problem bleibt aber noch. Je nach Angabe der Resource in Spring, findet iBATIS die Konfiguration, insbesondere ausgelagerte Mapper nicht unbedingt, z.B. bei einer Webapp, die als WAR deployed wird.mehr...

iBATIS 3 und Spring 2 - die DataSource

Das Spring Framework 2.x enthält Unterstützung zur Verwendung von iBATIS, leider aber nur für Version 2. Mit ein wenig eigenem Code kann das kurz vor dem Release stehende iBATIS 3 aber auch einfach eingebunden werden.

Die zu verwendende DataSource ist typischerweise als Bean in der Spring-Konfiguration enthalten und das Transaktionsmanagement wird auch von Spring erledigt. Die iBATIS Configuration wird aber ebenfalls über XML konfiguriert. Während das Transaktionsmanagement noch durch die Konfiguration MANAGED machbar ist, bereitet die DataSource Probleme.mehr...

ISP Workshop

Ende Mai habe ich bei Hypoport einen Workshop zum Interface Segregation Principle gehalten. Wer möchte, kann sich hier die Folien ansehen.

Collections.unmodifiable und andere Katastrophen

Das Collection Framework der Java Runtime Bibliothek ist aus meiner Sicht ein Beispiel für relativ schlechtes Design, das durch die Bequemlichkeit (es ist ja eh da) trotzdem eine hohe Verbreitung hat.mehr...

Stack Overflow

Endlich mal eine wirklich gute Site für Softwareentwickler. Bei Stack Overflow tummeln sich viele Entwickler und beantworten Fragen anderer.

Es gibt eine brauchbare Regulierung durch Bewertung der Antworten durch die Community. Viele Features (z.B. Abwertung) werden erst mit entsprechender Bewertung der eigenen Antworten verfügbar.

Mit ant läuft es

In Java-Projekten ist ant das Mittel der Wahl, wenn es um Build-Tools geht. Es ist weniger komplex als Maven, schneller und plattformunabhängiger als make und funktioniert im Gegensatz zu Eclipse auch als Batch z.B. für Continious Build. Trotzdem gibt es gute und weniger gute Buildfiles. mehr...

RailsConf Europe 2007

Montag bis Mittwoch war ich mit vielen Kollegen auf der RailsConf Europe.mehr...

ID-Vergabe in Datenbanken kompatibel gestalten

In vielen Fällen werden Datenbanktabellen angelegt, wo eine numerische ID-Spalte von der Datenbank automatisch auf einen eindeutigen Wert gesetzt werden soll. Leider ist dies mit Standard-SQL nicht einheitlich zu lösen, da die INSERT-Anweisungen danach nicht identisch sind.mehr...

Extreme Programming at Work

Heute hat Stefan Salinger von der FU-Berlin bei Infopark Tilo und mich bei der Arbeit beobachtet. Genauer wurde eine Paarprogrammierung aufgenommen. Ende Februar soll die Auswertung fertig sein…