Vì sao nên học lập trình Java Web Fullstack

Ngôn ngữ phổ biến: Java liên tục đứng đầu trong top các ngôn ngữ lập trình phổ biến nhất với ứng dụng đa dạng

Java vẫn là ngôn ngữ được trả lương cao hàng đầu với xấp xỉ 1000$/ tháng với nhiều cơ hội thăng tiến trong nghề nghiệp

Theo thống kê, hiện đang có khoảng 57.000 Jobs dành cho lập trình viên Java tại thị trường Việt Nam

Java là một trong số ít ngôn ngữ lập trình đạt tới gần 100% OOP. Java dễ sử dụng nếu bạn hiểu về OOPS
Bạn nhận được gì trong khóa học lập trình Java web Fullstack tại T3H
Tham gia khóa học lập trình web bằng ngôn ngữ Java tại T3H, bạn sẽ đạt được:


Lộ trình
[ Phần 1: Frontend ]
Thời lượng: 15 buổi
- Giới thiệu lịch sử hình thành của HTML
- Các thẻ tag HTML cơ bản
- Sự cải tiến trong HTML5
- Thực hành theo các thẻ tương ứng
- Giới thiệu về inline và block tương ứng với thẻ các thẻ trong HTML
- Thực hành thao tác với các thẻ trong HTML thông qua việc dựng trang bằng thẻ table
- Giới thiệu Box model
- Giới thiệu về display trong CSS
- Thực hành về display
- Giới thiệu một phần position
- Thực hành về position
- Thực hành về after/before
- Giới thiệu về float
- Thực hành về float
- Giới thiệu về clearfix
- Giới thiệu cách đặt thẻ DIV sao cho hiệu quả
- Thực hành dựng trang đơn giản bằng DIV thay cho thẻ TABLE trước đó
- Thực hành với dropdown
- Thực hành với menu đa cấp
- Giới thiệu về câu lệnh, biến
- Giới thiệu về kiểu dữ liệu trong Javascript
- Giới thiệu về câu lệnh lặp
- Giới thiệu về câu lệnh điều kiện
- Thực hành
- Các ví dụ liên quan tới Mảng dữ liệu
- Bài toán tìm phần tử lớn nhất, phần tử nhỏ nhất
- Bài toán tìm phần tử lớn thứ n trong mảng
- Bài toán sắp xếp mảng
- Giới thiệu các hàm xử lý cơ bản cho chuỗi
- Giới thiệu bài toán chuẩn hoá chuỗi
- Giới thiệu bài toán đảo ngược chuỗi
- Thực hành
- Các bài toán liên quan tới Object
- Giới thiệu về JSON.parse và JSON.stringify
- Thực hành
- Bài toán giải phương trình bậc nhất
- Bài toán giải phương trình bậc hai
- Giới thiệu đặc trưng trong Javascript
- Thực hành thêm DOM
- Giới thiệu về jQuery, các tính năng cơ bản
- Thực hành với việc Jquery thay đổi DOM
- Làm quen với bài toán AutoSuggestion and AutoComplete
- Ứng dụng giải quyết bài toán AutoSuggestion và AutoComplete (AS/AC)
- Thực hành
- Giới thiệu về bootstrap, các thành phần cơ bản
- Phân chia đề tài cho học phần và kết thúc
- Công nghệ sử dụng Js: jquery, react, chartjs và một số thư viện js thông dụng Thymeleaf Jsp
[ Phần 2: Java căn bản ]
Thời lượng: 4 buổi
- Các đặc trưng cơ bản của Java so với ngôn ngữ C++
- Cài đặt môi trường
- Giới thiệu môi trường chạy Java JVM JRE, môi trương phát triển Java JDK
- Giới thiệu IDE sử dụng trong chươn trình Itellij phiên bản Utimate
- Cài đặt biến môi trường và giải thích ý nghĩa (Compile chương trình)
- Chương trình Helloworld, các phím tắt thông dụng
- Chương trình In ra màn hình và nhập vào từ bản phím chuỗi và số
- Hướng dẫn sử dụng Git
- Biến trong Java
- 8 kiểu dữ liệu nguyên thủy và ví dụ, ép kiểu trong java
- Toán tử (số học, bit, quan hệ và logic, ép kiểu, điều kiện, thứ tự ưu tiên) và biểu thức trong Java
- Cấu trúc điều khiển rẽ nhánh (if else, switch case)
- Cấu trúc lặp (for, while, do while)
- Hàm trong Java (hàm và hàm đệ quy)
- Xử lý chuỗi trong Java
- Mảng 1 chiều và n chiều trong Java
- Xử lý mảng trong Java
[ Phần 3: Basic OOP ]
Thời lượng: 5 buổi
- Giới thiệu về hướng đối tượng trong Java (tại sao tư duy hướng đối tượng lại cần thiết?)
- Cách viết 1 class trong Java (Khái niệm lớp và đối tượng)
- Các thành phần của 1 class (thuộc tính và phương thức), hàm getter setter
- Giải bài tập cộng trừ phân số
- Con trỏ this
- Tính chất kế thừa trong Java (từ khóa extend)
- Overloading và override trong Java
- Phạm vi truy cập (private, default, protected, public) trong Java
- Pakage trong Java
- Inner class trong Java
- Abstract class trong Java (Phân biệt với class thường)
- Phương thức abstract trong Java
- Interface class trong Java (Phân biệt với abstract class)
- Equal và Hashcode trong Java
- Collection và Map trong Java và ứng dụng
- Stream API trong Java
- Xử lý Ngoại lệ (exception handling) trong Java (Checked và unchecked trong Java)
- Lớp bao kiểu dữ liệu nguyên thủy (wrapper class)
- (Generic, cách khai báo và sử dụng Thread thông thường trong Java nếu cần thiết)
- Lambda Expression & Functional Interface
[ Phần 4: Cơ sở dữ liệu căn bản ]
Thời lượng: 3 buổi
- Cài đặt môi trường MySQL, giới thiệu về MySQL, làm quen với công cụ
- Giới thiệu dữ liệu, CSDL với hệ quản trị CSDL
- Các kiểu dữ liệu trong MySQL
- Hướng dẫn tạo TABLE, COLUME, cài đặt khóa chính, UNIQUE..
- Hướng dẫn câu lệnh INSERT, UPDATE, DELETE, DROP
- Hướng dẫn câu lệnh QUERY căn bản
- Giới thiệu LIMIT OFFSET, DISTINCT
- GROUP BY HAVING, ORDER BY
- Các hàm thông dụng trong SQL (sum, avg....)
- Khóa ngoại
- Các phép JOIN (INNER JOIN, LEFT JOIN, RIGHT JOIN)
- Sub Query
- Hướng dẫn phân tích phần mềm từ yêu cầu
- Bài tập: Thiết kế hệ thống quản lý thư viện sử dụng console Java
- VIEW, FUNCTION, PROCEDURE trong SQL
[ Phần 5: Spring Web ]
Thời lượng: 5 buổi
- Springboot là gì, vị trí Springboot trong hệ sinh thái Spring, vai trò của Springboot và tại sao cần học Springboot
- Tạo project Springboot bằng Intellij
- Giới thiệu các thành phần cấu trúc, các thành phần trong 1 project Springboot
- Giới thiệu công cụ quản lý thư viện maven
- Rest API là gì? Giao thức HTTP(Giới thiệu phương thức, header, Param, Body, HTTP Code)
- Postman là gì? Cách cài đặt và sử dụng công cụ Test API Postman?
- Hướng dẫn sử dụng 1 số phương thức đơn giản @RestController:
+ GET endpoint
+ POST endpoint
+ PUT endpoint
+ DELETE endpoint
- Giới thiệu Json, xử lý Json, (hoặc xml, xử lý xml)
- Bài tập : Xây dựng hệ thống quản lý thư viện buổi 14 bằng Rest API và JDBC
- Consumer và producer (xử lý dữ liệu đầu vào và trả về Json hoặc XML)
- Hướng dẫn build dự án, vai trò Tomcat
- Giới thiệu mô hình MVC (vai trò các tầng, phân biệt giữa DTO và Entity, tại sao cần phải chia tầng như vậy?)
- Hướng dẫn tải trang bằng Springboot (sử dụng thymleaf)
- Giới thiệu cơ bản về ViewResolve Thymleaf (cách truyền dữ liệu từ controller xuống view, cú pháp căn bản thymleaf để lấy dữ liệu)
- Phân biệt @Controller với @RestController
- Bài tâp: Xây dựng chương trình quản lý thư viện ở trên bằng cách sử dụng giao diện HTML lấy dữ liệu ra màn hình
- Hướng dẫn sinh viên chọn đề tài (demo 1 số project các khóa trước đã làm, và gợi ý đề tài, gợi ý các chức năng), đưa danh sách đề tài tham khảo
- Submit form đính kèm file
- Hướng dẫn validation form sử dụng Springboot
- Giải thích sự khác nhau giữa redirect, forward, rederview
- Bài tập: Tiếp tục bài quản lý thư viện áp dụng submitform cho các màn hình thêm sửa
- Giới thiệu Jquery
- Sử dụng Javascript làm bài tập hiển thị ảnh khi upload
- Hướng dẫn validation sử dụng Jquery
- Hướng dẫn sử dụng ajax gọi API
- Hướng dẫn sử dụng fragment Thymleaf để quản lý header, footer, naigation...
Bài tập: Áp dụng cho bài tập quản lý thư viện
- Đa ngôn ngữ Springboot
- Giải thích sâu về cơ chế Spring
- Nguyên lý SOLID
- Annotation, Spring Annotations: @Autowired, @Component, @Service, @Repository, @Configuration, @Primary....
- Dependency inversion in Spring: A few more examples..., IOC Container, Application Context and Bean Factory
[ Phần 6: Spring JPA ]
Thời lượng: 3 buổi
+ Chấm điểm danh sách các chức năng
+ Sơ đồ USER-CASE (các đối tượng tham gia hệ thống)
+ Hoàn thiên tối thiểu 30% màn hình có chức năng thêm sửa xóa, danh sách
- Giới thiệu ORM – Object Relational Mapping
- Giới thiệu JPA – Java Persistance API
- Giới thiệu Hibernate
- Giới thiệu Spring Data JPA
- Cách cấu hình dự án
- Cách tạo Entity, Repository trong SpringData JPA
- Sử dụng các hàm mặc định (save, findAll, getById....)
- Bài tập: Tiếp tục bài tập buổi trước với yêu cầu chuyển từ JDBC sang ORM
- Sử dụng NameQuery
- Hướng dẫn custom Query và cách query các câu truy vấn phức tạp
- Hướng dẫn tìm kiếm phân trang
- Sử dụng query OneTomany, ManyToMany
- Đối chiếu từ SpringData JPA sang Hibernate
+ Các trạng thái object
+ Vòng đời các trạng thái
+ Session Factory với EntityManager
[ Phần 7: Spring Security ]
Thời lượng: 4 buổi
+ Hoàn thiên tối thiểu 70% màn hình có chức năng thêm sửa xóa, danh sách sử dụng ORM
- Giới thiệu Springsecurity (giải thích 2 vấn đề authentication và authore)
- Giải thích cơ chế filter trong Java servlet
- Hướng dẫn cấu hình formlogin sử dụng spring security
- Giải thích PasswordEncoder
- Giải thích UserDetailService
- SpringEmail
- Bài tập: Tạo mới User, xác thực user qua email
- Giải thích cơ chế lưu thông tin user, phiên và cấu hình phiên, phân biệt SESSION với COOKIE
- Hướng dẫn phân quyền USER sử dụng config và anotation
- Bài tập: Phân quyền cho ứng dụng quản lý thư viện, chức năng quên mật khẩu và thay đổi mật khẩu
- Hướng dẫn Handler trong trường hợp đăng nhập thành công hoặc lỗi
- @ControllerAdvise bắt các Exception khi request lỗi
- Bài tập: Tiếp tục cho chức năng trang chủ của phần mềm quản lý thư viện
- Hướng dẫn cái đặt và các thành phần trong Spring JWT
[ Phần 8: Spring Schedule ]
Thời lượng: 1 buổi
- Hướng dẫn báo cáo thống kê (giao diện biểu đồ và backend)
- Hướng dẫn xuất báo cáo sử dụng thư viện org.apache.poi
- Các nội dung websocket, cache, thread, log4j2...
[ Phần 9: Unit Test ]
Thời lượng: 1 buổi
- Cách viết Unittest cho các layer
+ Repository
+ Service
+ Controller
[ Phần 10: Software Development Life Cycle ]
Thời lượng: 3 buổi
- Giới thiệu containner (Tomcat)
- Vòng đời servlet
- LoadBlancer
- Giới thiệu áp dụng Alige/Scrum vào dự án (Vai trò của từng thành viên ...)
Sản phẩm học viên
SVTH: Lê Đăng Quang
GVHD: Tran Quyet
Lớp: Backend Java
SVTH: Nguyễn Bảo Thành
GVHD: Phùng Thế Quang
Lớp: Backend Java
SVTH: Hoàng Hiệp
GVHD: Ngô Công Minh
Lớp: Java
SVTH: Lê Đăng Quang
GVHD: Tran Quyet
Lớp: Backend Java
SVTH: Nguyễn Bảo Thành
GVHD: Phùng Thế Quang
Lớp: Backend Java
SVTH: Hoàng Hiệp
GVHD: Ngô Công Minh
Lớp: Java
SVTH: Lê Đăng Quang
GVHD: Tran Quyet
Lớp: Backend Java
SVTH: Nguyễn Bảo Thành
GVHD: Phùng Thế Quang
Lớp: Backend Java
SVTH: Hoàng Hiệp
GVHD: Ngô Công Minh
Lớp: Java
Feedback học viên
.jpg)
.jpg)




.jpg)
.jpg)




.jpg)
.jpg)




.jpg)
.jpg)




.jpg)
.jpg)




Lập trình Java Web Fullstack - Đăng ký ngay nhận ưu đãi 40% học phí
Đăng ký
- Ưu đãi 40% học phí khóa học khi đăng ký trong tháng này
- Giảm 100 - 500k khi đăng ký theo nhóm từ 2 người trở lên
- Hỗ trợ việc làm ngay sau khóa học
- Học lại miễn phí nếu chưa đạt đầu ra