<?xml version="1.0" encoding="UTF-8" ?>
<rss
    version="2.0"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:webfeeds="http://webfeeds.org/rss/1.0"
    xmlns:media="http://search.yahoo.com/mrss/"
    >
    <channel>
        <title>Back-end Tag - Viblo</title>
        <link>https://viblo.asia/rss</link>
        <description><![CDATA[Free service for technical knowledge sharing]]></description>
        <atom:link href="https://viblo.asia/rss/tags/back-end.rss" rel="self"></atom:link>
                <copyright>Sun* Inc.</copyright>
                                                <webfeeds:logo>https://viblo.asia/logo_full.svg</webfeeds:logo>
        <image>
            <url>https://viblo.asia/logo_full.svg</url>
            <title>Back-end Tag - Viblo</title>
            <link>https://viblo.asia/rss</link>
        </image>
                                <language>vi-vn</language>
        <lastBuildDate>2026-06-08T09:50:14+07:00</lastBuildDate>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 41: Các kiểu kế thừa - Khám phá &quot;gia phả&quot; của hệ thống Class]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-41-cac-kieu-ke-thua-kham-pha-gia-pha-cua-he-thong-class-ZjJYWZXMVOE</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-41-cac-kieu-ke-thua-kham-pha-gia-pha-cua-he-thong-class-ZjJYWZXMVOE</guid>
            <description><![CDATA[Chào anh em! Từ đầu chương Kế thừa đến giờ, chúng ta thường xuyên làm việc với cấu trúc 1 Lớp Cha đẻ ra 1 Lớp Con. Nhưng thế giới phần mềm rộng lớn hơ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-03 15:25:36</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 40: Phạm vi truy xuất trong Kế thừa - Những cánh cửa vô hình!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-40-pham-vi-truy-xuat-trong-ke-thua-nhung-canh-cua-vo-hinh-8X4EjMwdJN2</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-40-pham-vi-truy-xuat-trong-ke-thua-nhung-canh-cua-vo-hinh-8X4EjMwdJN2</guid>
            <description><![CDATA[Chào anh em! Từ [Bài 35] đến giờ, mỗi khi cho Lớp Con kế thừa Lớp Cha, chúng ta đều viết một cú pháp quen thuộc:
class DevBackend : public NhanVien

C...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-06-03 15:25:02</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 38: Cài đặt kế thừa (Phần 2) - Định luật dọn rác và Quyền phản nghịch!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-38-cai-dat-ke-thua-phan-2-dinh-luat-don-rac-va-quyen-phan-nghich-RlL5eQE8LbB</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-38-cai-dat-ke-thua-phan-2-dinh-luat-don-rac-va-quyen-phan-nghich-RlL5eQE8LbB</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 37], chúng ta đã theo dõi vòng đời của một Object đi từ lúc cấp phát bộ nhớ (Constructor). Chúng ta biết rằng Lớp Cha luôn được ưu...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-29 06:56:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 37: Cài đặt kế thừa (Phần 1) - Định luật &quot;Xây móng trước khi lợp mái&quot;]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-37-cai-dat-ke-thua-phan-1-dinh-luat-xay-mong-truoc-khi-lop-mai-7Z4DEGR0JnX</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-37-cai-dat-ke-thua-phan-1-dinh-luat-xay-mong-truoc-khi-lop-mai-7Z4DEGR0JnX</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 36], chúng ta đã biết cách dùng protected để chia sẻ tài sản từ Cha xuống Con. Đồng thời, mình có để lại một câu hỏi lớn ở hàm Con...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-24 20:57:01</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 35: Đặc tính cơ bản của kế thừa đơn - Sự truyền ngôi của các Class!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-35-dac-tinh-co-ban-cua-ke-thua-don-su-truyen-ngoi-cua-cac-class-ymJXDQ15Jkq</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-35-dac-tinh-co-ban-cua-ke-thua-don-su-truyen-ngoi-cua-cac-class-ymJXDQ15Jkq</guid>
            <description><![CDATA[Chào anh em! Hãy tưởng tượng bạn đang viết phần mềm quản lý nhân sự cho một công ty IT.
Ban đầu, bạn tạo một Class NhanVien với các thuộc tính cơ bản:...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-10 11:19:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 34: Toán tử so sánh - Cán cân công lý của OOP]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-34-toan-tu-so-sanh-can-can-cong-ly-cua-oop-oKLnqe7yJQO</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-34-toan-tu-so-sanh-can-can-cong-ly-cua-oop-oKLnqe7yJQO</guid>
            <description><![CDATA[Chào anh em! Đến thời điểm này, Class PhanSo của chúng ta đã có thể tính toán (+, -, *, /) và in ấn (<<, >>) y hệt một biến int nguyên thủy.Nhưng nếu ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-09 20:29:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 32: Toán tử tiền tố (Prefix Operator) - Tăng trước, tính sau!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-32-toan-tu-tien-to-prefix-operator-tang-truoc-tinh-sau-lZL9XqGdJQK</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-32-toan-tu-tien-to-prefix-operator-tang-truoc-tinh-sau-lZL9XqGdJQK</guid>
            <description><![CDATA[Chào anh em! Trong các vòng lặp for hay while, chúng ta dùng ++i và i++ nhiều như cơm bữa. Đối với kiểu int, cả hai đều là cộng thêm 1 đơn vị.

Nhưng ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-03 18:52:35</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 31: Toán tử nhập xuất dùng Hàm bạn - Đưa trật tự vũ trụ C++ trở lại!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-31-toan-tu-nhap-xuat-dung-ham-ban-dua-trat-tu-vu-tru-c-tro-lai-1j4lQPXKJwl</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-31-toan-tu-nhap-xuat-dung-ham-ban-dua-trat-tu-vu-tru-c-tro-lai-1j4lQPXKJwl</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 30], chúng ta đã chứng kiến một cú lừa ngoạn mục. Khi cố tình nhét toán tử << vào làm Member Function (Hàm bên trong Class), mã ng...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-03 09:58:49</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 30: Toán tử nhập xuất dùng Member Function - Bí mật quái gở của cout và cin!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-30-toan-tu-nhap-xuat-dung-member-function-bi-mat-quai-go-cua-cout-va-cin-AWVpXgzoV05</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-30-toan-tu-nhap-xuat-dung-member-function-bi-mat-quai-go-cua-cout-va-cin-AWVpXgzoV05</guid>
            <description><![CDATA[Chào anh em! Ở các bài trước, chúng ta đã biến Class PhanSo thành một thực thể toán học thực thụ với các phép cộng, trừ. Nhưng ở khâu hiển thị, chúng ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-05-03 09:50:50</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 29: Nạp chồng toán tử (+) bằng Hàm bạn - &quot;Chân ái&quot; của hệ thống tính toán]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-29-nap-chong-toan-tu-bang-ham-ban-chan-ai-cua-he-thong-tinh-toan-Nj4vg8j2J6r</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-29-nap-chong-toan-tu-bang-ham-ban-chan-ai-cua-he-thong-tinh-toan-Nj4vg8j2J6r</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 28], chúng ta đã rơi vào một thế bế tắc kinh điển trong thiết kế C++:

* Viết phép cộng + ở TRONG Class: Truy cập dữ liệu dễ dàng,...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-26 14:11:12</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 28: Nạp chồng toán tử cộng (+) - Cuộc chiến giữa Member và Non-member]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-28-nap-chong-toan-tu-cong-cuoc-chien-giua-member-va-non-member-ymJXDQM6Jkq</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-28-nap-chong-toan-tu-cong-cuoc-chien-giua-member-va-non-member-ymJXDQM6Jkq</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 27], chúng ta đã khởi động nhẹ nhàng với toán tử 1 ngôi (-ps). Hôm nay, chúng ta sẽ đối mặt với "trùm cuối": Toán tử 2 ngôi (Binar...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-25 20:10:34</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 27: Toán tử số đối (Non-member function) - Góc nhìn từ bên ngoài pháo đài]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-27-toan-tu-so-doi-non-member-function-goc-nhin-tu-ben-ngoai-phao-dai-bA468B5GLKv</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-27-toan-tu-so-doi-non-member-function-goc-nhin-tu-ben-ngoai-phao-dai-bA468B5GLKv</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 25], chúng ta đã nạp chồng toán tử số đối (Unary Minus -) bằng cách viết hàm trực tiếp vào bên trong Class. Lợi thế là chúng ta ch...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-22 16:30:53</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 25: Nạp chồng toán tử 1 ngôi - &quot;Đảo chiều&quot; thực thể với Unary Minus]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-25-nap-chong-toan-tu-1-ngoi-dao-chieu-thuc-the-voi-unary-minus-pPLkN362JRZ</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-25-nap-chong-toan-tu-1-ngoi-dao-chieu-thuc-the-voi-unary-minus-pPLkN362JRZ</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 24], chúng ta đã biết sức mạnh của việc Nạp chồng toán tử (Operator Overloading). Hôm nay, chúng ta sẽ áp dụng nó vào thực tế với ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-22 16:05:54</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 24: Giới thiệu Nạp chồng toán tử (Operator Overloading) - Phép thuật thao túng C++]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-24-gioi-thieu-nap-chong-toan-tu-operator-overloading-phep-thuat-thao-tung-c-XP4WE2NoL7G</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-24-gioi-thieu-nap-chong-toan-tu-operator-overloading-phep-thuat-thao-tung-c-XP4WE2NoL7G</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 23], chúng ta đã giải quyết bài toán cộng phân số bằng cách gọi hàm:
PhanSo tong = ToanHoc::cong(ps1, ps2);

Tuy nhiên, đối với mộ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-22 07:34:23</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 23: Lớp bạn (Friend Class) - Khi một người bạn được giao &quot;chìa khóa nhà&quot;]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-23-lop-ban-friend-class-khi-mot-nguoi-ban-duoc-giao-chia-khoa-nha-ZoJjeGl74Y7</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-23-lop-ban-friend-class-khi-mot-nguoi-ban-duoc-giao-chia-khoa-nha-ZoJjeGl74Y7</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 22], chúng ta đã biết cách "mở cửa hậu" cho một hàm tự do bằng từ khóa friend.

Nhưng hãy tưởng tượng, bạn đang viết một hệ thống ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-21 22:15:41</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 22: Hàm bạn - Lớp bạn (Phần 1) - Nghệ thuật &quot;mở cửa hậu&quot; an toàn]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-22-ham-ban-lop-ban-phan-1-nghe-thuat-mo-cua-hau-an-toan-lZL9XqkeJQK</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-22-ham-ban-lop-ban-phan-1-nghe-thuat-mo-cua-hau-an-toan-lZL9XqkeJQK</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 21], hệ thống PhanSo của chúng ta đã được bảo vệ hoàn hảo bằng private. Không một ai từ bên ngoài có thể tự ý thay đổi tuSo hay ma...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-21 00:54:00</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 21: Phương thức khởi tạo có tham số (Phần 2) - Cú lừa từ API và kỹ năng Parse chuỗi]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-21-phuong-thuc-khoi-tao-co-tham-so-phan-2-cu-lua-tu-api-va-ky-nang-parse-chuoi-oKLnqebZJQO</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-21-phuong-thuc-khoi-tao-co-tham-so-phan-2-cu-lua-tu-api-va-ky-nang-parse-chuoi-oKLnqebZJQO</guid>
            <description><![CDATA[Chào anh em! Trong [Bài 20], chúng ta đã thiết kế thành công Class PhanSo nhận vào 2 số nguyên. Code chạy cực mượt, phân số tự động rút gọn.

Nhưng đờ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-21 00:48:49</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 20: Bài tập thực chiến - Xây dựng hệ thống Phân số (Phần 1)]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-20-bai-tap-thuc-chien-xay-dung-he-thong-phan-so-phan-1-ym40077m491</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-20-bai-tap-thuc-chien-xay-dung-he-thong-phan-so-phan-1-ym40077m491</guid>
            <description><![CDATA[Chào anh em! Chào mừng đến với project thực chiến đầu tiên.

Mục tiêu của chúng ta là tạo ra một Class PhanSo hoạt động mượt mà y như các kiểu dữ liệu...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-20 18:21:31</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 19: Phương thức tĩnh (Static Member Functions) - Quyền năng gọi hàm không cần Object]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-19-phuong-thuc-tinh-static-member-functions-quyen-nang-goi-ham-khong-can-object-bNVQGoo2JvR</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-19-phuong-thuc-tinh-static-member-functions-quyen-nang-goi-ham-khong-can-object-bNVQGoo2JvR</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 18], chúng ta đã biết cách tạo ra một static data member (Biến tĩnh) để làm "Sổ cái chung" lưu trữ dữ liệu toàn cục của Class (ví ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-20 18:12:36</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 18: Thành viên tĩnh (Static Data Member) - Bí mật của vùng nhớ &quot;vượt thời gian&quot;]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-18-thanh-vien-tinh-static-data-member-bi-mat-cua-vung-nho-vuot-thoi-gian-AoJe8zzD41j</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-18-thanh-vien-tinh-static-data-member-bi-mat-cua-vung-nho-vuot-thoi-gian-AoJe8zzD41j</guid>
            <description><![CDATA[Chào anh em! Từ đầu series đến giờ, chúng ta đã quen với quy luật: Mỗi Object được đúc ra sẽ mang một bộ dữ liệu (Thuộc tính) của riêng nó. Anh A có s...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-20 17:58:12</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 17: Destructor - &quot;Người dọn rác&quot; tận tụy và bài học xương máu về Memory Leak]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-17-destructor-nguoi-don-rac-tan-tuy-va-bai-hoc-xuong-mau-ve-memory-leak-k74a9ggM4eO</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-17-destructor-nguoi-don-rac-tan-tuy-va-bai-hoc-xuong-mau-ve-memory-leak-k74a9ggM4eO</guid>
            <description><![CDATA[Chào anh em! Ở các bài trước, chúng ta đã dùng new để xin cấp phát bộ nhớ rất nhiều. Nhưng hãy nhớ một quy tắc sắt đá trong C++: Có vay thì phải có tr...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-20 17:51:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 15: Tham chiếu (Reference) là gì? - Sợi dây liên kết sống còn trong C++]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-15-tham-chieu-reference-la-gi-soi-day-lien-ket-song-con-trong-c-AWVpXgw3V05</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-15-tham-chieu-reference-la-gi-soi-day-lien-ket-song-con-trong-c-AWVpXgw3V05</guid>
            <description><![CDATA[Chào anh em! Trong [Bài 11], khi làm tính năng tấn công (attack), mình đã nhấn mạnh việc phải thêm dấu & (Tham chiếu) vào tham số truyền vào: void att...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 14:46:35</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 14: &quot;Constructor chồng Constructor&quot; và Bí thuật ngăn chặn ép kiểu lỗi]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-14-constructor-chong-constructor-va-bi-thuat-ngan-chan-ep-kieu-loi-XP4WE2wkL7G</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-14-constructor-chong-constructor-va-bi-thuat-ngan-chan-ep-kieu-loi-XP4WE2wkL7G</guid>
            <description><![CDATA[Chào anh em! Chúng ta lại gặp nhau ở phần 2 của chủ đề Parameterized Constructor.

Khi thiết kế một hệ thống lớn, một Class thường có rất nhiều cách đ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 14:31:11</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 13: Phương thức khởi tạo có tham số (Phần 1) - Phân biệt &quot;Gán&quot; và &quot;Khởi tạo&quot; thực sự!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-13-phuong-thuc-khoi-tao-co-tham-so-phan-1-phan-biet-gan-va-khoi-tao-thuc-su-ym4007Bd491</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-13-phuong-thuc-khoi-tao-co-tham-so-phan-1-phan-biet-gan-va-khoi-tao-thuc-su-ym4007Bd491</guid>
            <description><![CDATA[Chào anh em! Ở [Bài 12], chúng ta đã biết cách viết Parameterized Constructor (Hàm khởi tạo có tham số) để đẻ ra một Object mang sẵn số liệu:

Nhìn th...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 13:55:08</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 12: Hàm khởi tạo mặc định (Default Constructor) - Cách C++ &quot;chào đời&quot; một Object!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-12-ham-khoi-tao-mac-dinh-default-constructor-cach-c-chao-doi-mot-object-XRJ8R0eqVGq</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-12-ham-khoi-tao-mac-dinh-default-constructor-cach-c-chao-doi-mot-object-XRJ8R0eqVGq</guid>
            <description><![CDATA[Chào anh em! Ở cuối [Bài 11], chúng ta đã thiết kế Class Character với một Constructor (Hàm khởi tạo) yêu cầu truyền vào 3 tham số: Tên, Máu, Sát thươ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 10:07:25</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 11: Phương thức nhận Object làm tham số - Khi các thực thể &quot;va chạm&quot;]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-11-phuong-thuc-nhan-object-lam-tham-so-khi-cac-thuc-the-va-cham-1XVOWMEGVMz</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-11-phuong-thuc-nhan-object-lam-tham-so-khi-cac-thuc-the-va-cham-1XVOWMEGVMz</guid>
            <description><![CDATA[Chào anh em! Trong 10 bài vừa qua, chúng ta đã thiết kế ra những Object rất xịn xò nhưng chúng lại sống... khá cô lập.

Thực tế khi làm dự án, các Obj...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 09:44:43</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 10: Con trỏ this - Lật tẩy &quot;thế lực ngầm&quot; định vị mọi Object]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-10-con-tro-this-lat-tay-the-luc-ngam-dinh-vi-moi-object-R5JRQMEr4Gv</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-10-con-tro-this-lat-tay-the-luc-ngam-dinh-vi-moi-object-R5JRQMEr4Gv</guid>
            <description><![CDATA[Chào anh em! Trong suốt 9 bài vừa qua, chúng ta đã gọi các phương thức như user.getName(), wallet.deposit(100) một cách rất vô tư.

Nhưng có một sự th...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 09:37:56</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 9: Định nghĩa phương thức bằng cách chia file - Giải mã &quot;lời nguyền&quot; Include chéo]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-9-dinh-nghia-phuong-thuc-bang-cach-chia-file-giai-ma-loi-nguyen-include-cheo-kY4gDY8RJAe</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-9-dinh-nghia-phuong-thuc-bang-cach-chia-file-giai-ma-loi-nguyen-include-cheo-kY4gDY8RJAe</guid>
            <description><![CDATA[Chào anh em! Trong các bài trước, chúng ta đã thống nhất quy tắc Vàng của một Kỹ sư C++: File Header (.h) là Menu (khai báo), File Source (.cpp) là Nh...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 09:31:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 7: Khai báo Class chuẩn dự án - Tạm biệt &quot;nồi lẩu&quot; main.cpp!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-7-khai-bao-class-chuan-du-an-tam-biet-noi-lau-maincpp-RlL5eQl8LbB</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-7-khai-bao-class-chuan-du-an-tam-biet-noi-lau-maincpp-RlL5eQl8LbB</guid>
            <description><![CDATA[Chào anh em! Nếu anh em đã đi cùng mình qua 6 bài trước và nắm vững 4 trụ cột của OOP, thì xin chúc mừng, anh em đã có tư duy của một Kỹ sư phần mềm.
...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 07:55:49</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 6: Đa hình (Polymorphism) - &quot;Phép thuật&quot; định hình đẳng cấp Senior]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-6-da-hinh-polymorphism-phep-thuat-dinh-hinh-dang-cap-senior-OQJwzb3g4MP</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-6-da-hinh-polymorphism-phep-thuat-dinh-hinh-dang-cap-senior-OQJwzb3g4MP</guid>
            <description><![CDATA[Chào anh em! Chúc mừng anh em đã đi đến mảnh ghép cuối cùng và cũng là mảnh ghép uy lực nhất của 4 tính chất OOP: Đa hình (Polymorphism).

Hãy nhớ lại...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-19 07:50:34</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 5: Kế thừa (Inheritance) - Đừng copy-paste code nữa, hãy dùng não!]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-5-ke-thua-inheritance-dung-copy-paste-code-nua-hay-dung-nao-PoL7e0e24vk</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-5-ke-thua-inheritance-dung-copy-paste-code-nua-hay-dung-nao-PoL7e0e24vk</guid>
            <description><![CDATA[Chào anh em! Chúng ta lại gặp nhau trong series OOP Thực chiến.

Ở [Bài 4], chúng ta đã thiết kế một cái DigitalWallet (Ví điện tử) cực kỳ an toàn với...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-18 23:59:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 4: Đóng gói (Encapsulation) - Đặt &quot;lính gác&quot; bảo vệ dữ liệu của bạn]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-4-dong-goi-encapsulation-dat-linh-gac-bao-ve-du-lieu-cua-ban-13VM9D98VY7</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-4-dong-goi-encapsulation-dat-linh-gac-bao-ve-du-lieu-cua-ban-13VM9D98VY7</guid>
            <description><![CDATA[Chào anh em, lại là mình đây. Tiếp nối series OOP Thực chiến, hôm nay chúng ta sẽ giải quyết một khái niệm mà 80% các bạn mới học hay nhầm lẫn với Trừ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-18 23:50:19</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[[C++ OOP Thực Chiến] Bài 3: Trừu tượng (Abstraction) là gì? - Nghệ thuật thiết kế API &quot;chống ngu&quot;]]></title>
                        <link>https://viblo.asia/p/c-oop-thuc-chien-bai-3-truu-tuong-abstraction-la-gi-nghe-thuat-thiet-ke-api-chong-ngu-oKLnqeqNJQO</link>
            <guid isPermaLink="true">https://viblo.asia/p/c-oop-thuc-chien-bai-3-truu-tuong-abstraction-la-gi-nghe-thuat-thiet-ke-api-chong-ngu-oKLnqeqNJQO</guid>
            <description><![CDATA[Chào các bạn, chúng ta lại gặp nhau trong series OOP Thực chiến!

Ở Bài 2, chúng ta đã nhắc đến việc che giấu những chi tiết phức tạp của hệ thống để ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nguyễn Huy Hoàng</dc:creator>
            <pubDate>2026-04-18 21:52:41</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Năm 2025, Tech Stack Full-stack của tôi và lý do lựa chọn]]></title>
                        <link>https://viblo.asia/p/nam-2025-tech-stack-full-stack-cua-toi-va-ly-do-lua-chon-7Z4DEEzoJnX</link>
            <guid isPermaLink="true">https://viblo.asia/p/nam-2025-tech-stack-full-stack-cua-toi-va-ly-do-lua-chon-7Z4DEEzoJnX</guid>
            <description><![CDATA[Năm 2025 sắp kết thúc.
Nhìn lại, năm nay framework frontend phát triển chóng mặt, công cụ AI thâm nhập hoàn toàn vào hiện trường phát triển, và phương...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sky blue</dc:creator>
            <pubDate>2025-11-06 13:14:31</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[User-Agent trong giao tiếp giữa các Service]]></title>
                        <link>https://viblo.asia/p/user-agent-trong-giao-tiep-giua-cac-service-qPoL7ZwlJvk</link>
            <guid isPermaLink="true">https://viblo.asia/p/user-agent-trong-giao-tiep-giua-cac-service-qPoL7ZwlJvk</guid>
            <description><![CDATA[Khi sử dụng REST API để giao tiếp giữa các service, chúng ta thường không quan tâm tới user-agent, ví dụ khi dùng axios:

với package requests của Pyt...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Vũ Nguyễn</dc:creator>
            <pubDate>2024-08-18 16:39:54</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Với AI bạn có thể không cần viết 1 dòng code nào nữa?]]></title>
                        <link>https://viblo.asia/p/voi-ai-ban-co-the-khong-can-viet-1-dong-code-nao-nua-y37LdE9MVov</link>
            <guid isPermaLink="true">https://viblo.asia/p/voi-ai-ban-co-the-khong-can-viet-1-dong-code-nao-nua-y37LdE9MVov</guid>
            <description><![CDATA[Ý tưởng
Cuối tuần vừa rồi, rảnh rảnh mình nảy ra ý định thử phát triển 1 trang web hoàn toàn sử dụng AI mà sẽ không tự viết 1 dòng code nào cả. Mình đ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">TungDT</dc:creator>
            <pubDate>2023-10-30 10:31:18</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[UGS CLI - Install &amp; Usage [English]]]></title>
                        <link>https://viblo.asia/p/ugs-cli-install-usage-english-E1XVOaYZJMz</link>
            <guid isPermaLink="true">https://viblo.asia/p/ugs-cli-install-usage-english-E1XVOaYZJMz</guid>
            <description><![CDATA[in this post, we will learn what UGS CLI do and how to install, run, login and authenticate for UGS CLI.
0. What is UGS CLI
The Unity Gaming Services ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Vo Vuong Dai An</dc:creator>
            <pubDate>2023-07-03 12:41:52</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Node.js và PHP: Cuộc chiến back-end]]></title>
                        <link>https://viblo.asia/p/nodejs-va-php-cuoc-chien-back-end-bWrZnXan5xw</link>
            <guid isPermaLink="true">https://viblo.asia/p/nodejs-va-php-cuoc-chien-back-end-bWrZnXan5xw</guid>
            <description><![CDATA[PHP và Node.js đều là các nền tảng backend mạnh mẽ cho các website động, cả hai đều thuộc cùng một loại, nhưng tính năng của chúng khá khác biệt. Khôn...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chu Xuan Thang</dc:creator>
            <pubDate>2020-05-12 10:52:40</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Giải mã về lập trình web: Front-End, Back-End và Full Stack]]></title>
                        <link>https://viblo.asia/p/giai-ma-ve-lap-trinh-web-front-end-back-end-va-full-stack-07LKXmPJZV4</link>
            <guid isPermaLink="true">https://viblo.asia/p/giai-ma-ve-lap-trinh-web-front-end-back-end-va-full-stack-07LKXmPJZV4</guid>
            <description><![CDATA[Lập trình web với tôi là cả một niềm đam mê, hứng khởi. Nhưng tôi từng chơi vơi, lênh đênh không biết phải bắt đầu từ đâu trong khi tôi chỉ là một chà...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Phước Quang</dc:creator>
            <pubDate>2020-02-12 17:13:58</pubDate>
                                                                                                        </item>
                <item>
            <title><![CDATA[Ai là lập trình viên Full Stack? Làm thế nào để trở thành lập trình viên Full Stack?]]></title>
                        <link>https://viblo.asia/p/ai-la-lap-trinh-vien-full-stack-lam-the-nao-de-tro-thanh-lap-trinh-vien-full-stack-Qpmlex3nZrd</link>
            <guid isPermaLink="true">https://viblo.asia/p/ai-la-lap-trinh-vien-full-stack-lam-the-nao-de-tro-thanh-lap-trinh-vien-full-stack-Qpmlex3nZrd</guid>
            <description><![CDATA[Bản gốc: Who is a Full Stack Developer and how to become a Full Stack Developer?

1. Ai là lập trình viên Full Stack?

Lập trình viên full stack được ...]]></description>
                        <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">HanhNT</dc:creator>
            <pubDate>2019-12-20 15:23:49</pubDate>
                                                                                                        </item>
            </channel>
</rss>
