JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, Oehmichen
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 673 views

Slides zum Vortrag von Patrick Baumgartner & Odilo Oehmichen am Java Forum Stuttgart.

Slides zum Vortrag von Patrick Baumgartner & Odilo Oehmichen am Java Forum Stuttgart.

Die gleichen Slides sind auch im Account von Patrick Baumgartner verfügbar.

Statistics

Views

Total Views
673
Views on SlideShare
673
Embed Views
0

Actions

Likes
1
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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
  • 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
  • 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
  • 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 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
  • 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 IntegrationPhyllis 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 IntegrationAgnes 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&APatrick Baumgartner, Odilo Oehmichenpatrick.baumgartner [at] swiftmind [dot] comodilo.oehmichen [at] swiftmind [dot] comhttp://www.swiftmind.com http://www.twitter.com/swiftmind 43