Giao diện
⚡ Modern C++ Series C++17/20
Enterprise C++ — Templates, Concurrency & Zero-Cost Abstractions
Modern C++ không chỉ là "syntax mới" — mà là paradigm shift về cách thiết kế zero-cost abstractions. Từ move semantics internals đến coroutine implementation, mỗi bài kèm assembly-level analysis.
| Modules | Lessons | Duration |
|---|---|---|
| 6 | 26 | 50–70 giờ |
📋 Overview
Learning Outcomes
- ✅ Master C++17: structured bindings, if constexpr, std::optional/variant/any
- ✅ Master C++20: concepts, ranges, coroutines, modules
- ✅ Hiểu sâu move semantics và value categories (lvalue, rvalue, xvalue)
- ✅ Viết template metaprogramming: SFINAE, fold expressions, constexpr evaluation
- ✅ Áp dụng concurrency patterns: std::thread, async, atomics, memory model
- ✅ Implement RAII patterns và smart pointer strategies cho zero-leak code
Prerequisites
- Nắm vững C++ cơ bản: classes, pointers, references, STL containers
- Hiểu memory management: stack vs heap, new/delete
- Đã viết chương trình C++ ≥1000 dòng
- Biết cơ bản templates (function templates, class templates)
🗺️ Suggested Roadmaps
📚 Curriculum Tree
⚠️ Curriculum Index Preview: Đây là bản preview cấu trúc curriculum — hiển thị danh sách module, lesson titles, và exercise types. Nội dung bài học đầy đủ (lecture notes, code examples, exercises có lời giải) nằm trong Premium Pack.
bundle-cpp--mod-01: C++17 Essential Features (5 lessons)
Structured Bindings & Init Statements
Destructuring, if/switch init, nested namespaces
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~35 phút · 📊 beginner
std::optional, std::variant, std::any
Value semantics, visitor pattern, type-safe unions
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~45 phút · 📊 intermediate
if constexpr & Compile-Time Branching
SFINAE replacement, compile-time polymorphism, tag dispatch
Exercise Types:
- 🧩 Parsons
- 🎯 ScenarioChoice
⏱️ ~40 phút · 📊 intermediate
std::filesystem & String Improvements
Path operations, directory iteration, string_view, charconv
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~35 phút · 📊 beginner
Fold Expressions & Class Template Argument Deduction
Variadic fold, CTAD guides, deduction pitfalls
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~40 phút · 📊 intermediate
bundle-cpp--mod-02: C++20 Core Language (5 lessons)
Concepts & Constraints
requires expression, concept definition, subsumption, standard concepts
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~50 phút · 📊 intermediate
Ranges & Views
Range adaptors, lazy evaluation, projection, custom views
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~55 phút · 📊 intermediate
Coroutines Fundamentals
co_await, co_yield, co_return, promise type, coroutine handle
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~60 phút · 📊 advanced
Modules
Module units, import/export, partitions, header units, build system integration
Exercise Types:
- 🧩 Parsons
- 🎯 ScenarioChoice
⏱️ ~45 phút · 📊 intermediate
Three-Way Comparison & Spaceship Operator
strong_ordering, weak_ordering, partial_ordering, defaulted <==>
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~35 phút · 📊 beginner
bundle-cpp--mod-03: Move Semantics & Value Categories (4 lessons)
Value Categories: lvalue, rvalue, xvalue, prvalue, glvalue
Category taxonomy, materialization, implicit conversions
Exercise Types:
- 🎯 ScenarioChoice
- 🔍 SpotTheBug
⏱️ ~50 phút · 📊 intermediate
Move Constructors & Move Assignment
Implementing move, noexcept importance, rule of five/zero
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~50 phút · 📊 intermediate
Perfect Forwarding & Universal References
std::forward, forwarding references, reference collapsing
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~55 phút · 📊 advanced
Copy Elision: RVO, NRVO, Guaranteed Elision
C++17 guaranteed copy elision, when elision fails, benchmarking
Exercise Types:
- 🔍 SpotTheBug
- 🎯 ScenarioChoice
⏱️ ~40 phút · 📊 intermediate
bundle-cpp--mod-04: Templates & Metaprogramming (4 lessons)
Template Fundamentals & Specialization
Function/class templates, partial specialization, SFINAE basics
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~45 phút · 📊 intermediate
Variadic Templates & Parameter Packs
Pack expansion, fold expressions, recursive instantiation
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~50 phút · 📊 advanced
CRTP & Static Polymorphism
Curiously Recurring Template Pattern, mixin classes, compile-time dispatch
Exercise Types:
- 🧩 Parsons
- 🎯 ScenarioChoice
⏱️ ~45 phút · 📊 advanced
Type Traits & constexpr Programming
std::is_, std::enable_if, constexpr functions, consteval, constinit*
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~50 phút · 📊 advanced
bundle-cpp--mod-05: Concurrency & Memory Model (4 lessons)
std::thread, std::jthread & Async
Thread creation, joining, futures, promises, packaged_task
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~45 phút · 📊 intermediate
Mutexes, Locks & Condition Variables
std::mutex, lock_guard, unique_lock, shared_mutex, deadlock avoidance
Exercise Types:
- 🔍 SpotTheBug
- 🎯 ScenarioChoice
⏱️ ~50 phút · 📊 intermediate
Atomics & Memory Ordering
std::atomic, memory_order_relaxed/acquire/release/seq_cst, fences
Exercise Types:
- 🔍 SpotTheBug
- 🎯 ScenarioChoice
⏱️ ~60 phút · 📊 expert
Lock-Free Data Structures
Compare-and-swap, ABA problem, hazard pointers, epoch-based reclamation
Exercise Types:
- 🔍 SpotTheBug
- 🎯 ScenarioChoice
⏱️ ~65 phút · 📊 expert
bundle-cpp--mod-06: RAII, Smart Pointers & Best Practices (4 lessons)
RAII Philosophy & Resource Management
Ownership semantics, scope-based management, exception safety
Exercise Types:
- 🎯 ScenarioChoice
- 🔍 SpotTheBug
⏱️ ~35 phút · 📊 beginner
Smart Pointers Deep Dive
unique_ptr, shared_ptr control block, weak_ptr cycle breaking, make_shared
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~50 phút · 📊 intermediate
Custom Deleters & Allocators
File handle RAII, pool allocators, pmr::memory_resource
Exercise Types:
- 🧩 Parsons
- 🔍 SpotTheBug
⏱️ ~45 phút · 📊 advanced
C++ Core Guidelines & Static Analysis
GSL, clang-tidy, cppcheck, sanitizers (ASan, TSan, UBSan)
Exercise Types:
- 🎯 ScenarioChoice
- 🔍 SpotTheBug
⏱️ ~40 phút · 📊 intermediate
📦 What You Get
- PDF lecture notes (32 bài, kèm code examples & assembly annotations)
- Obsidian vault với C++ pattern library & decision trees
- Code templates: CMake project structure, testing setup (Catch2/GoogleTest)
- Benchmark templates (Google Benchmark) cho performance comparison
Lifetime updates: C++23/26 features added as compilers implement them. Compiler compatibility matrix updated.
❓ Câu hỏi thường gặp
Quy trình mua hàng như thế nào?
Bạn nhắn tin qua Messenger với bundle muốn mua. Đội ngũ PENALGO sẽ xác nhận đơn hàng, hướng dẫn thanh toán qua chuyển khoản ngân hàng, và gửi link Google Drive chứa tài liệu trong vòng 24 giờ sau khi xác nhận thanh toán.
Tài liệu được giao dưới dạng gì?
Mỗi bundle bao gồm: PDF lecture notes (full diagrams), Obsidian vault (backlinks & graph view), code templates theo ngôn ngữ, và toàn bộ được đóng gói trong Google Drive ZIP. Bạn nhận link tải một lần và sở hữu vĩnh viễn.
Chính sách cập nhật tài liệu ra sao?
Lifetime updates — mỗi phiên bản mới được gửi qua email đăng ký kèm changelog chi tiết. Tối thiểu 2 lần cập nhật mỗi năm cho mỗi bundle, bổ sung case studies mới và cập nhật theo phiên bản công nghệ.
Tôi có thể hoàn tiền không?
Hoàn tiền 100% trong vòng 24 giờ kể từ khi nhận tài liệu, không cần lý do. Sau 24 giờ, do tính chất digital của sản phẩm, chính sách hoàn tiền không còn áp dụng.
Nên mua bundle nào trước?
Tuỳ mục tiêu: Chuẩn bị phỏng vấn → bắt đầu với Algorithms & Data Structures Core. Muốn lên senior → System Design Universe. Chuyển sang DevOps → Docker Masterclass + Infrastructure & DevOps. Xem mục Roadmaps để tìm lộ trình phù hợp nhất với career path của bạn.
Roadmap hoạt động như thế nào?
Mỗi roadmap là một lộ trình học tập được thiết kế cho một mục tiêu nghề nghiệp cụ thể. Roadmap gợi ý thứ tự học các module từ nhiều bundle khác nhau, kèm milestone checkpoints để tự đánh giá tiến độ. Roadmap là hướng dẫn — bạn vẫn cần mua bundle tương ứng để truy cập nội dung.
Curriculum Tree trên web hiển thị gì?
Curriculum Tree là bản preview cấu trúc module/lesson — cho thấy phạm vi và độ sâu của mỗi bundle. Đây là metadata (tiêu đề, mục tiêu, tags), không phải nội dung bài học đầy đủ. Nội dung chi tiết nằm trong Premium Pack khi bạn mua.
Tài liệu có phù hợp với người mới bắt đầu không?
Mỗi bundle ghi rõ prerequisites (yêu cầu đầu vào) — kiểm tra trước khi mua. Đa phần bundle yêu cầu kiến thức nền tảng cơ bản. Nếu bạn đã nắm vững prerequisites, tài liệu sẽ đưa bạn từ intermediate lên production-grade level.
Tôi có thể xem trước nội dung bài học không?
Curriculum Tree trên web cho phép bạn xem danh sách module, lesson titles, mục tiêu, và exercise types. Đây là preview đủ để đánh giá scope và depth. Nội dung bài học đầy đủ (lecture notes, code examples, exercises) chỉ có trong Premium Pack.
Hỗ trợ kỹ thuật khi gặp vấn đề với tài liệu?
Liên hệ qua Messenger hoặc email hỗ trợ. Đội ngũ phản hồi trong vòng 24 giờ (ngày làm việc). Hỗ trợ bao gồm: vấn đề tải file, lỗi format, câu hỏi về nội dung, và gợi ý lộ trình học tập.
Có giảm giá khi mua nhiều bundle không?
Có chính sách combo khi mua từ 3 bundle trở lên. Nhắn tin qua Messenger để nhận báo giá combo phù hợp với mục tiêu học tập của bạn.
💬 Mua ngay
Xin chào! Tôi quan tâm đến bundle "Modern C++ Series C++17/20" (bundle-cpp). Tôi muốn biết thêm thông tin và cách mua.
Nội dung đầy đủ được giao trong Premium Pack qua Google Drive.