Tag-Archiv: 'java'
1. September 2009 von KG
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- [...]
30. August 2009 von KG
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 [...]
24. November 2008 von KG
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 [...]
1. November 2008 von KG
(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 [...]
28. Oktober 2008 von KG
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> [...]
13. September 2008 von KG
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: [...]
4. September 2008 von KG
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, [...]
10. August 2008 von KG
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 [...]
12. Juli 2008 von KG
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 [...]
19. Februar 2008 von KG
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.
16. Januar 2008 von KG
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 [...]
17. Oktober 2007 von KG
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.
26. Juli 2007 von KG
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, [...]
11. Juli 2007 von KG
Wenn das Ekel LAF angezeigt wird: UIManager.put("ClassLoader", LookUtils.class.getClassLoader()); UIManager.setLookAndFeel(new Plastic3DLookAndFeel());
9. Juli 2007 von KG
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 [...]
28. Juni 2007 von KG
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.
15. Mai 2007 von KG
Diese Einstellung entfällt mir immer wieder, ist aber doch manchmal nötig: -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl
11. Mai 2007 von KG
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).
27. April 2007 von KG
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. [...]
26. April 2007 von KG
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 [...]
26. April 2007 von KG
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" /> [...]
26. April 2007 von KG
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 [...]
26. April 2007 von KG
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 [...]
25. April 2007 von KG
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. [...]
25. April 2007 von KG
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. [...]