Khoá Backend toàn từ cơ bản đến chuyên sâu (kèm riêng)
Khoá Backend toàn từ cơ bản đến chuyên sâu (kèm riêng)
Mục tiêu của khóa học
- Nắm vững kiến thức nền tảng và nâng cao về Spring Boot
- Thành thạo việc xây dựng REST APIs và GraphQL với Spring
- Hiểu và áp dụng được Microservices Architecture trong thực tế
- Tích hợp AI/ML và xây dựng hệ thống RAG với Spring Boot
- Triển khai ứng dụng với Docker và Cloud platforms
- Thực hành với các dự án thực tế theo chuẩn công nghiệp
Đối tượng học viên
- Lập trình viên muốn học Backend Development với Spring Boot
- Developers muốn cập nhật kiến thức về công nghệ mới
- Java developers muốn chuyên sâu về Spring Boot Backend
- Sinh viên CNTT muốn học thêm kỹ năng thực tế
- Người đi làm muốn chuyển sang Backend Spring Boot
Sự khác biệt khoá học
- Chương trình cập nhật theo xu hướng công nghệ mới nhất
- Tập trung vào thực hành với nhiều dự án thực tế
- Giảng viên có nhiều năm kinh nghiệm trong ngành
- Hỗ trợ học viên 24/7 qua group chat riêng
- Tài liệu đầy đủ và cập nhật liên tục
- Cơ hội thực tập và việc làm sau khóa học
Nội dung chương trình học
Phần 1: Nền tảng Java ( 8 buổi )
Giới thiệu về Spring Boot và các thành phần cốt lõi
Cài đặt môi trường phát triển (JDK, IDE, Maven/Gradle)
Tạo project Spring Boot đầu tiên
Cấu trúc project và các file cấu hình quan trọng
Dependency Injection và Inversion of Control trong Spring
Cấu hình ứng dụng với application.properties/yaml
Profile và môi trường phát triển
Logging và cách cấu hình log
Exception handling và validation
Unit testing cơ bản với JUnit 5
Records và cách sử dụng
Pattern matching cho instanceof
Switch expressions
Text blocks và String templates
Sealed classes và interfaces
Lambda expressions và functional interfaces
Method references
Stream API cơ bản và nâng cao
Optional để xử lý null
Collectors và grouping operations
CompletableFuture và promises
Parallel streams
Virtual threads (Project Loom)
Reactive programming với Project Reactor
Best practices khi xử lý bất đồng bộ
Java Platform Module System (JPMS)
Tạo và quản lý modules
Dependency management với Maven/Gradle
Clean architecture trong Spring Boot
Tổ chức code theo domain-driven design
Phần 2: Học thiết kế lưu đồ ERD và Thiết kế cơ sở dữ liệu
Nguyên tắc REST và best practices
Controllers và RequestMapping
Request parameters và path variables
Response entity và HTTP status codes
Exception handling trong REST APIs
HATEOAS và hypermedia controls
Versioning APIs
Swagger/OpenAPI documentation
API testing với Postman
Integration testing cho REST APIs
Cấu hình Spring Security
Authentication và authorization
Form login và remember-me
Password encoding
Session management
Phần 3: Các kiến thức chuyên sâu về Web Service và Kiến thức về Controller
Giới thiệu về kiến trúc Microservices và các pattern cơ bản
So sánh Monolithic và Microservices
Các thách thức khi xây dựng Microservices
Thiết kế và phân tách domain services
Best practices trong thiết kế Microservices
Cài đặt và cấu hình Eureka Server
Đăng ký services với Eureka Client
Load balancing với Spring Cloud LoadBalancer
Health check và service registry
Xử lý lỗi và retry pattern
Xây dựng Config Server tập trung
Quản lý cấu hình động với Git backend
Refresh scope và dynamic configuration
Mã hóa thông tin nhạy cảm
Versioning và rollback cấu hình
Circuit Breaker pattern với Resilience4j
Cấu hình fallback methods
Rate limiting và bulkhead
Xây dựng API Gateway với Spring Cloud Gateway
Routing và filtering requests
Distributed tracing với Spring Cloud Sleuth
Tích hợp Zipkin Server
Theo dõi và phân tích request flow
Logging tập trung trong microservices
Monitoring và alerting
Phần 4: Xây dựng mô hình 3-Layer, MVC và áp dụng vào Project-1
JPA entities và annotations
Repository pattern
CRUD operations
Query methods
Native queries và JPQL
One-to-One relationships
One-to-Many relationships
Many-to-Many relationships
Cascade types
Fetch types và N+1 problem
@Transactional annotation
Transaction propagation
Transaction isolation levels
Deadlocks và race conditions
Distributed transactions
MongoDB basics
Spring Data MongoDB
Document mapping
MongoDB queries
Indexing và performance
Redis caching
Cache strategies
Elasticsearch integration
Full-text search
Cache invalidation patterns
Phần 5: Quản lý và thao tác dữ liệu JPA, Spring Data JPA(chuyên sâu)
Giới thiệu về message broker và Apache Kafka
Cài đặt và cấu hình Kafka cluster
Kafka Producer và Consumer API
Topics, Partitions và Consumer Groups
Xử lý lỗi và retry trong Kafka
Tích hợp Spring Cloud Stream
Xây dựng Producer và Consumer services
Message channels và bindings
Error handling và dead letter queues
Testing message-driven applications
Event Sourcing pattern và implementation
Command Query Responsibility Segregation
Event store và event replay
Saga pattern cho distributed transactions
Optimistic concurrency control
Phần 6: Nghiệm thu Project-1
Unit testing với JUnit 5
Mocking với Mockito
Test coverage và mutation testing
Testing best practices
Continuous testing trong CI/CD
Phần 7: Xây dựng giao diện bằng Bootstrap-Jquery-Ajax và tích hợp vào Project Spring Boot Web
Cài đặt và cấu hình Prometheus
Tích hợp Micrometer để thu thập metrics
Xây dựng dashboard với Grafana
Cấu hình cảnh báo (alerts)
Theo dõi hiệu năng hệ thống
Bài tập thực hành: Xây dựng hệ thống giám sát (10 bài tập)
Cài đặt Elasticsearch, Logstash, Kibana
Cấu hình log aggregation
Tìm kiếm và phân tích logs
Xây dựng visualizations
Cấu hình cảnh báo dựa trên logs
Bài tập thực hành: Xử lý logs (15 bài tập)
Phần 8: Học về Json Web Token, Spring Security, Build Core Annotations (Chuyên Sâu)
Tổng quan về OpenAI API
Xây dựng service tích hợp OpenAI
Xử lý prompt và completion
Tối ưu hóa chi phí API
Xử lý lỗi và retry mechanism
Bài tập thực hành: Tích hợp OpenAI (10 bài tập)
Giới thiệu về Hugging Face Hub
Tải và sử dụng pre-trained models
Fine-tuning mô hình cho ứng dụng
Tối ưu hóa inference
Deployment considerations
Bài tập thực hành: Hugging Face (10 bài tập)
Kiến trúc của hệ thống RAG
Cài đặt và cấu hình vector database
Xử lý và embedding documents
Triển khai semantic search
Tối ưu hóa kết quả trả về
Bài tập thực hành: Xây dựng RAG (15 bài tập)
Phần 9: Xây dựng Project 3
Cơ chế hoạt động của WebSocket
Triển khai WebSocket với Spring
Xử lý Server-Sent Events
Quản lý kết nối và sessions
Xử lý lỗi và reconnection
Bài tập thực hành: WebSocket (10 bài tập)
Load balancing WebSocket connections
Clustering và session replication
Monitoring WebSocket performance
Xử lý backpressure
Best practices và patterns
Bài tập thực hành: Scale WebSocket (10 bài tập)
Phần 10: Viết Unit-Test cho Project
Cơ bản về GraphQL schema
Định nghĩa types và relationships
Thiết kế queries và mutations
Xử lý input validation
Versioning trong GraphQL
Bài tập thực hành: Schema Design (8 bài tập)
Cài đặt query resolvers
Xử lý mutation resolvers
Implement DataLoader pattern
Caching trong resolvers
Error handling strategies
Bài tập thực hành: Resolvers (10 bài tập)
Query complexity analysis
Batching và caching
Pagination implementation
Query depth limiting
Monitoring và logging
Bài tập thực hành: Performance (7 bài tập)
Phần 11: Dạy về Spring Cloud,Kafka, Flow thanh toán VNPay, Final Project
Tổng quan về DevOps và văn hóa DevOps
Quy trình CI/CD và tầm quan trọng
Các công cụ CI/CD phổ biến: GitLab, Jenkins, GitHub Actions
Thiết lập môi trường CI/CD cơ bản
Bài tập thực hành: Cài đặt và cấu hình CI/CD (5 bài tập)
Xây dựng pipeline với GitLab CI/CD
Tự động hóa build và test với Jenkins
Triển khai tự động với Docker và Kubernetes
Quản lý cấu hình với Infrastructure as Code
Bài tập thực hành: Pipeline (8 bài tập)
Các chiến lược triển khai: Blue-Green, Canary
Giám sát và logging trong CI/CD
Xử lý lỗi và rollback
Best practices trong triển khai
Bài tập thực hành: Deployment (7 bài tập)
Nguyên tắc và workflow GitOps
Tự động hóa quy trình phát triển
Quản lý môi trường với GitOps
Bảo mật trong CI/CD pipeline
Bài tập thực hành: GitOps (5 bài tập)