Giới thiệu chung

Khi tham gia khóa học Java Backend chuyên sâu, bạn sẽ làm chủ được DevOps và SysOps - Hai quy trình quan trọng trong ngành phát triển phần mềm hiện nay. Ngoài ra học viên cũng được tiếp cận với rất nhiều công nghệ hiện đại như: Microservice, Spring, Operation...

hình ảnh giới thiệu

Đối tượng tham gia

  • Sinh viên ngành CNTT muốn tìm hiểu, phát triển nghề nghiệp theo hướng DevSysOps
  • Lập trình viên junior, senior muốn tiếp cận và phát triển hệ thống theo hướng Microservices
  • Leader, Senior có kinh nghiệm về lập trình, phát triển phần mềm học để cập nhật kiến thức, nâng cao trình độ bản thân, hỗ trợ team và quản lý các dự án

Học xong làm ở đâu?

  • Apply vào tất cả công ty tuyển dụng về lập trình đặc biệt là DevSysOps Developer
  • Các công ty outsourcing - gia công phần mềm
  • Công ty, tập đoàn trong nước và nước ngoài...
  • Các công ty startup - khởi nghiệp
  • Nhận các job freelance về DevSysOps

LÝ DO LỰA CHỌN CHÚNG TÔI?

LÝ DO LỰA CHỌN CHÚNG TÔI? VTI Academy trực thuộc VTI Group - tập đoàn công nghệ hàng đầu chuyên gia công phần mềm cho thị trường trong và ngoài nước
LÝ DO LỰA CHỌN CHÚNG TÔI? Chương trình đào tạo chất lượng từ cơ bản tới nâng cao, bám sát yêu cầu của doanh nghiệp
LÝ DO LỰA CHỌN CHÚNG TÔI? Đội ngũ giảng viên là các chuyên gia lâu năm kinh nghiệm, luôn hỗ trợ học viên 24/7
LÝ DO LỰA CHỌN CHÚNG TÔI? Tham gia các dự án xuyên suốt khóa học để tăng khả năng thực chiến
LÝ DO LỰA CHỌN CHÚNG TÔI? Cam kết việc làm sau khóa học
LÝ DO LỰA CHỌN VTI ACADEMY?
Giá trị nhận được sau khóa học

Giá trị nhận được sau khóa học

  • Trang bị và làm chủ kiến thức cơ bản về lập trình: Database (MySQL), JavaCore
  • Nắm bắt chuyên sâu về Spring Framework và phát triển dịch vụ theo hướng Microservices
  • Có kiến thức nền tảng về Docker, Container, triển khai được các services theo quy trình CI/CD trên môi trường AWS
  • Làm chủ được kiến thức về Linux OS và các kiến thức về System Admin (Networking, Storage, Security, Monitoring….)

Khung chương trình

Học phần 1: DataBase MySQL

Day 1 - Leson1

  • Khai giảng & giới thiệu về khóa học
  • Cài đặt & Giới thiệu tài liệu khoá học (Drive File Stream)
  • Cài đặt MySQL Workbench
  • Giới thiệu về Web architecture
  • Giới thiệu về Database
  • Tạo Database, tạo Table
  • Daily Assignment

Day 2 - Lesson 2

  • Review Assignment & Lý thuyết Lesson 1
  • Datatype (Number, Character, Date & Time, Enum)
  • Constraint (Primary Key, Foreign Key, Unique Key , Default, Not null, Check)
  • Daily Assignment

Day 3 - Lesson 3   

  • Review Assignment & Lý thuyết Lesson 2
  • Select, Where ( = , >, <, >=, <=, !=, <>, And, Or, Between and, In, Not In, Like, Not Like, Is Null, Is Not Null)
  • Distinct, Order by, Limit, alias
  • Aggregate functions (Count, Sum, Min, Max, Avg), Group By, Having
  • Insert, update, delete statement
  • Daily Assignment

Day 4 - Lesson 4

  • Review Assignment & Lý thuyết Lesson 3
  • Join (Inner Join, Left Join, Right Joi, Cross Join)
  • Union và Union All
  • Daily Assignment

Day 5 - Lesson 5

  • Review Assignment & Lý thuyết Lesson 4
  • Subquery
  • View
  • CTE
  • Daily Assignment

Day 6 - Lesson 6

  • Review Assignment & Lý thuyết Lesson 5
  • Stored Procedure
  • Function
  • Optional Join (On Delete Cascade, …)
  • Daily Assignment

Day 7 - Lesson 7   

  • Review Assignment & Lý thuyết Lesson 6
  • Session & Connection
  • Variable
  • Trigger, Index, Case When
  • Daily Assignment

Day 8 - Review

Review Assignment & Lý thuyết SQL trong học phần

Học phần 1: DataBase MySQL

Học phần 2: JavaCore

Day 1 - Lesson 1

  • Giới thiệu về môn học
  • Setup JDK & Eclipse
  • Datatype (String, Int, Date, Boolean, …)
  • Array, Enum
  • Object
  • Init Object
  • Print Object
  • Daily Assignment

Day 2 - Lesson 2

  • Review Assignment & Lý thuyết Lesson 1
  • Flow control statements (If-else, ternary, switch-case, for, foreach, while, do while, break, continue)
  • Operator (i++, Arithmetic, Relational, Logic)
  • Date, String, Number Format
  • Random Number, Date
  • Scanner, Method
  • Daily Assignment

Day 3 - Lesson 3 

  • Review Assignment & Lý thuyết Lesson 1 & 2
  • Datatype Casting
  • Primitive & Wrapper Classes
  • Auto boxing & unboxing
  • String
  • Các phương thức trong class Object
  • Daily Assignment

Day 4 - Lesson 4   

  • Review Assignment & Lý thuyết Lesson 3
  • Constructor
  • Package
  • Access modifier
  • OOP
  • Encapsulation
  • Inheritance
  • Abstraction (Part 1)
  • Daily Assignment

Day 5 - Lesson 5

  • Review Assignment & Lý thuyết Lesson 4
  • Abstraction (Part 2)
  • Polymorphism
  • Override và Overload
  • This & super keyword
  • Daily Assignment

Day 6 - Review   

Review Assignment & Lý thuyết Lesson 1,2,3,4,5
Day 7 - Lesson 6

  • Review Assignment & Lý thuyết Lesson 5
  • Debug
  • Exception
  • Daily Assignment

Day 8 - Lesson 7   

  • Review Assignment & Lý thuyết Lesson 6
  • Các thành phần static và luồng điều khiển
  • Các thành phần Non-static và luồng điều khiển
  • Final
  • File
  • IO Stream
  • Daily Assignment

Day 9 - Lesson 8   

  • Review Assignment & Lý thuyết Lesson 7
  • Collection & Map
  • Generic
  • Daily Assignment

Day 10 - Lesson 9

  • Review Assignment & Lý thuyết Lesson 8
  • Internationalization
  • Annotation
  • Inner class
  • Garbage Collector
  • Java Structure (JVM, memory, …)
  • Interpretion & Compilation
  • Daily Assignment

Day 11 - Lesson 10 

  • Review Assignment & Lý thuyết Lesson 9
  • JDBC
  • Maven
  • Properties File
  • Call Procedure
  • Transaction 
  • Daily Assignment

Day 12 - Lesson 11   

  • Review Assignment & Lý thuyết Lesson 10
  • 3-Layer architecture
  • Daily Assignment

Day 13 - Review

Review Assignment & Lý thuyết Lesson 6,7,8,9,10,11

Day 14 - Exam    

  • Topic Exam: Lý thuyết
  • Topic Exam: Thực hành
  • Topic Exam: Interview
Học phần 2: JavaCore

Học phần 3: Spring FW

Day 1 - Lesson 1 - Spring Boot

  • (Spring Boot) Setup Spring tool suite & Postman
  • Hello World
  • A few concepts (Web & Web service, JSON & XML, API & Restful API, HTTP)
  • 3 Layers with Springboot
  • Daily Assignment

Day 2 - Lesson 2 - Spring Core

  • (Spring Core) Review Assignment & Lý thuyết Lesson 1
  • SOLID principles
  • IoC & DI
  • Spring core
  • Daily Assignment

Day 3 - Lesson 3 - Spring Data JPA & Other Tools

  • (Spring Data JPA & Other Tools) Review Assignment & Lý thuyết Lesson 2
  • Hello World Spring Data JPA
  • Custom Query
  • Paging & Sorting
  • Daily Assignment

Day 4 - Review   

  • Review Assignment & Lý thuyết Lesson 1,2,3

Day 5 - Lesson 4 - Specification, ModelMapper

  • ModelMapper
  • Specification
  • HATEOAS
  • Daily Assignment

Day 6 - Lesson 5 - Validate, Internationalization & Other tools

  • Review Assignment & Lý thuyết Lesson 4
  • Create/Update Form
  • Validate
  • Swagger
  • Spring Data Rest
  • Daily Assignment

Day 7 - Lesson 6 - Exception, Log4J, Basic authentication

  • Review Assignment & Lý thuyết Lesson 5
  • Exception
  • Basic Authentication
  • Log4j
  • Daily Assignment

Day 8 - Review   

Review Assignment & Lý thuyết Lesson 4,5,6

Học phần 3: Spring FW

Học phần 4: Basic Linux OS (Kiến thức căn bản về hệ điều hành Linux OS)

Day 1 - Hệ điều hành Linux OS

  • Kiến thức về hệ điều hành linux và kernel 
  • Thực hành cài đặt hệ điều hành Linux và các lựa chọn trong quá trình cài đặt (CentOS)
  • Thực hành cài đặt hệ điều hành Linux và các lựa chọn trong quá trình cài đặt (Ubuntu)
  • Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)

Day 2 - Command line Linux OS basic (Các khối lệnh trong Linux - Day 1)

  • Review bài tập Day 1
  • Kiến thức cơ  bản về các khối lệnh trong linux dùng để quản lý thư mục (Directory); quản lý tệp (File)
  • Thực hành gõ các khối lệnh dùng để quản lý thư mục (Directory); quản lý tệp (File); quản lý phân quyền file and folder; quản lý nội dung tệp tin  (file contents); quản lý tệp văn bản vi/vim; quản lý bộ lọc (filter); quản lý nén và giải nén ( zip/unzip);trang hướng dẫn sử dụng (man pages); tổ chức tệp tin trên linux (Filesystem hierarchy); lọc thông tin trên linux (filters)
  • Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)

Day 3 - Command line Linux OS basic (Các khối lệnh trong Linux - Day 2)

  • Review bài tập Day 2
  • Kiến thức cơ  bản về các khối lệnh trong linux dùng để quản lý user và group​; quản lý ổ cứng ( disk manager)​; quản lý tiến trình (process)​ ; Quản lý network​; Quản lý phần cứng ( hardware manager)​; quản lý lập lịch (scheduling)
  • Thực hành gõ các Khối lệnh cơ bản về Users ; quản lý Users (Users Management) ; quản lý Password (Password Management) ; quản lý Groups ; quản lý tiến trình (Process); quản lý Disk ; quản lý Hardware; quản lý Hardware (RAM) ; quản lý Network ; quản lý lập lịch Cron(Scheduler) 
  • Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)

Day 4 - Cài đặt/Gỡ cài đặt gói

  • Review bài tập Day 3
  • Kiến thức cơ bản về trình quản lý cài đặt gói  (yum/apt-get) và build gói từ source code
  • Thực hành cài đặt/gỡ cài đặt gói thông qua yum/apt-get
  • Thực hành cài đặt từ source code
  • Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)
Học phần 4: Basic Linux OS (Kiến thức căn bản về hệ điều hành Linux OS)

Học phần 5: MicroService

Day 1 - Lesson 1 - Tổng quan về kiến trúc hệ thống micorservice

  • Webservice là gì?
  • Giới thiệu về RESTful web services
  • Microservice là gì? Các thuật ngữ hay dùng trong microservices: Decomposing & Single-Function, ...
  • Microservice với springboot, spring cloud
  • Giới thiệu về Docker, cài docker destop trên windows, mac-os

Day 2 - Lesson 2 - Thực hành với Docker

  • Review Lý thuyết Lesson 1
  • Các câu lệnh cơ bản với Docker
  • Docker compose; docker images; docker container; docker volume
  • Viết docker file, tạo docker image với docker command
  • Viết docker compose.yml file, tạo docker container
  • Kiểm tra images, container; xoá: images, container, volume

Day 3 - Lesson 3 - Deployment với Docker

  • Review Lý thuyết Lesson 2
  • Các câu lệnh với docker container
  • Docker hub là gì, tạo docker image và push lên docker hub
  • Tạo instance VPS Ubuntu(Linux) để deploy spring boot app
  • Một số câu lệnh cơ bản và cần thiết trên Linux
  • Pull image tử docker hub, build container với docker compose
  • Cấu hình in-bound, out-boud cho VPS, test API bằng postman ứng dụng spring boot chạy bằng docker

Day 4 - Lesson 4 - Build các microservices trong hệ thống

  • Review Assignment & Lý thuyết Lesson 1,2,3
  • Kiến trúc hệ thống micro services
  • Build account services
  • Build deparment services

Day 5 - Lesson 4 - Build các microservices trong hệ thống

  • Review Assignment & Lý thuyết Lesson 4
  • Cơ chế xác thực người dùng bằng JWT
  • Generate token
  • Xác thực token
  • Access token và refresh token
  • Build auth services
  • Xử lý token hết hạn

Day 6 - Lesson 4 - Xây dựng các thành phần của hệ thống microservices

  • Review Assignment & Lý thuyết Lesson 5
  • Giới thiệu Eureka discovery services
  • Xây dựng server để đăng ký các service con trong hệ thống(Eureka)
  • Enable discovery client auth service
  • Enable discovery client account service
  • Enable discovery client department service

Day 7 - Lesson 4 - Xây dựng các thành phần của hệ thống microservices

  • Review Assignment & Lý thuyết Lesson 6
  • Giới thiệu về RestTemplate và FeignClient 
  • Xây dựng API gateway với Spring Cloud
  • Cấu hình tập trung với service config
  • Event Sourcing trong microservice

Day 8 - Lesson 4 - Xây dựng các thành phần của hệ thống microservices

  • Review Assignment & Lý thuyết Lesson 7
  • Xây dựng thêm tính năng cho account service
  • Xây dựng thêm tính năng cho deparment service
  • Dynamic routing and loadbalancer với Netflix Ribbon
  • Monitoring với Netflix Hystrix dashboard & Turrbine

Day 9 - Lesson 4 - Xây dựng các thành phần của hệ thống microservices

  • Review Assignment & Lý thuyết Lesson 7
  • Xây dựng khả năng chịu lỗi và phản hồi lỗi dùng circuit Breaker Pattern với Netfix Hystrix
  • Spring Security OAuth2 
  • Kết hợp Spring Clound và Spring Security OAuth2 bảo mật API

Day 10 - Lesson 4 - Xây dựng unit test

  • Review Assignment & Lý thuyết Lesson 9
  • Cài đặt Jacoco Code Coverage Plugin
  • Viết testcase đầu tiên cho account service
  • Hoàn thành test class Account Controller
  • Hoàn test business rule Account service
  • Viết Intergration test cho Account Service

Day 11 - Lesson 4 - Quản lý chất lượng và an toàn code

  • Review Assignment & Lý thuyết Lesson 10
  • Tìm hiểu Sonarqube và cài đặt
  • Khắc phục lỗ hổng code với Sonarqube
  • Khắc phục lỗi Code Smell
  • Khắc phục lỗi duplicate code

Day 12 - Lesson 4 - Xây dựng Centralised Log Analyses

  • Review Assignment & Lý thuyết Lesson 11
  • ELK stack là gì?
  • Phân tích ưu và nhược điểm của Elasticsearch. Cài đặt Elasticsearch trên windows và Linux
  • Quản lý Elasticsearch trên UI với Kibana. Thực hành các câu truy vấn co bản với Elasticsearch

Day 13 - Xây dựng Centralised Log Analyses

  • Review Assignment & Lý thuyết Lesson 12
  • Logstash là gì
  • Cài đặt logstash
  • Đẩy dữ liệu vào elasticsearch bằng logstash
  • Xử lý filter tối ưu tìm kiếm trong elasticsearch bằng java spring boot

Day 14 - Lesson 4 - Xây dựng các thành phần của hệ thống microservices

  • Review toàn bộ kiến thức trong package 4
  • Kiểm tra lại tổng thể các thành phần trong hệ thống
  • Run tất cả các services con, test hoạt động và performance cho toàn bộ hệ thống
  • Tổng kết kiến thức và khuyến khích học viên đặt các câu hỏi mở rộng về kiến trúc hệ thống

Day 15 - Lesson 4 - Thi hết học phần

  • Thi trắc nghiệm đánh giá năng lực học viên
Học phần 5: MicroService

Học phần 6: DevOps

Day 1 - Lesson 5 - Tổng quan về DevOps

  • DevOps là gì?
  • DevOps cần phải học những gì?
  • Các câu lệnh cần thiết trong terminal macos; linux, CMD hay powercell trong window
  • Tìm hiểu các khái niệm: DNS, HTTP, HTTPS, FTP, SSL
  • Cài đặt các web server phổ biến: Apache, Nginx

Day 2 - Lesson 5 - Các khái nhiệm và chức năng thường được sử dụng

  • Review Lý thuyết Lesson 1
  • Process Management
  • Threads and Concurrency
  • Sockets & Virtualization
  • I/O management
  • Memory storage and File systems.
  • Docker command

Day 3 - Lesson 5 - Các khái nhiệm và chức năng thường được sử dụng

  • Review Lý thuyết Lesson 2
  • Caching Server, Load balancer
  • Reverse Proxy,  Firewall
  • Quản lý version code với: Github, Gitlab, Bitbucket
  • Monitor server với: Nagios, Zabbix, Icing, Datadog
  • Dùng các Docker container build nhiều server dưới local sử dụng loadbalancer để cân bằng tải server

Day 4 - Lesson 5 - Triển khai CI/CD cho hệ thống microservice

  • Review Assignment & Lý thuyết Lesson 1,2,3
  • CI/CD là gì?
  • Triển khai CI/CD với Gitlab CI
  • Tổng kết nội dung học phần DevOps
Học phần 6: DevOps

Học phần 7: Intermediate System Admin (Quản Trị Hệ Thống)

Day 5 - Phần mềm hệ thống

  • Review bài tập Day 4
  • Kiến thức Database và WebService; Queue and Caching
  • Hướng dẫn cài đặt và cấu hình Database và WebService; Queue and Caching
  • Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)

Day 6 - Networking

  • Review bài tập Day 5
  • Kiến thức về giao thức mạng TCP/UDP , IP, ICMP, BGP, OSPF; Kiến thức về LAN, VLAN, IP, Subnet, Gateway, Routing, MAC Address, NIC 
  • Kiến thức về thiết bị phần cứng mạng ( Hub, Switch, Router)
  • Hướng dẫn cài đặt và cấu hình network, sử dụng các công cụ troubleshooting network (ping, telnet, traceroute, mtr, nmap, nc, tcpdump ...)
  • Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)

Day 7 - Storage

  • Review bài tập Day 6
  • Kiến thức về DAS và NAS Storage
  • Hướng dẫn cài đặt và cấu hình hệ thống NAS storage ( NFS or CIFS storage)
  • Kiến thức về SAN và Object Storage 
  • Hướng dẫn cài đặt và cấu hình hệ thống Object Storage (Ceph/Minio storage)
  • Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)

Day 8 - Security

  • Review bài tập Day 7
  • Kiến thức chung về bảo mật; thuật toán mã hóa  và hàm băm ( symmetric, asymmetric encryption and hash function); Kiến thức về mã hóa đường truyền TLS/SSL; Kiến thức mã hóa data; Kiến thức về Firewall (tcp/ip blocking) và Web Application Firewall (http blocking)
  • Hướng dẫn cài đặt và cấu hình Firewalld /Iptable trên linux 
  • Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)

Day 9 - Monitoring, Logging and Alerting

  • Review bài tập Day 8
  • Kiến thức về Monitoring, Loging and Alerting
  • Hướng dẫn cài đặt và cấu hình hệ thống Monitoring (sử dụng Zabbix) Hướng dẫn cài đặt và cấu hình hệ thống Logging (sử dụng Rsyslog/ELK )
  • Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)

Day 10 - System Architecture

  • Review bài tập Day 9
  • Kiến thức về Web Application Architecture và Deployment Architecture​
  • Thực hành đánh giá điểm mạnh/yếu trên các bản vẽ kiến trúc deployment có sẵn (đánh giá bản vẽ Monolithic, Microservices and Serverless Architecture)
  • Trắc nghiệm kiến thức lý thuyết và thực hành đã học (Quiz and Assignment)
Học phần 7: Intermediate System Admin (Quản Trị Hệ Thống)

Học phần 8

Thi hết học phần & Tổng kết Q&A

  • Thi trắc nghiệm đánh giá năng lực học viên
  • Tổng kết kiến thức và khuyến khích học viên đặt các câu hỏi mở rộng về quản trị hệ thống
Học phần 8

Đối tác

Học viên nói gì về chúng tôi?

Đăng ký tư vấn
cùng đội ngũ chuyên gia VTI ACADEMY!!

icon đăng ký icon đăng ký