Donnerstag, 22. Dezember 2011
Schöne neue Maven Welt
Was mich an Maven oder viel mehr an Maven Entwicklern stört, ist dass sie Abhängigkeiten aufbauen statt sie abzubauen. Wenn ich an einem Open Source Plugin eines größeren Systems nur eine Zeile Code ändern möchte, dann muss ich gleich das ganze System und nicht nur das Plugin auschecken. Das ist absurd. Guter Code hat eine eine geringe Kopplung zwischen Modulen und wenige Abhängigkeiten. Parent Module sind schön aber nicht immer notwendig. Hört auf alle möglichen Features zu nutzen. Jedes neue Feature sollte das Gesamtsystem einfacher und nicht komplizierter machen.
Samstag, 22. Oktober 2011
Clean Code 2
Ich hatte schonen einen Post zu Thema Clean Code geschrieben, da wurde ich auf das Buch Clean Code von Robert C. Martin hingewiesen. Er beschreibt dort keine Techniken sondern eher Prinzipien, also mehr wie man Code schreibt. Immer wenn ich mit Programmierern über das Thema sprach, ergaben sich lebhafte Diskussionen über einzelne Prinzipien. In meiner Arbeit sind mir viele der Dinge im Buch begegnet. Klassen mit generischen Namen wie Statistik. Jeder mit dem ich sprach kennt eigene Episoden, die man auch in dieses Buches wiederfindet. An der ein oder anderen Stelle an wird sich jeder Softwareentwickler wieder erkennen. So ist es hervorragend für Diskussionen unter Kollegen oder im Team geeignet. Schön an dem Buch ist, das man es auch quer lesen kann und wenn man genug Zeit hat auch sich die umfangreichen Codebeispiele ansehen. Es ist eines der wenigen Bücher bei denen ich dies wirklich getan habe. Dafür wird man dann aber auch meist mit einer neuen Einsicht belohnt.
Es ist aus meiner Sicht ein wichtiges Buch für alle Programmierer und unbedingt jedem zu empfehlen. Ich kann neben der englischen auch die deutsche Version empfehlen. Beide Versionen sind gelungen.
Es ist aus meiner Sicht ein wichtiges Buch für alle Programmierer und unbedingt jedem zu empfehlen. Ich kann neben der englischen auch die deutsche Version empfehlen. Beide Versionen sind gelungen.
Dienstag, 6. September 2011
Onlinepetition zum Thema Vorratsdatenspeicherung
Ich habe ja nichts zu verbergen, also warum sollen meine Daten denn nicht gespeichert werden. Das ist wohl die bekannteste Meinung zu diesem Thema. Aber die Verdachtslose Speicherung von Onlinedaten lässt sich per Knopfdruck in ein Überwachunginstrument verwandeln und Überwachung ist der erste Schritt zur Abschaffung der Freiheit, im Internet wie auch in der realen Welt.
Auch der renommierte Chaos Computer Club (CCC) bezieht zum Thema Vorratsdatenspeicherung deutlich Stellung. Der CCC lehnt die Vorratsdatenspeicherung ab.
Auch der renommierte Chaos Computer Club (CCC) bezieht zum Thema Vorratsdatenspeicherung deutlich Stellung. Der CCC lehnt die Vorratsdatenspeicherung ab.
Darum denkt darüber nach und macht mit, unterzeichnet die Onlinepetition zum Verbot der Vorratsdatenspeicherung.
Dienstag, 30. August 2011
Welche Stadt ist die IT Hauptstadt Deutschlands 2011
Hauptstädte gibt es viele, jedes Land hat eine Hauptstadt. Das Verbrechen hat eine Hauptstadt, Frankfurt. Aber welche ist die IT Hauptstadt Deutschlands. Eine Suche zum Thema bei Google bring nur PR-Informationen. Aber wir können auch anders, die Zugriffsdaten lüften das Geheimnis. Die IT Hauptstadt Deutschlands ist ... nein, nicht Berlin sondern das Rhein-Ruhr-Gebiet (Köln, Dortmund, Düsseldorf, ...). Also genauer gesagt die Java Hauptstadt ist die Rhein-Ruhr-Region im Jahr 2011 dicht gefolgt vom Berlin und München. Auch wenn man die Daten des Umlands der Metropolen mit einbezieht, bleibt das Rhein-Ruhr-Gebiet vor Berlin und München. Mit Abstand folgen Hamburg und Frankfurt. Interessant ist, dass 2010 die Reihenfolge leicht anders war. Sie war Rhein-Ruhr-Gebiet, München, Berlin, Frankfurt, Hamburg.
Die Daten sind Zugriffsdaten des Blogs und damit nur bedingt übertragbar, aber sie zeichnen gut ein Bild über die Verteilung der Software-Industrie (Java) in Deutschland. Was die Daten auch zeigen, dass es ganze Regionen in Deutschland existieren, in denen die Softwareentwicklung keine Rolle spielt.
http://de.wikipedia.org/wiki/Metropolregion#Liste_der_Metropolregionen_in_Deutschland
Die Daten sind Zugriffsdaten des Blogs und damit nur bedingt übertragbar, aber sie zeichnen gut ein Bild über die Verteilung der Software-Industrie (Java) in Deutschland. Was die Daten auch zeigen, dass es ganze Regionen in Deutschland existieren, in denen die Softwareentwicklung keine Rolle spielt.
http://de.wikipedia.org/wiki/Metropolregion#Liste_der_Metropolregionen_in_Deutschland
Montag, 11. Juli 2011
SVN Server aufsetzen
Codemanagement ist ein Grundbaustein fürs Projektmanagement. Die meisten Unternehmen betreiben eigene Server fürs Codemanagement. Mache sogar Mehrere. Aber auch hier gilt, viel hilft nicht viel. Private Projekte liegen oft bei Sorce Forge oder ähnlichen Anbietern. Aber man kann auch in 5 Minuten einen eigenen Server fürs Codemanagement aufsetzen. Im Internet gibt es eine Vielzahl von mehr oder weniger guten Anleitungen:
- http://www.freshblurbs.com/setting-subversion-5-minutes
- http://debassociates.com/subversion-on-windows-zero-to-version-control-in-5-minutes/
Aber es geht noch schneller:
Freitag, 1. Juli 2011
Vergleich von Build Systemen: Ant, Maven und Gradle
JAXenter versucht sich an einem besonderen Vergleich, es wurde versucht die Build Systeme Ant, Maven und Gradle zu vergleichen (Link).
Dabei wurden einige Argumente vorgebracht die nicht richtig sind.
Dabei wurden einige Argumente vorgebracht die nicht richtig sind.
- Ant arbeitet sequenziell aber es ist sehr einfach mehrere Tasks zu parallelisieren.
- Maven kann ab Version 3 auch mehrere Task benutzen (Link).
- Ant und Maven arbeiten auch inkrementell.
- Maven ist auch in der Lage Ant in den Build einzubeziehen. Wenn auch in Grenzen (Link).
Trotz dieser kleinen Patzer ist es trotzdem nicht uninteressant die Artikel in JAXenter zu lesen.
Mittwoch, 29. Juni 2011
Maven: Build Jar with Dependencies
Um eine Applikation zu bauen die aus nur einer JAR-Datei besteht nahm ich früher das Maven Shade Plugin (http://programming-2.blogspot.com/2010/05/maven-shade-plugin.html). Dies geht auch einfacher mit Hilfe des, nein nicht des JAR Plugins, sondern mit Hilfe des Maven Assembly Plugins (maven-assembly-plugin). Das sieht dann wie folgt aus:
Abonnieren
Posts (Atom)
