Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

100 Days Of Code - Web Development Bootcamp

100 Ngày Code - Khóa Học Web Development Bootcamp

100 Ngày Code - Khóa Học Web Development Bootcamp

Học phát triển web từ A đến Z trong 100 ngày (hoặc theo tốc độ của bạn) - từ "cơ bản" đến "nâng cao", tất cả đều có đủ!

4.6
(7,718 đánh giá)
45,913 học viên
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
99.000đ 349.000đ -72%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
79.5 giờ video
648 bài giảng
26 bài quiz
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 07/06/2026

Bạn sẽ học được gì

Web hoạt động thế nào và cách bắt đầu trở thành một web developer
Học phát triển web trong 100 ngày (tùy chọn - bạn cũng có thể chọn một tốc độ khác)
Xây dựng website, ứng dụng web và dịch vụ web (và hiểu những "thứ" này là gì)
Xây dựng giao diện người dùng frontend với HTML, CSS & JavaScript
Xây dựng các quy trình backend với NodeJS, Express & cơ sở dữ liệu SQL + NoSQL
Thêm các tính năng nâng cao như xác thực người dùng, tải tệp lên hoặc truy vấn cơ sở dữ liệu vào website

Yêu cầu

KHÔNG yêu cầu kiến thức lập trình hoặc phát triển web trước đó! Chúng ta sẽ bắt đầu từ con số 0!
Bạn chỉ cần một máy tính hoặc Mac để bắt đầu!

Đối tượng phù hợp

Dành cho học viên phát triển web từ cơ bản đến nâng cao
Học viên chưa có kinh nghiệm phát triển web nào và muốn trở thành web developer
Web developer có kinh nghiệm cần một tài liệu tham khảo toàn diện hoặc muốn đi sâu vào các chủ đề nâng cao cũng như ôn lại kiến thức cơ bản
Tất cả học viên quan tâm đến việc khám phá nhiều ví dụ và bài tập trong khóa học

Nội dung khóa học

37 phần • 646 bài giảng
1 Chào mừng đến với Khóa Học! [Ngày 1]
2 "Phát Triển Web" Là Gì & Web Hoạt Động Như Thế Nào? [Ngày 1]
3 Ba Ngôn Ngữ Lập Trình Chính [Ngày 1]
4 Web Hoạt Động Thế Nào: Tìm Hiểu Sâu [Ngày 1]
5 Còn "www" thì sao? [Ngày 1]
6 Thử Thách 100 Ngày Code! [Ngày 1]
7 Cách Tận Dụng Tối Đa Khóa Học Này [Ngày 1]
8 Bị kẹt trong khóa học? Chúng tôi đã hỗ trợ bạn! [Ngày 1]
9 Tham Gia Cộng Đồng Học Tập Của Chúng Tôi!
10 Cách Sử Dụng Mã Nguồn Đính Kèm [Ngày 1]
11 Thiết lập Khóa học
1 Giới thiệu Module [Ngày 1]
2 Cách Tạo Một Website [Ngày 1]
3 Tạo Trang HTML Đầu Tiên Của Chúng Ta [Ngày 1]
4 Thiết Lập Môi Trường Phát Triển [Ngày 2]
5 Tại Sao Lại Là Visual Studio Code? [Ngày 2]
6 Hiểu Về Các Phần Tử HTML [Ngày 2]
7 Có Những Phần Tử HTML Nào? [Ngày 2]
8 Thêm Một Phần Tử HTML Khác [Ngày 2]
9 Khám Phá Các Thuộc Tính HTML [Ngày 2]
10 Bắt Đầu Với CSS (Ngày 2)
11 Thêm Kiểu CSS [Ngày 2]
12 Làm Việc Với Màu Sắc [Ngày 3]
13 Định Dạng Mã Nguồn Của Chúng Ta [Ngày 3]
14 Làm Việc Với Công Cụ Dành Cho Nhà Phát Triển Của Trình Duyệt [Ngày 3]
15 Thêm Một Liên Kết [Ngày 3]
16 Bạn Có Thể Lồng Các Phần Tử HTML! [Ngày 3]
17 Sử Dụng Kiểu CSS Toàn Cục [Ngày 3]
18 Định Dạng Mã CSS [Ngày 3]
19 Bộ Khung & Siêu Dữ Liệu Của Tài Liệu HTML [Ngày 3]
20 Phím Tắt & Thủ Thuật Visual Studio Code [Ngày 3]
21 Chú Thích Trong Mã [Ngày 3]
22 Tóm Tắt Đầu Tiên [Ngày 3]
23 Tạo Kiểu Cho Phần Tử Anchor Với Pseudo Hover [Ngày 4]
24 Tại Sao Lại Gọi Là Cascading Style Sheets [Ngày 4]
25 Lưu Trữ Mã CSS Trong Các Tệp Bên Ngoài [Ngày 4]
26 Cú Pháp Phần Tử Void [Ngày 4]
27 Nhiều Tệp & Yêu Cầu [Ngày 4]
28 Chọn Các Phần Tử Đơn Lẻ Với Bộ Chọn ID [Ngày 4]
29 Làm Việc Với "font-size" và "px" [Ngày 4]
30 Sử Dụng Các Phông Chữ Khác Từ Google Fonts [Ngày 4]
31 Hiểu Cách HTML & CSS Xử Lý Văn Bản & Khoảng Trắng [Ngày 5]
32 Thêm Một Hình Ảnh [Ngày 5]
33 Tạo Kiểu Cho Hình Ảnh & Sử Dụng Thẻ Body [Ngày 5]
34 Tạo Kiểu Cho Nền Trang Tổng Thể [Ngày 5]
35 Thêm Một Tệp HTML Thứ Hai [Ngày 5]
36 Một Lời Về Quy Ước Đặt Tên Tệp [Ngày 5]
37 Sử Dụng Một Tệp CSS Dùng Chung [Ngày 5]
38 Tổ Chức Các Tệp Nguồn Trong Thư Mục [Ngày 5]
39 Tóm Tắt [Ngày 5]
1 Giới thiệu Module [Ngày 6]
2 Sử Dụng Tiện Ích Mở Rộng Live Server [Ngày 6]
3 Máy Chủ Phát Triển & Địa Chỉ Website Cục Bộ [Ngày 6]
4 Hiểu Về Danh Sách [Ngày 6]
5 Tạo Danh Sách [Ngày 6]
6 Hiểu Về Phần Tử Cha, Con, Vùng Chứa & Hơn Thế [Ngày 6]
7 Hiểu Về Cascading, Kế Thừa & Độ Ưu Tiên [Ngày 6]
8 Tạo Kiểu Cho Trang Full Week [Ngày 6]
9 Giới Thiệu Mô Hình Hộp CSS [Ngày 7]
10 Sử Dụng Mô Hình Hộp CSS [Ngày 7]
11 Tạo Bố Cục HTML [Ngày 7]
12 Lý Thuyết: Bộ Chọn & Toán Tử Kết Hợp [Ngày 7]
13 Sử Dụng Bộ Chọn & Toán Tử Kết Hợp [Ngày 7]
14 Hiểu Về Lớp [Ngày 7]
15 Phần Tử Block vs Inline [Ngày 7]
16 Sự Khác Biệt Về Kiểu Giữa Phần Tử Block & Inline [Ngày 8]
17 Hiểu Về Margin Collapsing [Ngày 8]
18 Thuộc Tính "box-shadow" [Ngày 8]
19 Thử Thách Của Bạn! [Ngày 8]
20 Tạo Bố Cục HTML [Ngày 8]
21 Tạo Kiểu Cho Phần Chính [Ngày 8]
22 Tạo Kiểu Cho Hình Ảnh & Làm Việc Với Margin Âm [Ngày 8]
23 Hoàn Thiện [Ngày 8]
24 Tóm Tắt Module [Ngày 8]
25 Danh Sách Tất Cả Các Bộ Chọn CSS [Ngày 8]
1 Giới thiệu Module [Ngày 9]
2 Nhiệm Vụ Của Bạn! [Ngày 9]
3 Tạo Cấu Trúc Cốt Lõi [Ngày 9]
4 Thêm Nội Dung Header [Ngày 9]
5 Thêm Kiểu Cho Header [Ngày 9]
6 Khoảng Cách & Mô Hình Hộp CSS [Ngày 9]
7 Thêm Nội Dung Chính [Ngày 9]
8 Tạo Kiểu Cho Nội Dung Chính [Ngày 10]
9 Tạo Kiểu Cho Mục Danh Sách & Liên Kết [Ngày 10]
10 Thêm Footer [Ngày 10]
11 Giới Thiệu Các Phần Tử HTML Mới [Ngày 10]
12 Tổ Chức Các Tệp Của Chúng Ta [Ngày 10]
13 Tóm Tắt Module [Ngày 10]
1 Giới thiệu Module [Ngày 11]
2 "Hosting" & "Triển Khai" Là Gì? [Ngày 11]
3 Hosting Website Tĩnh Đầu Tiên (Ví Dụ Triển Khai Trên Netlify) [Ngày 11]
4 Thêm Thông Tin Về Netlify & HTTPS [Ngày 11]
5 Thêm Favicon [Ngày 11]
6 Đường Dẫn Tương Đối vs Tuyệt Đối [Ngày 11]
7 Chia Sẻ Website Của Bạn! [Ngày 11]
1 Giới thiệu Module [Ngày 11]
2 Git & GitHub Là Gì? [Ngày 11]
3 Giao Diện Dòng Lệnh (CLI) vs Giao Diện Người Dùng Đồ Họa (GUI) [Ngày 11]
4 Tùy chọn: Khóa Học Cấp Tốc Terminal MacOS (z Shell) [Ngày 11]
5 Tùy chọn: Khóa Học Cấp Tốc Command Prompt Windows (cmd) [Ngày 12]
6 Git: Cài Đặt Trên MacOS [Ngày 12]
7 Git: Cài Đặt Trên Windows [Ngày 12]
8 Hiểu Các Kiến Thức Cơ Bản Về Git [Ngày 12]
9 Khởi Tạo Kho Lưu Trữ & Tạo Commit Đầu Tiên Của Chúng Ta [Ngày 12]
10 Kích Hoạt "Code Lense" Trong Visual Studio Code [Ngày 13]
11 Hiểu Về Nhánh, Hợp Nhất & Sửa Xung Đột Hợp Nhất [Ngày 13]
12 Xóa Nhánh & Commit, Hoàn Tác Các Thay Đổi Đã Staged & Chưa Staged [Ngày 13]
13 Tiếp Tục Đến GitHub - Là Gì & Tại Sao? [Ngày 13]
14 Tạo Tài Khoản GitHub & Kho Lưu Trữ Từ Xa [Ngày 13]
15 Vui Lòng Đọc: Chỉ Dành Cho Người Dùng Windows
16 Hiểu Về Personal Access Token & "git clone" [Ngày 14]
17 Cộng Tác Trên Dự Án - Cộng Tác Viên & Tổ Chức [Ngày 14]
18 Đóng Góp Cho Dự Án - Fork & Pull Request [Ngày 14]
19 Tổng Kết [Ngày 14]
1 Giới thiệu Module [Ngày 15]
2 Tổng Quan Dự Án - Những Gì Chúng Ta Sẽ Xây Dựng [Ngày 15]
3 Thiết Lập Dự Án [Ngày 15]
4 Tạo Cấu Trúc Trang Landing [Ngày 15]
5 Thêm Logo Trang [Ngày 15]
6 Thêm Điều Hướng Trang [Ngày 15]
7 Giới Thiệu CSS Flexbox [Ngày 15]
8 Căn Chỉnh Các Mục Flex [Ngày 15]
9 Thử Thách Flexbox Của Bạn! [Ngày 16]
10 Thêm Flexbox Vào Dự Án Của Chúng Ta [Ngày 16]
11 Thêm Hình Nền [Ngày 16]
12 Tạo Vùng Chứa Cho Nội Dung Hero [Ngày 16]
13 Định Vị Các Phần Tử [Ngày 16]
14 Tạo Kiểu Cho Nội Dung Hero [Ngày 16]
15 Hiểu Về Định Vị Fixed & Absolute [Ngày 16]
16 Làm Việc Với Đơn Vị % & Tạo Thanh Điều Hướng Trên Cùng [Ngày 17]
17 Hoàn Thiện Header [Ngày 17]
18 Giới Thiệu Phần "Highlights" [Ngày 17]
19 Tạo Mã HTML [Ngày 17]
20 Xây Dựng Vùng Chứa Flex [Ngày 17]
21 Bố Cục Mục Flex [Ngày 17]
22 Tạo Kiểu Hình Ảnh Với "object-fit" [Ngày 17]
23 Tạo Kiểu Văn Bản [Ngày 17]
24 Vui Lòng Đọc: Thêm "justify-content" [Ngày 17]
25 Hiểu Về Margin Collapsing Giữa Cha - Con [Ngày 18]
26 Làm Việc Với Các Hàm CSS - Linear Gradients [Ngày 18]
27 Bước Tiếp Theo [Ngày 18]
28 Tạo Phần Footer [Ngày 18]
29 Tạo Kiểu Cho Footer [Ngày 18]
30 Trang Places - Tổng Quan & Chuẩn Bị [Ngày 18]
31 Tạo Nội Dung Card [Ngày 18]
32 Sử Dụng "position: static" [Ngày 18]
33 Tạo Diện Mạo Card [Ngày 19]
34 Hiểu Về "overflow" & Thử Thách Của Bạn! [Ngày 19]
35 Giải Quyết Thử Thách [Ngày 19]
36 Tạo Tất Cả Các Card [Ngày 19]
37 CSS Grid - Lý Thuyết [Ngày 19]
38 Hiểu Về Bộ Chọn "nth-type" & "grid-template-columns" [Ngày 19]
39 Thử Thách Grid Của Bạn [Ngày 20]
40 Làm Việc Với Unicode UTF-8 [Ngày 20]
41 Hoàn Thiện [Ngày 20]
42 Tóm Tắt Module [Ngày 20]
43 Tùy chọn: Đi Sâu Vào "position", Flexbox & Grid [Ngày 20]
1 Giới thiệu Module [Ngày 20]
2 Tổng Quan Dự Án [Ngày 20]
3 Vui Lòng Đọc: Các Bài Gi
4 Optional: Your Challenge - Creating the HTML Structure [Day 20]
5 Optional: Challenge Solution - The HTML Structure [Day 20]
6 Optional: Styling the Header [Day 21]
7 Optional: Styling the "main" Section [Day 21]
8 What is Responsive Design? [Day 21]
9 The Problem with Pixels [Day 21]
10 Introducing "em" & "rem" [Day 21]
11 Applying "em" & "rem" for the Font Size [Day 22]
12 Deep Dive: "em" vs "rem" vs "%" [Day 22]
13 Updating the Project Units [Day 22]
14 Comparing Desktop & Mobile First Design [Day 22]
15 Understanding Media Queries [Day 22]
16 Adding Media Queries to the Project [Day 23]
17 Your Media Queries Challenge! [Day 23]
18 Side Drawer & Hamburger Icon - Theory [Day 23]
19 Creating the Hamburger Button [Day 23]
20 Creating the Side Drawer [Day 23]
21 Understanding HTML Fragments [Day 23]
22 Hiểu về Bộ chọn Mục tiêu [Ngày 24]
23 Hoàn thiện Ngăn kéo Bên [Ngày 24]
24 Giới thiệu Thuộc tính "z-index" [Ngày 24]
25 Tổng kết Module [Ngày 24]
1 Giới thiệu Module [Ngày 24]
2 Ba Điều Cần Nhớ [Ngày 24]
3 Giới thiệu Dự án Module [Ngày 24]
4 Kích thước & Khoảng cách [Ngày 24]
5 Chọn Font chữ Phù hợp [Ngày 24]
6 Hiểu tầm quan trọng của Màu Xám, Màu Chính & Màu Nhấn [Ngày 24]
7 Giới thiệu Biến CSS / Thuộc tính Tùy chỉnh CSS [Ngày 25]
8 Biến CSS trong Thực tế [Ngày 25]
9 So sánh Bộ chọn "root", "html" và "*" [Ngày 25]
10 Hiểu về Biến đổi CSS (Transformations) [Ngày 25]
11 Thêm Hiệu ứng Chuyển tiếp CSS (Transitions) [Ngày 25]
12 Làm việc với SVG [Ngày 25]
1 Giới thiệu Module [Ngày 26]
2 Biểu mẫu là gì & Tại sao cần? [Ngày 26]
3 Các Phần tử HTML Quan trọng trong Biểu mẫu [Ngày 26]
4 Phần tử Input Đầu tiên của chúng ta [Ngày 26]
5 Thêm một Nút bấm (Button) [Ngày 26]
6 Phần tử Form, Gửi Form & Các Loại Yêu cầu Khác nhau [Ngày 26]
7 Định dạng Phần tử Form [Ngày 27]
8 Thêm Nhãn (Labels) [Ngày 27]
9 Định dạng Biểu mẫu Chi tiết hơn [Ngày 27]
10 Hiểu các Loại Input Khác nhau [Ngày 27]
11 Hiểu các Loại Email, Số, Mật khẩu & Ngày tháng [Ngày 27]
12 Làm việc với Nút Radio (Radio Buttons) [Ngày 27]
13 Sử dụng Hộp kiểm (Checkboxes) [Ngày 28]
14 Phần tử Textarea cho Văn bản Dài [Ngày 28]
15 Thêm Danh sách Thả xuống (Dropdown) [Ngày 28]
16 Biểu mẫu & Ngữ nghĩa (Cấu trúc Biểu mẫu) [Ngày 28]
17 Tìm hiểu thêm về Nút trong Biểu mẫu [Ngày 28]
18 Thuộc tính Xác thực (Validation) [Ngày 28]
19 Thêm các Thuộc tính Input & Form [Ngày 28]
20 Thử thách của bạn! [Ngày 29]
21 Thử thách: Cấu trúc & Định dạng Trang Cơ bản [Ngày 29]
22 Thử thách: Tập hợp Phần tử Input Đầu tiên [Ngày 29]
23 Thử thách: Thêm các Phần tử Còn lại [Ngày 29]
24 Thử thách: Gửi & Xác thực [Ngày 29]
25 Thử thách: Định dạng [Ngày 29]
1 Giới thiệu Module [Ngày 29]
2 JavaScript là gì & Tại sao chúng ta sử dụng nó? [Ngày 29]
3 Bạn sẽ học gì trong Module này [Ngày 29]
4 Giới thiệu Giá trị & Biến số [Ngày 29]
5 Thêm phần tử HTML "script" [Ngày 30]
6 Làm việc với Giá trị & Lệnh JavaScript Cơ bản [Ngày 30]
7 Giới thiệu Biến số ("Vật chứa Dữ liệu") [Ngày 30]
8 Xem kỹ hơn về Cú pháp JavaScript [Ngày 30]
9 Biến số thứ hai & Thời gian Thực hành! [Ngày 30]
10 Tách mã JavaScript ra Tệp bên ngoài [Ngày 30]
11 Giới thiệu Mảng (Quản lý Danh sách Dữ liệu) [Ngày 30]
12 Giới thiệu Đối tượng (Nhóm Dữ liệu Liên quan) [Ngày 30]
13 Chia mã thành Nhiều dòng [Ngày 31]
14 Truy cập Thuộc tính của Đối tượng [Ngày 31]
15 Thực hiện các Phép toán [Ngày 31]
16 Tiếp tục với Lệnh Tùy chỉnh! [Ngày 31]
17 Giới thiệu Hàm (Functions) [Ngày 31]
18 Hàm & Biến số [Ngày 31]
19 Trả về Giá trị trong Hàm [Ngày 31]
20 Truyền Dữ liệu vào Hàm với Tham số (Parameters) [Ngày 31]
21 Hàm - Tổng kết [Ngày 31]
22 Thời gian Thực hành: Vấn đề [Ngày 32]
23 Thời gian Thực hành: Giải pháp [Ngày 32]
24 Giới thiệu Phương thức (Methods) [Ngày 32]
25 Giúp Cuộc sống Lập trình viên Dễ dàng hơn (Ghi log với console.log()) [Ngày 32]
26 Phép toán Toán học & Làm việc với Các loại Giá trị Khác nhau [Ngày 32]
27 Toán tử Modulus (Chia lấy dư) [Ngày 32]
28 Phép toán Toán học & Quy tắc Toán học [Ngày 32]
29 Thực hiện Phép toán trên Chuỗi (Văn bản) [Ngày 32]
30 Toán tử JavaScript, Toán tử Tốc ký & Các kiểu Giá trị [Ngày 32]
31 Phép toán Chuỗi & Phương thức Chuỗi [Ngày 32]
32 Phép toán Mảng Cơ bản [Ngày 33]
33 Chia mã JavaScript thành Nhiều tệp [Ngày 33]
34 Tổng kết Module [Ngày 33]
1 Giới thiệu Module [Ngày 33]
2 Thiết lập Ban đầu của chúng ta [Ngày 33]
3 Đối tượng Toàn cục "window" & "document" [Ngày 33]
4 "DOM" là gì? [Ngày 33]
5 Khám phá DOM [Ngày 33]
6 Đi sâu vào DOM để Chọn & Thay đổi Phần tử HTML [Ngày 33]
7 Tải Mã script của chúng ta một cách Chính xác [Ngày 33]
8 Cây DOM & Duyệt DOM (DOM Traversal) [Ngày 33]
9 Đi sâu vào DOM & Khám phá Nút Văn bản (Text Nodes) [Ngày 34]
10 Hạn chế của Việc Đi sâu vào DOM [Ngày 34]
11 Tìm kiếm Phần tử trong DOM [Ngày 34]
12 Truy vấn Phần tử [Ngày 34]
13 Các Phương thức Truy vấn Thông dụng [Ngày 34]
14 Thời gian Thực hành: Vấn đề [Ngày 34]
15 Thời gian Thực hành: Giải pháp [Ngày 34]
16 Các bước Tiếp theo [Ngày 34]
17 Chèn Phần tử HTML Mới qua JavaScript [Ngày 34]
18 Xóa Phần tử DOM [Ngày 35]
19 Di chuyển Phần tử Hiện có [Ngày 35]
20 Làm việc với "innerHTML" [Ngày 35]
21 Giới thiệu Sự kiện (Events) [Ngày 35]
22 Thêm Bộ lắng nghe Sự kiện "click" Đầu tiên [Ngày 35]
23 Lắng nghe Sự kiện Nhập liệu của Người dùng [Ngày 35]
24 Đối tượng "event" [Ngày 35]
25 Demo & Ví dụ Thực tế hơn [Ngày 36]
26 Giới thiệu "Biến Hằng số" ("Constants") [Ngày 36]
27 Thay đổi Kiểu phần tử với JavaScript [Ngày 36]
28 Quản lý Lớp CSS với JavaScript [Ngày 36]
29 Tổng kết Module [Ngày 36]
30 Thời gian Thực hành: Vấn đề [Ngày 37]
31 Thời gian Thực hành: Giải pháp [Ngày 37]
1 Giới thiệu Module [Ngày 37]
2 Bắt đầu với "Cấu trúc Điều khiển" [Ngày 37]
3 Giới thiệu Giá trị Boolean ("Booleans") & Toán tử So sánh [Ngày 37]
4 Boolean & Toán tử So sánh trong Thực tế [Ngày 37]
5 Sử dụng Boolean trong Câu lệnh "if" (Thực thi Mã có Điều kiện) [Ngày 37]
6 Một Ví dụ Thực tế [Ngày 38]
7 Các Lựa chọn Thay thế với "else" và "else if" [Ngày 38]
8 Tìm hiểu thêm về Giá trị Boolean [Ngày 38]
9 Giá trị "Truthy" & "Falsy" [Ngày 38]
10 Giới thiệu Vòng lặp (Thực thi Mã Lặp lại) [Ngày 38]
11 Vòng lặp "for" Thông thường [Ngày 38]
12 Vòng lặp "for-of" (cho Mảng) [Ngày 38]
13 Sử dụng Vòng lặp "for" Thông thường với Mảng [Ngày 38]
14 Vòng lặp "for-in" (cho Đối tượng) [Ngày 38]
15 Vòng lặp "while" [Ngày 38]
16 Thời gian Thực hành: Thiết lập & Vòng lặp "for" [Ngày 39]
17 Thời gian Thực hành: Vòng lặp "for-of" [Ngày 39]
18 Thời gian Thực hành: Vòng lặp "for-in" [Ngày 39]
19 Thời gian Thực hành: Vòng lặp "while" [Ngày 39]
20 Tổng kết Module [Ngày 39]
1 Giới thiệu Module [Ngày 40]
2 Lập kế hoạch Dự án [Ngày 40]
3 Tạo Cấu trúc HTML [Ngày 40]
4 Thêm Kiểu dáng Cơ bản cho Trang [Ngày 40]
5 Thêm Định dạng cho Khu vực Cấu hình Trò chơi [Ngày 41]
6 Định dạng Bảng Trò chơi [Ngày 41]
7 Thêm JavaScript, Tệp Script & Bộ lắng nghe Sự kiện Đầu tiên [Ngày 41]
8 Hiển thị & Ẩn Hộp thoại Cấu hình (Lớp phủ - Overlay) [Ngày 41]
9 Xử lý Gửi Biểu mẫu với JavaScript [Ngày 42]
10 Xác thực Nhập liệu của Người dùng với JavaScript [Ngày 42]
11 Lưu trữ & Quản lý Dữ liệu Đã gửi [Ngày 42]
12 Thêm Logic để Bắt đầu Trò chơi [Ngày 43]
13 Quản lý Các lượt Chơi (Lượt) & Lựa chọn Ô [Ngày 43]
14 Theo dõi các Ô Đã chọn trên Bảng Trò chơi [Ngày 43]
15 Kiểm tra Người thắng cuộc hoặc Hòa [Ngày 44]
16 Kết thúc Trò chơi & Thêm Logic Khởi động lại [Ngày 44]
17 Tổng kết Module [Ngày 44]
1 Giới thiệu Module [Ngày 45]
2 Gói của Bên thứ ba là gì & Tại sao cần? [Ngày 45]
3 Mã của Bên thứ ba vs Mã Tùy chỉnh ("Mã của riêng bạn") [Ngày 45]
4 Ví dụ Đầu tiên: Thêm Bootstrap để có Định dạng Mặc định [Ngày 45]
5 Thêm & Sử dụng Gói CSS Bootstrap [Ngày 45]
6 Thêm một Gói JavaScript [Ngày 45]
7 Thêm Băng chuyền Ảnh / Thư viện Ảnh với Gói của Bên thứ ba [Ngày 45]
8 Kết hợp Gói của Bên thứ ba với Mã Tùy chỉnh [Ngày 45]
9 Thêm Ví dụ về Bootstrap [Ngày 45]
10 Giải pháp Bài tập & Tổng kết Đầu tiên [Ngày 45]
11 Một Ví dụ khác: Chuẩn bị Trang Parallax [Ngày 45]
12 Thêm Gói Hiệu ứng Parallax [Ngày 46]
13 Xem Mã nguồn của Bên thứ ba & Tổng kết Module [Ngày 46]
1 Giới thiệu Module [Ngày 46]
2 "Backend" là gì & Tại sao chúng ta cần Mã phía Máy chủ? [Ngày 46]
3 Website Động vs Website Tĩnh [Ngày 46]
4 Phát triển Frontend vs Backend vs Fullstack [Ngày 46]
5 Chọn Ngôn ngữ Lập trình Backend (Phía Máy chủ) [Ngày 46]
1 Giới thiệu Module [Ngày 47]
2 Cài đặt NodeJS [Ngày 47]
3 Thực thi Mã NodeJS [Ngày 47]
4 Tạo Máy chủ NodeJS Tùy chỉnh [Ngày 47]
5 Xử lý Yêu cầu & Tạo Phản hồi Tùy chỉnh [Ngày 47]
6 Thực hiện thêm Công việc Phía Máy chủ [Ngày 47]
7 Tổng kết [Ngày 47]
1 Giới thiệu Module [Ngày 48]
2 Cài đặt Express với "npm" [Ngày 48]
3 Tạo Máy chủ với Express & Xử lý Yêu cầu + Phản hồi [Ngày 48]
4 Phân tích Dữ liệu Người dùng với Express [Ngày 48]
5 Lưu trữ Dữ liệu trong Tệp (Phía
6 More About The "JSON" Format [Day 49]
7 Reading File Data & Returning Dynamic Responses (Dynamic HTML Code) [Day 49]
8 Enhancing the Developer Workflow with "nodemon" [Day 49]
9 Summary [Day 49]
1 Module Introduction [Day 49]
2 Creating a Starting Project & What Needs To Change [Day 49]
3 Setting Up A Basic Express App (incl. Practice) [Day 49]
4 Serving HTML Files With Node & Express [Day 49]
5 Serving Static Files (CSS & JavaScript) [Day 50]
6 Parsing Form Data & Redirecting Requests [Day 50]
7 Adding the EJS Template Engine [Day 50]
8 Rendering Dynamic Content With Templates [Day 50]
9 Outputting Repeated Content With EJS & Loops [Day 50]
10 Rendering Conditional Content [Day 50]
11 Including Partial Content [Day 51]
12 EJS & IDE Support [Day 51]
13 Tổng kết Module [Ngày 51]
1 Giới thiệu Module [Ngày 51]
2 Giới thiệu Route Động [Ngày 51]
3 Quản lý Dữ liệu với ID Duy nhất [Ngày 51]
4 Tải & Hiển thị Dữ liệu Chi tiết [Ngày 52]
5 Hiển thị Trang 404 cho các Trường hợp "Không tìm thấy" [Ngày 52]
6 Sử dụng Trang 404 Nhiều hơn (cho Route không tồn tại) [Ngày 52]
7 Xử lý Lỗi Phía Máy chủ (Mã trạng thái 500) [Ngày 52]
8 Làm việc với Mã trạng thái [Ngày 52]
9 Tái cấu trúc Mã & Thêm các Chức năng Khác [Ngày 52]
10 Import & Export Code trong NodeJS [Ngày 53]
11 Sử dụng Express Router để Tách Cấu hình Route [Ngày 53]
12 Giới thiệu Query Parameters (& Trường Form Ẩn) [Ngày 53]
13 Query Parameters vs Route Parameters [Ngày 53]
14 Tổng kết Module [Ngày 53]
1 Giới thiệu Module [Ngày 54]
2 Hàm & Tham số Mặc định [Ngày 54]
3 Rest Parameters & Toán tử Spread [Ngày 54]
4 Hàm cũng là Đối tượng! [Ngày 54]
5 Làm việc với Template Literals [Ngày 54]
6 Giá trị Nguyên thủy vs Giá trị Tham chiếu [Ngày 54]
7 Xử lý Lỗi Tùy chỉnh với try / catch [Ngày 55]
8 Dữ liệu Lỗi & Ném Lỗi Tùy chỉnh [Ngày 55]
9 Phạm vi Biến & Shadowing [Ngày 55]
10 Giới thiệu Lớp như Bản thiết kế Đối tượng [Ngày 55]
11 Lớp & Phương thức (và "this") [Ngày 55]
12 Destructuring Đối tượng & Mảng [Ngày 55]
13 Đi sâu vào Code Bất đồng bộ & Hàm Callback [Ngày 56]
14 Giới thiệu Promise [Ngày 56]
15 Code Bất đồng bộ & Xử lý Lỗi [Ngày 56]
16 Cải thiện Code với async / await [Ngày 56]
17 Tổng kết Module [Ngày 56]
1 Giới thiệu Module [Ngày 56]
2 Tại sao cần Cơ sở dữ liệu? Và Cơ sở dữ liệu là gì? [Ngày 56]
3 Giới thiệu Nhanh về Cơ sở dữ liệu SQL (RDBMS) [Ngày 57]
4 Giới thiệu Nhanh về Cơ sở dữ liệu NoSQL [Ngày 57]
5 Cơ sở dữ liệu SQL vs NoSQL [Ngày 57]
1 Giới thiệu Module [Ngày 57]
2 Cái gì & Tại sao? [Ngày 57]
3 Các Lựa chọn RDBMS [Ngày 57]
4 Cài đặt MySQL & Các bước Thiết lập [Ngày 57]
5 Máy chủ Cơ sở dữ liệu vs Cơ sở dữ liệu vs Bảng [Ngày 57]
6 Viết Code SQL Đầu tiên & Tạo một Cơ sở dữ liệu [Ngày 57]
7 Tạo một Bảng & Cấu trúc Bảng [Ngày 58]
8 Chèn Dữ liệu vào Bảng [Ngày 58]
9 Đọc Dữ liệu từ Bảng (bao gồm Lọc) [Ngày 58]
10 Cập nhật & Xóa Dữ liệu [Ngày 58]
11 Thiết kế một Cơ sở dữ liệu Phức tạp hơn [Ngày 58]
12 Thêm một Bảng Mới [Ngày 58]
13 Triển khai một Thiết kế Phức tạp hơn với Quan hệ [Ngày 59]
14 Chèn Dữ liệu Liên quan [Ngày 59]
15 Thực hành: Chèn Dữ liệu Liên quan [Ngày 59]
16 Truy vấn & Kết hợp Dữ liệu Liên quan [Ngày 59]
17 Thực hành: Kết hợp Dữ liệu [Ngày 59]
18 Tổng kết Module & Thêm về Quan hệ [Ngày 59]
1 Giới thiệu Module [Ngày 60]
2 Tại sao Code Truy cập Cơ sở dữ liệu nên Chạy trên Backend? [Ngày 60]
3 Chúng ta sẽ Xây dựng gì trong Phần này [Ngày 60]
4 Lập kế hoạch Cấu trúc Cơ sở dữ liệu [Ngày 60]
5 Khởi tạo Cơ sở dữ liệu [Ngày 60]
6 Thiết lập Dự án [Ngày 60]
7 Tạo các Route Đầu tiên [Ngày 60]
8 Kết nối đến Cơ sở dữ liệu & Truy vấn Dữ liệu [Ngày 61]
9 Chèn Dữ liệu với Placeholder (Chèn Dữ liệu Động) [Ngày 61]
10 Lấy & Hiển thị Danh sách Bài viết Blog [Ngày 61]
11 Lấy & Hiển thị một Bài viết Blog Đơn lẻ [Ngày 62]
12 Định dạng & Chuyển đổi Dữ liệu Đã lấy [Ngày 62]
13 Chuẩn bị Trang "Cập nhật Bài viết" [Ngày 62]
14 Cập nhật Bài viết [Ngày 62]
15 Xóa Bài viết [Ngày 62]
16 Tổng kết Module [Ngày 62]
1 Giới thiệu Module [Ngày 63]
2 Ý tưởng đằng sau Hệ thống Cơ sở dữ liệu NoSQL [Ngày 63]
3 Giới thiệu MongoDB [Ngày 63]
4 Hướng dẫn Thiết lập Chung & Cài đặt MongoDB trên macOS [Ngày 63]
5 Cài đặt MongoDB trên Windows [Ngày 63]
6 Cài đặt MongoDB Shell [Ngày 63]
7 Chèn Dữ liệu với MongoDB [Ngày 63]
8 Đọc & Lọc Dữ liệu [Ngày 64]
9 Cập nhật Tài liệu trong Cơ sở dữ liệu MongoDB [Ngày 64]
10 Xóa Tài liệu với MongoDB [Ngày 64]
11 Lập kế hoạch Thiết kế / Bố cục Cơ sở dữ liệu Hoàn chỉnh [Ngày 64]
12 Triển khai Thiết kế & Bố cục đã Lập kế hoạch [Ngày 64]
13 Thời gian Thực hành & Thêm Toán tử Lọc [Ngày 64]
1 Giới thiệu Module [Ngày 65]
2 Lập kế hoạch Cấu trúc & Bố cục Cơ sở dữ liệu [Ngày 65]
3 Khởi tạo Dự án & Cơ sở dữ liệu [Ngày 65]
4 Kết nối đến MongoDB - Lỗi Tiềm ẩn
5 Kết nối đến MongoDB (từ bên trong NodeJS) [Ngày 65]
6 Lấy & Hiển thị Danh sách Tác giả [Ngày 65]
7 Chèn Tài liệu (Bài viết Mới) [Ngày 65]
8 Lấy & Hiển thị Tài liệu [Ngày 66]
9 Projection MongoDB & NodeJS
10 Lấy một Tài liệu Đơn lẻ [Ngày 66]
11 Chuyển đổi & Chuẩn bị Dữ liệu [Ngày 66]
12 Cập nhật Tài liệu [Ngày 66]
13 Xóa Tài liệu [Ngày 66]
14 ExpressJS & Xử lý Lỗi Code Bất đồng bộ [Ngày 67]
1 Giới thiệu Module [Ngày 67]
2 Hai Mặt của Việc Tải tệp lên & Thiết lập Dự án Bắt đầu [Ngày 67]
3 Thêm Trình chọn Tệp vào Form [Ngày 67]
4 Phân tích Tệp tải lên Đến với Gói "multer" [Ngày 67]
5 Cách Lưu trữ Tệp trên Backend [Ngày 67]
6 Cấu hình Multer Chi tiết [Ngày 67]
7 Lưu trữ Dữ liệu Tệp trong Cơ sở dữ liệu (Và những gì KHÔNG nên Lưu) [Ngày 68]
8 Phục vụ Tệp đã Tải lên cho Người truy cập Website [Ngày 68]
9 Thêm Tính năng Xem trước Hình ảnh [Ngày 68]
10 Tổng kết Module [Ngày 68]
1 Giới thiệu Module [Ngày 68]
2 Ajax là gì? Và tại sao chúng ta cần nó? [Ngày 68]
3 "Ajax" là gì? [Ngày 68]
4 Dự án Bắt đầu & Một Vấn đề [Ngày 69]
5 Gửi & Xử lý Yêu cầu Ajax GET [Ngày 69]
6 Cập nhật DOM dựa trên Phản hồi [Ngày 69]
7 Chuẩn bị Dữ liệu Yêu cầu POST [Ngày 69]
8 Gửi & Xử lý Yêu cầu Ajax POST [Ngày 69]
9 Cải thiện Trải nghiệm Người dùng (UX) [Ngày 70]
10 Xử lý Lỗi (Phía Máy chủ & Kỹ thuật) [Ngày 70]
11 Giờ chúng ta có nhiều Phương thức HTTP hơn! [Ngày 70]
12 Tổng kết Module [Ngày 70]
1 Giới thiệu Module [Ngày 70]
2 "Xác thực" là gì & Tại sao bạn muốn Thêm nó vào Website? [Ngày 70]
3 Dự án Bắt đầu của chúng ta [Ngày 70]
4 Thêm Chức năng Đăng ký Cơ bản [Ngày 70]
5 Bắt buộc: Băm Mật khẩu [Ngày 71]
6 Thêm Chức năng Đăng nhập Người dùng [Ngày 71]
7 Xác thực Thông tin Đăng ký [Ngày 71]
8 Giới thiệu Session & Cookie - Nhân vật Chính của Xác thực [Ngày 71]
9 Thêm Hỗ trợ Session vào Website của chúng ta [Ngày 71]
10 Lưu trữ Dữ liệu Xác thực trong Session [Ngày 72]
11 Quan trọng: Cần Điều chỉnh Code cho Bài học Tiếp theo
12 Sử dụng Session & Cookie để Kiểm soát Truy cập [Ngày 72]
13 Thêm Chức năng Đăng xuất [Ngày 72]
14 Xem kỹ hơn về Cookie [Ngày 72]
15 Đi sâu hơn vào Session (Ngoài Xác thực) [Ngày 72]
16 Quan trọng: Cần Điều chỉnh Code cho Bài học Tiếp theo
17 Ủy quyền vs Xác thực [Ngày 73]
18 Thực hành Session & Làm việc với Session [Ngày 73]
19 Viết Middleware Tùy chỉnh & Sử dụng "res.locals" [Ngày 73]
20 Tổng kết Module [Ngày 73]
1 Giới thiệu Module [Ngày 74]
2 Xác thực vs Bảo mật Website [Ngày 74]
3 Hiểu về Tấn công CSRF [Ngày 74]
4 Bảo vệ CSRF Một phần với Cookie "Same-Site" [Ngày 74]
5 Triển khai Bảo vệ CSRF Tốt hơn [Ngày 74]
6 Phương án Thay thế csurf()
7 Hiểu về Tấn công XSS [Ngày 74]
8 Bảo vệ chống lại Tấn công XSS [Ngày 74]
9 Hiểu về Tấn công SQL Injection [Ngày 75]
10 Bảo vệ chống lại Tấn công SQL Injection [Ngày 75]
11 Một lời về NoSQL Injection [Ngày 75]
12 Tổng kết Module [Ngày 75]
13 Tránh Vô tình Tiết lộ Code hoặc Dữ liệu Phía Máy chủ! [Ngày 75]
1 Giới thiệu Module [Ngày 75]
2 Dự án Bắt đầu của chúng ta (Đi sâu) [Ngày 75]
3 Code của chúng ta có Vấn đề gì? [Ngày 75]
4 Tách các Route của chúng ta [Ngày 76]
5 Trích xuất Cài đặt Cấu hình [Ngày 76]
6 Trích xuất Middleware Tùy chỉnh [Ngày 76]
7 Giới thiệu về Mô hình MVC [Ngày 76]
8 Tạo Model Đầu tiên của chúng ta [Ngày 76]
9 Thêm Chức năng Cập nhật & Xóa vào Model [Ngày 76]
10 Thêm Chức năng Lấy dữ liệu vào Model [Ngày 76]
11 Thêm Controller Đầu tiên & Hành động Controller [Ngày 77]
12 Tái cấu trúc Chức năng Session & Lỗi Xác thực Đầu vào [Ngày 77]
13 Tái cấu trúc Xử lý Token CSRF [Ngày 77]
14 Di chuyển Chức năng "Xác thực" sang MVC [Ngày 77]
15 Cải thiện Xử lý Lỗi Bất đồng bộ [Ngày 78]
16 Bảo vệ Route với Middleware Tùy chỉnh [Ngày 78]
1 Module Introduction [Day 78]
2 Planning The Project [Day 78]
3 Your Challenge! [Day 78]
4 Course Project Setup [Day 78]
5 Creating Folders, Files & A First Set Of Routes [Day 78]
6 Adding EJS & First Views [Day 79]
7 Populating & Rendering The First View [Day 79]
8 Adding Base CSS Files & Static File Serving [Day 79]
9 Adding CSS Variables & A Website Theme [Day 79]
10 More Base CSS Styles For The Website [Day 80]
11 Styling First Form Elements [Day 80]
12 Adding A MongoDB Database Server & Connection [Day 80]
13 Adding User Signup [Day 81]
14 Security Time: Adding CSRF Protection [Day 81]
15 Implementing Proper Error Handling With The Error Handling Middleware [Day 81]
16 Introducing Sessions & Configuring Sessions [Day 81]
17 Implementing Authentication & User Login [Day 82]
18 Finishing Authentication & Checking The Auth Status (Custom Middleware) [Day 82]
19 Thêm chức năng Đăng xuất [Ngày 82]
20 Xử lý lỗi trong mã bất đồng bộ [Ngày 82]
21 Thêm xác thực dữ liệu người dùng nhập [Ngày 82]
22 Lưu thông báo lỗi và dữ liệu nhập vào Session [Ngày 83]
23 Hiển thị thông báo lỗi và lưu dữ liệu người dùng đã nhập [Ngày 83]
24 Phân quyền Admin và điều hướng được bảo vệ [Ngày 83]
25 Thiết lập kiểu dáng điều hướng cơ bản [Ngày 83]
26 Xây dựng website Responsive [Ngày 84]
27 JavaScript Frontend để bật/tắt menu trên thiết bị di động [Ngày 84]
28 Thêm trang quản lý sản phẩm và biểu mẫu [Ngày 84]
29 Thêm chức năng tải lên hình ảnh [Ngày 85]
30 Thêm dữ liệu: Tạo Product Model và lưu sản phẩm vào cơ sở dữ liệu [Ngày 85]
31 Lấy và hiển thị các mục sản phẩm [Ngày 85]
32 Tạo kiểu cho các mục sản phẩm [Ngày 86]
33 Thêm trang "Chi tiết sản phẩm" [Ngày 86]
34 Cập nhật sản phẩm (với tư cách quản trị viên) [Ngày 86]
35 Thêm tính năng xem trước khi "Tải tệp lên" [Ngày 87]
36 Thêm chức năng xóa sản phẩm [Ngày 87]
37 Sử dụng Ajax / Yêu cầu JS Frontend và cập nhật DOM [Ngày 87]
38 Các bản sửa lỗi và bảo vệ tuyến đường đúng cách [Ngày 88]
39 Hiển thị sản phẩm cho khách hàng [Ngày 88]
40 Hiển thị chi tiết sản phẩm [Ngày 88]
41 Thêm Cart Model [Ngày 89]
42 Làm việc với logic giỏ hàng [Ngày 89]
43 Thêm mục vào giỏ hàng qua yêu cầu Ajax [Ngày 89]
44 Thêm trang Giỏ hàng [Ngày 90]
45 Tạo kiểu cho trang Giỏ hàng [Ngày 90]
46 Cập nhật mục giỏ hàng (thay đổi số lượng) [Ngày 90]
47 Cập nhật giỏ hàng qua yêu cầu Ajax (PATCH Requests) [Ngày 90]
48 Cập nhật DOM sau khi sửa đổi mục giỏ hàng [Ngày 91]
49 JavaScript và số học dấu phẩy động [Ngày 91]
50 Thêm Order Controller và Order Model cơ bản [Ngày 91]
51 Lưu đơn hàng vào cơ sở dữ liệu [Ngày 91]
52 Hiển thị đơn hàng (cho khách hàng và quản trị viên) [Ngày 92]
53 Quản lý đơn hàng với tư cách quản trị viên [Ngày 92]
54 Giữ cho các mục giỏ hàng được cập nhật [Ngày 92]
55 Sửa lỗi và hoàn thiện [Ngày 92]
56 Tổng kết module [Ngày 92]
1 Giới thiệu module [Ngày 93]
2 "Dịch vụ" và "API" là gì? [Ngày 93]
3 Tại sao bạn nên sử dụng Dịch vụ & API? [Ngày 93]
4 Giới thiệu Stripe [Ngày 93]
5 Tạo tài khoản Stripe [Ngày 93]
6 Thiết lập yêu cầu API Stripe [Ngày 93]
7 Cấu hình yêu cầu Stripe và xử lý thanh toán [Ngày 93]
8 Tổng kết module [Ngày 93]
9 Thêm các dịch vụ: Đăng nhập mạng xã hội (Google, Facebook), Google Analytics & hơn thế nữa [Ngày 93]
1 Giới thiệu module [Ngày 94]
2 Website được công bố ra công chúng như thế nào? [Ngày 94]
3 Website Tĩnh vs Động [Ngày 94]
4 Lưu trữ máy chủ cơ sở dữ liệu [Ngày 94]
5 Các bước chuẩn bị triển khai [Ngày 94]
6 Các dự án ví dụ [Ngày 94]
7 Kiểm thử và chuẩn bị mã (bao gồm Biến môi trường) [Ngày 94]
8 Đánh giá hỗ trợ đa trình duyệt [Ngày 94]
9 Tối ưu hóa công cụ tìm kiếm (SEO) [Ngày 94]
10 Thêm Favicon [Ngày 94]
11 Cải thiện hiệu suất và thu gọn tài nguyên (JS, Hình ảnh) [Ngày 95]
12 Ví dụ triển khai: Website Tĩnh (Ôn tập) [Ngày 95]
13 Ví dụ triển khai: Website Động với mã Backend [Ngày 95]
14 Triển khai cơ sở dữ liệu MongoDB với Atlas [Ngày 95]
15 Hoàn tất việc triển khai Website Động [Ngày 95]
1 Giới thiệu module [Ngày 95]
2 API & Dịch vụ: Là gì và Tại sao? [Ngày 95]
3 Gói JS vs API dựa trên URL: Những gì chúng ta sẽ xây dựng ở đây [Ngày 95]
4 API vs "Website truyền thống" [Ngày 95]
5 Giới thiệu REST API [Ngày 96]
6 Xây dựng REST API cơ bản đầu tiên [Ngày 96]
7 Nâng cao API và làm cho nó thực tế hơn [Ngày 96]
8 REST API phức tạp hơn: Những bước đầu tiên [Ngày 96]
9 Hoàn tất các Endpoint API đầu tiên [Ngày 97]
10 Kiểm thử API với Postman [Ngày 97]
11 Thêm các Route / Endpoint PATCH & DELETE [Ngày 97]
12 Thêm Website Frontend tách rời (SPA) [Ngày 97]
13 Tại sao bạn nên sử dụng Frontend tách rời / SPA? [Ngày 97]
14 Hiểu về lỗi CORS [Ngày 97]
15 Sửa lỗi CORS và Kết nối Frontend SPA với REST API [Ngày 97]
1 Giới thiệu module [Ngày 98]
2 Tại sao bạn nên sử dụng Framework UI JavaScript Frontend? [Ngày 98]
3 React vs Vue vs Angular: Nên chọn Framework nào? [Ngày 98]
4 Bắt đầu với Vue.js ("Vue") [Ngày 98]
5 Lắng nghe sự kiện và cập nhật dữ liệu + DOM [Ngày 98]
6 Giới thiệu "Ràng buộc hai chiều" [Ngày 98]
7 Hiển thị danh sách dữ liệu [Ngày 99]
8 Hiển thị nội dung có điều kiện [Ngày 99]
9 Cập nhật dữ liệu [Ngày 99]
10 Xóa dữ liệu [Ngày 99]
11 Gửi yêu cầu HTTP POST [Ngày 99]
12 Tải dữ liệu và quản lý trạng thái tải [Ngày 99]
13 Tải Vue theo cách khác [Ngày 99]
14 Gửi yêu cầu PATCH + DELETE và Tổng kết module [Ngày 99]
1 Thêm: Các bước tiếp theo, cơ hội thực hành và ý tưởng dự án [Ngày 100]

Giới thiệu khóa học

Join the most comprehensive web development bootcamp on Udemy!

This course teaches you web development and turns you into a web developer in 100 days - or allow you to refresh key essentials and expand your existing knowledge!

Becoming a web developer is a great choice because web development opens up many career paths and web development skills are required in pretty much every business that exists today - and of course this demand will increase in the future!

It's not just about websites - it's also about "behind the scenes" services used by mobile apps like Uber or AirBnB. It's about rich web apps like Google Docs as well as browser games. And of course also about regular websites like Facebook, online blogs, online shops like Amazon and much, much more!

Hence it's no wonder, that web developers are in high demand! And, besides great job perspectives, as a web developer, you can of course also easily build your own digital business!

This Course Is For You!

This course will teach you web development from the ground up and thanks to the "100 Days Of Code Challenge" which is incorporated into this course (though it's optional to commit to it!), you can become a web developer in 100 days with help of this course!

No prior web development knowledge is required at all to get started with this course. We will explore all important basics, all fundamentals and all key concepts together, step by step.

But this course is also for advanced students who already do have web development knowledge! It's a deep-dive course and hence you will be able to expand your existing knowledge by diving deeper into key fundamentals like HTML, CSS or NodeJS and also by exploring advanced concepts like handling payments, building REST APIs or website security.

Since it's a huge course, the course is built in a modular way. This means, that you can take it step by step, lecture by lecture but you can also jump right into the course sections that are most interesting to you. Of course, we recommend the "step-by-step" approach for beginners - simply because all the lectures and sections build up on each other. But as a more experienced developer, you can of course skip basics that aren't interesting to you!

The 100 Days Of Code Challenge

We built this course with the "100 Days Of Code Challenge" in mind - a challenge (not invented by us) that aims to keep you motivated to code for at least 1 hour per day for 100 days.

Since this is a huge course (with around 80 hours of content!) it can be very overwhelming. And we know that many students never finish a course.

That's a pitty, because this course is packed with content, exercises, quizzes, assignments and demo projects! We build a browser-game, a blog, a travel website, an online shop and much, much more.

Therefore, we provide clear guidance on how you can take this course from A to Z within 100 days by spending 1 to 2 hours per day watching videos and learning. As part of the course, you get access to a companion website that provides a clear structure and you also find annotations right in the course curriculum.

Of course taking this "100 Days" challenge is totally optional though! You can take the course at your own pace as well and skip any content you're not interested in!

Try It Risk-Free

This course comes with a 30 day money-back guarantee. If you find out that it's not for you, you can get your money back, no questions asked!

What You Will Learn

This is a huge course, packed with content and it's the web development bootcamp we would have loved to have when we learned web development.

Here's a summary of the key concepts we'll explore as part of this course:

  • How the web works

  • Core technologies: HTML, CSS & JavaScript

  • Understand how HTML documents are structured and how HTML elements are used correctly

  • Learn core CSS concepts like the box model, flexbox, positioning, units and much more

  • Explore advanced CSS concepts like building responsive websites, layouts, custom CSS properties, CSS grid & more

  • Learn browser-side JavaScript from the ground up

  • Understand what the "DOM" is and how you can manipulate it via JavaScript

  • Explore browser / user events and how to handle them with JavaScript

  • Build tons of projects (e.g. a Tic-Tac-Toe browser game) to practice and fully understand all these technologies

  • Dive into backend development with NodeJS & ExpressJS

  • Learn what NodeJS is and how it works

  • Build basic backend-driven websites with advanced concepts like dynamic routing or dynamic templates

  • Learn how to work with databases - SQL & NoSQL (and what that is)

  • Practice how to use SQL / NoSQL with NodeJS & Express

  • Dive into advanced concepts like authentication, website security, coding patterns, file uploads, user input validation and so much more!

  • Again: Build plenty of projects (e.g. a complete online shop, from the ground up!) to practice all advanced concepts as well

  • Learn how to use third-party packages and services (e.g. Stripe for payments) in your websites

  • Move on to more specialized, advanced concepts like building REST APIs

  • Explore frontend JavaScript frameworks like Vue.js to build even more powerful web user interfaces

  • And so much more - simply check out the full curriculum to get a complete list!

We'd love to start this journey with you, so let's get started!

Max & Manuel

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Frontend Development
Hiển thị tất cả khoá học Javascript
Hiển thị tất cả khoá học Node Js
Hiển thị tất cả khoá học Web Development
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊