HOME SCALA & F# JAVA .NET WEB GROOVY & GRAILS ANDROID & IOS NOSQL ARCHITECTURE AGILE & SCRUM AGILE DEVELOPER  
John Smart's Java Power Tools Bootcamp (JAVA-BOOTCAMP-01-05)
CODE: JAVA-BOOTCAMP-01-05          DURATION: 5 DAY/S
This five day Java Power Tools Bootcamp is a comprehensive, innovative and hands-on workshop covering best-of-breed open source tools and techniques for Agile Development in Java. You will learn how to optimise your development process, hone your programming skills and know-how, and ultimately produce better software. And you'll have fun while you're doing it!

The course is composed of an intensive 5-day workshop, with a mixture of teaching and lab exercises. You will learn how to implement modern Agile best practices for Java development within your own organisation. Each day starts with a discussion of Agile development practices and covers what tools and techniques you can use to support these practices.

You will come away from this workshop with a solid understanding of how you can improve your development practices back in the real world, as well as an abundance of practical tips and tricks that you can use in your day-to-day work.

Upon completion of this course you will also receive a free copy of John Smart's Java Power Tools book.

LEARN HOW TO:
  • Use Maven effectively to improve your development productivity and code quality, promote better software architecture, and improve team communication.
  • Understand the issues around dependency management in Java development, and be able to implement declarative dependency management in a corporate environment.
  • Know how to write effective unit tests and understand how to use unit testing practices to write more reliable code faster.
  • Understand how to use Behaviour-Driven Development to write better designed, more maintainable and more reliable code.
  • Be able to write automated database and web interface tests.
  • Understand how to use code quality and test coverage metrics to improve your code, and understand what the various metrics can tell you, and also what they can't.
  • Have a solid working knowledge of Subversion in the real world, and how to best use it in a Continuous Integration environment.
  • Know how to set up a working Continuous Integration server, complete with automated builds, tests, code quality audits and reports, and automatic deployment to an integration server.
PROGRAMME
Days 1 and 2

Advanced build and release automation with Maven 2 and Maven 3
  • Agile Development principles and practices – how to improve your development process in the real world
  • Introduction to Maven 2 – what is it, how can it help you, is it suitable for your project?
  • Creating a new project with Maven 2
  • The Maven development lifecycle – compiling, testing, building and deploying your application
  • Dependency management with Maven 2
  • Using Maven 2 in Eclipse
  • Using plugins to customize the build process
  • Setting up a local Maven Repository Manager with Nexus
  • Integrating Ant and Maven
  • Automating your deployment process with Maven
  • Deploying to a web application server
  • Using the assembly plugin
  • Automating the release process
  • Automated deployments with Cargo
  • Using Maven on legacy applications
  • What’ new in Maven 3 – new features, migrating to Maven 3, the maven shell, polyglot Maven
Days 3 and 4

TDD and BDD and ATDD tool and techniques for Java
  • Getting started with TDD and BDD
  • JUnit Kung Fu – Fixtures, Hamcrest asserts, Exception testing, Timeouts, Parameterized tests, Rule annotations, writing your own Hamcrest matchers
  • Continuous Testing in Eclipse with Infinitest
  • Using Mocks and Stubs for state-based and interaction-based testing with Mockito
  • Refactoring best practices
  • Using test coverage metrics to improve your testing process
  • Testing web applications with Selenium 2.0/WebDriver and Page Objects
  • Test-Driving Legacy Code
  • Automating your Acceptance Tests – Acceptance Test Driven Development
  • Behaviour-Driven Development (BDD) and Acceptance-Test Driven Development (ATDD) with easyb
Day 5

Code Quality and Continuous Integration
  • Measuring and Enforcing Code Quality
  • Enforcing coding standards with Checkstyle
  • Enforcing best practices with PMD
  • Detecting potential defects with FindBugs
  • What is cyclometric complexity and how can it help you write better code?
  • Centralized code quality management with Sonar
  • Continuous Integration
  • An introduction to Continuous Integration principles
  • Setting up a CI server with Hudson
  • Continuous Integration build strategies and best practices
  • Automated testing
  • Automated code quality audits
  • Automated reporting on project status and statistics
  • Automated deployment
  • Build pipelines and build promotion
  • Distributed builds
ABOUT THE AUTHOR
Well known in the Java community for his many published articles, and as author of the Java Power Tools book, John teaches the Java Power Tools Bootcamp to Skills Matter's Java community.
More about John Smart
WHAT PEOPLE ARE SAYING
"Best development course I have been on in a very long time. Will seriously improve our development/build/test lifecycle." Neil, Software Developer Apr 2010
"One of the best and most useful courses I have attended." Jonathon, Developer Apr 2010
"Greatly enjoyed the course. Provided many useful insights on how to introduce improved ways of working and how to incorporate new technology with new and 'legacy' Java projects." Derek, Technical Team Leader Apr 2010
IS THIS COURSE FOR YOU?
This is a hands-on, practical course designed to teach specialised skills for real-world development situations. It is thus primarily suitable for a developer audience:
  • Java Developers of all levels
  • Software Architects
  • Technical Project Managers

COURSE PREREQUISITES
To benefit from this course, you should have a reasonable understanding of Java development as well as a basic understanding of the Software Development Life Cycle.

COURSE LABS & EXERCISES
The Java Power Tools Bootcamp is above all a practical, hands-on workshop. We believe that the best way to learn is by doing. So the course contains approximately 60% lab work.

© Copyright 2003-2011, Skills Matter Ltd
  Web development by You In Control
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Jobs: Sales Executive  Jobs: Student SkillsCaster  jobs - junior event coordinator  Speed Coding 2011  Open Source Journal  Ticket Raffle  Agile Expert Series  Jobs: Sponsorship Development  jobs: Marketing & Sales Graduate Internship