LỢI ÍCH KHI THAM GIA KHÓA BOOTCAMP TECH-STACK TẠI T3H
Được đào tạo theo phương pháp tiên tiến mô hình Tech-Stack với kiến thức mới nhất và đầy đủ kỹ năng thực chiến dự án
Có đội ngũ giảng viên & mentor dày dạn kinh nghiệm hỗ trợ học tập 24/7. Học liệu mới nhất và cập nhật liên tục, video record các buổi học được share vĩnh viễn
Có các trang blog kiến thức, nhóm học tập giúp học viên có thể chia sẻ, học hỏi kiến thức. Được trải nghiệm những dự án lớn, thực tế mà doanh nghiệp đang làm.
Được đào tạo phỏng vấn và chia sẻ các tips phỏng vấn theo chuẩn đầu ra doanh nghiệp. Đảm bảo đầu ra sau khi tốt nghiệp khoá học
BẠN NHẬN ĐƯỢC GÌ KHI THAM GIA KHÓA BOOTCAMP - LẬP TRÌNH DỰ ÁN THỰC CHIẾN TECH-STACK JAVA - TRỞ THÀNH CHIẾN BINH TỪ CON SỐ 0
Khi tham gia khóa Bootcamp - Lập trình dự án thực chiến Tech-Stack Java tại Viện công nghệ thông tin T3H bạn sẽ được đào tạo các kiến thức mới nhất và đầy đủ kỹ năng thực chiến một dự án, có thể tham gia dự án thực tế được ngay không cần đào tạo lại khi đi làm.
Lộ trình
[ Phần 1: Module 1 - Frontend Basic ]
Thời lượng: 6 buổi
- Giới thiệu về khóa học, lộ trình học
- Làm quen một số thẻ trong HTML
- Dùng các thẻ HTML thực hành tạo một số component đơn giản
- Các cách viết CSS trong dự án (Inline, Internal, External)
- Các thuộc tính cơ bản hay dùng trong CSS
- Cách đặt tên CSS ( BEM, ...)
- Phân biệt được các giá trị inline, block, inline-block
để làm cho một website có thể sử dụng được dưới mọi thiết bị
- Sử dụng boostrap để làm 1 vài component hay gặp: card product, ...
- Áp dụng các kiến thức để xây dựng layout 1 trang web
- Hướng dẫn deploy lên github
- Làm bài kiểm tra cuối module
[ Phần 2: Module 2 - Frontend Intermediate ]
Thời lượng: 9 buổi
- Datatypes (các kiểu dữ liệu trong JS, giới thiệu 5 kiểu dữ liệu nguyên thủy: number, string, boolean, null và undefined)
- Toán tử trong JS
- Comment trong JS
- Tìm hiểu về scope trong JS
- Cách sử dụng và phân biệt các vòng lặp for, while, do-while
- Thực hành toán tử 3 ngôi.
- Cú pháp khai báo
- Các thao tác trên array (CRUD)
- Duyệt mảng
- Các thao tác với object (CRUD)
- Duyệt object
- Điểm khác nhau giữa kiểu dữ liệu tham chiếu và kiểu dữ liệu nguyên thủy
- Function là gì, cách khai báo và sử dụng function
- Giới thiệu về callback
- Các cách xử lý bất đồng bộ trong JS (callback, promise, async-await)
- Cách sử dụng try-catch
- Một số thuật toán hay dùng và clean code
- Kiến thức bổ trợ (location, history trên bwoser)
- Debug trong JS
- Áp dụng các kiến thức html, css và js đã học để làm 1 project quản lý sinh viên với các chức năng:
+ C: Thêm mới sinh viên
+ R: In ra toàn bộ thông tin sinh viên đang có
+ U: Update thông tin sinh viên
+ D: Xóa thông tin sinh viên
+ S: Tìm kiếm thông tin sinh viên
(Dựng giao diện có thể sử dụng boostrap để tiết kiệm thời gian)
- Xây dựng chức năng sắp xếp
- Tìm hiểu về API, cách sử dụng API
- Sử dụng mock api để lưu trữ thông tin
- Deploy project, làm bài test
[ Phần 3: Module 3 - ECMA features & TypeScript ]
Thời lượng: 3 buổi
- Tìm hiểu về một số tính năng trong các phiên bản ECMAScript khác (nullish operator, optional chaning)
- Kiểu dữ liệu tĩnh (Type Annotations).
- Interfaces và Type Aliases.
- Generics.
- Tìm hiểu về cách sử dụng modules và namespaces để tổ chức mã và giải quyết vấn đề xung đột tên.
- Hiểu về cách sử dụng decorator để thêm metadata vào các lớp và phương thức trong TypeScript.
- Tìm hiểu về các loại kiểu dữ liệu phức tạp như union types, intersection types, conditional types, mapped types, và các kỹ thuật tiên tiến khác.
- Tìm hiểu về các công cụ hỗ trợ phát triển như Visual Studio Code, Webpack, hoặc Gulp để làm việc với TypeScript.
- Hiểu cách tạo hoặc sử dụng các file type definitions (.d.ts) để mô tả kiểu dữ liệu của các thư viện bên thứ ba.
- Tìm hiểu về cách sử dụng async/await và Promise trong TypeScript để xử lý bất đồng bộ.
- Tìm hiểu về cách xử lý lỗi và sử dụng kiểu dữ liệu Error trong TypeScript.
- Thực hành và nắm chắc OOP trong TypeScript
[ Phần 4: Module 4 - ReactJS ]
Thời lượng: 13 buổi
- Cấu trúc folder project (tạo bằng toolchain CRA)
- Tim hiểu về JSX, so sánh JSX và HTML
- Component là gì?
- Thực hành tạo các Component hay được dùng
- Cách truyền dữ liệu từ component cha xuống component con
- Validate props (sử dụng props type)
- Default props
- List rendering
- Rendering có điều kiện
- Cách khai báo, sử dụng state
- So sánh state và props
- Setup routing cho project thực hành
- Hướng dẫn setup routing cho project cuối khóa
- Giới thiệu thư viện Ant Design và demo 1 số component có trong Ant Design
- Giới thiệu thư viện Reactstrap và demo 1 số component có trong Reactstrap
- Thực hành làm form đăng nhập, đăng ký
- Giới thiệu về life cycle trong react
- Call Api trong react
- Cách sử dụng useEffect (sự khác nhau giữa các dependency khi truyền vào useEffect)
- Tìm hiểu công dụng và cách sử dụng useMemo, useCallback và react memo
- So sánh biến thường, biến được tạo từ useRef và biến được tạo từ useState
- Sử dụng useContext để lưu trữ và sử dụng dữ liệu
- Hướng dẫn tạo 1 custom hook
- Thực hành làm CRUD với redux
- Các chức năng có trong project blog:
1. Quản lý bài viết.
2. Bình luận và phản hồi.
3. Tìm kiếm và lọc.
4. Thống kê và báo cáo.
5. Bảng tin và thông báo.
...
6. Bổ sung thêm các chức năng tùy thuộc vào tình hình học của lớp
- Các chức năng có trong project blog:
1. Quản lý bài viết.
2. Bình luận và phản hồi.
3. Tìm kiếm và lọc.
4. Thống kê và báo cáo.
5. Bảng tin và thông báo.
...
6. Bổ sung thêm các chức năng tùy thuộc vào tình hình học của lớp
- Test cuối module + ES6 và Type script
[ Phần 5: Module 5 - Backend Java ]
Thời lượng: 32 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
- Môi trường chạy Java JVM JRE, môi trương phát triển Java JDK
- Sử dụng IDE 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, thực hành các thao tác trên 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)
- Toán tử 3 ngôi trong Java
- Xử lý chuỗi trong Java
- Mảng 1 chiều và n chiều trong Java, Xử lý mảng trong Java
- Lý thuyết và thực hành 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
- Sắp xếp 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)
- Lambda Expression & Functional Interface
- Thread và MultiThread trong Java
- Generic cách sử dụng
- Cài đặt môi trường MySQL, giới thiệu về MySQL, làm quen với công cụ
- Làm quen 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ên INSERT, UPDATE, DELETE, DROP
- Hướng dẫn câu lệnh QUERY căn bản
- Thực hành 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, LEFTJOIN, 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
- Tạo dự án sử dụng Servlet
- Khái niệm về web server, giao thức, kiến trúc web...
- Cấu hình Servlet
- Http Header
- Vòng đời của Servlet
- Request – Response
- Phương thức GET – POST
- Redirect – Forward
- Java Servlet Cookies
- Login sử dụng Servlet Cookie
- Java Servlet Session
- Login và Logout sử dụng Servlet Session
- Java Servlet Filter
- Java Servlet Filter dùng XML config
- Java Servlet Filter sử dụng Java config
- Java Servlet Filter tính số lượt truy cập website
- Java Servlet FilterConfig
- Thực hành về JSP
- JSP - HttpServletRequest
- JSP - HttpServletResponse
- JSP Form
- JSP và JDBC
- JSP Session
- JSP Cookies
- JSP Upload File
- JSP - Expression Language (EL)
- JSP Tag Library (JSTL)
- JSP - Tự Tạo JSTL
- Spring framework là gì ?/Tại sao lựa chọn Spring?/ Thành phần/ Tính chất chính trong Spring
- 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
- Tìm hiểu các thành phân cấu trúc các thành phần trong 1 project Springboot
- Tìm hiểu công cụ quản lý thư viên maven
- Rest API là gì ? Giao thức HTTP (thực lành về 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
- Làm quen và thực hành Json, thực hành 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
- Làm quen 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)
- Tổng quan 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
- 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
- Thực hành 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, navigation...
- Đa ngôn ngữ Springboot
- Giải thích sâu về cơ chế Spring
- Annotation, Spring Annotations: @Autowired, @Component,
@Service, @Repository, @Configuration, @Primary....
- Dependency inversion in Spring: A few more examples...,
IOC Container, Application Context and Bean Factory
- Nguyên lý SOLID
- Bài tập, bài test cuối module
+ 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
- Tìm hiểu ORM – Object Relational Mapping
- JPA – Java Persistance API
- Tìm hiểu về Hibernate
- Cách cấu hình dự án
- 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
- 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
+ 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
- Tổng quan về Springsecurity (giải thích 2 vấn đề authentication và authore)
- Cơ chế filter trong Java servlet
- Hướng dẫn cấu hình formlogin sử dụng spring security
- PasswordEncoder
- UserDetailService
- SpringEmail
Thực hành: Tạo mới User, xác thực user qua email
- 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
- Thực hành: Viết giao diện sử dụng javascript JWT gọi API qua backend
- 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...
- Cách viết Unittest cho các layer
+ Repository
+ Service
+ Controller
- Review đồ án của học viên, hướng dẫn giải đáp thắc mắc
[ Phần 6: MODULE 6 - WEB MASTER VÀ DEPLOYMENT ]
Thời lượng: 2 buổi
- Làm quen containner (Tomcat), - Vòng đời servlet
- Deploy hệ thống
- LoadBlancer, RevertProxy..
- Deploy ứng dụng với docker và docker compose
[ Phần 7: MODULE 7 - AGILE/SCRUM - SOFTWARE DEVELOPMENT LIFE CYCLE ]
Thời lượng: 3 buổi
- Các mô hình phát triển phần mềm
- Giới thiệu về Agile/Scrum
- Áp dụng agile/scrum, jara vào 1 dự án thực tế
- Software Development Life Cycle (SDLC)
- Cách estimate một task theo chuẩn
- Phỏng vấn thử ứng viên
Sản phẩm học viên
Feedback học viên
BOOTCAMP - Lập trình dự án thực chiến Tech-Stack Java - Trở thành chiến binh từ con số 0 - Đăng ký ngay nhận ưu đãi 35% học phí