|
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.
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
Agile Development Principles and Practices and Maven 2-
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 and
building your application
- Dependency management with Maven 2
- Using Maven dependency management in Ant
- 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
- Automating the release process
- Automated deployments with Cargo
- Using Maven on legacy applications
Unit and Integration testing with JUnit 4, Selenium and easyb
- Principles of Test-driven development
- Writing clearer tests with the Hamcrest assertions
- Using annotations, parameterized tests and JUnit Theories to
simplify your tests
- Using test coverage metrics to improve your testing process
- Testing a web interface with Selenium
- Testing your Java applications BDD-style with Groovy and
easyb
- Database testing with the easyb DBUnit plugin
Code quality and documentation-
Agile best practices to improve code quality - pair
programming, collective code reviews,...
- 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?
- Generating useful reports with a Maven site
- Generate UML-based documentation with UMLGraph
- Generate database schemas with SchemaSpy
- Centralized code quality management with Sonar
SCM and Continuous Integration
- Working in iterations and time-boxed releases
- Modern SCM best practices
- Organizing your repositories
- Agile branching and merging strategies
- Distributed and centralized SCM systems and strategies
- Automating your build process with 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
- Distributed builds
|
COURSE DATES & REGISTRATION
Book Online or Call Sales on +44 (0)207 1839040
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.
COURSE DATES & REGISTRATION
Book Online or Call Sales on +44 (0)207 1839040
|