Tag-Archiv: 'java'

Vermisst: Hardware-Benchmark für Entwickler

Ein Umstand, der in Unternehmen auf Entscheiderebene außerhalb des IT-Umfelds gerne verdrängt wird: Softwareentwickler sind Spezialisten und benötigen deshalb spezielle Hardware. Wer denkt, dass “Software schreiben” ungefähr mit dem Schreiben von Textdokumenten vergleichbar ist, liegt in etwa so richtig wie jemand, der meint, Autofahren hieße, auf einem Stuhl zu sitzen und beide Füße unregelmäßig auf- [...]

Der wahre Preis billiger Hardware

In Unternehmen verdrängen Entscheider außerhalb des IT-Umfelds gerne, dass Softwareentwickler Spezialisten sind und deshalb spezielle Hardware benötigen. Wer denkt, dass “Software schreiben” ungefähr mit dem Schreiben von Textdokumenten vergleichbar ist, liegt in etwa so richtig wie jemand, der meint, Autofahren hieße, auf einem Stuhl zu sitzen und beide Füße unregelmäßig auf- und abzubewegen. Tatsächlich ist [...]

Java: Use DB2 Timestamps with Nanoseconds in Java

Sometimes you need to run your unit tests using DB2 TIMESTAMP values in your test data to match specific records. You can’t just use a Date() objekt because you have to specify nanoseconds. As I couldn’t find any code snippet via Google, this might be helpful for you, dear reader. Example: You want to check [...]

Kubuntu 8.10 ‘Intrepid Ibex’ : Netzwerkprobleme mit statischer IP

(English users: See Kubuntu 8.10 ‘Intrepid Ibex’ : Networking problems with static IP address) Nach einigen hartnäckigen Problemen mit dem aktuellen Lenny-Snapshot auf einem neuen Rechner hab ichs mal mit dem brandaktuellen Kubuntu 8.10 aka "Intrepid Ibex" versucht. Wesentlicher Grund war, das neue KDE 4.1.2 ausprobieren zu können. Die Installation verlief weitgehend problemlos, vorhandene Partitionen [...]

Maven: test-jar für andere Projekte erstellen.

Manchmal benötigt man ein JAR, das nur Testklassen enthält, um diese in mehreren Projekten zu verwenden. Dieses erstellt man wie folgt: 1. Test-JAR im Ausgangsprojekt erstellen In der pom.xml des Projekts, dessen Testklassen verwendet werden sollen, erstellt man ein separates JAR über eine Änderung des maven-jar-plugins: <plugins> <!– Weitere Plugins –> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <executions> [...]

berlin.jar 2008

Ralph Bergmann, Student an der FHTW Berlin, hat mit viel Energie und Elan die Java User Group Berlin-Brandenburg (re-)vitalisiert. Höhepunkt seiner Aktivitäten ist die erste Berliner Fachkonferenz um die Programmiersprache Java, die berlin.jar.   Im Vergleich zu den großen kommerziellen Java-Konferenzen (in Deutschland die JAX, US-international die Java One) nimmt sich die berlin.jar bescheiden aus: [...]

Social DNA

Letztens eine Nachricht über XING erhalten. Der Absender zeigte sich erfreut über meine dort hinterlegten Interessen, als da wären: Softwareentwicklung mit agilen Methoden, Java EE (JEE), J2EE, Java2EE, Java, Ruby, Linux, JSF, Spring, Hibernate, SCALA, JBoss Seam, Maven, Apache Software Foundation, Eclipse, Eclipse RCP, NetBeans, Rules Engines, Middleware, SOA, BPM, ITIL, TOGAF, Zachman, Lean Management, [...]

Linux und AIR

Hm, wenn das wirklich stimmen sollte, hat Adobe noch schlechtere Karten (bei mir). Wie auch Marten wusste, ist zwar Ende März eine Linux-Alpha Version erschienen, aber nur für x86er-Systeme. Kein Wunder, dass sich Sun wegen JavaFX noch freut. Wäre nur schön, wenn das a) produktionsreif und b) auch mit Eclipse-Unterstützung erschiene (sonst machts Genuitec und [...]

Maven-Snippets

Hier einige Kniffe für Maven, die häufiger angefragt (oder von mir selbst benötigt) werden. Siehe auch die Maven-FAQ (die Code-Snippets lassen leider immer noch auf sich warten) und die FAQ vom Codehaus-Wiki.   Ein Tip: Installiert man das mittlerweile stark ausgereifte m2 Maven-Plugin von Codehaus, findet man weitere sehr nützliche Hinweise in der Eclipse-Hilfe, die [...]

Sehr ausführliche JVM-Optionsliste

Endlich eine brauchbare, ausführliche und nach Versionen vergleichende Referenz für die JVM-Optionen gefunden: http://blogs.sun.com/watt/resource/jvm-options-list.html Wenn sie sich primär auch auf Solaris/SPARC beziehen mag, ist sie mehr als nützlich.    

Ant: Umgebungsvariablen an der Kommandozeile (mit “-D”) überschreiben

Wird immer mal wieder angefragt: Gesetzt den Fall, man möchte in einem Ant-Script auf eine Umgebungsvariable zugreifen, was man normalerweise so macht: <property environment="env" /> <property name="dist-conf" location="${env.DIST_PATH}/conf" /> Dann kann man diese Variable an der Kommandozeile wie folgt überschreiben: ant -Denv.DIST_PATH=/path/to/the/dir Um einmal gesetzte Variablen zu überschreiben, ist der Ant-Contrib-Variable-Task (siehe http://ant-contrib.sourceforge.net/) die Lösung [...]

Tomcat (5/6) – Aelfred Fehlermeldung beim Start aus MyEclipse heraus

Hier half, über Windows, Preferences, MyEclipse, Application Servers, [TC-#] folgendes hinzuzufügen:   -Djavax.xml.transform.TransformerFactory=com.icl.saxon.TransformerFactoryImpl -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl-Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl-Dorg.xml.parsers.sax.parser=org.apache.xerces.parsers.SAXParser  Siehe dazu auch nur Xerces als Default-Parser setzen.         

(M)eine Singleton-Lösung

Auf Googles Singleton-Detector gestoßen und mir noch einmal die Begründungen angeschaut, weshalb Singletons böse sind. Das ist alles nicht wirklich neu, wiewohl aus meiner Sicht ein Singleton durchaus Sinn machen kann (gilt die Kritik nicht eigentlich jeder statischen Factory-Methode?). Wie auch immer, für mich ist guter Stil, zu begründen, weshalb man ein Singleton verwendet. Ebenso, [...]

JOptionPane mit JGoodies

Wenn das Ekel LAF angezeigt wird:     UIManager.put("ClassLoader", LookUtils.class.getClassLoader());    UIManager.setLookAndFeel(new Plastic3DLookAndFeel());  

Auf zum Karneval: Maskieren für (Ant) replaceregexpr

Dieser Tasks hats wegen der doch sehr dürftigen Dokumentation in sich, zumal wegen der RegExpr-Syntax für Java. Backslash maskieren   <replaceregexp    match="a:\\"    replace="b:\\\\"    flags="gi">    <fileset dir="${build}${/}xml" id="XmlStuff">      <include name="takeme*.xml"/>    </fileset>  </replaceregexp></target> Punkt maskieren (z.B. für Paktebezeichner) <replaceregexp match="com\.old\.style\.business" replace="org\.new\.style\.business" flags="gi"> <fileset dir="${the.path}" id="pathy"> <include name="Groov*y.java"/> </fileset></replaceregexp>  Das Flag "gi" bedeutet: global (alle Vorkommen der gefundenen [...]

Idee: Dokumentations-Plugin f. Eclipse mit Codeausschnitten

Ein Syntaxfehler in Codebeispielen für Fachliteratur könnte nicht erfolgen, wenn man die Code-Beispiele immer direkt aus der IDE nähme; diese zeigte sofort den Fehler an. Daher wäre ein Eclipse-Plugin, etwa für DocBook-Dokumentation nützlich, wo man für <programlisting>-Tags auf einen Code-Ausschnitt verweisen könnte, den man direkt aus der "lebenden Klasse" nehmen könnte.    

Xerces als Default-Parser setzen

Diese Einstellung entfällt mir immer wieder, ist aber doch manchmal nötig: -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl  

Eclipse erstellt plötzlich kein Build mehr???

Das könnte an einer korrumpierten .project-Datei liegen.Einfach mal         <buildCommand>            <name>org.eclipse.jdt.core.javabuilder</name>            <arguments>            </arguments>        </buildCommand> einfügen (direkt via Eclipse, im geöffneten Projekt funktioniert). 

JAX 2007: Spring Framework: Enterprise Java ganz einfach! (Eberhard Wolff, Mike Wiesner, Interface 21)

Eberhard Wolff – Java Champion, Autor d. Buchs im dpunkt-Verlag (Eberhard Wolff – Spring) (dpunkt). Mike Wiesner: Fokus auf Security. Interface 21. Rod Johnson. Jürgen Höller (Linz) Hauptentwickler Ausgangspunkt: Kritik an EJB. Deshalb mit POJOs (also known as "Simple Objects") arbeiten. Java EE Design-Pattern-Ansatz zu komplex. DI – AOP – Portable Service Abstractions. Pluggable Architecture. [...]

JAX 2007: Testing with Selenium (Neal Ford, Thoughtworks)

Origins "Teflon-Effect": Thoughtworks Time and Expenses System (with Plone). Mercury testing suite (element Selenium protects from Mercury toxity). Acceptance Testing Tool. Test runs directly in the browser, analysing the DOM. BrowserBot -takes commands and exercises the app as if it was the user. http://selenium.houghtworks.com http://www.openqa.org/selenium Usage Modes: TestRunner -put core alongside the app (means static [...]

JAX 2007: Facelets und JSF (Thomas Spiegl, IRIAN.at)

Thomas Spiegl: Committer MyFaces. Einstieg: http://facelets.dev.java.net Nachteile von JSP… JSF 1.1-Problem falsche plazierte Renderung, kein Template-Framework. MyFaces hat Tiles-ViewHandler. Warum Facelets verwenden: HTML-Content kann schlecht in Komponentenbaum eingefügt werden. 1.es Beispiel <h:panelGrid columns=1"> <h1><h:outputText value="text" /> </h1></h:panelGrid> Rendert als: <table><tr><td>text</td></tr> <h1></h1> </table> (Ist aber bei 1.2 gelöst mit automatischem verbatim-Tag). 2.es Beispiel <h:outputLabel for="name" /> [...]

JAX 2007: Grails – Rapid Web Application Development (Sven Haiges, Actionality)

Intro Über S.H.: von Struts über JSF, Spring MVC zu Grails. Erstellt Grails Podcast. Motivation Framework wie Rails – Convention over Configuration, DRY Spring MVC im Hintergrund Grails vs. Rails Benchmark – Skaliert weitaus besser als Rails. 1.0 Release im Sommer, 0.5 im Mai. grails clean grails update zum Update, soll schmerzlos sein. Benutzte Frameworks [...]

JAX 2007: Maven 2 – Umstellung eines Projekts von Ant zu Maven 2 (Oliver Stauss, eXXcellent solutions)

Historie – von make über Ant, Maven 1 zu Maven 2. Einfluss der Rails-Community. Komplett neue Implementierung von 1. Paradigmenwechsel: Nicht Build-Skripte erstellen, sondern Projekte konfigurieren. Nicht das wie des zu erzeugenden, sondern das was. Mehr managen als erzeugen. OO-Mechanismen zur Konfiguration (also Projekt). mvn2 hilft bei einem Großteil des Entwicklungsprozesses. Unterstützung für Kompilation Releaserstellung [...]

JAX 2007: Polyglot Programming (Neal Ford, ThoughtWorks)

Bridge building as metaphor for sw. Jack W. Reeves "What is sw design?" Design: Sourcecode itself. Manufacturing incredibly cheap. Design small parts, then bigger. Our design tool: Java. C/C++-origins. Stupid Java Tricks: static block. 6 ways to initialize sthg. in Java. Enum example. Inner class inherits List<String> s = new ArrayList<String>() { { add("hi"); //etc. [...]

JAX 2007: Garbage Collection – Memories are made of this (Rainer Jung, kippdata)

Zu Rainer Jung: Tomcat-Commiter, Cluster, mod_jk, Geschäftsführer kippdata GmbH Warm-Up-Fragen, etc. wer benutzt noch 1.3 etc, Statistik XX-Optionen: 412 + 32 Diagnose 367 in DevBuild 53 Optionen mit verschiedenen Defaults Beschränkung auf Sun JVM 1.4.2, 1.5, 1.6 Drei Fragestellungen: GC run blockiert Anwendung GC blockiert CPU Zeiten Großes Memory ist teuer => Drei widersprüchliche Ziele. [...]