This is a collection of tasks/exercises/experience I want to have accomplished as a Java Developer. I'm leaving the tasks undone so that others can easily copy this list and track their own progress.
If you have suggested additions, please leave a comment below.
- Create a Maven project using the command-line
- Test Driven Development using a testing framework
- JUnit
- Hamcrest Matchers
- Behavior Drive Development using a framework
- Cucumber
- Create a Gradle project using the command-line
- Implement
equals
andhashCode
for a custom class - Create a custom comparator
- Create a runnable JAR
- Create a shaded JAR
- Release a Maven project to Maven Central
- With generated JavaDocs
- With a generated Site
- Release a Gradle project to Maven Central
- Build a simple web application using Spring Boot
- Create a custom Maven Archetype
- Release a custom Maven Archetype to Maven Central
- Deploy a web application to Heroku
- Profile a Java application
- Use Hibernate
- Use a Database Migration Tool
- Flyway
- Liquibase
- Create a custom Annotation
- Use a dependency injection framework
- Use a logging framework
Liquibase with it's abstract refactoring is a better solution than Flyway