Skip to content

yadav-deepakk/java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 

Repository files navigation

Outline

Java Fundamentals

  • Java 21, 25 (LTS)
  • OOPs concepts
  • Exception Handling
  • Collections and Map
  • Streams
  • Lambda
  • Multithreading and concurrency
  • Records, Sealed, Pattern mactching
  • Virtual Threads

Build Tools

  • Maven
  • Gradle

Spring Core

  • Inversion of Controls (IoC)
  • Dependency Injection (DI)
  • Beans, Beans Lifecycle Methods
  • Beans Scopes
  • Spring AOP
  • Spring Beans Configurations - XML based and Java based

Spring Boot

  • Spring Boot Features
  • Spring Boot Starter
  • Embedded Server Support
  • Autoconfiguration
  • Spring Profiles
  • Spring Boot Actuator
  • Elegant Configuration Management

REST APIs

  • REST API Desing Practices
    • API versioning
    • Use of Proper Verbs and Resource names
    • Pagination, Sorting and Filtering
    • Bean Validation
    • Exception Handling
    • Status Codes (2xx, 4xx, 5xx)
    • Idempotency
    • Rate Limiting
  • Controller/RestController
  • RequestMapping - Get, Post, Put, Patch, Delete
  • RequestBody and RequestParam
  • File Upload and File Download
  • Documenting - Swagger/OpenAPI

Spring Security

  • API security important
  • Authentication and Authorization
  • JWT based Authentication
  • OAuth2.0
  • Keycloak
  • Role based Access

Data Access

  • Databases
    • DBMS
    • RDBMS
    • SQL - MySQL, Postgresql
    • NoSQL - Cassandra, MongoDB
  • JDBC
  • Hibernate
  • Persistance
  • Redis for caching and sessions
  • Test Containers for Databases

REST API Clients

  • RestClient - Synchronous, Blocking
  • WebClient - Reactive, Non-Blocking

Testing

  • Unit Testing with Jnit6
  • Mockito
  • Integration Testing
  • Test Containers for Databases
  • MockMvc and WebTestClient
  • SpringBootTest Annotation
  • DataJpaTest Annotation

Microsevices

  • Spring Cloud Projects
    • Spring Cloud Config Server
    • Spring Cloud Cloud Gateway
    • Netflix - Eureka client/server
    • Spring Cloud Circuit Breaker
    • Spring Cloud OpenFeign
    • Spring Cloud Security
  • Design Pattern
    • saga
    • API Gateway
    • Database per service
    • Event Sourcing
    • CQRS

Messaging Systems

  • RabbitMQ
  • Kafka

Containers and Cloud

  • AWS/GCP/Azure
  • Linux
  • Docker
  • Kubernetes

DevOps and Observablility

  • CI/CD
  • Logging
  • Metric
  • Tracing
  • Centralized Logging using ELK

About

java practice

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages