SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Java User Forum - Stuttgart




Die Top 10 der Tools & Methoden
 für mehr Spaß beim Entwickeln


                 Patrick Baumgartner – Senior Software Consultant
07. Juli 2011       Odilo Oehmichen – Senior Software Consultant
Speaker Profiles
§  Patrick Baumgartner
    §  Senior Software Consultant | Partner
    §  Spring Framework, OSGi & agile Methoden
    §  Co-Autor von „OSGi für Praktiker“ (Hanser)

§  Odilo Oehmichen
    §  Senior Software Consultant | Partner
    §  mehr als 10 Jahre Erfahrung im Java-Umfeld
    §  Spring, Spring MVC, Webflow, Security, etc.

§  Swiftmind GmbH (http://www.swiftmind.com)
    §  Enterprise Java, Spring & OSGi Consulting
    §  Spring & OSGi Workshops/Trainings

                                                      2
Das kennen wir alle...

§  Jeder von uns...
     §  ... wird ständig in seinem Arbeitsfluss unterbrochen

     §  ... muss den Code seiner Kollegen weiterentwickeln

     §  ... hat immer wiederkehrende zeitraubende Tasks



§  raubt den Spaß am Entwickeln




                                                          3
Agenda

§  Unsere 10 Lieblingsmittelchen gegen

                  Procrastination

                  Code Smells

                  Repetitive Tasks

                  Deadly Dullness


§  Q&A / Welches sind Eure Lieblingstool?
                                             4
Your Daily Comic Strip
Geek and Poke




                6
Nasa - Earth Observatory




                Kali-Düngerwerk
                Lop Nur, Xinjiang, China
Rapid Application Development
Projekt Setup

§  Projekt Struktur schnell erzeugen

§  Persistenzlayer konfigurieren

§  Webtechnologie integrieren

§  Managen von Dependencies und Repositories

§  Scaffolding Applikationen bauen




                                                9
Spring Roo Demo




                  10
Clean Code
Clean Code

§  Software Craftmanship

§  geprägt von Uncle Bob (Robert C. Martin)

§  Code Smells
    §    Klassen-, Methoden-, Variablennamen
    §    Methodengrösse
    §    Comments
    §    Strong cohesion -> Single Responsibility
    §    …



                                                     12
Projekt Lombok

§  Java Library – lombok.jar

§  Reduce Boilerplate Code

§  Annotationsbasiert

     @Getter, @Setter, @ToString, @Data,...




                                              13
Projekt Lombok




                 14
Projekt Lombok

§  Benötigt Java ≥ 6

§  Java Agents hooken in Compile Prozess

     javac –cp lombok.jar Person.java

§  Eclipse, netbeans, maven Plugins



§  Andere Tools: PMD, findbugs, checkstyle, Simian



                                                  15
Redeploy Hell
Redeploy Hell
§  Problem
     §  Code geschrieben -> Build -> Deploy auf Server
     §  Über 15 % der Entwicklungszeit ist Warten auf
         Redeploy
     §  Frißt Nerven, Zeit und Geld
§  Lösungen
     §    Funktionalitäten ausgliedern
     §    Abhängigkeiten zu Laufzeit-Umgebungen reduzieren
     §    Unittests / Applikation
     §    Tools
            §  Debugger
            §  JRebel
                                                              17
JRebel
§  Integriert sich in JVM
§  Richtiges Hotdeployment
    §  Hinzufügen von Methoden
    §  Ändern von Methodensignaturen
    §  Konfigfile Änderung (Spring, Hibernate, JSF, Wicket,…)
§  Verbindet sich direkt mit IDE-Workspace
§  Unterstützt alle gängigen Appserver

§  Nachteil: Kommerziell



                                                           18
Open Source Libraries
Don't re-invent the wheel

§  Einsatz von Open Source Libraries im Projekt
     §    Bessere Applikations-Architektur
     §    Source Code von der Community benutzt
     §    gut (Unit-)getestet
     §    Schnelleres Entwickeln mit kleineren Team
     §    Fokussierung auf die Businesslogik
§  Libraries
     §    Apache Commons
     §    Guava
     §    FluentJava
     §    Spring

                                                       20
Apache Commons – Lang

§  Verschiedene String Operationen




§  Erwartete Resultate




                                      21
Apache Commons – CLI

§  Command Line Programm mit Option „-h“




§  Programmausgabe



                                            22
Apache Commons – Email

§  Beispiel Email senden über Gmail




                                       23
Apache Commons

Attributes, BeanUtils, Betwixt, Chain, CLI, Codec,
Collections, Compress, Configuration, Daemon,
DBCP, DbUtils, Digester, Discovery, EL, Email, Exec,
FileUpload, IO, JCI, Jelly, Jexl, JXPath, Lang,
Launcher, Logging, Math, Modeler, Net, Pool,
Primitives, Proxy, Sanselan, SCXML, Transaction,
Validator, VFS


                                                     24
Get your Work Done!
Pomodoro Technique
        !"#$%&'&(&)&$!#*"+,-.#$




                          (c) Staffan Nöteberg - Pomodoro Technique Illustrated
                                                                                 !"#$%&'()*+,&-)#+.)+&/01&2334536564&


                                                                                         26 !
"#$!%&'&(&)&!"$*#+,-.$!                                    !/!!!0001234554++&3$6$)712$!89:;<=!
Pomodoro Technique

§  Ergebnisse
     §  Lernen Aktivitäten planen & schätzen
     §  Aufzeichnen & verbessern der Aktivitäten
     §  Störungen vermindern & vermeiden

§  Tools
     §  Pomodoro (Eieruhr)
     §  Focus Buster




                                                    27
Shortcuts



            28
Shortcuts
§  Problem
     §    Mouse Junkies
     §    Umgreifen frisst Zeit
     §    Produktivität sinkt
     §    Shortcuts schwer lernbar




                                      29
Shortcuts
§  Lösungen
    §  Eclipse Mousefeed-Plugin zeigt Shortcuts auf




    §  Save-Actions räumt Code auf
    §  Cheatsheets (für jegliche Tools)
                                                       30
Continuous Integration
Continuous Integration
Phyllis




                         32
Jenkins
§    Alles was es braucht ist Java
§    Gehe zu http://jenkins-ci.org
§    Download War-File
§    Command-Line java -jar jenkins.war

§  Plugin-Mechanismus
        §  Chuck-Norris
        §  Lava Lampe
        §  ...



                                           33
Continuous Integration
Agnes




                         34
CI Game
§  „You broke the build“
     §  Einzahlung in Build-Kasse
     §  „<...> Developer of the week“
     §  ...


§  CI Game von Clint Shank
     §  Reward-System
     §  Jenkins-Plugin verfügbar




                                         35
Unit Testing
Unit Testing
§  TDGotchi
      §  Gotchi füttern mit Unittest-Results




§  Infinitest
      §  Continuous Test Runner for Java



                                                37
Keep up-to-date
Keep up-to-date
§  Es tut sich viel in der Java-Welt
     §  Java 7, Cloud Computing, OSGi, ....
§  Besuche...
     §  Konferenzen
     §  Hackathons / Hackergarten
     §  Java User Groups
§  Tausch dich aus
§  E-Learning
     §  Blogs
     §  Parleys (Offline-Client)
     §  InfoQ

                                               39
Zusammenfassung
Zusammenfassung
§    Your Daily Commic Strip
§    Rapid Application Development
§    Clean Code
§    Redeploy Hell
§    Open Source Libraries
§    Get your Work Done!
§    Shortcuts
§    Continuous Integration – Jenkins
§    Unit Testing
§    Keep up-to-date

                                         41
Weitere Resourcen
§  Swiftmind GmbH
      §  http://www.swiftmind.com
      §  http://www.swiftmind.com/blog

§  Memonic
      §  http://bit.ly/swiftmind-jfs




                                          42
Q&A




Patrick Baumgartner, Odilo Oehmichen
patrick.baumgartner [at] swiftmind [dot] com
odilo.oehmichen [at] swiftmind [dot] com
http://www.swiftmind.com http://www.twitter.com/swiftmind
                                                       43

Weitere ähnliche Inhalte

Andere mochten auch

Informazione locale e comunità. La sfida glocal
Informazione locale e comunità. La sfida glocalInformazione locale e comunità. La sfida glocal
Informazione locale e comunità. La sfida glocalLorenzo Fabbri
 
Estudio rse medios impresos en panama 2013
Estudio rse medios impresos en panama 2013Estudio rse medios impresos en panama 2013
Estudio rse medios impresos en panama 2013UDELAS
 
Ilm library techniques with tivoli storage and ibm total storage products sg2...
Ilm library techniques with tivoli storage and ibm total storage products sg2...Ilm library techniques with tivoli storage and ibm total storage products sg2...
Ilm library techniques with tivoli storage and ibm total storage products sg2...Banking at Ho Chi Minh city
 
252 santo, santo es tu senhor
252   santo, santo es tu senhor252   santo, santo es tu senhor
252 santo, santo es tu senhorSUSSURRO DE AMOR
 
Simon Rickett - The power of email marketing
Simon Rickett - The power of email marketingSimon Rickett - The power of email marketing
Simon Rickett - The power of email marketingSimon Rickett
 
Intervenciones alimentario nutricionales cesfam garin
Intervenciones alimentario nutricionales cesfam garinIntervenciones alimentario nutricionales cesfam garin
Intervenciones alimentario nutricionales cesfam garinCesfamgarin
 
INSETA Article - Page 10
INSETA Article - Page 10INSETA Article - Page 10
INSETA Article - Page 10Cathrine Pitsi
 
Getting Started with OpenGL ES
Getting Started with OpenGL ESGetting Started with OpenGL ES
Getting Started with OpenGL ESJohn Wilker
 
Cuadros favoritos de 2º ESO. I.E.S. Alhakén II
Cuadros favoritos de 2º ESO. I.E.S. Alhakén IICuadros favoritos de 2º ESO. I.E.S. Alhakén II
Cuadros favoritos de 2º ESO. I.E.S. Alhakén IICórdoba, Spain
 
WCPT in 2016: European Region conference, Limassol April 2016
WCPT in 2016:  European Region conference, Limassol April 2016WCPT in 2016:  European Region conference, Limassol April 2016
WCPT in 2016: European Region conference, Limassol April 2016WCPT1951
 
Présentation1 sable bitumineux
Présentation1 sable bitumineux Présentation1 sable bitumineux
Présentation1 sable bitumineux nizou123
 
Unidad 1
Unidad 1Unidad 1
Unidad 1eleng70
 
20030343 chanel-empresa-de-moda
20030343 chanel-empresa-de-moda20030343 chanel-empresa-de-moda
20030343 chanel-empresa-de-modaAna_Rosalba
 

Andere mochten auch (20)

Lassen DMC
Lassen DMCLassen DMC
Lassen DMC
 
Securitytools
SecuritytoolsSecuritytools
Securitytools
 
Informazione locale e comunità. La sfida glocal
Informazione locale e comunità. La sfida glocalInformazione locale e comunità. La sfida glocal
Informazione locale e comunità. La sfida glocal
 
Estudio rse medios impresos en panama 2013
Estudio rse medios impresos en panama 2013Estudio rse medios impresos en panama 2013
Estudio rse medios impresos en panama 2013
 
Ilm library techniques with tivoli storage and ibm total storage products sg2...
Ilm library techniques with tivoli storage and ibm total storage products sg2...Ilm library techniques with tivoli storage and ibm total storage products sg2...
Ilm library techniques with tivoli storage and ibm total storage products sg2...
 
252 santo, santo es tu senhor
252   santo, santo es tu senhor252   santo, santo es tu senhor
252 santo, santo es tu senhor
 
Simon Rickett - The power of email marketing
Simon Rickett - The power of email marketingSimon Rickett - The power of email marketing
Simon Rickett - The power of email marketing
 
Que es la tentacion
Que es la tentacionQue es la tentacion
Que es la tentacion
 
Intervenciones alimentario nutricionales cesfam garin
Intervenciones alimentario nutricionales cesfam garinIntervenciones alimentario nutricionales cesfam garin
Intervenciones alimentario nutricionales cesfam garin
 
Presentación ABI
Presentación ABIPresentación ABI
Presentación ABI
 
INSETA Article - Page 10
INSETA Article - Page 10INSETA Article - Page 10
INSETA Article - Page 10
 
Getting Started with OpenGL ES
Getting Started with OpenGL ESGetting Started with OpenGL ES
Getting Started with OpenGL ES
 
Cuadros favoritos de 2º ESO. I.E.S. Alhakén II
Cuadros favoritos de 2º ESO. I.E.S. Alhakén IICuadros favoritos de 2º ESO. I.E.S. Alhakén II
Cuadros favoritos de 2º ESO. I.E.S. Alhakén II
 
Asignacion 5 laminas
Asignacion 5 laminas Asignacion 5 laminas
Asignacion 5 laminas
 
Borrador proyecto
Borrador proyectoBorrador proyecto
Borrador proyecto
 
Introduccion a Node.js
Introduccion a Node.jsIntroduccion a Node.js
Introduccion a Node.js
 
WCPT in 2016: European Region conference, Limassol April 2016
WCPT in 2016:  European Region conference, Limassol April 2016WCPT in 2016:  European Region conference, Limassol April 2016
WCPT in 2016: European Region conference, Limassol April 2016
 
Présentation1 sable bitumineux
Présentation1 sable bitumineux Présentation1 sable bitumineux
Présentation1 sable bitumineux
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
20030343 chanel-empresa-de-moda
20030343 chanel-empresa-de-moda20030343 chanel-empresa-de-moda
20030343 chanel-empresa-de-moda
 

Ähnlich wie JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, Oehmichen

BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerPatrick Baumgartner
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrants0enke
 
Day CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuDay CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuCédric Hüsler
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHFlorian Holzhauer
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!OPEN KNOWLEDGE GmbH
 
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018Christian Mücke
 
Der Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsDer Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsQAware GmbH
 
EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedRené Winkelmeyer
 
JAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & JavascriptJAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & Javascriptdzuvic
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusOPEN KNOWLEDGE GmbH
 
Rails und Scrum in großen Projekten
Rails und Scrum in großen ProjektenRails und Scrum in großen Projekten
Rails und Scrum in großen ProjektenPhillip Oertel
 
Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert habenDrei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert habenChristian Trabold
 
2008 02 01 Zeller
2008 02 01 Zeller2008 02 01 Zeller
2008 02 01 ZellerCHOOSE
 
iOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deiOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deHolger Hammel
 
Chaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsChaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsRamon Anger
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen....NET User Group Rhein-Neckar
 
Continuous Integration mit Hudson
Continuous Integration mit HudsonContinuous Integration mit Hudson
Continuous Integration mit HudsonDr. Christian Betz
 
Qualitätssicherung in Webprojekten
Qualitätssicherung in WebprojektenQualitätssicherung in Webprojekten
Qualitätssicherung in WebprojektenSebastian Springer
 

Ähnlich wie JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, Oehmichen (20)

BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als Entwickler
 
Codeception VisualCeption
Codeception VisualCeptionCodeception VisualCeption
Codeception VisualCeption
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
Day CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuDay CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neu
 
Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HH
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
 
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
 
Der Status Quo des Chaos Engineerings
Der Status Quo des Chaos EngineeringsDer Status Quo des Chaos Engineerings
Der Status Quo des Chaos Engineerings
 
EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloaded
 
JAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & JavascriptJAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & Javascript
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: Quarkus
 
Rails und Scrum in großen Projekten
Rails und Scrum in großen ProjektenRails und Scrum in großen Projekten
Rails und Scrum in großen Projekten
 
Drei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert habenDrei Dinge, die mich kürzlich inspiriert haben
Drei Dinge, die mich kürzlich inspiriert haben
 
2008 02 01 Zeller
2008 02 01 Zeller2008 02 01 Zeller
2008 02 01 Zeller
 
iOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deiOS Testautomation bei mobile.de
iOS Testautomation bei mobile.de
 
Chaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsChaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps Teams
 
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
XPages: Performance-Optimierung  - Ulrich Krause (eknori) SNoUG 2013XPages: Performance-Optimierung  - Ulrich Krause (eknori) SNoUG 2013
XPages: Performance-Optimierung - Ulrich Krause (eknori) SNoUG 2013
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
 
Continuous Integration mit Hudson
Continuous Integration mit HudsonContinuous Integration mit Hudson
Continuous Integration mit Hudson
 
Qualitätssicherung in Webprojekten
Qualitätssicherung in WebprojektenQualitätssicherung in Webprojekten
Qualitätssicherung in Webprojekten
 

JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, Oehmichen

  • 1. Java User Forum - Stuttgart Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickeln Patrick Baumgartner – Senior Software Consultant 07. Juli 2011 Odilo Oehmichen – Senior Software Consultant
  • 2. Speaker Profiles §  Patrick Baumgartner §  Senior Software Consultant | Partner §  Spring Framework, OSGi & agile Methoden §  Co-Autor von „OSGi für Praktiker“ (Hanser) §  Odilo Oehmichen §  Senior Software Consultant | Partner §  mehr als 10 Jahre Erfahrung im Java-Umfeld §  Spring, Spring MVC, Webflow, Security, etc. §  Swiftmind GmbH (http://www.swiftmind.com) §  Enterprise Java, Spring & OSGi Consulting §  Spring & OSGi Workshops/Trainings 2
  • 3. Das kennen wir alle... §  Jeder von uns... §  ... wird ständig in seinem Arbeitsfluss unterbrochen §  ... muss den Code seiner Kollegen weiterentwickeln §  ... hat immer wiederkehrende zeitraubende Tasks §  raubt den Spaß am Entwickeln 3
  • 4. Agenda §  Unsere 10 Lieblingsmittelchen gegen Procrastination Code Smells Repetitive Tasks Deadly Dullness §  Q&A / Welches sind Eure Lieblingstool? 4
  • 7. Nasa - Earth Observatory Kali-Düngerwerk Lop Nur, Xinjiang, China
  • 9. Projekt Setup §  Projekt Struktur schnell erzeugen §  Persistenzlayer konfigurieren §  Webtechnologie integrieren §  Managen von Dependencies und Repositories §  Scaffolding Applikationen bauen 9
  • 12. Clean Code §  Software Craftmanship §  geprägt von Uncle Bob (Robert C. Martin) §  Code Smells §  Klassen-, Methoden-, Variablennamen §  Methodengrösse §  Comments §  Strong cohesion -> Single Responsibility §  … 12
  • 13. Projekt Lombok §  Java Library – lombok.jar §  Reduce Boilerplate Code §  Annotationsbasiert @Getter, @Setter, @ToString, @Data,... 13
  • 15. Projekt Lombok §  Benötigt Java ≥ 6 §  Java Agents hooken in Compile Prozess javac –cp lombok.jar Person.java §  Eclipse, netbeans, maven Plugins §  Andere Tools: PMD, findbugs, checkstyle, Simian 15
  • 17. Redeploy Hell §  Problem §  Code geschrieben -> Build -> Deploy auf Server §  Über 15 % der Entwicklungszeit ist Warten auf Redeploy §  Frißt Nerven, Zeit und Geld §  Lösungen §  Funktionalitäten ausgliedern §  Abhängigkeiten zu Laufzeit-Umgebungen reduzieren §  Unittests / Applikation §  Tools §  Debugger §  JRebel 17
  • 18. JRebel §  Integriert sich in JVM §  Richtiges Hotdeployment §  Hinzufügen von Methoden §  Ändern von Methodensignaturen §  Konfigfile Änderung (Spring, Hibernate, JSF, Wicket,…) §  Verbindet sich direkt mit IDE-Workspace §  Unterstützt alle gängigen Appserver §  Nachteil: Kommerziell 18
  • 20. Don't re-invent the wheel §  Einsatz von Open Source Libraries im Projekt §  Bessere Applikations-Architektur §  Source Code von der Community benutzt §  gut (Unit-)getestet §  Schnelleres Entwickeln mit kleineren Team §  Fokussierung auf die Businesslogik §  Libraries §  Apache Commons §  Guava §  FluentJava §  Spring 20
  • 21. Apache Commons – Lang §  Verschiedene String Operationen §  Erwartete Resultate 21
  • 22. Apache Commons – CLI §  Command Line Programm mit Option „-h“ §  Programmausgabe 22
  • 23. Apache Commons – Email §  Beispiel Email senden über Gmail 23
  • 24. Apache Commons Attributes, BeanUtils, Betwixt, Chain, CLI, Codec, Collections, Compress, Configuration, Daemon, DBCP, DbUtils, Digester, Discovery, EL, Email, Exec, FileUpload, IO, JCI, Jelly, Jexl, JXPath, Lang, Launcher, Logging, Math, Modeler, Net, Pool, Primitives, Proxy, Sanselan, SCXML, Transaction, Validator, VFS 24
  • 25. Get your Work Done!
  • 26. Pomodoro Technique !"#$%&'&(&)&$!#*"+,-.#$ (c) Staffan Nöteberg - Pomodoro Technique Illustrated !"#$%&'()*+,&-)#+.)+&/01&2334536564& 26 ! "#$!%&'&(&)&!"$*#+,-.$! !/!!!0001234554++&3$6$)712$!89:;<=!
  • 27. Pomodoro Technique §  Ergebnisse §  Lernen Aktivitäten planen & schätzen §  Aufzeichnen & verbessern der Aktivitäten §  Störungen vermindern & vermeiden §  Tools §  Pomodoro (Eieruhr) §  Focus Buster 27
  • 28. Shortcuts 28
  • 29. Shortcuts §  Problem §  Mouse Junkies §  Umgreifen frisst Zeit §  Produktivität sinkt §  Shortcuts schwer lernbar 29
  • 30. Shortcuts §  Lösungen §  Eclipse Mousefeed-Plugin zeigt Shortcuts auf §  Save-Actions räumt Code auf §  Cheatsheets (für jegliche Tools) 30
  • 33. Jenkins §  Alles was es braucht ist Java §  Gehe zu http://jenkins-ci.org §  Download War-File §  Command-Line java -jar jenkins.war §  Plugin-Mechanismus §  Chuck-Norris §  Lava Lampe §  ... 33
  • 35. CI Game §  „You broke the build“ §  Einzahlung in Build-Kasse §  „<...> Developer of the week“ §  ... §  CI Game von Clint Shank §  Reward-System §  Jenkins-Plugin verfügbar 35
  • 37. Unit Testing §  TDGotchi §  Gotchi füttern mit Unittest-Results §  Infinitest §  Continuous Test Runner for Java 37
  • 39. Keep up-to-date §  Es tut sich viel in der Java-Welt §  Java 7, Cloud Computing, OSGi, .... §  Besuche... §  Konferenzen §  Hackathons / Hackergarten §  Java User Groups §  Tausch dich aus §  E-Learning §  Blogs §  Parleys (Offline-Client) §  InfoQ 39
  • 41. Zusammenfassung §  Your Daily Commic Strip §  Rapid Application Development §  Clean Code §  Redeploy Hell §  Open Source Libraries §  Get your Work Done! §  Shortcuts §  Continuous Integration – Jenkins §  Unit Testing §  Keep up-to-date 41
  • 42. Weitere Resourcen §  Swiftmind GmbH §  http://www.swiftmind.com §  http://www.swiftmind.com/blog §  Memonic §  http://bit.ly/swiftmind-jfs 42
  • 43. Q&A Patrick Baumgartner, Odilo Oehmichen patrick.baumgartner [at] swiftmind [dot] com odilo.oehmichen [at] swiftmind [dot] com http://www.swiftmind.com http://www.twitter.com/swiftmind 43