Con đường giúp bạn trở thành Lập trình viên Backend từ cơ bản (LEVEL 0) đến CAO CẤP (LEVEL 5)
Người đưa đò:Tips Backend
Lộ trình FULL:https://anonystick.com
Trước tiên chúng tôi cung cấp cho bạn làm quen và nâng cao từng step với 3 ngôn ngữ khác nhau. Nếu bạn bắt đầu với ngôn ngữ java thì việc học các ngôn ngữ còn lại tương đối không khó khăn. Nhưng việc xuất phát ở Nodejs sẽ giúp bạn tiếp cận với một JOB NHANH hown vì ở các CHƯƠNG có cái nhìn tổng quan trong việc phát triển một cơ sở hạ tầng của một hệ thống bao gồm (Mongodb, Amazon Services, RabbitMQ, Elasticsearch, Redis, Kafka, Nginx...). Còn Go sẽ là tương lai cho những bạn sẵn sàng chuẩn bị cho những năm tiếp theo và sẽ gần thôi.
Tôi còn nhớ những câu nói "Muốn nhìn xa hãy đứng trên vai người khổng lồ", "Mọi con đường đều hướng đến thành ROME..". MỌi sự chuẩn bị hôm nay, chính là thành công cho tương lai... Bắt đầu hay không tuỳ thuộc vào bạn...
- Con đường GO BACKEND (21 chương - Đang cập nhật)
- Con đường NODEJS BACKEND (101 chương)
- Con đường JAVA BACKEND (Đang cập nhật)
Hiện tại dự án đã khởi động đến section 20 và từ section 21 thì sẽ là nâng cao với tính năng Registration User
..
-- Xóa bảng nếu đã tồn tại
DROP TABLE IF EXISTS `go_crm_user`;
-- New
CREATE TABLE `go_crm_user` (
`usr_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Account ID',
`usr_email` varchar(30) NOT NULL DEFAULT '' COMMENT 'Email',
`usr_phone` varchar(15) NOT NULL DEFAULT '' COMMENT 'Phone Number',
`usr_username` varchar(30) NOT NULL DEFAULT '' COMMENT 'Username',
`usr_password` varchar(32) NOT NULL DEFAULT '' COMMENT 'Password',
`usr_created_at` int(11) NOT NULL DEFAULT '0' COMMENT 'Creation Time',
`usr_updated_at` int(11) NOT NULL DEFAULT '0' COMMENT 'Update Time',
`usr_create_ip_at` varchar(12) NOT NULL DEFAULT '' COMMENT 'Creation IP',
`usr_last_login_at` int(11) NOT NULL DEFAULT '0' COMMENT 'Last Login Time',
`usr_last_login_ip_at` varchar(12) NOT NULL DEFAULT '' COMMENT 'Last Login IP',
`usr_login_times` int(11) NOT NULL DEFAULT '0' COMMENT 'Login Times',
`usr_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Status 1:enable, 0:disable, -1:deleted',
PRIMARY KEY (`usr_id`),
KEY `idx_email` (`usr_email`),
KEY `idx_phone` (`usr_phone`),
KEY `idx_username` (`usr_username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Account';
-- XEM KHAI BÁO
DESC go_crm_user;
1 - JAVA BACKEND: Welcome SpringBoot, con đường, lộ trình và eBook theo mỗi Levels
2 - JAVA BACKEND: Install vs Start Project sử dụng vs CODE và intellij IDEA
3 - JAVA BACKEND: Mức độ ưu tiên file Application và hiểu sâu về properties, yaml trong config dự án
4 - JAVA BACKEND: Kỹ năng chuyển đổi PROJECT từ DEV qua TEST, PRE, PRODUCT
5 - JAVA BACKEND: Làm quen với Spring Boot Folder Structure
6 - JAVA BACKEND: Tôi mới học JPA Spring DATA > phần 1: Làm quen
7 - JAVA BACKEND: Tôi mới học JPA Spring DATA > phần 2: Controller
8 - JAVA BACKEND: Tôi mới học JPA Spring DATA > phần 3: phân trang
9 - JAVA BACKEND: Tôi mới học JPA Spring DATA > phần 4: làm việc với OneToOne, OneToMany và ManyToOne
10 - JAVA BACKEND: Tôi mới học JPA Spring DATA > phần 4: làm việc với ManyToMany
11 - JAVA BACKEND: Send OTP Email Spring With SMTP AWS, GO PUSH OTP
12 - JAVA BACKEND: Làm việc với Kafka Microservices kết hợp TEAM GO
13 - SPRING SECURITY: Toàn diện về bảo mật cấp doanh nghiệp JAVA
14 - SPRING SECURITY: Doanh nghiệp chọn phương pháp nào để xác thực "MÀY LÀ AI?"
...
Việc học rất quan trọng, nhưng cách học cũng quan trọng không kém, chúng tôi đã sắp xếp các chương theo thứ tự từ thấp đến cao. Từ basic cho đến Advance. Hãy cố gắng duy trì thói quen code mỗi ngày, và cải thiện những tính năng đã không còn phù hợp với hiện tại hoặc những tính năng chưa trọn vẹn.
Lộ trình này dành cho ai? Từ sinh viên mới ra trường và những bạn muốn chuyển đổi từ FrontEnd qua Backend hoặc những bạn có kinh nghiệm một năm muốn chuyển đổi từ ngôn ngữ này qua ngôn ngữ khác một cách nhanh chóng. Hơn nữa muốn thăng tiến và giải quyết các task có tính chất quan trọng trong dự án thì có thể tham khảo dự án này.
Hiện tại cho đến bây giờ chúng tôi mở 3 khoá học chỉ với 30.000 VND. Và sau này có thể sẽ tách ra và giá trị mỗi khoá sẽ riêng biệt và tăng dần. Chính vì vậy hiện tại là một cơ hội cho các bạn có chung chí hướng và nghiêm túc trong nghề nghiệp của mình.
Link đăng ký MEMBER YOUTUBE: ĐĂNG KÝ CHO 3 KHOÁ chỉ với 30.000 VNĐ
Link Go Backend: Go Backend
Link Nodejs Backend: Nodejs Backend
Link Java Backend: Java Backend
LINK ĐĂNG KÝ - Link dăng ký khóa học, tham gia hội viên
2 - Những folders và packages cần thiết khi khởi tạo Project
3 - Connect MongoDB to Node.js Using Mongoose và 7 điều lưu ý
4 - Cách triển khai env cho các level khác nhau
5 - Sign-up Shop
6 - Middleware apikey and permissions
7 - Xử lý ErrorHandler trong API
8 - Make Your API Response use class
9 - Login Shop API
11 - RefreshToken và phát hiện token đã sử dụng bởi hacker và cách xử lý
11.V2 - FIXED Bug bị sai và tối ưu hơn so với phiên bản cũ
13 - Create new Product API, áp dụng Factory Pattern
14 - Api Service Products (Optimal For <= Junior )
15 - Api Service Products (Optimal For > Junior )
16 - Add tính năng isDraft, isPublish, unPublish và bổ sung schema Product Service API
17 - Tính năng còn lại, findAll, findOne, selectData, unSelectData trong Product Service API
18 - Update với POST, PUT, PATCH trong Product Service API
20 - Discount Model
21 - Discount Service in eCommerce with 6 features
22 - Discount Service in eCommerce with 6 features Part 2 - FULL
23 - Section 23: Cart Service in eCommerce Part 1 | Cart Model vs add product to cart
24 - Section 24: Cart Service Api Part 2 | Update, reduce, increase product
25 - Section 25: Order Service Api (part 1)
26 - Section 26: Order service Part 2 | Tiếp đến là Redis chuyên sâu
27 - Redis - Nguồn cảm hứng bất tận
28 - Redis - Hôm nay tôi đi phỏng vấn về Redis có 5 câu hỏi dành cho tôi và bạn | Node.js backend
29 - String Redis: Cấu trúc, lệnh phổ biến và kịch bản nào sử dụng?
30 - Hash Redis: Cấu trúc, lệnh phổ biến và kịch bản ứng dụng
31 - List Redis: Cấu trúc, lệnh phổ biến và kịch bản ứng dụng
32 - Xây dựng hệ thống loggers sử dụng Discord vào dự án eCommerce Backend Node.js | Auto Bot
33 - Export Service Push Log Router backend lên Discord với Postman eCommerce Backend Node.js| Auto Bot
34- Redis Sets: Cấu trúc, lệnh phổ biến và kịch bản ứng dụng
35: Redis Zset: Cấu trúc, lệnh phổ biến và kịch bản ứng dụng
36: Redis Transaction: Cấu trúc, lệnh phổ biến và kịch bản ứng dụng
37: Redis Pub/Sub: Cấu trúc, lệnh phổ biến và kịch bản ứng dụng
38: Triển khai hệ thống Nested Comments eCommerce - 1
39: Triển khai hệ thống Nested Comments eCommerce - 2
40: Triển khai hệ thống Notifications eCommerce ShopDEV (1)
41: Phân tích hành vi User áp dụng PUSH or PULL trong task Notification System (quan trọng)
42: Notifications Service vs Tiếp đến là tách Message Queue System
45: Tách dự án với kiến trúc Microservice System | Level Nâng cao
46: Integration Testing with Jest vs Mongodb | Microservice System
47: [start server] First step in Microservice vs Message Queue | Microservice System | Lvxx
48: Xử lý Message Error or TTL (Time To Live) trong Message Queue thế nào? | Kiến trúc MQ
49: Xử lý message khi gặp sự cố MQ server die (TTL) thực hành
50: QUAN TRỌNG và dành cho Level cao về cách Xử lý error message trong kiến trúc MQ
51: Message Ordering in Pub/Sub or Queues | Microservices Backend
52: Message Ordering | Microservice Backend | #2
53: Thực hành về Message Ordered với hai tình huống | RabbitMQ | Microservice Backend
54: MySQL | Setup Master Slave
55: MySQL | Thực hành tự tạo dữ liệu test 10.000.000 records trong MySQL | Level 0, 1, 2
56: MySQL | Thực hành tự tạo dữ liệu test 10.000.000 records trong MySQL | Level 3, 4, 5
FIX: Update link Discord Member
57: x-api-key anh em hỏi, tôi đáp
58: MySQL | Partition Database | Level 0, 1, 2
59: MySQL | Partition Database | Level 3, 4, 5
60: MYSQL | Index MySQL những sai lầm nên tránh
61: MULTER vs Cloudinary | Intro Cloud vs Upload Service For Api (1)
62: MULTER vs Cloudinary | Intro Cloud vs Upload Service For Api (2)
64: Amazon Web Service (AWS) | Intro vs Regis...
65: Amazon Web Service (AWS) Setup S3 Bucket vs Security (2)
66: Amazon Web Service (AWS) Upload Images to S3 from Node Back End | AWS)
67: Amazon Web Service (AWS) Triển khai Service backend bảo mật Link S3 và test performance Url Speed)
68: Setup Cloudfront với S3 | AWS Pro
69: AWS CloudFront Bảo mật File ngăn cấm hành vi sao chép phía BackEnd
70: Triển khai toàn diện về EC2 vũ khí sắc bén của BackEnd
71: Setup EC2 + Mysql với Linux. Tạo quyền, quản lý database bảo mật...
72: Import Mysql local to EC2 và cho phép truy cập mysql từ xa | Làm chủ AWS
73: Triển khai CI/CD từ GitHub và EC2 (AWS)
74: Reverse Proxy Nginx vs EC2 | Next setup Domain Shopdev.com
75: Add domain shopdev.com to NGINX với SSL port (443)
76: Roles and permission in MySQL
77: Roles and permission: Triển khai hệ thống QUYỀN trong eCommerce (Phần 1)
78: Roles and permission: Triển khai hệ thống QUYỀN trong eCommerce (Phần 2)
79: Roles and permission: Triển khai hệ thống QUYỀN trong eCommerce (Hoàn thành source thực tế)
80: System Logs: Xây dựng hệ thống tracking Logs trong eCommerce (Phần 2)
81: System Logs: Xây dựng hệ thống tracking Logs trong eCommerce (Phần 3 hoàn thành Logs)
82: Shop eCommerce: Kiến trúc hệ thống về Send vs Verify Email OTP
83: Shop eCommerce: Triển khai Send Email OTP
84: Redis Connect Nodejs: Cách connect redis và nodejs cho dự án Microservice
85: Share Source giao diện shopDEV (react+vite) và app mobile (iOS + Android) Link download
86: Shop eCommerce: Triển khai Verify OTP Email
87: SKU - SPU: Senior - Thiết kế dữ liệu cho SKU, SPU trong Product (1)
88: SKU - SPU: Triển khai và giải thích schema spu và sku model
89: SKU - SPU: Code controller and service for spu và sku model
90: ElasticSearch (1): Tư duy kiến trúc elasticsearch cho kỹ sư BE
91: ElasticSearch (2): Tư duy kiến trúc elasticsearch cho kỹ sư BE
93: Go backend (1): Các kiến trúc phổ phiến khởi tạo dự án BackEnd
94: Go backend (2): Setup dự án BackEnd
95: Go backend (3): GIN vs ROUTER
96: Go Backend (4): GIN vs MVC
97: Redis Backend: Một backend xuất sắc phải xử lý 100 triệu requests
98: Redis Backend: Thực hành cạm bẫy CACHE PENETRATION với Redis vs Nodejs
99: Go Backend (5): GIN vs ERROR HANDLER
100: ElasticSearch Backend: Cách connect tối ưu và tích hợp dự án tìm kiếm sản phẩm
104: Mysql Senior: Thao tác cần biết khắc phục LỖI MYSQL trực tuyến
105: MySQL Senior: BẠN CÓ HIỂU NHẦM VỀ INDEX PRIMARY, UNIQUE, FULLTEXT?
106: MySQL Senior: Nguyên tắc sử dụng 6 loại index và công thức tối ưu
xxx: Đề xuất sản phẩm: Hệ thống gợi ý sản phẩm trong eCommerce (Updating)
...
01: Go backend: Các kiến trúc phổ phiến khởi tạo dự án BackEnd
02: Go backend: Setup dự án BackEnd
05: Go Backend: GIN vs ERROR HANDLER
06: Go backend: GIN vs LOGGER HANDLER
08: Go Backend: GIN vs MIDDLEWARES
09: Go Backend: GIN vs TEST MOCK
10: Go Backend: Cấu trúc file main.go cho DỰ ÁN LỚN
11: Go Backend: QUẢN LÝ LOGs CHO DỰ ÁN LỚN
12: Go Backend: Làm việc với Mysql Pool, Tại sao lại là Pool
13: Go Backend: Làm việc với Redis sentinel, cluster, Tại sao lại là Sentinel
14: Go Backend: Router cho TEAM LỚN
15: Go Kafka Backend: Kafka thực hành về mua bán cổ phiếu với các tình huống
16: Go Interview: Không sử dụng Interface có được không? ĐƯỢC vs MẤT khi không sử dụng?
17: Go Backend: Interface cách triển khai nếu bạn là member
18: Go Backend: Nói về Dependency Injection và sủ dụng Wire trong dự án
19: Go Backend: Triển khai BlackList IP, WhiteList IP cho hệ thống api
20: Go Backend: User-Register: Send OTP, VerifyOTP, BLock IP Spam...
21: Go Backend: Chiến đấu với Docker Link, Docker Compose build Project Level 2, 3, 4
BONUS: Go Backend: Đồng bộ dữ liệu Mysql to Kafka sử dụng Debezium với N Tables tốc độ REALTIME
22: Go Backend: Tại sao nhiều công ty lại sử dụng SQLC
23: Go Backend: Từ khi sử dụng GOOSE tốc độ làm việc Database nhanh gấp đôi
24: Go Backend: Triển khai quy trình send OTP cho User Registration
25: Go Backend: Đến lúc chia tay GORM vì sao?
26: Go Backend: TEAM JAVA hỗ trợ send OTP cho TEAM GO
27: Go Backend: Đến lúc làm việc với Kafka
28: Go Backend: Quyết định refactor interface sau khi nhìn lén code đồng nghiệp
29: Go Backend: Đến lúc trở thành Senior và làm việc với makefile, diagram mysql
... Updating
Đây là khu vực dành cho tài liệu và khuyến khích học ở các nguồn này.
- Java Basics Overview | Mức độ khó (★☆☆☆☆) | Mức độ phổ biến (★★★★★)
- How Java Programs Run | Mức độ khó (★☆☆☆☆) | Mức độ phổ biến (★★★★★)
- Java Memory Model: Variables, Data Types | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★★☆)
- Operators in Java | Mức độ khó (★☆☆☆☆) | Mức độ phổ biến (★★★★☆)
- Control Statements | Mức độ khó (★☆☆☆☆) | Mức độ phổ biến (★★★★☆)
- Object-Oriented Programming in Java | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★★☆)
- Java Classes and Object Creation | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★★☆)
- Java Memory Model: Heap, Stack | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★☆☆)
- Constructor and Overloading | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★☆☆)
- Object-Oriented Concepts: Encapsulation | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★☆☆)
- Java Inheritance Basics | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★☆☆)
- What is Polymorphism in Java? | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★☆☆)
- Inheritance, Encapsulation, Polymorphism | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★☆☆)
- How to Choose Between Inheritance and Composition | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- When to Use Inheritance? | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- Java Interfaces and Abstract Classes | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- Interface Usage in Java | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- What is Reflection in Java? | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★☆☆)
- Java Reflection Usage | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★☆☆)
- Exception Handling in Java | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Java Generics Basics | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Introduction to Java Annotations | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- How to Use Java Annotations | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- Java Collection Framework Overview | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- List Interface in Java | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Set Interface in Java | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Map Interface in Java | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Introduction to Java Streams | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- How to Use Java Streams | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Sorting in Java | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- Lambda Expressions in Java | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Functional Interfaces in Java | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Stream API in Java | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Introduction to Java Multithreading | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★★☆)
- What is Synchronization in Java? | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★☆☆)
- Java Concurrent Programming Concepts | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★★☆)
- How Java Threads Work | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★★☆)
- Thread Pool in Java | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★★☆)
- Future in Java Concurrency | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★☆☆)
- Introduction to Java I/O Streams | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Java I/O File Handling | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- How Java Networking Works | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★☆☆)
- How to Use Sockets in Java | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★☆☆)
- Introduction to Java RMI (Remote Method Invocation) | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★☆☆)
- How to Use Java Reflection Efficiently | Mức độ khó (★★★★★) | Mức độ phổ biến (★★★☆☆)
- Introduction | Go Development Environment Setup | Mức độ khó (★☆☆☆☆) | Mức độ phổ biến (★★★★★)
- Explore Go Development Tools | Mức độ khó (★☆☆☆☆) | Mức độ phổ biến (★★★☆☆)
- Go Language Syntax, Variables, Constants, and Command-Line Tools | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★★☆)
- Go Compiler Workflow Explained | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★☆☆)
- Basic Data Types in Go: Primitive, Composite, and More | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★★☆)
- Operators in Go and Variable Declarations | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★☆☆)
- Control Structures: Loops, Conditionals, and More in Go | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Go Arrays: Usage and Limitations | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★☆☆)
- Go Slices: Introduction and Advanced Usage | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Go Maps: Usage and Pitfalls | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- Go Structs: How to Define and Use Them | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Classes in Go: Interface and Struct Combination | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- Go Interface: Usage and Factory Pattern Implementation | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- Go Functions: Variadic Functions and Named Return Values | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★☆☆☆)
- Pointers in Go: Basics and Common Pitfalls | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- Go Error Handling: Idiomatic Practices | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- Concurrency in Go: Goroutines and Channels | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★★☆)
- Mutexes and Locks: When and How to Use Them in Go | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★☆☆)
- Go Defer, Panic, and Recover Mechanisms | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- How Go Handles Memory Allocation | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★☆☆)
- Building REST APIs in Go | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Go Middleware: Writing Modular and Reusable Code | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★☆☆)
- Go Packages: How to Organize Your Code | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- File Handling in Go | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★☆☆)
- Using Go to Handle Databases and SQL Queries | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Go’s JSON Parsing and Handling | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- Concurrency in Go: Using Channels (Part 1) | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★★☆)
- Concurrency in Go: Using Channels (Part 2) | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★★☆)
- Go Select Statement: Handling Multiple Channels | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★☆☆)
- Go’s Goroutine Leaks and How to Avoid Them | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★☆☆)
- Best Practices for Writing Efficient Go Code | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
- Go Testing: Writing Unit Tests and Benchmarks | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- Understanding Go’s Garbage Collector | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★☆☆)
- Reflection in Go: Best Practices | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★☆☆)
- How to Build a CLI Tool in Go | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
- Deploying a Go Application | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★★☆☆)
- Next Steps in Mastering Go: Advanced Resources | Mức độ khó (★★★★★) | Mức độ phổ biến (★★★☆☆)
1 - Design patterns cách học như thế nào? Ở đâu và áp dụng khi nào?
2 - Push or Pull ngăn xếp công nghệ nào được FACEBOOK và INSTAGRAM lựa chọn phát triển NEWS FEED?
3 - Stratery Pattern | Mức độ khó (★☆☆☆☆) | Mức độ phổ biến (★★★★☆)
4 - Observer Pattern | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★★)
5 - Facade pattern | Mức độ khó (★☆☆☆☆) | Mức độ phổ biến (★★★★★)
6 - Proxy Pattern | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
7 - Simple factory pattern | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★★★)
8 - Factory Method Pattern | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★★)
9 - Prototype Pattern | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆)
10 - Bridge Pattern | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆)
11 - Adapter Pattern | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★★☆)
12 - Builder Pattern | Mức độ khó (★★★★☆) | Mức độ phổ biến (★★☆☆☆)
13 - Visitor Pattern | Mức độ khó (★★★★☆) | Mức độ phổ biến (★☆☆☆☆) | Updating...
14 - Template Method Pattern | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★★☆☆) | Updating...
15 - State Pattern | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆) | Updating...
16 - Memento Pattern | Mức độ khó (★★☆☆☆) | Mức độ phổ biến (★★☆☆☆) | Updating...
17 - Mediator Pattern | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★☆☆☆) | Updating...
18 - Iterator Pattern | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★★) | Updating...
19 - Interpreter Pattern | Mức độ khó (★★★★★) | Mức độ phổ biến (★☆☆☆☆) | Updating...
20 - Command Pattern | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆) | Updating...
21 - Chain of Responsibility Pattern | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★☆☆☆) | Updating...
22 - Flyweight Pattern | Mức độ khó (★★★★☆) | Mức độ phổ biến (★☆☆☆☆) | Updating...
24 - Decorator Pattern | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★☆☆) | Updating...
25 - Composite Pattern | Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★☆) | Updating...
26 - DESIGN PATTERN vs SOLID: Sự khác nhau là gì? Nên học gì trước? Tôi là anti của S trong SOLID
27 - SOLID: Open-Closes Principle - Mức độ khó (★★★☆☆) | Mức độ phổ biến (★★★★★) ...
01: Kafka: Hệ thống cũ rất chậm đã đến lúc sử dụng Broker Message Queue Phần 1
02: Kafka: Mới join vào TEAM, cần học nhanh về KafKa Phần 2
03: [Kafka: Sử dụng trong Stocks như thế nào? Phần 3 Updating]
04: Notifications Service vs Tách Message Queue System - member
05: Cách triển khai Kafka Message Queue - member
06: Cách triển khai Rabbit Message Queue - member
07: Tách dự án với kiến trúc Microservice System | Level 3, 4
09: First step in Microservice vs Message Queue | Microservice System | Lvxx
10: Xử lý Message Error or TTL (Time To Live) trong Message Queue thế nào? | Kiến trúc MQ
11: Xử lý message khi gặp sự cố MQ server die (TTL) thực hành
12: QUAN TRỌNG và dành cho Level cao về cách Xử lý error message trong kiến trúc MQ
13: Message Ordering in Pub/Sub or Queues | Microservices Backend
14: Message Ordering | Microservice Backend | #2
15: Thực hành về Message Ordered với hai tình huống | RabbitMQ | Microservice Backend
... Còn
01 - Lý thuyết + Code: Lập trình song song, tuần tự và đồng thời là gì?
02 - CODE này bạn mới thấy được sự lợi hại về lập trình parallel và concurrent
03 - Promise sử dụng khi nào với từng trường hợp all, race, any và allSettled
04 - Phỏng vấn BackEnd: Giờ tôi mới hiểu đồng bộ và không đồng bộ qua một câu hỏi dựa trên thực tế #1
05 - Phỏng vấn BackEnd: Bạn có hiểu về LINUX
06 - Hãy cho biết một backend giải quyết rò rỉ memory thế nào?
07 - Khi cookie bị cấm thì hệ thống cần thay đổi gì?
08 - Những cách thiết kế nào có thể tăng tốc API?
09 - CPU 100% bạn đã thấy chưa? Nếu có giải quyết thế nào?
10 - FrontEnd đã giúp Backend kiểm soát LƯỢNG đồng thời cao với 1000 requests như thế nào?
11 - ... updating
01 - DOCKER vs MySQL Level 0,1 | #1 - PUBLIC
02 - DOCKER vs MySQL Level 2 | #2 - PUBLIC
03 - MySQL - Setup Master Slave PRO - MEMBER
04 - MySQL nhiệm vụ tối ưu hóa bảng Orders với hàng chục triệu dữ liệu - PUBLIC
05 - MySQL (Mongob) vs ElasticSearch kiến trúc đồng bộ dữ liệu NHANH - PUBLIC
06 - MySQL - Nói về INdex và những sai lầm nên tránh - MEMBER
08 - MySQL - 1 phút tạo ra 10.000.000 records dữ liệu test để thực hành tối ưu hóa index - MEMBER
09 - MySQL - Partition Database | Level 0, 1, 2 - MEMBER
10 - MySQL - Partition Database | Level 3, 4, 5 - MEMBER
01 - 2024: MYSQL - Phân tích chuyên sâu về kiến trúc tổng thể của MySQL: Thiết kế dạng chuẩn 1NF
02 - 2024: MYSQL - Phân tích chuyên sâu về kiến trúc tổng thể của MySQL: Thiết kế dạng chuẩn 2NF
...
1 - DOCKER vs Kubernetes, microservices
4 - DOCKER vs MySQL Level 0,1 | #1
5 - DOCKER vs MySQL Level 2 | #2
6 - DOCKER vs Elasticsearch, Kibana
7 - DOCKER - Xây dựng ứng dụng nodejs service push lên dockerHub
1 - Đã có MySQL tại sao chúng ta cần MongoDB? Cách giải quyết DỮ LIỆU siêu lớn MongoDB
2 - Nói về Index Mongodb, nếu bạn tài giỏi vui lòng trả lời câu hỏi sau đây
3 - Polymorphic Pattern Mongodb: Giải pháp thiết kế PRODUCT
4 - Attribute Pattern Mongodb: Giải pháp thiết kế sizeStoreINDEX
5 - Bucket pattern: Bí mật trong e-Commerce hay IoT
6 - Subset Pattern MongoDB: App lớn sẽ làm gì? Họ đưa giải pháp và đưa vào thực tế mà nhanh như vậy?
13 - Triển khai hệ thống comments trong ứng dụng Mongodb | index mongodb | b - tree | birary - tree
1 - Thực hành CODE về kiến trúc Load Balancing vs Api-Gateway
2 - Làm thế nào design bảo mật WEB API cho hệ thống của bạn? | Systems Architecture | 23
3 - Sau khi lướt qua 100 CV thì tôi nghĩ Lập Trình Viên nên theo PHƯƠNG PHÁP này (Mẫu CV đính kèm)
4 - Triển Khai CODE: Bảo mật giữa Postman(FE) và Node.js(BE) sử dụng thuật toán HMAC | Phần 23
5 - Lập trình viên có thể làm gì khác sau 40? 3 lối thoát mà bạn tôi (U50) đạt được thật kỳ lạ.
6 - Tại sao một công ty lại quy định tất cả các giao diện UPDATE đều sử dụng PATCH mà không PUT, POST?
7 - Thật tốt để CODE về nguyên tắc lập trình tuần tự, song song và đồng thời theo cách đường CAO TỐC
8 - Node.js 20 phát hành NÊN học tính nằng này không cần phải nhiều?| What's new in Node v20?
9 - Xem 3 cách CODE này bạn mới thấy được sự lợi hại về lập trình parallel và concurrent | Nodejs
10 - Tập trung 3 tính năng này của NODE.JS vậy tôi hỏi các bạn tôi có sai không? | Podcast Lập Trình Viên
11 - Stream Nodejs - Xem hai ví dụ sau để thấy cốt lõi của lập trình viên khí sử dụng tính năng Stream
12 - Event loop Nodejs - Lần cuối giải thích cho những bạn còn NGHI NGỜ thông qua hai VÍ DỤ kinh điển
1 - 13 tips cần BIẾT của một BackEnd khi Building a Project REST API with Node.js and Express - Phần 1
2 - ( Phần 2) 13 tips cần BIẾT của một lập trình BackEnd khi bắt đầu xây dựng REST API
3 - (3) Build Node.js Backend Architecture PRO: Vì sao Router phải được triển khai bởi LEADER thực hành
1 - Developer Interview Series: Backend (1) Forward Proxy vs Reverse Proxy Trăm nghe không bằng một thấy
2 - Developer Interview (2): Cookie vs Session đến lúc phải làm rõ mối quan hệ với SessionID
4 - Bạn mong muốn mức LƯƠNG bao nhiêu? Và 3 cách trả lời của TÔI khiến Nhà Tuyển Dụng phải suy nghĩ?
5 - 5 chiến lược triển khai NÂNG CAO khi di chuyển hệ thống BackEnd CŨ sang MỚI: Hướng dẫn toàn diện.
6 - Kubernetes vs Docker: Hiểu trước sau đó là cách triển khai hoạt động giữa thực tế và microservices\
7 - Load Balancing vs Api-gateway: Dùng thế nào và ở đâu?
1 - Dùng IF ELSE hay SWITCH thế này cho tôi hỏi các bạn LẬP TRÌNH VIÊN, cách CODE của tôi có sai không?
2 - Stop sử dụng typeof trong javascript và đây là giải pháp | JavaScript check data type
3 - Stars Calculator Javascript
4 - Ai nói forEach là xấu khi làm việc với Loops with Async / Await | Nodejs tutorial | Cách tôi FIX
5 - Sự khác nhau giữa việc return await và không có await trong Promise | Async Await | Nodejs tutorial
6 - Lợi ích của Promise so với async-await đa số người chưa biết về 3 cách | Promises or async-await
7 - Sơ lược vòng đời của Event loop callback promise async await trong Javascript qua chuyện tăng lương
8 - ECMAScript 2022 (ES13) Những tính năng được tuyệt vời FrontEnd hay Backend cần học trong Javascript
9 - Tips Javascript - Tổng hợp những tính năng 80% lập trình Javascript thường được sử dụng trong DỰ ÁN
1 - ChatGPT nó quá thông minh có thể lập trình viên và một số ngành khác sẽ thất nghiệp ???
2 - Câu trả lời quá BẤT NGỜ: Tôi hỏi con CHAT GPT: "Thiết kế cho tao một model comments with MongoDB?"
3 - CHATGPT vs Node.js - Build a Service app CHAT in my COMPANY use OpenAI - (1)
4 - CHATGPT (Microsoft) vs BARD (Google) Cùng HỎI một CÂU nhưng CÓ sự khác biệt? Lần này BARD ghi điểm ?
5 - GPT 4 - Hướng dẫn sử dụng MIỄN PHÍ không giới hạn GPT-4 và không cần ĐĂNG KÝ | CHAT GPT-4
6 - Đây là video được tạo bằng CHAT GPT 3.5 turbo. Vui lòng liên hệ lấy Source Code
7 - [Share Source: Sử dụng CHAT GPT 3.5 tự động làm SHORT VIDEO (tiktok, youtube) | Kèm account FREE]
1 - Using refresh token create new token (11) | NODE.JS API Authentication
2 - Blacklist and Refresh Tokens (JWT) with Redis (12) | NODE.JS API Authentication
3 - Nhận AccessToken mới khi Token hết hạn mà người dùng không cần login lại như Facebook | Axios API
4 - REST Security với JWT có lẽ đây là phương pháp tốt nhất AccessToken hết hạn hiện nay
5 - Developer Interview Series (3) Token (jwt) sinh ra thay cho Session với tình huống nào?? ợi ý 3 cách
6 - Token (JWT) Làm sao thu hồi một token bị HACK và một vài câu hỏi về mức độ an toàn khi sử dụng token
7 - Token (JWT) Triển khai hệ thống tự động phát hiện Token đã được sử dụng bởi Hacker và cách xử lý!
8 - Cách triển khai thuật toán CHẶN HACKER chiếm JWT cho dù đánh cắp KEYSECRET trong database | JWT
1 - Hóa ra đây là phần hoàn chỉnh về bảo mật REST API nếu bạn là một Backend sử dụng NodeJS build API
2 - Backend Nodejs vs thuật toán trao đổi KEY API Diffie Hellman và 2 ví dụ mã hóa của bác PHẠM XUÂN ẨN
3 - 2 cách ngăn chặn replay attacks API đối với HACKERS của kỹ sư cấp cao API | Nonce vs timestamp
4 - Các hệ thống tính toán lượt VIEWS chính xác như thế nào nếu nhiều IP xem videos một lúc | Backend
5 - Giải pháp này giúp aliconcon.com giải quyết bán không vượt hàng tồn kho trong eCommerce Rest api p-6
6 - Bạn muốn biết 2 cách quản lý tồn kho mà Tiki Shopee đang sử dụng | Kiến trúc backend eCommerce
7 - Design product model | 90% trang TMĐT đều triển khai theo cách này | Performance 99% | app aliconcon
8 - Send OTP hiệu quả và ALICONCON đã dùng cách này
9 - Build An eCommerce ALICONCON Using An API
10 - Bucket Pattern Mongodb - Cách phân trang và tìm hiểu ưu và nhược của mô hình này | Phù hợp với IoT
11 - Token (JWT) Làm sao thu hồi một token bị HACK và một vài câu hỏi về mức độ an toàn khi sử dụng token
12 - Hệ thống BackEnd tắc nghẽn ở giờ CAO ĐIỂM Tôi dựa vào công thức tính QPS và bài toán định luật 80/20
1 - Học GIT qua những tình huống thực tế giữa tôi và TEAM l Git cherry pick l Git stash l Git reset
2 - Tôi chưa bao giờ hiểu Git Rebase và Git Merge cho đến khi Sếp giải thích cho tôi như thế này | Git
3 - Tóm tắt toàn diện về việc sử dụng Git và quy trình làm việc của GitFlow và sếp yêu cầu tôi phải học
1 - Thực hành Redis và Nodejs | Sử dụng redis cloud FREE kết hợp Redisinsight
2 - REDIS và 3 sự cố phổ biến khi sử dụng nodejs | Cache avalanche | Cache breakdown | Cache penetration
3 - Push or Pull ngăn xếp công nghệ nào được FACEBOOK và INSTAGRAM lựa chọn phát triển NEWS FEED?
5 - How Facebook encodes Videos | Become a better developer in 10 seconds a day
4 - Popular interview question: What is the difference between Process and Thread? 10 seconds a day
6 - Node.js developer roadmap | Backend Service
7 - Điều gì xảy ra khi User nhập một Url | Phỏng vấn Backend
8 - E2E là gì? Vì sao ZALO lại nâng cấp | Cách triển khai thuật toán trong NODE.JS vs MONGODB
9 - CORS là gì? Chỉ cần thêm vài line code là xong ngay | Using CORS in Express | Nodejs Tutorial
10 - Node.js 19 đã phát hành và những tính năng DEVs KHÔNG THỂ bỏ qua với BACKEND | Release What’s New
3: Amazon Web Service (AWS) | Intro vs Regis...
4: Amazon Web Service (AWS) Setup S3 Bucket vs Security (2)
5: Amazon Web Service (AWS) Upload Images to S3 from Node Back End | AWS)
6: Amazon Web Service (AWS) Triển khai Service backend bảo mật Link S3 và test performance Url Speed)
7: Amazon Web Service (AWS) Setup Cloudfront với S3 | AWS Pro
9: Amazon Web Service (AWS) Triển khai toàn diện về EC2 vũ khí sắc bén của BackEnd
10: Amazon Web Service (AWS) Setup EC2 + Mysql với Linux. Tạo quyền, quản lý database bảo mật.
11: Amazon Web Service (AWS) Import Mysql local to EC2 và cho phép truy cập mysql từ xa | Làm chủ AWS
12: Amazon Web Service (AWS) Làm chủ Nginx
13: Amazon Web Service (AWS) Thực hành về CI/CD
14 ...
1 - Firebase chats | Cách tổ chức dữ liệu members, messages và bảo mật thông tin chats | Rules Firebase
2 - Socket.io authentication express | Socket io jwt | Nodejs tutorial
3 - Socket.io triển khai theo MVC Express | Best practice question involving Socket.io and MVC | Nodejs
01 - REDIS và 3 sự cố phổ biến khi sử dụng nodejs | Cache avalanche | Cache breakdown | Cache penetration
02 - Redis là gì? Bài học này đủ để bắt đầu | Là một Backend bạn đã từng gặp những trường hợp này chưa?
03 - Redis - Nguồn cảm hứng bất tận
04 - Redis - Hôm nay tôi đi phỏng vấn về Redis có 5 câu hỏi dành cho tôi và bạn | Node.js backend
05 - String Redis: Cấu trúc, lệnh phổ biến và kịch bản nào sử dụng?
06 - Hash Redis: Cấu trúc, lệnh phổ biến và kịch bản ứng dụng
07 - List Redis: Cấu trúc, lệnh phổ biến và kịch bản ứng dụng
08 - Redis Sets: Cấu trúc, lệnh phổ biến và kịch bản ứng dụng
09 - Redis Zset: Cấu trúc, lệnh phổ biến và kịch bản ứng dụng
10 - Redis Transaction: Cấu trúc, lệnh phổ biến và kịch bản ứng dụng
11 - Redis Pub/Sub: Cấu trúc, lệnh phổ biến và kịch bản ứng dụng
12 - Connect Nodejs Redis async await với 3 level khác nhau và cách nào hiệu quả hơn
13 - Redis vs MySQL Để check QPS (query per second) tôi phải đến năm thứ 4 lập trình mới biết về sysbench
14 - Thực hành Redis và Nodejs | Sử dụng redis cloud FREE kết hợp Redisinsight
15 - Redis đâu phải chỉ làm cache? Hãy xem đàn em mô phỏng shopping carts của amazon sử dụng redis
16 - Design 4 models mongodb quan trọng orders, carts, products, inventories trong System eCommerce P - 5
17 - [Redis PipeLine: Vì sao các kỹ sư kinh nghiệm luôn ưa thích (Updating...)]
18 - [Redis Go: Cách connect hiệu quả trong Go Backend (Updating...)]
19 - Updating...
Chapter 1: CDN là gì? Với 1 PHÚT ai cũng hiểu vì sao lại sử dụng CDN và nếu không có CDN thì sao?
Chapter 2: Api Gateway kết hợp Backend for FrontEnd (BFF) như HỔ mọc thêm CÁNH | Lộ trình trở thành Backend
Chapter 3: High Availability là gì? Tiết lộ CÔNG THỨC tính cho phép hệ thống DIE mỗi NĂM vs 3 cách triển khai
Chapter 4: Backend Developer Nếu ai hỏi xong LoadBalancer rồi thì CHÚNG TA sẽ làm gì? Hãy đưa video này cho họ
Chapter 5: Lộ trình trở thành BACKEND Developer TÔI đã quyết tâm khi nhìn thấy kiến trúc của hệ thống này - 01
Chapter 6: Browser In The Browser (BITB) Attack
0 - Học Mongodb quan trọng nhất là bài học này | MongoDB Schema Design Best Practices | Nodejs Tutorial
1 - Nếu sử dụng MySQL thiết kế model Products thì đồng nghiệp tôi đã làm cách này hiệu quả ngang Mongodb
2 - Redis vs MySQL Để check QPS (query per second) tôi phải đến năm thứ 4 lập trình mới biết về sysbench
3 - Statics methods virtual in mongoose - node.js
4 - Bucket Pattern Mongodb - Cách phân trang và tìm hiểu ưu và nhược của mô hình này | Phù hợp với IoT
5 - Hiểu atomic trong mongodb và xem thực tế cách sử dụng findOneAndUpdate tiền đề cho Bucket Pattern
6 - 3 cách phân trang trong databases thể hiện ở dự án stackoverflow, reddit, facebook và hack news
7 - E2E là gì? Vì sao ZALO lại nâng cấp | Cách triển khai thuật toán trong NODE.JS vs MONGODB
...
1 - Áp dụng nguyên tắc SOLID vào dự án eCommerce | Chữ S ở đây là gì? | Phần 1 | Series SOLID Javascript
Series RabbitMQ:
Chapter 2: RabbitMQ (2) tìm hiểu tiếp hoạt động Producer vs Consumer instal docker RabbitMQ và Cloud Free
Chapter 3: RabbitMQ (3) Cách Send và Receive một Message vào QUEUE với NODEJS Và tôi đã thấy một số vấn đề sau.
Chapter 4: RabbitMQ (4) Giải quyết vấn đề độ tin cậy trong queue (noAck, ttl, durable, persistent) phía Backend
Chapter 5: RabbitMQ (5) Đỉnh cao mô hình Publish Subscribe với Node.js và so sánh với mô hình của Redis.
1 - DOCKER vs Elasticsearch, Kibana
2 - ELK Stack là gì? Tôi đã bắt đầu tìm hiểu Elasticsearch và Kibana với thao tác nhanh gọn lẹ như sau
3 - Thực hành Kinaba cách tạo Index, Mapping thao tác CRUD và tối ưu hóa dữ liệu trong Elasticsearch (2)
4 - Elasticsearch Bạn có CHẮC là bạn sử dụng ĐÚNG những lệnh SEARCH dữ liệu của các tình huống SAU ĐÂY ?
5 - MySQL (Mongob) vs ElasticSearch kiến trúc đồng bộ dữ liệu NHANH - PUBLIC
6: ElasticSearch (1): Tư duy kiến trúc elasticsearch cho kỹ sư BE
7: ElasticSearch (2): Tư duy kiến trúc elasticsearch cho kỹ sư BE
8: ElasticSearch (3): Cách connect tối ưu và tích hợp dự án tìm kiếm sản phẩm
1 - CV là quan trọng, làm thế nào có một CV chuẩn (có mẫu CV đính kèm)
1 - Redis - Caching at Scale With Redis
2 - Redis - Redis Microservices for Dummies
4 - 2023 Frontend Development interview checklist and Roadmap
1 - Ưu nhược điểm của cơ sở dữ liệu quan hệ
2 - 8 quan niệm sai lầm về hệ thống phân tán