Java User Forum - StuttgartDie Top 10 der Tools & Methoden für mehr Spaß beim Entwickeln                 Patrick Baumgartn...
Speaker Profiles§  Patrick Baumgartner    §  Senior Software Consultant | Partner    §  Spring Framework, OSGi & agile ...
Das kennen wir alle...§  Jeder von uns...     §  ... wird ständig in seinem Arbeitsfluss unterbrochen     §  ... muss d...
Agenda§  Unsere 10 Lieblingsmittelchen gegen                  Procrastination                  Code Smells               ...
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§  Manag...
Spring Roo Demo                  10
Clean Code
Clean Code§  Software Craftmanship§  geprägt von Uncle Bob (Robert C. Martin)§  Code Smells    §    Klassen-, Methoden...
Projekt Lombok§  Java Library – lombok.jar§  Reduce Boilerplate Code§  Annotationsbasiert     @Getter, @Setter, @ToStri...
Projekt Lombok                 14
Projekt Lombok§  Benötigt Java ≥ 6§  Java Agents hooken in Compile Prozess     javac –cp lombok.jar Person.java§  Eclip...
Redeploy Hell
Redeploy Hell§  Problem     §  Code geschrieben -> Build -> Deploy auf Server     §  Über 15 % der Entwicklungszeit ist...
JRebel§  Integriert sich in JVM§  Richtiges Hotdeployment    §  Hinzufügen von Methoden    §  Ändern von Methodensigna...
Open Source Libraries
Dont re-invent the wheel§  Einsatz von Open Source Libraries im Projekt     §    Bessere Applikations-Architektur     §...
Apache Commons – Lang§  Verschiedene String Operationen§  Erwartete Resultate                                      21
Apache Commons – CLI§  Command Line Programm mit Option „-h“§  Programmausgabe                                          ...
Apache Commons – Email§  Beispiel Email senden über Gmail                                       23
Apache CommonsAttributes, BeanUtils, Betwixt, Chain, CLI, Codec,Collections, Compress, Configuration, Daemon,DBCP, DbUtils...
Get your Work Done!
Pomodoro Technique        !"#$%&&(&)&$!#*"+,-.#$                          (c) Staffan Nöteberg - Pomodoro Technique Illust...
Pomodoro Technique§  Ergebnisse     §  Lernen Aktivitäten planen & schätzen     §  Aufzeichnen & verbessern der Aktivit...
Shortcuts            28
Shortcuts§  Problem     §    Mouse Junkies     §    Umgreifen frisst Zeit     §    Produktivität sinkt     §    Short...
Shortcuts§  Lösungen    §  Eclipse Mousefeed-Plugin zeigt Shortcuts auf    §  Save-Actions räumt Code auf    §  Cheats...
Continuous Integration
Continuous IntegrationPhyllis                         32
Jenkins§    Alles was es braucht ist Java§    Gehe zu http://jenkins-ci.org§    Download War-File§    Command-Line jav...
Continuous IntegrationAgnes                         34
CI Game§  „You broke the build“     §  Einzahlung in Build-Kasse     §  „<...> Developer of the week“     §  ...§  CI...
Unit Testing
Unit Testing§  TDGotchi      §  Gotchi füttern mit Unittest-Results§  Infinitest      §  Continuous Test Runner for Ja...
Keep up-to-date
Keep up-to-date§  Es tut sich viel in der Java-Welt     §  Java 7, Cloud Computing, OSGi, ....§  Besuche...     §  Kon...
Zusammenfassung
Zusammenfassung§    Your Daily Commic Strip§    Rapid Application Development§    Clean Code§    Redeploy Hell§    Op...
Weitere Resourcen§  Swiftmind GmbH      §  http://www.swiftmind.com      §  http://www.swiftmind.com/blog§  Memonic   ...
Q&APatrick Baumgartner, Odilo Oehmichenpatrick.baumgartner [at] swiftmind [dot] comodilo.oehmichen [at] swiftmind [dot] co...
Upcoming SlideShare
Loading in …5
×

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

1,452 views
1,392 views

Published on

Slides zum Vortrag von Patrick Baumgartner und Odilo Oehmichen am Java Forum Stuttgart (07.Juli 2011)

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,452
On SlideShare
0
From Embeds
0
Number of Embeds
383
Actions
Shares
0
Downloads
5
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

  1. 1. Java User Forum - StuttgartDie Top 10 der Tools & Methoden für mehr Spaß beim Entwickeln Patrick Baumgartner – Senior Software Consultant07. Juli 2011 Odilo Oehmichen – Senior Software Consultant
  2. 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. 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. 4. Agenda§  Unsere 10 Lieblingsmittelchen gegen Procrastination Code Smells Repetitive Tasks Deadly Dullness§  Q&A / Welches sind Eure Lieblingstool? 4
  5. 5. Your Daily Comic Strip
  6. 6. Geek and Poke 6
  7. 7. Nasa - Earth Observatory Kali-Düngerwerk Lop Nur, Xinjiang, China
  8. 8. Rapid Application Development
  9. 9. Projekt Setup§  Projekt Struktur schnell erzeugen§  Persistenzlayer konfigurieren§  Webtechnologie integrieren§  Managen von Dependencies und Repositories§  Scaffolding Applikationen bauen 9
  10. 10. Spring Roo Demo 10
  11. 11. Clean Code
  12. 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. 13. Projekt Lombok§  Java Library – lombok.jar§  Reduce Boilerplate Code§  Annotationsbasiert @Getter, @Setter, @ToString, @Data,... 13
  14. 14. Projekt Lombok 14
  15. 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
  16. 16. Redeploy Hell
  17. 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. 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
  19. 19. Open Source Libraries
  20. 20. Dont 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. 21. Apache Commons – Lang§  Verschiedene String Operationen§  Erwartete Resultate 21
  22. 22. Apache Commons – CLI§  Command Line Programm mit Option „-h“§  Programmausgabe 22
  23. 23. Apache Commons – Email§  Beispiel Email senden über Gmail 23
  24. 24. Apache CommonsAttributes, 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. 25. Get your Work Done!
  26. 26. Pomodoro Technique !"#$%&&(&)&$!#*"+,-.#$ (c) Staffan Nöteberg - Pomodoro Technique Illustrated !"#$%&()*+,&-)#+.)+&/01&2334536564& 26 !"#$!%&&(&)&!"$*#+,-.$! !/!!!0001234554++&3$6$)712$!89:;<=!
  27. 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. 28. Shortcuts 28
  29. 29. Shortcuts§  Problem §  Mouse Junkies §  Umgreifen frisst Zeit §  Produktivität sinkt §  Shortcuts schwer lernbar 29
  30. 30. Shortcuts§  Lösungen §  Eclipse Mousefeed-Plugin zeigt Shortcuts auf §  Save-Actions räumt Code auf §  Cheatsheets (für jegliche Tools) 30
  31. 31. Continuous Integration
  32. 32. Continuous IntegrationPhyllis 32
  33. 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
  34. 34. Continuous IntegrationAgnes 34
  35. 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
  36. 36. Unit Testing
  37. 37. Unit Testing§  TDGotchi §  Gotchi füttern mit Unittest-Results§  Infinitest §  Continuous Test Runner for Java 37
  38. 38. Keep up-to-date
  39. 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
  40. 40. Zusammenfassung
  41. 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. 42. Weitere Resourcen§  Swiftmind GmbH §  http://www.swiftmind.com §  http://www.swiftmind.com/blog§  Memonic §  http://bit.ly/swiftmind-jfs 42
  43. 43. Q&APatrick Baumgartner, Odilo Oehmichenpatrick.baumgartner [at] swiftmind [dot] comodilo.oehmichen [at] swiftmind [dot] comhttp://www.swiftmind.com http://www.twitter.com/swiftmind 43

×