Must Read Resources for Java Developers
Legends
📹 — Video talk📰 — Text article📖 — Book​
Algorithms and Data Structure
📰 Big O Cheatsheet - Link
Java
📹 Computer programming: What is object-oriented language? - Link📰 I Finally Understand Static vs. Dynamic Typing and You Will Too! - Link📰 Naming a Package - Link📹 42 IntelliJ IDEA Tips and Tricks - Link📰 How and why to override the equals method in Java - Link📰 Java Generics FAQs by Angelika Langer - Link📖 Effective Java: Chapter 5: Generics📹 Java Generics: Past, Present and Future by Richard Warburton/Raoul-Gabriel Urma - Link📖 Effective Java: Chapter 10: Exceptions📖 Effective Java Summary - Link📖 Clean Code Summary - Link📹 Get a Taste of Lambdas and Get Addicted to Streams - Link📰 Java 8: The Missing Tutorial - Link📰 Asynchronous programming with Java 8 - Link📰 A Real-world Introduction to Finding classes in Object-oriented Programming Languages - Link📰 Learning Generics by Understanding signature of Collections.copy() method - Link
TDD and Automation Testing
-
📰 Introduction to Test Driven Development (TDD) - Link -
📰 Unit Tests Are FIRST - Link -
📹 The Clean Code Talks -- Unit Testing - Link -
📹 Test-driven development: Write better code in less time - Link -
📰 Mocks Aren't Stubs - Link -
📰 5 step method to make test-driven development and unit testing easy - Link -
📰 Unit Testing — AAA pattern - Link
Software Design
📹 Core Design Principles for Software Developers - Link📹 The Power and Practicality of Immutability - Link📹 Code Refactoring - Link📹 SOLID Principles - Link📹 Design Patterns - Link📰 Fluent Interface - Link📰 Fluent Builder Pattern with a real-world example - Link
Database
📰 Database Isolation Levels And Their Effects On Performance And Scalability - Link📰 CAP Theorem: Revisited - Link📰 ACID vs. BASE Explained - Link📰 Introduction to Database Design - Link📰 A beginners guide to SQL - Link📰 How Sharding Works - Link
REST API Design
📹 APIs for Beginners - How to use an API - Link📰 Best Practices for Designing a Pragmatic RESTful API - Link📰 REST API Error Codes 101 - Link📰 REST with Spring Tutorial - Link
Spring Framework
📰 Spring Tutorial - Link​📰 Spring Persistence Tutorial - Link📰 Security with Spring - Link
Scalability
📰 Scale-up or Scale-out, What it is and why you should care - Link📰 Best Practices For Horizontal Application Scaling - Link
Architecture
📰 Monoliths and Microservices - Link📰 12 Factor Applications - Link📰 Three-tier architecture - Link📰 What is DNS? - Link📰 Content delivery network - Link📰 A Minimalistic Guide to Building and Deploying Monolithic Spring Boot React Applications - Link
DevOps and Cloud
📰 A general introduction to build tools - Link📰 Continuous Integration - Link📹 Docker for Developers - Link📹 Docker Tutorial for Beginners - A Full DevOps Course on How to Run Applications in Containers - Link📹 DevOps Introduction - Link📰 Git: The Missing Tutorial - Link📹 AWS Concepts - Link📰 The Kubernetes Guide For Java Developers: Learn Kubernetes by deploying a real-world application on it - Link📰 Continuous Integration for Junior Software Engineers - Link
Agile Software Development
📰 Extreme programming - Link