Với 15 năm kinh nghiệm làm lập trình viên, 8 năm trong vai trò leader và SA tham gia thiết kế, phát triển và triển khai Backend Service. Tây Java xin được chia sẻ với bạn đọc kiến thức cần có của một java developer và lộ trình học Java từ a~z. Lộ trình này chính là con đường Tây Java đã đi để vượt ra khỏi luỹ tre làng, Nay dành lại cho các bạn yêu ngôn ngữ lập trình Java và muốn thành công trong lĩnh vực lập trình phần mềm.
I – Java Basic
1. Java core
1.1 Nhập môn Java
- Java là gì?
- Đặc điểm nổi bật của Java
- JDK, JRE, JVM là gì ?
- Thiết lập môi trường Java
- Tạo chương trình java đầu tiên
- Các loại biến trong Java
- Các kiểu dữ liệu trong Java
- Các loại toán tử trong Java
1.2 Các câu lệnh điều khiển
- If / else
- Switch
- Vòng Lặp for
- Vòng lặp foreach
- Vòng Lặp while
- Vòng Lặp do while
- Ngắt quãng break
- Tiếp tục continue
- Chú thích trong java
1.3 Lập trình hướng đối tượng
- Khài niệm về lập trình OOP
- Tính kế thừa trong Java (Java Inheritance)
- Tính trừu tượng trong Java (Java Abstraction)
- Tính đa hình trong Java(Java Polymorphism)
- Tính đóng gói trong Java
1.4 Xử lý mảng trong Java (Java Array)
1.5 Xử lý chuỗi trong java (Java String)
1.6 Tập hợp trong Java (Java Collections)
1.7 Xử lý biểu thức Regex (Java Regex)
1.8 Xử lý chuyển đổi kiểu dữ liệu (Java Conversion)
1.9 Xử lý định dạng ngày tháng (Java Date)
1.10 Xử lý ngoại lệ trong Java (Exception Handling)
1.11 Xử lý đa luồng (Multiple Thread)
1.12 Xử lý đa ngôn ngữ (I18N)
1.13 Networking trong java (Java networking)
1.14 Java Reflection API
1.15 Java IO
2. Java 8
- Java 8 Features
- Lambda Expressions
- Method References
- Functional Interfaces
- Stream APIStream Filter
- Base64 Encode Decode
- Default Methods
- forEach() method
- Collectors class
- StringJoiner class
- Optional class
- JavaScript Nashorn
- Parallel Array Sort
- Type Inference
- Parameter Reflection
- Type Annotations
- JDBC Improvements
3. Java 9 ~ 21 (hoặc mới nhất)
- Các tính năng trong Java 9 (Java 9 Features)
- Các tính năng trong Java 10 (Java 10 Features)
- Các tính năng trong Java 11 (Java 11 Features)
- Các tính năng trong Java 12 (Java 12 Features)
- Các tính năng trong Java 13 (Java 13 Features)
- Các tính năng trong Java 14 (Java 14 Features)
- Các tính năng trong Java 15 (Java 15 Features)
- Các tính năng trong Java 16 (Java 16 Features)
- Các tính năng trong Java 17 (Java 17 Features)
- Các tính năng trong Java 18 (Java 18 Features)
- Các tính năng trong Java 19 (Java 19 Features)
- Các tính năng trong Java 20 (Java 20 Features)
- Các tính năng trong Java 21 (Java 21 Features)
- Các tính năng trong Java 22 (Java 22 Features)
- Các tính năng trong Java 23 (Java 23 Features)
II – Spring Boot
- Resful API là gì ?, Tiêu chuẩn của một API backend tốt
- Tổng quan về Spring boot framework
- Cài Đặt Maven
- Khởi tạo và quản lý bean trong spring boot
- Sự khác nhau giữa @Autowired và @Component
- Xậy dựng ứng dụng backend đầu tiên
- Validate data trong spring boot
- Validate enum trong spring boot
- Response data trong spring boot
- Xử lý ngoại lệ trong spring boot
- Sử dụng lombok đúng cách
- Cấu hình đa ngôn ngữ cho ứng dụng
- Cấu hình CORS cho ứng dụng
- Cấu hình API document cho ứng dụng
- Build ứng dụng với maven
- Đóng gói ứng dụng với docker
- Spring data JPA
- CRUD
- Customize query
- Criteria
- Specification
- Query Method
- Spring security
- Các cơ chế bảo mật và CSDL phân quyền
- Mô tả chi tiết cách phân quyền
- Spring Security + JWT + RBAC
- Tạo Access token và Refresh token
- API Refresh Token & Logout
- Forgot Password
- Spring Data – Redis
- Send email
- Spring boot – Kafka
- Message Queue: RabbitMQ, ActiveMQ
- Import/ Export file
- Write/Read json file
- Batch Job
- QR code
- Object Mapper
- Cloud: AWS, GPL, Azure
- Unit test
- Autotest với Selenium, Cucumber
- Microservice
III – Database
1. Relational database
- Postgres
- MySQL
- Oracle
- H2
2. No SQL
- DynamoDB
- MongoDB
- Cassandra
- ElasticSeach
IV – DevOps Learning Path
1. Basic
- Git
- Linux
- Programming
- Database
- Networking
2. CI/CD
- Jenkins
- GitHub Actions
- GitLab CI
- CircleCI
3. Containerization
- Docker
- Kubernetes
- Helm
4. Cloud + Iac + SCM
- AWS
- Google Cloud
- Azure
- Terraform
- Ansible
5. Logging + Monitoring
- Grafana
- Prometheus
- ELK (Elasticsearch + Logstash + Kibana)
- EFK Elasticsearch + Fluent + Kibana)
- Kafka
V – Design
- UI/UX
- Design system
- Network topology
- Design Pattern