Must Read Resources for Java Developers

I am building a course on how to build production apps using LLMs. We will cover topics like prompt engineering, RAG, search, testing and evals, fine tuning, feedback analysis, and agents. You can register now and get 50% discount. Register using form – https://forms.gle/twuVNs9SeHzMt8q68

Legends

  • πŸ“Ή β€” Video talk
  • πŸ“° β€” Text article
  • πŸ“– β€” Book​

Algorithms and Data Structure

  1. πŸ“° Big O Cheatsheet - Link

Java

  1. πŸ“Ή Computer programming: What is object-oriented language? - Link
  2. πŸ“° I Finally Understand Static vs. Dynamic Typing and You Will Too! - Link
  3. πŸ“° Naming a Package - Link
  4. πŸ“Ή 42 IntelliJ IDEA Tips and Tricks - Link
  5. πŸ“° How and why to override the equals method in Java - Link
  6. πŸ“° Java Generics FAQs by Angelika Langer - Link
  7. πŸ“– Effective Java: Chapter 5: Generics
  8. πŸ“Ή Java Generics: Past, Present and Future by Richard Warburton/Raoul-Gabriel Urma - Link
  9. πŸ“– Effective Java: Chapter 10: Exceptions
  10. πŸ“– Effective Java Summary - Link
  11. πŸ“– Clean Code Summary - Link
  12. πŸ“Ή Get a Taste of Lambdas and Get Addicted to Streams - Link
  13. πŸ“° Java 8: The Missing Tutorial - Link
  14. πŸ“° Asynchronous programming with Java 8 - Link
  15. πŸ“° A Real-world Introduction to Finding classes in Object-oriented Programming Languages - Link
  16. πŸ“° Learning Generics by Understanding signature of Collections.copy() method - Link

TDD and Automation Testing

  1. πŸ“° Introduction to Test Driven Development (TDD) - Link

  2. πŸ“° Unit Tests Are FIRST - Link

  3. πŸ“Ή The Clean Code Talks -- Unit Testing - Link

  4. πŸ“Ή Test-driven development: Write better code in less time - Link

  5. πŸ“° Mocks Aren't Stubs - Link

  6. πŸ“° 5 step method to make test-driven development and unit testing easy - Link

  7. πŸ“° Unit Testing β€” AAA pattern - Link

Software Design

  1. πŸ“Ή Core Design Principles for Software Developers - Link
  2. πŸ“Ή The Power and Practicality of Immutability - Link
  3. πŸ“Ή Code Refactoring - Link
  4. πŸ“Ή SOLID Principles - Link
  5. πŸ“Ή Design Patterns - Link
  6. πŸ“°Fluent Interface - Link
  7. πŸ“° Fluent Builder Pattern with a real-world example - Link

Database

  1. πŸ“° Database Isolation Levels And Their Effects On Performance And Scalability - Link
  2. πŸ“° CAP Theorem: Revisited - Link
  3. πŸ“° ACID vs. BASE Explained - Link
  4. πŸ“° Introduction to Database Design - Link
  5. πŸ“° A beginners guide to SQL - Link
  6. πŸ“° How Sharding Works - Link

REST API Design

  1. πŸ“Ή APIs for Beginners - How to use an API - Link
  2. πŸ“° Best Practices for Designing a Pragmatic RESTful API - Link
  3. πŸ“° REST API Error Codes 101 - Link
  4. πŸ“° REST with Spring Tutorial - Link

Spring Framework

  1. πŸ“° Spring Tutorial - Link​
  2. πŸ“° Spring Persistence Tutorial - Link
  3. πŸ“° Security with Spring - Link

Scalability

  1. πŸ“° Scale-up or Scale-out, What it is and why you should care - Link
  2. πŸ“° Best Practices For Horizontal Application Scaling - Link

Architecture

  1. πŸ“° Monoliths and Microservices - Link
  2. πŸ“° 12 Factor Applications - Link
  3. πŸ“° Three-tier architecture - Link
  4. πŸ“° What is DNS? - Link
  5. πŸ“° Content delivery network - Link
  6. πŸ“° A Minimalistic Guide to Building and Deploying Monolithic Spring Boot React Applications - Link

DevOps and Cloud

  1. πŸ“° A general introduction to build tools - Link
  2. πŸ“° Continuous Integration - Link
  3. πŸ“Ή Docker for Developers - Link
  4. πŸ“Ή Docker Tutorial for Beginners - A Full DevOps Course on How to Run Applications in Containers - Link
  5. πŸ“Ή DevOps Introduction - Link
  6. πŸ“° Git: The Missing Tutorial - Link
  7. πŸ“Ή AWS Concepts - Link
  8. πŸ“° The Kubernetes Guide For Java Developers: Learn Kubernetes by deploying a real-world application on it - Link
  9. πŸ“° Continuous Integration for Junior Software Engineers - Link

Agile Software Development

  1. πŸ“° Extreme programming - Link