Java Bootcamp

John Smart's Java Power Tools Bootcamp

John Smart's Java Power Tools Bootcamp
Event: John Smart's Java Power Tools Bootcamp
Location: The Skills Matter eXchange
Date: 22.01.2011 - 26.01.2011
Contact: Website
Venue: The Skills Matter eXchange
EC1V 7DP London |

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.
  • 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.
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
JAX Magazine - 2014 - 06 Exclucively for iPad users JAX Magazine on Android


Latest opinions