/java-resources

Resource links for the Java Web Techdegree

Java Logo

#Treehouse Java Web Techdegree Resources

This is a community based list of resources for the Java Techdegree.

Want to help and add resources? Awesome! Checkout our CONTRIBUTING guidelines.

Index

Java · Spark · Spring · Hibernate · HTML · CSS · JavaScript · General · Slack · Career · Git and GitHub


Java

Spark

  • Spark Framework Main Page
  • Link cookie constructor to be used - This link was shared like 5-10 times in Slack by Craig Dennis. It simply points to the cookie constructor with many arguments, in which we can provide "/" as first argument instead of default one "". So shortly saying, in Project-4 we better set cookie with "/" path so that we can use cookie on all pages of the website. This way we can set our password cookie working on many protected pages (by default cookie will be available for only one page).
  • Link to awaitInitialization in Spark - This link is important note for all those who want to write Unit Tests with Spark Framework. Was given to me in Slack by Craig Dennis. It has to be put in @BeforeClass annotated method when trying to test app like Craig Dennis does in Build a REST API with Spark Workshop. Here can be found example of usage awaitInitialization. And here is a link to Treehouse Community with the error that you will get if you don't put awaitInitialization.

Spring

  • Spring Framework Main Page
  • Spring Data REST Documentation - Helpful documentation link especially in Techdegree Project-10
  • Spring Data JPA Documentation - Helpful documentation link for all courses with Chris Ramacciotti, where he used @Query, like Deploying a Spring Application, User Authentication in Spring and Spring Unit Testing
  • Opinion about Field Injection in Spring - Opinion about Field Injection in Spring Applications. Was provided by Craig Dennis after Project-10 discussion in Slack. It explains nice things about using @Autowired in Spring.
  • Buildscript Spring Boot community answer - Recently it was discovered that old buildscript notation that was used by Chris Ramacciotti in all Spring Treehouse courses, does not work with new Gradle 3+ that is by default used with new Intellijidea projects. Read the post above, if suddenly Gradle does not let you load Spring Boot dependencies.
  • Spring Boot Auto-Restart - Tired of restarting server every time you make changes in Spring project? This link is especially helpful when you've just started learning Spring, have a lot of mistakes in code, and Intellijdea does not help with Thymeleaf templates. It is rather old link, so one has to use plugins notation, see link above. But it should work, and it helped me a lot with Project-7. I'll hopefully make a video, or a test repository somewhen, but for now it is still a good link for Spring learners, that like to experiment and don't want to restart the app manually. I should say that when you have a lot of Unit Tests like in Project-8 or Project-12, then this feature will take actually longer time to restart. But by that time usually experience with Spring Boot is good enough to simply use Unit Testing and not Auto-Restart feature. There are also some new links, like this for example, but I haven't check them out yet.

Hibernate

  • Hibernate Documentation Link -
    Hibernate documentation link is not just a raw docs to read. There a lot of fun stuff like Migration Guide From v4 to v5 or even very nice Quickstart tutorial. It is important especially that Chris Ramacciotti teaches Hibernate 4.x, and right now in version 5.x there is a major shift from SessionFactory to EntityManager. Read more in in the links above.
  • Vlad Mihalcea Website - If you've read line above, at the very bottom you will be surprised to see advice to "see Vlad's presentation". The link above leads to the website of "Hibernate Advocate". For everyone who is interested in Hibernate Best Practices, it is a must to follow Vlad's twitter. He always post his activity, like awesome StackOverflow posts and links to simple blog articles by him. I personally check Twitter mainly to see what he is posting.

HTML

CSS

JavaScript

General

  • 15 SEO Best Practices - Best Practices for structuring URLs. The link was found by Craig Dennis some while ago. It helps a lot in all web development Techdegree projects, in building URLs and providing BackEnd for them. Although some of the practices can be hard to be implemented easily, it is still nice to know professional opinion on this topic.

Slack

Career

Git and GitHub

  • Naming conventions for Git and GitHub repositories - It was hard to find general article on official Git or GitHub websites about this topic. So here is the StackOverflow post, that was also approved by Craig Dennis in Slack discussions. It also relies indirectly to the question of whether we should use capital letters in URLs, see 15 SEO Best Practices.

  • How to write commit messages in Git - Super nice instruction about how commit messages should be written. It is important to read this article as early as possible, and start applying Git Commit Best Practices early on for all Techdegree Projects