{"version":1,"pages":[{"id":"E6FCTimNzXzE925GO8IX","title":"Introduction","pathname":"/","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Cẩm nang NQDEV - Nền tảng tri thức chuyên sâu về lập trình, DevOps, Database và kiến trúc hệ thống, được xây dựng bởi Nguyễn Quý DevNet. Hướng dẫn thực chiến cho lập trình viên và kỹ sư công nghệ."},{"id":"psgtKMsViEl8h0dGEwwL","title":"Languages & Frameworks","pathname":"/languages-and-frameworks","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":""},{"id":"XoKQYTU5RZ2hdlCxj6R8","title":"dotNET","pathname":"/languages-and-frameworks/dotnet","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Lập trình .NET với C#: Hướng dẫn chi tiết, ví dụ minh họa về phát triển ứng dụng web, desktop, di động với C#. Nâng cao kỹ năng lập trình với các công nghệ như ASP.NET, Entity Framework, Blazor.","breadcrumbs":[{"label":"Languages & Frameworks"}]},{"id":"gAO9WFBM1JtEb5o2w43X","title":"ASP.NET Core","pathname":"/languages-and-frameworks/dotnet/asp.net-core","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"ASP.NET Core là một framework mạnh mẽ để tạo các ứng dụng web và dịch vụ với các đặc điểm nổi bật: nhanh, bảo mật, đa nền tảng và hỗ trợ đám mây.","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"dotNET"}]},{"id":"7S21rOcUn6Wz33LTim8X","title":"Hướng dẫn xây dựng ứng dụng web bằng ASP.NET Core và Blazor trên nền .NET 8 LTS","pathname":"/languages-and-frameworks/dotnet/asp.net-core/huong-dan-xay-dung-ung-dung-web-bang-asp.net-core-va-blazor-tren-nen-.net-8-lts","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"dotNET"},{"label":"ASP.NET Core"}]},{"id":"gKGAgZut1c3zvTUNq638","title":"Message Queue","pathname":"/languages-and-frameworks/dotnet/message-queue","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Message Queue là một cơ chế trong lập trình và kiến trúc phần mềm, được sử dụng để truyền thông tin (thông điệp) giữa các thành phần của hệ thống mà không cần chúng tương tác trực tiếp với nhau.","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"dotNET"}]},{"id":"4UoXhuzTj9HfciCwWc58","title":"ZeroMQ","pathname":"/languages-and-frameworks/dotnet/message-queue/zeromq","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"ZeroMQ (còn được gọi là ØMQ, 0MQ hoặc ZMQ) trông giống như một thư viện mạng có thể nhúng nhưng hoạt động như một khung đồng thời.","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"dotNET"},{"label":"Message Queue"}]},{"id":"UcFP2z4HRpOIKz9Ky8Tj","title":"Xây dựng ZeroMQ Server trong dotNET 8 với CSharp","pathname":"/languages-and-frameworks/dotnet/message-queue/zeromq/xay-dung-zeromq-server-trong-dotnet-8-voi-csharp","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"dotNET"},{"label":"Message Queue"},{"label":"ZeroMQ"}]},{"id":"0ekxO6EhpBi2Gl8lpPji","title":"Optimize","pathname":"/languages-and-frameworks/dotnet/optimize","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"dotNET"}]},{"id":"wUll7uZ5UgSOEx3njgvS","title":"Optimize - Một số cách tối ưu code và performance CSharp","pathname":"/languages-and-frameworks/dotnet/optimize/optimize-mot-so-cach-toi-uu-code-va-performance-csharp","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Nguồn: viblo.asia","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"dotNET"},{"label":"Optimize"}]},{"id":"HpviUa3vqTxGm9W9prQJ","title":"Dev Blogs","pathname":"/languages-and-frameworks/dotnet/dev-blogs","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"dotNET"}]},{"id":"CwnEFKEsgdtTd6F3Ht8e","title":"Versions of .NET","pathname":"/languages-and-frameworks/dotnet/dev-blogs/versions-of-.net","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":".NET 10 mang đến nhiều cải tiến từ .NET 9 như hỗ trợ AVX10.2, nâng cấp OpenAPI 3.1, tối ưu Entity Framework Core, Blazor và C# 14. Cập nhật đầy đủ tại Versions of .NET. 🚀","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"dotNET"},{"label":"Dev Blogs"}]},{"id":"5Mk5U9KcAUv8tFa57yNb","title":"Cập nhật từ .NET 9 lên .NET 10: Những thay đổi quan trọng","pathname":"/languages-and-frameworks/dotnet/dev-blogs/versions-of-.net/cap-nhat-tu-.net-9-len-.net-10-nhung-thay-doi-quan-trong","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":".NET 10 Preview 1 cải thiện hiệu suất, hỗ trợ AVX10.2, nâng cấp OpenAPI 3.1, tối ưu Entity Framework Core và Blazor. Những thay đổi này giúp lập trình viên có trải nghiệm tốt hơn và hiệu suất cao hơn.","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"dotNET"},{"label":"Dev Blogs"},{"label":"Versions of .NET"}]},{"id":"FYtbNmih08gEzEhov6Ha","title":"ASP.NET Core Web API với ASP.NET Core Web API (Native AOT): Bạn nên chọn loại nào?","pathname":"/languages-and-frameworks/dotnet/dev-blogs/asp.net-core-web-api-voi-asp.net-core-web-api-native-aot-ban-nen-chon-loai-nao","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Khi xây dựng các ứng dụng web API hiện đại với ASP.NET Core, hiệu suất và khả năng tối ưu hóa bộ nhớ là hai yếu tố được nhiều lập trình viên quan tâm.","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"dotNET"},{"label":"Dev Blogs"}]},{"id":"hKESIxZclp1aSTrjqjiC","title":"Hướng dẫn xây dựng ứng dụng multi-tenant với .NET Core và MongoDB","pathname":"/languages-and-frameworks/dotnet/dev-blogs/huong-dan-xay-dung-ung-dung-multi-tenant-voi-.net-core-va-mongodb","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"dotNET"},{"label":"Dev Blogs"}]},{"id":"l3vXcWPirEMJ775b8nbv","title":"Visual Studio 2022 v17.14 (Cập nhật tháng 10/2025) – Kích hoạt Copilot Memories để AI “ghi nhớ”","pathname":"/languages-and-frameworks/dotnet/dev-blogs/visual-studio-2022-v17.14-cap-nhat-thang-10-2025-kich-hoat-copilot-memories-de-ai-ghi-nho","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"dotNET"},{"label":"Dev Blogs"}]},{"id":"GbgLcjOwCbFfkE9H2luW","title":"NodeJS","pathname":"/languages-and-frameworks/nodejs","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Node.js® là môi trường thời gian chạy JavaScript đa nền tảng, mã nguồn mở, miễn phí, cho phép các nhà phát triển tạo máy chủ, ứng dụng web, công cụ dòng lệnh và tập lệnh.","breadcrumbs":[{"label":"Languages & Frameworks"}]},{"id":"OeBgo6sOQu0WboA1YO9x","title":"NextJS","pathname":"/languages-and-frameworks/nodejs/nextjs","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"NodeJS"}]},{"id":"Hu6RPUE7wmqA2B2RHvW3","title":"Hướng dẫn NextJS cho người mới bắt đầu","pathname":"/languages-and-frameworks/nodejs/nextjs/huong-dan-nextjs-cho-nguoi-moi-bat-dau","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"NodeJS"},{"label":"NextJS"}]},{"id":"haByMgyqlTyVZjUvdp4W","title":"Parallel Routes trong Next.js","pathname":"/languages-and-frameworks/nodejs/nextjs/parallel-routes-trong-next.js","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Parallel Routes là một tính năng mạnh mẽ trong Next.js App Router, cho phép bạn định nghĩa và hiển thị nhiều route song song trong một ứng dụng.","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"NodeJS"},{"label":"NextJS"}]},{"id":"LMhczlvGlFbayBEbGhBz","title":"Hướng dẫn cấu hình Swagger trong NextJS","pathname":"/languages-and-frameworks/nodejs/nextjs/huong-dan-cau-hinh-swagger-trong-nextjs","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"NodeJS"},{"label":"NextJS"}]},{"id":"DfxQmGI0UmoAhPwGhh2F","title":"ReactJS","pathname":"/languages-and-frameworks/nodejs/reactjs","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"React là một thư viện JavaScript front-end mã nguồn mở và miễn phí để xây dựng giao diện người dùng dựa trên các thành phần UI riêng lẻ.","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"NodeJS"}]},{"id":"BCTfZMfQLOXPjhB90ZoV","title":"Hiểu về hook useRef của React như thế nào cho đúng","pathname":"/languages-and-frameworks/nodejs/reactjs/hieu-ve-hook-useref-cua-react-nhu-the-nao-cho-dung","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Bài viết được sự cho phép của tác giả Lưu Bình An","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"NodeJS"},{"label":"ReactJS"}]},{"id":"YXhMoCQxhH75Tg61nFlr","title":"Tìm hiểu sâu hơn về useEffect từ A-Z","pathname":"/languages-and-frameworks/nodejs/reactjs/tim-hieu-sau-hon-ve-useeffect-tu-a-z","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Đây là một bài viết tương đối dài dòng về useEffect, bạn cần biết và đã đọc qua tài liệu về useEffect trên trang chính thức của React trước, và nếu chỉ thực sự cần biết sử dụng useEffect ra sao","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"NodeJS"},{"label":"ReactJS"}]},{"id":"FyQUm9154QeFLtj6OzHY","title":"LoopBack","pathname":"/languages-and-frameworks/nodejs/loopback","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"NodeJS"}]},{"id":"GfiGMFO7gi4KhDdmFLXr","title":"Hướng dẫn cài đặt LoopBack 4 và khởi tạo dự án đầu tiên","pathname":"/languages-and-frameworks/nodejs/loopback/huong-dan-cai-dat-loopback-4-va-khoi-tao-du-an-dau-tien","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"LoopBack là một framework Node.js và TypeScript mã nguồn mở, có khả năng mở rộng cao, từng đoạt giải thưởng dựa trên Express.","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"NodeJS"},{"label":"LoopBack"}]},{"id":"bLZmEAjTYH7w6BacAZWE","title":"Developer Roadmaps","pathname":"/languages-and-frameworks/developer-roadmaps","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Trang sẽ cung cấp một tập hợp các lộ trình học tập và phát triển kỹ năng dành cho các lập trình viên và kỹ sư phần mềm.","breadcrumbs":[{"label":"Languages & Frameworks"}]},{"id":"z1BuDHA1kwQYBu1yzQGA","title":"Developer Roadmaps: Mô tả chi tiết","pathname":"/languages-and-frameworks/developer-roadmaps/developer-roadmaps-mo-ta-chi-tiet","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"Developer Roadmaps"}]},{"id":"HdULyx5RlW5TrscQ49Mw","title":"Roadmaps: ASP.NET Core Developer","pathname":"/languages-and-frameworks/developer-roadmaps/roadmaps-asp.net-core-developer","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn từng bước để trở thành nhà phát triển lõi ASP.NET vào năm 2024","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"Developer Roadmaps"}]},{"id":"8IidrtNKarIv7b4c6Ifu","title":"Bảng phân loại cấp độ nhà phát triển .NET","pathname":"/languages-and-frameworks/developer-roadmaps/bang-phan-loai-cap-do-nha-phat-trien-.net","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"Developer Roadmaps"}]},{"id":"6KnumtX3JoR1U46d76HT","title":"ClearPath cho Team .NET Core","pathname":"/languages-and-frameworks/developer-roadmaps/clearpath-cho-team-.net-core","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Để xây dựng một file ClearPath hoàn chỉnh cho team .NET Core, bạn cần định hướng rõ ràng các mục tiêu, kỹ năng cần phát triển, công nghệ cần sử dụng, và các tiêu chí đánh giá theo từng giai đoạn.","breadcrumbs":[{"label":"Languages & Frameworks"},{"label":"Developer Roadmaps"}]},{"id":"t1I8EPacYUhgwFeO9ed5","title":"Databases","pathname":"/databases","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":""},{"id":"HUgIMkhleEoe1j3YVzbr","title":"SQL Server","pathname":"/databases/sql-server","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"}]},{"id":"CnE3kW4bigPIbM0jfv9Q","title":"SQL Server Basics","pathname":"/databases/sql-server/sql-server-basics","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"SQL Server Basics là cơ bản về hệ thống quản trị cơ sở dữ liệu do Microsoft phát triển, cung cấp các công cụ quản lý cơ sở dữ liệu, tối ưu hiệu suất, phân tích dữ liệu và bảo mật.","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"}]},{"id":"bpXVhduuRPXWYBpX7cLA","title":"SQL Server: DBCC","pathname":"/databases/sql-server/sql-server-dbcc","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"}]},{"id":"n24nOriRnpP6nyM7O81W","title":"DBCC","pathname":"/databases/sql-server/sql-server-dbcc/dbcc","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"DBCC - Database console commands | https://learn.microsoft.com/en-us/sql/t-sql/database-console-commands/database-console-commands?view=sql-server-ver16","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"},{"label":"SQL Server: DBCC"}]},{"id":"HoFdJhxTxmarTM6BIIAe","title":"DBCC SHOW_STATISTICS","pathname":"/databases/sql-server/sql-server-dbcc/dbcc-show_statistics","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"},{"label":"SQL Server: DBCC"}]},{"id":"WoJIzlknOce6FmMH1wGi","title":"DBCC SHRINKDATABASE","pathname":"/databases/sql-server/sql-server-dbcc/dbcc-shrinkdatabase","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"https://learn.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-shrinkdatabase-transact-sql?view=sql-server-ver16","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"},{"label":"SQL Server: DBCC"}]},{"id":"yPNDKEB5OuQqI9mXBKn2","title":"DBCC SHRINKFILE","pathname":"/databases/sql-server/sql-server-dbcc/dbcc-shrinkfile","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"https://learn.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-shrinkfile-transact-sql?view=sql-server-ver16","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"},{"label":"SQL Server: DBCC"}]},{"id":"6MgpCVAjPo1rFf5jdeBq","title":"DBCC SQLPERF","pathname":"/databases/sql-server/sql-server-dbcc/dbcc-sqlperf","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Lệnh DBCC SQLPERF(LOGSPACE) trong SQL Server được sử dụng để cung cấp thông tin về trạng thái và không gian sử dụng của Transaction Log cho tất cả các cơ sở dữ liệu trong instance SQL Server.","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"},{"label":"SQL Server: DBCC"}]},{"id":"BhpNXCGrm6VIpmNo0JZB","title":"DBCC FREEPROCCACHE","pathname":"/databases/sql-server/sql-server-dbcc/dbcc-freeproccache","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"DBCC FREEPROCCACHE: Cách hoạt động và Ứng dụng trong SQL Server","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"},{"label":"SQL Server: DBCC"}]},{"id":"hr0d7pUOBrrgjMPrnrw6","title":"SQL Server Replication","pathname":"/databases/sql-server/sql-server-replication","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"SQL Server Replication là một bộ các giải pháp cho phép sao chép và phân phối cơ sở dữ liệu giữa các SQL server và đồng bộ chúng nhằm duy trì tính nhất quán dữ liệu.","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"}]},{"id":"RBqBj0VoDVCDuwhu9nb2","title":"Giới thiệu SQL Server Replication","pathname":"/databases/sql-server/sql-server-replication/gioi-thieu-sql-server-replication","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Trong hệ thống quản lý cơ sở dữ liệu, việc đảm bảo tính nhất quán và tính sẵn sàng của dữ liệu là vô cùng quan trọng, đặc biệt đối với các ứng dụng doanh nghiệp.","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"},{"label":"SQL Server Replication"}]},{"id":"12p7OaqHg3rfGQVWx1VT","title":"Hướng dẫn cấu hình và quản lý SQL Server Replication với Distribution Agent","pathname":"/databases/sql-server/sql-server-replication/huong-dan-cau-hinh-va-quan-ly-sql-server-replication-voi-distribution-agent","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Trong bài viết này, Cẩm nang NQDEV sẽ hướng dẫn bạn cách kiểm tra, cấu hình và khắc phục các vấn đề phổ biến liên quan đến SQL Server Replication.","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"},{"label":"SQL Server Replication"}]},{"id":"eHP8a4HGGiBs01ImCOxI","title":"SQL Server: Tập lệnh","pathname":"/databases/sql-server/sql-server-tap-lenh","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"}]},{"id":"Y3W54YevuiULkcZKwcCv","title":"SQL Server: Tập lệnh để tìm tất cả các giá trị Mặc định với Cột","pathname":"/databases/sql-server/sql-server-tap-lenh/sql-server-tap-lenh-de-tim-tat-ca-cac-gia-tri-mac-dinh-voi-cot","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"},{"label":"SQL Server: Tập lệnh"}]},{"id":"fIWPdkP5wX3UQzMDffI0","title":"SQL Server: Tập lệnh theo dõi bảng mới được Insert, Update trong SQL Server","pathname":"/databases/sql-server/sql-server-tap-lenh/sql-server-tap-lenh-theo-doi-bang-moi-duoc-insert-update-trong-sql-server","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"},{"label":"SQL Server: Tập lệnh"}]},{"id":"iWqGfZ4KK2N21ao8wOHq","title":"SQL Server: Cách khởi động SQLServer bỏ qua Database bị lỗi","pathname":"/databases/sql-server/sql-server-tap-lenh/sql-server-cach-khoi-dong-sqlserver-bo-qua-database-bi-loi","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"},{"label":"SQL Server: Tập lệnh"}]},{"id":"lNYAep7DScY9xm5qql5R","title":"Bảng tạm và sự linh hoạt trong xử lý dữ liệu lớn","pathname":"/databases/sql-server/bang-tam-va-su-linh-hoat-trong-xu-ly-du-lieu-lon","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Bảng tạm (temporary table) là một loại bảng tạm thời được sử dụng trong cơ sở dữ liệu để lưu trữ tạm thời các dữ liệu trong quá trình xử lý truy vấn. Sử dụng bảng tạm trong xử lý dữ liệu lớn có nhiều","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"}]},{"id":"dTGBWAhE1LFIaSB4lMx6","title":"Các bước để thay đổi nơi lưu trữ tệp log trong SQL Server","pathname":"/databases/sql-server/cac-buoc-de-thay-doi-noi-luu-tru-tep-log-trong-sql-server","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"}]},{"id":"Ds2hszJ6IVxoU97yYjGg","title":"Các bước di chuyển tệp log trong SQL Server","pathname":"/databases/sql-server/cac-buoc-di-chuyen-tep-log-trong-sql-server","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"}]},{"id":"BKnnpGYwtkOYsYYaJu31","title":"Query Store trong SQL Server - Tổng Quan và Cách Quản Lý Hiệu Quả","pathname":"/databases/sql-server/query-store-trong-sql-server-tong-quan-va-cach-quan-ly-hieu-qua","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"}]},{"id":"Tj0w4rA2lOC78cS1MlLJ","title":"SQL Server: Error Code","pathname":"/databases/sql-server/sql-server-error-code","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"}]},{"id":"0PHfoWjdCOzy1BVeqjbS","title":"SQL Server Error : 14151, Severity: 18. Replication agent","pathname":"/databases/sql-server/sql-server-error-code/sql-server-error-14151-severity-18.-replication-agent","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"SQL Server Error : 14151, Severity: 18. Replication agent","breadcrumbs":[{"label":"Databases"},{"label":"SQL Server"},{"label":"SQL Server: Error Code"}]},{"id":"ulvyqzqagHBMWoWmlzG2","title":"Elasticsearch","pathname":"/databases/elasticsearch","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"}]},{"id":"RuurjtGPwEVg44sH4BVb","title":"_reindex","pathname":"/databases/elasticsearch/_reindex","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"},{"label":"Elasticsearch"}]},{"id":"g4TsmjvAj3XIMCPsIFpB","title":"Tìm hiểu sâu về API _reindex trong Elasticsearch","pathname":"/databases/elasticsearch/_reindex/tim-hieu-sau-ve-api-_reindex-trong-elasticsearch","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"},{"label":"Elasticsearch"},{"label":"_reindex"}]},{"id":"JaPUnAR0wA1hjWBxB1xF","title":"Hướng dẫn di chuyển dữ liệu trong Elasticsearch sử dụng API _reindex","pathname":"/databases/elasticsearch/_reindex/huong-dan-di-chuyen-du-lieu-trong-elasticsearch-su-dung-api-_reindex","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"},{"label":"Elasticsearch"},{"label":"_reindex"}]},{"id":"q1tWKTfRU45wsu7OXvd1","title":"_transform","pathname":"/databases/elasticsearch/_transform","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Databases"},{"label":"Elasticsearch"}]},{"id":"EOlcm58DLIkgJandXvDh","title":"Cẩm nang Elasticsearch: Bộ câu lệnh giám sát – chẩn đoán – tối ưu mà kỹ sư nào cũng cần","pathname":"/databases/elasticsearch/cam-nang-elasticsearch-bo-cau-lenh-giam-sat-chan-doan-toi-uu-ma-ky-su-nao-cung-can","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Tài liệu này tổng hợp những câu lệnh thiết yếu nhất trong quá trình vận hành thực tế, kèm theo giải thích rõ ràng và hướng dẫn sử dụng.","breadcrumbs":[{"label":"Databases"},{"label":"Elasticsearch"}]},{"id":"VSEaVPFwf48R0rOrfNXm","title":"Operating Systems","pathname":"/operating-systems","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":""},{"id":"JXoJwwXFb74uvOfpStq8","title":"Linux","pathname":"/operating-systems/linux","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Operating Systems"}]},{"id":"oxq5vFcHQ7kaqZyqNCdD","title":"Tập lệnh Linux hay dùng","pathname":"/operating-systems/linux/tap-lenh-linux-hay-dung","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Tập lệnh Linux hay dùng: Nền tảng bắt buộc cho lập trình viên hiện đại","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"}]},{"id":"eC5mStt3u9VdYwkT2yDr","title":"Nền tảng tư duy hệ thống mà Dev không thể bỏ qua","pathname":"/operating-systems/linux/tap-lenh-linux-hay-dung/nen-tang-tu-duy-he-thong-ma-dev-khong-the-bo-qua","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"},{"label":"Tập lệnh Linux hay dùng"}]},{"id":"t8Qp6GNErWNdPhGODDTZ","title":"Sơ đồ Linux Filesystem là gì và vì sao Dev cần hiểu?","pathname":"/operating-systems/linux/so-do-linux-filesystem-la-gi-va-vi-sao-dev-can-hieu","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Linux Path Cheatsheet không đơn thuần là một bảng ghi nhớ thư mục. Thực chất, nó là bản đồ tư duy của toàn bộ hệ điều hành Linux.","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"}]},{"id":"OPwlgUSTusktj1Oz0MxG","title":"Centos 7","pathname":"/operating-systems/linux/centos-7","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"}]},{"id":"8XLOkJsi5ygjiMnOFz4a","title":"Hướng dẫn cài đặt và cấu hình Centos 7 dành cho người mới bắt đầu","pathname":"/operating-systems/linux/centos-7/huong-dan-cai-dat-va-cau-hinh-centos-7-danh-cho-nguoi-moi-bat-dau","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"},{"label":"Centos 7"}]},{"id":"XEHQqnILm7rGN15PU5xM","title":"Hướng Dẫn Kiểm Tra Các Cổng Đang Mở Trên Hệ Thống CentOS","pathname":"/operating-systems/linux/centos-7/huong-dan-kiem-tra-cac-cong-dang-mo-tren-he-thong-centos","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Khi quản trị hệ thống Linux, việc kiểm tra các cổng mạng đang mở là một tác vụ quan trọng để theo dõi và đảm bảo an ninh.","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"},{"label":"Centos 7"}]},{"id":"LyWlXHLJZ3umLdlUT3C5","title":"Hướng Dẫn Sử Dụng zip Trên CentOS","pathname":"/operating-systems/linux/centos-7/huong-dan-su-dung-zip-tren-centos","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Với bài viết này, bạn có thể chia sẻ cho đồng nghiệp của mình những kỹ năng cần thiết để làm việc hiệu quả với các file nén trên CentOS.","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"},{"label":"Centos 7"}]},{"id":"m6eubZWaethbALbW8GWR","title":"Hướng dẫn cấu hình iptables để mở tất cả các cổng cho IP private","pathname":"/operating-systems/linux/centos-7/huong-dan-cau-hinh-iptables-de-mo-tat-ca-cac-cong-cho-ip-private","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"},{"label":"Centos 7"}]},{"id":"2OP202Kv2C7auqg534gJ","title":"Debian","pathname":"/operating-systems/linux/debian","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Debian là hệ điều hành và là một bản phân phối của Phần mềm Tự do. Nó được bảo trì và cập nhật thông qua việc làm của nhiều người những người mà tình nguyện dành thời gian và công sức để đóng góp.","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"}]},{"id":"EAWgRuaMfsnDBZwe5Kgp","title":"Ubuntu","pathname":"/operating-systems/linux/ubuntu","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"}]},{"id":"UGAZcHyQwgV8POG53TJY","title":"SMB - Hướng dẫn chia sẻ thư mục qua Samba trên Ubuntu","pathname":"/operating-systems/linux/ubuntu/smb-huong-dan-chia-se-thu-muc-qua-samba-tren-ubuntu","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"SMB (Server Message Block) – còn được biết đến với tên gọi CIFS (Common Internet File System) – là giao thức chia sẻ file và máy in phổ biến nhất trong môi trường Windows.","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"},{"label":"Ubuntu"}]},{"id":"tVatpQJQum3BJMhld6Mo","title":"SMB - Bảo mật chia sẻ thư mục SMB trên Ubuntu với iptables và WireGuard","pathname":"/operating-systems/linux/ubuntu/smb-bao-mat-chia-se-thu-muc-smb-tren-ubuntu-voi-iptables-va-wireguard","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"SMB (Samba) là giải pháp chia sẻ file phổ biến, nhưng khi mở cổng 445/139 trực tiếp ra internet, bạn đang tự đặt hệ thống vào tầm ngắm của tấn công mạng.","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"},{"label":"Ubuntu"}]},{"id":"kf2p16gPoJUn9vMJ4LYz","title":"Tools","pathname":"/operating-systems/linux/tools","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"}]},{"id":"pcV2sbgLk01M0Ji22p0C","title":"smem – Công cụ đo lường bộ nhớ chính xác hơn trên Linux","pathname":"/operating-systems/linux/tools/smem-cong-cu-do-luong-bo-nho-chinh-xac-hon-tren-linux","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"smem – Công cụ đo lường bộ nhớ chính xác hơn trên Linux mà DevOps không nên bỏ qua","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"},{"label":"Tools"}]},{"id":"7Kg1rRBTpEG98dc3CjP1","title":"ss - Socket Statistics","pathname":"/operating-systems/linux/tools/ss-socket-statistics","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"},{"label":"Tools"}]},{"id":"k3J43P6ASoSRf6gfFyJB","title":"FFmpeg","pathname":"/operating-systems/linux/tools/ffmpeg","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"FFmpeg là tập hợp các thư viện và công cụ để xử lý nội dung đa phương tiện như âm thanh, video, phụ đề và siêu dữ liệu liên quan.","breadcrumbs":[{"label":"Operating Systems"},{"label":"Linux"},{"label":"Tools"}]},{"id":"apPgwbLwlIYEuGOpDZEz","title":"Windows","pathname":"/operating-systems/windows","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Operating Systems"}]},{"id":"q0MMC5KicL7M491e4EjZ","title":"Quản lý khởi động cùng Windows bằng: Registry Editor","pathname":"/operating-systems/windows/quan-ly-khoi-dong-cung-windows-bang-registry-editor","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng Dẫn Kiểm Tra và Quản Lý Ứng Dụng Khởi Động Tự Động (Startup Apps) Trên Windows Bằng Registry Editor","breadcrumbs":[{"label":"Operating Systems"},{"label":"Windows"}]},{"id":"bh0dn7Hoq0ESPXqTIqhV","title":"Quản lý dịch vụ Windows bằng: net start và sc","pathname":"/operating-systems/windows/quan-ly-dich-vu-windows-bang-net-start-va-sc","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn dùng lệnh net start và sc để quản lý, khởi động, dừng, tạo và cấu hình dịch vụ Windows, kèm ví dụ và script tự động hóa thực tế.","breadcrumbs":[{"label":"Operating Systems"},{"label":"Windows"}]},{"id":"hcbwq1sZuypxmwBpDX8v","title":"PowerShell ISE","pathname":"/operating-systems/windows/powershell-ise","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Operating Systems"},{"label":"Windows"}]},{"id":"YE2HN037V7akbYTpj9f1","title":"Hướng dẫn kiểm tra, bật và tắt logging tường lửa Windows","pathname":"/operating-systems/windows/powershell-ise/huong-dan-kiem-tra-bat-va-tat-logging-tuong-lua-windows","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Trong quá trình vận hành hệ thống hoặc debug kết nối (SSH, HTTP, database…), việc bị chặn bởi Windows Firewall là tình huống rất phổ biến nhưng lại khó phát hiện nếu không có log.","breadcrumbs":[{"label":"Operating Systems"},{"label":"Windows"},{"label":"PowerShell ISE"}]},{"id":"Q11QIjYyOfzInjt72nzi","title":"VMware","pathname":"/operating-systems/vmware","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Operating Systems"}]},{"id":"Foh5RzOFco95oqaTZoVb","title":"Cách ảo hóa macOS Sierra trong VMWare Windows 10","pathname":"/operating-systems/vmware/cach-ao-hoa-macos-sierra-trong-vmware-windows-10","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Operating Systems"},{"label":"VMware"}]},{"id":"smykW3XObPC0ifMa5Yqg","title":"Tự tin làm chủ mạng lưới: Cẩm nang tính toán địa chỉ IP từ A đến Z","pathname":"/operating-systems/vmware/tu-tin-lam-chu-mang-luoi-cam-nang-tinh-toan-dia-chi-ip-tu-a-den-z","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Operating Systems"},{"label":"VMware"}]},{"id":"ERfE6MU13Q3m14XoXnZ5","title":"Container & Infra","pathname":"/container-and-infra","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":""},{"id":"sSOohR0MTBlWDssCJJuR","title":"Docker","pathname":"/container-and-infra/docker","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Docker là một nền tảng mở, giúp tự động hóa việc triển khai ứng dụng trong môi trường được đóng gói, gọi là container.","breadcrumbs":[{"label":"Container & Infra"}]},{"id":"35oJmyZ6zIEiS2oFNOVx","title":"Getting Started with Docker","pathname":"/container-and-infra/docker/getting-started-with-docker","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Docker - Beginners | Intermediate | Advanced","breadcrumbs":[{"label":"Container & Infra"},{"label":"Docker"}]},{"id":"wSC7fLH19tZMsI2n6Cz4","title":"Docker HUB","pathname":"/container-and-infra/docker/docker-hub","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Container & Infra"},{"label":"Docker"}]},{"id":"XpunAk69Olpp7h45c5RK","title":"nqdev/nginx","pathname":"/container-and-infra/docker/docker-hub/nqdev-nginx","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"ViHAT's customized version of NGINX includes additional useful modules for usage.","breadcrumbs":[{"label":"Container & Infra"},{"label":"Docker"},{"label":"Docker HUB"}]},{"id":"ZZTdaJuZ1CS4ysF4eJda","title":"nqdev/postgres-pgagent","pathname":"/container-and-infra/docker/docker-hub/nqdev-postgres-pgagent","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"docker pull nqdev/postgres-pgagent:latest","breadcrumbs":[{"label":"Container & Infra"},{"label":"Docker"},{"label":"Docker HUB"}]},{"id":"WF3Cbb9aPMczCtgUDXsz","title":"Native Apps","pathname":"/container-and-infra/docker/native-apps","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Container & Infra"},{"label":"Docker"}]},{"id":"agGaEFiPhNbtBhIxucfg","title":"Tini","pathname":"/container-and-infra/docker/native-apps/tini","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Container & Infra"},{"label":"Docker"},{"label":"Native Apps"}]},{"id":"SwhqxdkyarXBabYzmLMs","title":"Tini là gì? Vì sao gần như mọi container đều nên dùng?","pathname":"/container-and-infra/docker/native-apps/tini/tini-la-gi-vi-sao-gan-nhu-moi-container-deu-nen-dung","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Trong thế giới container hoá, nơi ứng dụng được đóng gói gọn nhẹ và chạy độc lập, có một “người hùng thầm lặng” nhưng cực kỳ quan trọng: tini.","breadcrumbs":[{"label":"Container & Infra"},{"label":"Docker"},{"label":"Native Apps"},{"label":"Tini"}]},{"id":"sVyBHbC0GyqQsFJazXDY","title":"Podman","pathname":"/container-and-infra/podman","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Container & Infra"}]},{"id":"l6sdaoTZtUZKrdgiB6V7","title":"Visual Studio 2026 Insiders chính thức hỗ trợ Podman – Phát triển container an toàn hơn, linh hoạt","pathname":"/container-and-infra/podman/visual-studio-2026-insiders-chinh-thuc-ho-tro-podman-phat-trien-container-an-toan-hon-linh-hoat","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Container & Infra"},{"label":"Podman"}]},{"id":"AUyZ0QQhBnmp7a8jAKEe","title":"Podman Desktop & Podman: Lựa chọn thay thế Docker đáng cân nhắc cho Developer hiện đại","pathname":"/container-and-infra/podman/podman-desktop-and-podman-lua-chon-thay-the-docker-dang-can-nhac-cho-developer-hien-dai","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Trong bối cảnh hệ sinh thái container ngày càng phát triển, việc tìm kiếm một giải pháp vừa mạnh mẽ, vừa linh hoạt và tối ưu chi phí là điều mà bất kỳ developer nào cũng quan tâm.","breadcrumbs":[{"label":"Container & Infra"},{"label":"Podman"}]},{"id":"yb6BcH6uBYS1LLbO1bBX","title":"Caching","pathname":"/container-and-infra/caching","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Container & Infra"}]},{"id":"6UznSu2QKmNTbfLhgV7u","title":"Phân tích các phương pháp Caching dữ liệu trong .NET Core và .NET Framework","pathname":"/container-and-infra/caching/phan-tich-cac-phuong-phap-caching-du-lieu-trong-.net-core-va-.net-framework","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Container & Infra"},{"label":"Caching"}]},{"id":"feIrvxhUbw41ejmjTAPH","title":"Redis","pathname":"/container-and-infra/caching/redis","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Container & Infra"},{"label":"Caching"}]},{"id":"wuVPOEdCQIHR50J96Hhg","title":"Redis mất dữ liệu khi restart","pathname":"/container-and-infra/caching/redis/redis-mat-du-lieu-khi-restart","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Nguồn: devopsvn.tech","breadcrumbs":[{"label":"Container & Infra"},{"label":"Caching"},{"label":"Redis"}]},{"id":"zcyg8d1xFOYhBkiIyK4O","title":"Varnish Cache","pathname":"/container-and-infra/caching/varnish-cache","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Container & Infra"},{"label":"Caching"}]},{"id":"JRu6xvWOYpXNuSTXApSb","title":"Hướng Dẫn Cài Đặt Varnish Cache với HAProxy Sử Dụng Docker Compose","pathname":"/container-and-infra/caching/varnish-cache/huong-dan-cai-dat-varnish-cache-voi-haproxy-su-dung-docker-compose","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Container & Infra"},{"label":"Caching"},{"label":"Varnish Cache"}]},{"id":"2JnmtIUdd51HqbklsVru","title":"Infrastructure & Networking","pathname":"/infrastructure-and-networking","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":""},{"id":"P5QUtfOo7xiJbu07iaZV","title":"NGINX Plus","pathname":"/infrastructure-and-networking/nginx-plus","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Tìm hiểu cách phân phối, quản lý và bảo vệ ứng dụng của bạn bằng các sản phẩm F5 NGINX.","breadcrumbs":[{"label":"Infrastructure & Networking"}]},{"id":"g7L2900uRFSTasovVTZ4","title":"NGINX: Hiệu suất vượt trội và giải pháp tối ưu cho hệ thống web","pathname":"/infrastructure-and-networking/nginx-plus/nginx-hieu-suat-vuot-troi-va-giai-phap-toi-uu-cho-he-thong-web","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"NGINX Plus"}]},{"id":"vMBmV6JfeifyMOjHx8Vo","title":"NGINX: Hướng dẫn chi tiết sử dụng GeoIP2 trên Alpine","pathname":"/infrastructure-and-networking/nginx-plus/nginx-huong-dan-chi-tiet-su-dung-geoip2-tren-alpine","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"NGINX Plus"}]},{"id":"GlucXTPRNVX32DSkL0Bk","title":"NGINX: Hướng dẫn sử dụng Lua trên Alpine","pathname":"/infrastructure-and-networking/nginx-plus/nginx-huong-dan-su-dung-lua-tren-alpine","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"NGINX Plus"}]},{"id":"LWlMnWr2yhcRNeF6eruY","title":"NGINX: Hướng Dẫn Chi Tiết Cấu Hình Load Balancer","pathname":"/infrastructure-and-networking/nginx-plus/nginx-huong-dan-chi-tiet-cau-hinh-load-balancer","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Load Balancer là một trong những tính năng mạnh mẽ của NGINX, cho phép phân phối yêu cầu từ người dùng đến nhiều backend server khác nhau.","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"NGINX Plus"}]},{"id":"HERABVVgrlrsUhA8Jsnz","title":"NGINX: Hướng Dẫn Sử Dụng Dynamic Modules","pathname":"/infrastructure-and-networking/nginx-plus/nginx-huong-dan-su-dung-dynamic-modules","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"NGINX Plus"}]},{"id":"HHdikLhsCcUPIEj1MIQN","title":"NGINX: Hướng dẫn Cài đặt và Sử dụng Module njs","pathname":"/infrastructure-and-networking/nginx-plus/nginx-huong-dan-cai-dat-va-su-dung-module-njs","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"NGINX Plus"}]},{"id":"Kciz3wtjOxlwkoFzMIL4","title":"Tích Hợp NGINX Làm API Gateway với Các Bước Xử Lý Phổ Biến","pathname":"/infrastructure-and-networking/nginx-plus/tich-hop-nginx-lam-api-gateway-voi-cac-buoc-xu-ly-pho-bien","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Khi phát triển các ứng dụng hiện đại, việc sử dụng API Gateway để quản lý luồng yêu cầu từ phía client đến backend là một giải pháp hiệu quả và phổ biến.","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"NGINX Plus"}]},{"id":"HASlAZHLMcbEh10xooRc","title":"HAProxy","pathname":"/infrastructure-and-networking/haproxy","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"}]},{"id":"uRSFZXimGnY4GsxBg8he","title":"HAProxy - Lập trình Lua và tích hợp Redis","pathname":"/infrastructure-and-networking/haproxy/haproxy-lap-trinh-lua-va-tich-hop-redis","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"HAProxy"}]},{"id":"KNt39UX7IxPlv7aH3k7t","title":"VPN","pathname":"/infrastructure-and-networking/vpn","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"}]},{"id":"TljaIMccQ4NkI0smv4Lt","title":"WireGuard","pathname":"/infrastructure-and-networking/vpn/wireguard","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"WireGuard® là một VPN cực kỳ đơn giản nhưng nhanh chóng và hiện đại, sử dụng mật mã tiên tiến. Nó hướng đến mục tiêu nhanh hơn, đơn giản hơn, gọn nhẹ hơn và hữu ích hơn IPsec...","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"VPN"}]},{"id":"AjwW1RCmvuNdTLMdUuPh","title":"Hướng dẫn cài đặt WireGuard VPN Server trên VPS CentOS 7 lỗi thời bằng Docker và nâng cấp kernel","pathname":"/infrastructure-and-networking/vpn/wireguard/huong-dan-cai-dat-wireguard-vpn-server-tren-vps-centos-7-loi-thoi-bang-docker-va-nang-cap-kernel","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"VPN"},{"label":"WireGuard"}]},{"id":"qF907ULYeXFsb6QIz2wG","title":"Kết nối dây chuyền 2 mạng Wireguard để chuyển hướng mạng sử dụng Docker","pathname":"/infrastructure-and-networking/vpn/wireguard/ket-noi-day-chuyen-2-mang-wireguard-de-chuyen-huong-mang-su-dung-docker","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"VPN"},{"label":"WireGuard"}]},{"id":"lYeo37Bll9cuJ9MBvoyP","title":"OpenVPN","pathname":"/infrastructure-and-networking/vpn/openvpn","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Truy cập an toàn cho mọi nhân viên, mọi nơi. Kiểm soát quyền truy cập, giảm chi phí và tuân thủ với VPN Zero Trust nhanh chóng.","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"VPN"}]},{"id":"pO7gUHHJULtJKR0FRF7b","title":"Tailscale","pathname":"/infrastructure-and-networking/vpn/tailscale","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"VPN"}]},{"id":"deGeuMXOVqFCgvUShVPE","title":"Tailscale tạo Peer to Peer VPN như thế nào?","pathname":"/infrastructure-and-networking/vpn/tailscale/tailscale-tao-peer-to-peer-vpn-nhu-the-nao","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"VPN"},{"label":"Tailscale"}]},{"id":"YXxOOObqUDgKkGhNvEYK","title":"ACME.sh","pathname":"/infrastructure-and-networking/acme.sh","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Một máy khách ACME tập lệnh shell Unix thuần túy để tự động hóa chứng chỉ SSL / TLS","breadcrumbs":[{"label":"Infrastructure & Networking"}]},{"id":"M9ELpeEC57BWY3yvMlIu","title":"SSL miễn phí Let’s Encrypt: Triển khai chuẩn Production với tư duy dài hạn","pathname":"/infrastructure-and-networking/acme.sh/ssl-mien-phi-lets-encrypt-trien-khai-chuan-production-voi-tu-duy-dai-han","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"ACME.sh"}]},{"id":"tObiGc0cSdxmdikdecPZ","title":"Chuẩn hoá quy trình tạo SSL Let’s Encrypt bằng script cho Production","pathname":"/infrastructure-and-networking/acme.sh/chuan-hoa-quy-trinh-tao-ssl-lets-encrypt-bang-script-cho-production","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"ACME.sh"}]},{"id":"TF2OmTo0YWoSpUZPJioY","title":"Triển khai acme.sh bằng Docker: Chuẩn hoá SSL như một Service độc lập","pathname":"/infrastructure-and-networking/acme.sh/trien-khai-acme.sh-bang-docker-chuan-hoa-ssl-nhu-mot-service-doc-lap","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"ACME.sh"}]},{"id":"DF227yZpBL2rR657rzly","title":"NTP - Secure Timeserver","pathname":"/infrastructure-and-networking/ntp-secure-timeserver","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"}]},{"id":"aHphcC8mHNRUtRyXlDWx","title":"Hướng dẫn cài đặt NTP an toàn với Docker Compose","pathname":"/infrastructure-and-networking/ntp-secure-timeserver/huong-dan-cai-dat-ntp-an-toan-voi-docker-compose","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Network Time Protocol (NTP) đảm bảo đồng bộ hóa thời gian trên các hệ thống mạng.","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"NTP - Secure Timeserver"}]},{"id":"lmmKcGGBw1u0dbclCbPK","title":"Localtunnel","pathname":"/infrastructure-and-networking/localtunnel","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"}]},{"id":"gwvOIB9qKQOa43SWZBZd","title":"Hướng dẫn sử dụng Localtunnel để đưa ứng dụng Local lên Internet","pathname":"/infrastructure-and-networking/localtunnel/huong-dan-su-dung-localtunnel-de-dua-ung-dung-local-len-internet","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Infrastructure & Networking"},{"label":"Localtunnel"}]},{"id":"BkMLONNbKV1WVBbfTSRb","title":"Architecture & Design","pathname":"/architecture-and-design","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":""},{"id":"6bA014lbk1WCb0K0uhy3","title":"Design Patterns","pathname":"/architecture-and-design/design-patterns","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Design Pattern là một giải pháp chung để giải quyết các vấn đề phổ biến khi thiết kế phần mềm trong lập trình hướng đối tượng OOP.","breadcrumbs":[{"label":"Architecture & Design"}]},{"id":"mtAravUdZ0J3GHgMXCJt","title":"CQRS Pattern","pathname":"/architecture-and-design/design-patterns/cqrs-pattern","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Architecture & Design"},{"label":"Design Patterns"}]},{"id":"MQrHFl8cPorAjZGupWJc","title":"CQRS and MediatR trong .NET Core","pathname":"/architecture-and-design/design-patterns/cqrs-pattern/cqrs-and-mediatr-trong-.net-core","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"CQRS (Command Query Responsibility Segregation) là một mẫu kiến trúc giúp tách biệt cách đọc và ghi dữ liệu bằng cách sử dụng hai mô hình riêng biệt cho các hoạt động này.","breadcrumbs":[{"label":"Architecture & Design"},{"label":"Design Patterns"},{"label":"CQRS Pattern"}]},{"id":"drFYNHOUjaMzQTFclXfE","title":"Microservices","pathname":"/architecture-and-design/design-patterns/microservices","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Architecture & Design"},{"label":"Design Patterns"}]},{"id":"6Otpzf16aeiHdNg9j4HF","title":"Ocelot","pathname":"/architecture-and-design/design-patterns/microservices/ocelot","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Ocelot là một thư viện phổ biến trong hệ sinh thái .NET cho phép bạn xây dựng và cấu hình API Gateway cho các dịch vụ vi mô.","breadcrumbs":[{"label":"Architecture & Design"},{"label":"Design Patterns"},{"label":"Microservices"}]},{"id":"xyRdGE2T8LfTvKALaNvf","title":"Kiến Trúc Monolithic và Microservices: Lựa Chọn Phù Hợp Cho Dự Án Của Bạn","pathname":"/architecture-and-design/kien-truc-monolithic-va-microservices-lua-chon-phu-hop-cho-du-an-cua-ban","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Architecture & Design"}]},{"id":"foRTXXjWjXGjdi9X3KCw","title":"So Sánh Apache Parquet và CSV: Bảng So Sánh Chi Tiết, Ưu và Nhược Điểm","pathname":"/architecture-and-design/so-sanh-apache-parquet-va-csv-bang-so-sanh-chi-tiet-uu-va-nhuoc-diem","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Architecture & Design"}]},{"id":"wKJXIWWYiIASirpV5f8E","title":"Stream dữ liệu ngân hàng thời gian thực với PostgreSQL, Kafka và GoldenGate","pathname":"/architecture-and-design/stream-du-lieu-ngan-hang-thoi-gian-thuc-postgresql-kafka-goldengate","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Xây dựng CDC pipeline từ PostgreSQL sang Kafka dùng Oracle GoldenGate — loại bỏ batch jobs về đêm, stream giao dịch ngân hàng với độ trễ dưới 10 giây.","breadcrumbs":[{"label":"Architecture & Design"}]},{"id":"jVRSUuJMY5Dm8tEFQLpu","title":"DevSecOps & Automation","pathname":"/devsecops-and-automation","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":""},{"id":"r1Lr1rOJ0fUoaslRyUPj","title":"Ansible","pathname":"/devsecops-and-automation/ansible","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Ansible là một công cụ tự động hóa mã nguồn mở mạnh mẽ, được thiết kế để đơn giản hóa việc quản lý cấu hình, triển khai ứng dụng và tự động hóa quy trình làm việc trong môi trường CNTT.","breadcrumbs":[{"label":"DevSecOps & Automation"}]},{"id":"y5iKOEztHK0cCEmQkkpc","title":"Ansible: Giới thiệu","pathname":"/devsecops-and-automation/ansible/ansible-gioi-thieu","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Ansible là một công cụ tự động hóa mã nguồn mở mạnh mẽ, được thiết kế để đơn giản hóa việc quản lý cấu hình, triển khai ứng dụng và tự động hóa quy trình làm việc trong môi trường CNTT.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Ansible"}]},{"id":"gZjosnw5wwHSez0s9NJo","title":"Hướng dẫn chi tiết cài đặt Ansible","pathname":"/devsecops-and-automation/ansible/huong-dan-chi-tiet-cai-dat-ansible","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Ansible là công cụ tự động hóa mạnh mẽ và dễ sử dụng, nhưng để tận dụng tối đa khả năng của nó, trước tiên chúng ta cần cài đặt đúng cách.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Ansible"}]},{"id":"DgyWvLu0c43oRNF9Maet","title":"Apache JMeter","pathname":"/devsecops-and-automation/apache-jmeter","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Ứng dụng Apache JMeter™ là phần mềm mã nguồn mở, một ứng dụng Java thuần túy 100% được thiết kế để kiểm tra tải hành vi chức năng và đo lường hiệu suất.","breadcrumbs":[{"label":"DevSecOps & Automation"}]},{"id":"pyHsOj6oOFvIzB0RcGXV","title":"Features","pathname":"/devsecops-and-automation/apache-jmeter/features","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Apache JMeter"}]},{"id":"lJIj8PEpmZjDX5sdCApd","title":"Hướng dẫn chi tiết về Test Plan trong JMeter","pathname":"/devsecops-and-automation/apache-jmeter/features/huong-dan-chi-tiet-ve-test-plan-trong-jmeter","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Kế hoạch kiểm thử (Test Plan) là nơi thiết lập các cài đặt tổng thể cho một bài kiểm thử.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Apache JMeter"},{"label":"Features"}]},{"id":"TwMPphZWOIRNGpU9cfqz","title":"Hướng dẫn chi tiết về Thread Group trong JMeter","pathname":"/devsecops-and-automation/apache-jmeter/features/huong-dan-chi-tiet-ve-thread-group-trong-jmeter","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"\"Một Nhóm Luồng (Thread Group) xác định một nhóm người dùng sẽ thực thi một trường hợp kiểm thử cụ thể đối với máy chủ của bạn.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Apache JMeter"},{"label":"Features"}]},{"id":"YehdvaPSjuZlc7IwbX4d","title":"ETL Tools","pathname":"/devsecops-and-automation/etl-tools","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"DevSecOps & Automation"}]},{"id":"c2ygnELsHdP5dTQbQqyY","title":"Công cụ ETL Tools List & Software","pathname":"/devsecops-and-automation/etl-tools/cong-cu-etl-tools-list-and-software","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"ETL (Extract, Transform, Load) là quá trình trích xuất, chuyển đổi và tải dữ liệu giữa các hệ thống, đóng vai trò quan trọng trong việc quản lý dữ liệu doanh nghiệp.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"ETL Tools"}]},{"id":"11lp3EGFAiHuAJfBUo2u","title":"Airbyte","pathname":"/devsecops-and-automation/etl-tools/airbyte","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Khám phá Airbyte, nền tảng tích hợp dữ liệu hàng đầu hỗ trợ ELT. Dễ dàng tích hợp, chuyển đổi và tải dữ liệu với giao diện thân thiện người dùng. - docs.airbyte.com","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"ETL Tools"}]},{"id":"VJIfKtsarzsXeqE2jF6U","title":"Docker Compose","pathname":"/devsecops-and-automation/etl-tools/airbyte/docker-compose","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"ETL Tools"},{"label":"Airbyte"}]},{"id":"b7Z0weFbcEBjZSx9ta7F","title":"Development Tools","pathname":"/devsecops-and-automation/development-tools","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"DevSecOps & Automation"}]},{"id":"PBEdLCFZontOY0hS1L8d","title":"Sử dụng file .http trong Visual Studio 2022","pathname":"/devsecops-and-automation/su-dung-file-http-trong-visual-studio-2022","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn sử dụng file .http và .rest tích hợp sẵn trong Visual Studio 2022 (v17.8+) để gửi yêu cầu HTTP, kiểm thử REST API với biến môi trường không cần Postman.","breadcrumbs":[{"label":"DevSecOps & Automation"}]},{"id":"8XAG7jHvHOSeIFkM09Dm","title":"Playwright","pathname":"/devsecops-and-automation/playwright","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"DevSecOps & Automation"}]},{"id":"yJq1az53HUBird0H0lJ0","title":"Playwright: Tự Động Hóa Trình Duyệt Hiệu Quả","pathname":"/devsecops-and-automation/playwright/playwright-tu-dong-hoa-trinh-duyet-hieu-qua","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Chào mừng bạn đến với bài viết hướng dẫn Playwright - công cụ tự động hóa trình duyệt mạnh mẽ dành cho lập trình viên và tester!","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Playwright"}]},{"id":"qoKxRbIOP8jcRDpb7geD","title":"WinDbg - Công cụ khám phá hệ thống Windows","pathname":"/devsecops-and-automation/windbg-cong-cu-kham-pha-he-thong-windows","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"WinDbg là một trình gỡ lỗi có thể được sử dụng để phân tích các kết xuất lỗi, gỡ lỗi mã chế độ nhân và chế độ người dùng trực tiếp, đồng thời kiểm tra các thanh ghi và bộ nhớ CPU.","breadcrumbs":[{"label":"DevSecOps & Automation"}]},{"id":"1ub4S6CkXbCTrHjz30Sv","title":"Hiểu rõ Symbol, Stack Trace và Thread","pathname":"/devsecops-and-automation/windbg-cong-cu-kham-pha-he-thong-windows/hieu-ro-symbol-stack-trace-va-thread","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"WinDbg - Công cụ khám phá hệ thống Windows"}]},{"id":"JFc4ERCTksV39J18WsUd","title":"Hướng dẫn WinDbg: Các cú pháp cốt lõi khi phân tích Memory Dump","pathname":"/devsecops-and-automation/windbg-cong-cu-kham-pha-he-thong-windows/huong-dan-windbg-cac-cu-phap-cot-loi-khi-phan-tich-memory-dump","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"WinDbg - Công cụ khám phá hệ thống Windows"}]},{"id":"PxLjiKng5CuOsPAEy4P8","title":"Hướng dẫn WinDbg: Debug Deadlock & High CPU qua Memory Dump","pathname":"/devsecops-and-automation/windbg-cong-cu-kham-pha-he-thong-windows/huong-dan-windbg-debug-deadlock-and-high-cpu-qua-memory-dump","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"WinDbg - Công cụ khám phá hệ thống Windows"}]},{"id":"DjiRQXlRTkdtLprjIt0z","title":"Hướng dẫn WinDbg: Phân tích Memory Leak qua Memory Dump","pathname":"/devsecops-and-automation/windbg-cong-cu-kham-pha-he-thong-windows/huong-dan-windbg-phan-tich-memory-leak-qua-memory-dump","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"WinDbg - Công cụ khám phá hệ thống Windows"}]},{"id":"UvpGq2pQ3OuAa4fwcl0j","title":"DocFX","pathname":"/devsecops-and-automation/docfx","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"DocFX là một công cụ mạnh mẽ nhưng dễ sử dụng trong hầu hết các trường hợp sử dụng thông thường khi bạn hiểu các khái niệm cơ bản.","breadcrumbs":[{"label":"DevSecOps & Automation"}]},{"id":"ol16xvqIlyC8EUpLTuMw","title":"Những khái niệm cơ bản trong DocFX","pathname":"/devsecops-and-automation/docfx/nhung-khai-niem-co-ban-trong-docfx","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"DocFX là công cụ mạnh mẽ để tạo tài liệu tĩnh (static documentation) và tài liệu API tự động.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"DocFX"}]},{"id":"ixoEMBvF1Cy2bPKDL2hD","title":"DocFX - Hướng dẫn cài đặt, cấu hình sử dụng","pathname":"/devsecops-and-automation/docfx/docfx-huong-dan-cai-dat-cau-hinh-su-dung","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"DocFX là công cụ mạnh mẽ để tạo tài liệu API và tài liệu website tĩnh từ Markdown. Để tăng hiệu quả, việc sử dụng script batch giúp tự động hóa quá trình build và quản lý tài liệu trở nên dễ dàng hơn.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"DocFX"}]},{"id":"vTxfQyicJNM6ccGsHqAK","title":"DocFX - Hướng dẫn Markdown","pathname":"/devsecops-and-automation/docfx/docfx-huong-dan-markdown","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Markdown là một ngôn ngữ đánh dấu đơn giản, được sử dụng rộng rãi để tạo tài liệu văn bản dễ đọc và dễ viết.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"DocFX"}]},{"id":"G5lC92Cbdm1SLNILI7TJ","title":"DocFX - Hướng dẫn cấu hình file docfx.json","pathname":"/devsecops-and-automation/docfx/docfx-huong-dan-cau-hinh-file-docfx-json","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"DocFX"}]},{"id":"TFMt8FZkXJtRxlTbqU8W","title":"DocFX - Hướng dẫn sử dụng và tùy chỉnh Template","pathname":"/devsecops-and-automation/docfx/docfx-huong-dan-su-dung-va-tuy-chinh-template","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"DocFX"}]},{"id":"UlnP0PF8IoR1dRlfV8yG","title":"Obsidian","pathname":"/devsecops-and-automation/obsidian","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"DevSecOps & Automation"}]},{"id":"2kitaXGeVvwnv5PtAy3Y","title":"Hướng dẫn cấu hình Obsidian","pathname":"/devsecops-and-automation/obsidian/huong-dan-cau-hinh-obsidian","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn cấu hình Obsidian từ cơ bản đến nâng cao: editor, core plugins, hotkeys, backup với Git, template, và automation workflow.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Obsidian"}]},{"id":"gnIvRJQoN3QsmVz9G69Y","title":"Cấu hình Obsidian thực tế — Giải mã thư mục .obsidian","pathname":"/devsecops-and-automation/obsidian/cau-hinh-obsidian-thuc-te-giai-ma-thu-muc-.obsidian","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Giải mã cấu trúc thư mục .obsidian và phân tích file JSON cấu hình từ một vault thực tế: app.json, core-plugins, daily-notes, hotkeys, workspace layout, CSS snippets.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Obsidian"}]},{"id":"bEdxvpemEwVf1vHhCxxH","title":"Hướng dẫn sử dụng Obsidian Plugin hiệu quả","pathname":"/devsecops-and-automation/obsidian/huong-dan-su-dung-obsidian-plugin-hieu-qua","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Tổng hợp các Obsidian plugin hữu ích, phân loại theo nhu cầu sử dụng: soạn thảo, ghi chú cá nhân, quản lý dự án, trực quan hoá dữ liệu và tinh chỉnh giao diện.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Obsidian"}]},{"id":"NRzX7QgvkSTqPVjcxhEZ","title":"MaxKB","pathname":"/devsecops-and-automation/maxkb","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"MaxKB (Max Knowledge Base) là một nền tảng mã nguồn mở giúp xây dựng AI Assistant dựa trên dữ liệu riêng (Private Knowledge AI).","breadcrumbs":[{"label":"DevSecOps & Automation"}]},{"id":"iTq0fe2JXqXMrJp1joCI","title":"Hướng dẫn cài đặt & triển khai MaxKB","pathname":"/devsecops-and-automation/maxkb/huong-dan-cai-dat-and-trien-khai-maxkb","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"🚀 MaxKB là gì? Hướng dẫn cài đặt & triển khai AI Knowledge Base cho doanh nghiệp","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"MaxKB"}]},{"id":"g9fz0Okt3cTgJTHtrtY5","title":"Cài đặt MaxKB bằng Docker","pathname":"/devsecops-and-automation/maxkb/huong-dan-cai-dat-and-trien-khai-maxkb/cai-dat-maxkb-bang-docker","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Trong hệ sinh thái AI hiện nay, việc tự triển khai một hệ thống AI Knowledge Base không còn quá phức tạp – đặc biệt khi có những công cụ như MaxKB.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"MaxKB"},{"label":"Hướng dẫn cài đặt & triển khai MaxKB"}]},{"id":"m7kqk2EMNMMiHeSB8sW9","title":"Turborepo","pathname":"/devsecops-and-automation/turborepo","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Turborepo là high-performance build system cho JavaScript/TypeScript monorepo của Vercel. Tìm hiểu kiến trúc, cài đặt và cách tối ưu CI/CD với task caching, remote cache và task graph.","breadcrumbs":[{"label":"DevSecOps & Automation"}]},{"id":"1tienhUsBWxZtkU2XinA","title":"Configuring turbo.json","pathname":"/devsecops-and-automation/turborepo/configuring-turbo-json","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn chi tiết cấu hình turbo.json trong Turborepo — tasks, caching, global options, environment variables, remote cache, boundaries và experimental observability.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Turborepo"}]},{"id":"B5R5BkkF0cu6N2AnmWhH","title":"Running Tasks","pathname":"/devsecops-and-automation/turborepo/running-tasks","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn chạy tasks trong Turborepo — scripts trong package.json, global turbo, chạy đa tasks, automatic scoping, output logs và troubleshooting.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Turborepo"}]},{"id":"1MoY9do7Q1ygZuGqFSlz","title":"Caching Guide","pathname":"/devsecops-and-automation/turborepo/caching-guide","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn chi tiết về caching trong Turborepo — local cache, remote cache, global hash, task hash, cache troubleshooting và best practices.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Turborepo"}]},{"id":"9HfHhyDvB2TqOcI7weQo","title":"Filtering Workspaces","pathname":"/devsecops-and-automation/turborepo/filtering-workspaces","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn sử dụng --filter trong Turborepo — lọc package theo tên, thư mục, source control changes, kết hợp filters và advanced patterns.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Turborepo"}]},{"id":"FFVvCs26Riqq9vzDkUKg","title":"Environment Variables","pathname":"/devsecops-and-automation/turborepo/environment-variables","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn quản lý environment variables trong Turborepo — task hashing, env modes, strict mode, framework inference, .env files và best practices.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Turborepo"}]},{"id":"0H3wteE7aOijsLtQT3ts","title":"Structuring a Monorepo","pathname":"/devsecops-and-automation/turborepo/structuring-monorepo","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn cấu trúc monorepo với Turborepo — workspace setup, package types, internal packages, exports, và common pitfalls.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Turborepo"}]},{"id":"aSfT37nVA7v2vpAIUnAA","title":"Package Configurations","pathname":"/devsecops-and-automation/turborepo/package-configurations","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Learn how to configure Turborepo tasks on a per-package basis.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Turborepo"}]},{"id":"ifiPX0j4ggQ1oY96DRZE","title":"System Environment Variables","pathname":"/devsecops-and-automation/turborepo/system-environment-variables","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Learn about system environment variables that control Turborepo's behavior.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Turborepo"}]},{"id":"zoCA82OMc9GCu24EW23R","title":"File Glob Specification","pathname":"/devsecops-and-automation/turborepo/file-glob-specification","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Learn about the glob patterns used in Turborepo for specifying files and directories.","breadcrumbs":[{"label":"DevSecOps & Automation"},{"label":"Turborepo"}]},{"id":"obLg9Ei2MUEW5pZucZCZ","title":"AI CLI tools","pathname":"/ai-cli-tools","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":""},{"id":"L48LDKrKVNgX0OK4asFp","title":"Claude Code","pathname":"/ai-cli-tools/claude-code","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"AI CLI tools"}]},{"id":"Iq3HqJky0T8vp5U6Gpim","title":"Claude Code trên các nền tảng","pathname":"/ai-cli-tools/claude-code/claude-code-tren-cac-nen-tang","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"So sánh và hướng dẫn Claude Code trên Terminal, VS Code, JetBrains, Desktop app và Web — chọn platform phù hợp cho workflow của bạn.","breadcrumbs":[{"label":"AI CLI tools"},{"label":"Claude Code"}]},{"id":"H3pEuCbg9KnhcozcKBd4","title":"Hướng dẫn cài đặt và bắt đầu với Claude Code","pathname":"/ai-cli-tools/claude-code/huong-dan-cai-dat-va-bat-dau-voi-claude-code","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn chi tiết cài đặt Claude Code trên macOS, Linux, Windows và bắt đầu phiên làm việc đầu tiên với AI coding agent trong terminal.","breadcrumbs":[{"label":"AI CLI tools"},{"label":"Claude Code"}]},{"id":"eZLfrM0x9vG4QxAMaXhv","title":"Claude Code cho người mới bắt đầu","pathname":"/ai-cli-tools/claude-code/claude-code-cho-nguoi-moi-bat-dau","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn toàn diện cho người mới: từ đặt câu hỏi đầu tiên đến quản lý permission, git workflow và best practices khi dùng Claude Code.","breadcrumbs":[{"label":"AI CLI tools"},{"label":"Claude Code"}]},{"id":"dAKdV5GDqnBiIJcdRGIm","title":"Các lệnh Claude Code hữu ích nhất cho lập trình viên","pathname":"/ai-cli-tools/claude-code/lenh-claude-code-huu-ich-nhat-cho-lap-trinh-vien","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Tổng hợp các lệnh CLI và slash command hữu ích nhất trong Claude Code, giúp lập trình viên quản lý context, review code và làm việc Git hiệu quả.","breadcrumbs":[{"label":"AI CLI tools"},{"label":"Claude Code"}]},{"id":"ypXqpE2A42Abmh7xLeK6","title":"CLAUDE.md — Bộ nhớ dự án và Auto Memory","pathname":"/ai-cli-tools/claude-code/claude-md-bo-nho-du-an-va-auto-memory","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Cách viết CLAUDE.md hiệu quả, quản lý auto memory, tổ chức rules với .claude/rules/ và troubleshoot khi Claude không follow instructions.","breadcrumbs":[{"label":"AI CLI tools"},{"label":"Claude Code"}]},{"id":"6V4Zk8CmT1L5ahJehWpa","title":"Khám phá và hiểu codebase với Claude Code","pathname":"/ai-cli-tools/claude-code/kham-pha-codebase-voi-claude-code","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Các workflow khám phá codebase với Claude Code: overview, tìm code, hỏi như senior engineer, dùng subagents và plan mode để hiểu hệ thống nhanh.","breadcrumbs":[{"label":"AI CLI tools"},{"label":"Claude Code"}]},{"id":"hRNDHLqkIS2eUGmLUyYa","title":"Quản lý Session trong Claude Code","pathname":"/ai-cli-tools/claude-code/quan-ly-session-trong-claude-code","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Quản lý cuộc hội thoại trong Claude Code: resume, rewind, checkpoints, branching, worktrees và cách quản lý context window hiệu quả.","breadcrumbs":[{"label":"AI CLI tools"},{"label":"Claude Code"}]},{"id":"zDEpP4ERbvMl83lIPohl","title":"Quy tắc Permission và Bảo mật trong Claude Code","pathname":"/ai-cli-tools/claude-code/quy-tac-permission-va-bao-mat-claude-code","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Permission modes, allowlist/denylist, sandboxing, auto mode và best practices bảo mật khi dùng Claude Code trong dự án thực tế.","breadcrumbs":[{"label":"AI CLI tools"},{"label":"Claude Code"}]},{"id":"I5kpkDbKnZMvXicrL9Rv","title":"Hướng dẫn cấu hình settings.json của Claude Code","pathname":"/ai-cli-tools/claude-code/cau-hinh-settings-json-claude-code","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn chi tiết cấu hình settings.json của Claude Code: env vars, permissions, hooks, plugins và các tùy chọn nâng cao cho developer.","breadcrumbs":[{"label":"AI CLI tools"},{"label":"Claude Code"}]},{"id":"bNcX85rbQCYaUearLVDb","title":"Mở rộng Claude Code — Skills, Hooks, Subagents và MCP","pathname":"/ai-cli-tools/claude-code/mo-rong-claude-code-skills-hooks-subagents-mcp","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn mở rộng Claude Code với Skills (workflow tái sử dụng), Hooks (tự động hóa), Subagents (agent riêng) và MCP (kết nối công cụ bên ngoài).","breadcrumbs":[{"label":"AI CLI tools"},{"label":"Claude Code"}]},{"id":"Ymrl01bevaWlhuDHEHB8","title":"Claude Code Cheatsheet (2026)","pathname":"/ai-cli-tools/claude-code/claude-code-cheatsheet-2026","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Tài liệu tổng hợp nhanh các lệnh, workflow và mẹo dùng [Claude Code Docs](https://code.claude.com/docs/en/commands) và CLI thực chiến.","breadcrumbs":[{"label":"AI CLI tools"},{"label":"Claude Code"}]},{"id":"9EwhJC6RoKRn2JH33wX0","title":"So sánh OpenCode và Claude Code: Nên chọn AI Coding Agent nào?","pathname":"/ai-cli-tools/so-sanh-opencode-va-claude-code-nen-chon-ai-coding-agent-nao","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"So sánh chi tiết OpenCode và Claude Code — hai công cụ AI coding agent trong terminal. Phân tích về hiệu năng, chi phí, bảo mật, tính linh hoạt và khi nào nên dùng cái nào.","breadcrumbs":[{"label":"AI CLI tools"}]},{"id":"hauxB9wICPqikxTwKi65","title":"Cấu trúc Agents, Skills, Commands: OpenCode vs Claude Code — và cách chuyển đổi","pathname":"/ai-cli-tools/cau-truc-agents-skills-commands-opencode-vs-claude-code-va-cach-chuyen-doi","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn chi tiết về sự khác biệt trong cấu trúc Agents, Skills, Commands giữa OpenCode và Claude Code, kèm cách chuyển đổi cấu hình giữa hai công cụ.","breadcrumbs":[{"label":"AI CLI tools"}]},{"id":"WNcNGFdqNVSWtzmzKFbZ","title":"codebase-memory-mcp: giúp coding agent hiểu codebase nhanh hơn ⚡","pathname":"/ai-cli-tools/codebase-memory-mcp-giup-coding-agent-hieu-codebase-nhanh-hon","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"codebase-memory-mcp là MCP server biến codebase thành knowledge graph, giúp AI coding agent hiểu cấu trúc code với tốc độ gần như tức thời và tiết kiệm đến 99% token.","breadcrumbs":[{"label":"AI CLI tools"}]},{"id":"rnR35pgwJn1qrET8NAlQ","title":"CodeGraph: 'bản đồ tư duy' giúp AI agent hiểu codebase siêu tốc","pathname":"/ai-cli-tools/codegraph-ban-do-tu-duy-cho-ai-agent-hieu-codebase","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"CodeGraph là MCP server biến codebase thành knowledge graph, giúp AI coding agent truy vấn cấu trúc code tức thì, tiết kiệm đến 89% tool calls.","breadcrumbs":[{"label":"AI CLI tools"}]},{"id":"U6tux6deZMdQ7V55FYxd","title":"GitNexus: zero-server code intelligence engine với 16+ MCP tools","pathname":"/ai-cli-tools/gitnexus-code-intelligence-engine-16-mcp-tools","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"GitNexus là zero-server code intelligence engine biến codebase thành knowledge graph với 16+ MCP tools, chạy hoàn toàn trong trình duyệt hoặc CLI. Mã nguồn mở 44.5k sao GitHub.","breadcrumbs":[{"label":"AI CLI tools"}]},{"id":"zQvWmUi4DTZteGcFuc3A","title":"So sánh CodeGraph, GitNexus và codebase-memory-mcp","pathname":"/ai-cli-tools/so-sanh-codegraph-gitnexus-codebase-memory-mcp","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"So sánh chi tiết CodeGraph, GitNexus và codebase-memory-mcp — ba MCP server code intelligence giúp AI coding agent hiểu codebase. Bảng so sánh, use cases và cách chọn.","breadcrumbs":[{"label":"AI CLI tools"}]},{"id":"uKQh68fdcI5aQo4AkYfA","title":"Open Source & Templates","pathname":"/open-source-and-templates","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":""},{"id":"wL0kMynkgIAKpwLXp0Gr","title":"Top 10 ASP .NET Open Source Projects GitHub 2024","pathname":"/open-source-and-templates/top-10-asp-.net-open-source-projects-github-2024","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Bạn đang tìm kiếm ý tưởng cho các dự án .NET sắp tới? Vậy thì hãy dừng việc tìm kiếm của bạn tại đây. Bộ sưu tập này sẽ cung cấp cho bạn các Dự án Mã nguồn Mở Asp.NET Core hay nhất từ GitHub.","breadcrumbs":[{"label":"Open Source & Templates"}]},{"id":"bKOovbmUDzDY5Vga5Q26","title":"Open Source","pathname":"/open-source-and-templates/open-source","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Open Source & Templates"}]},{"id":"mJ5oTFLNoZeJUnHU7AxC","title":"shadcn-ui/ui","pathname":"/open-source-and-templates/open-source/shadcn-ui-ui","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Các thành phần được thiết kế đẹp mắt mà bạn có thể sao chép và dán vào ứng dụng của mình. Có thể truy cập. Có thể tùy chỉnh. Mã nguồn mở. Nguồn: ui.shadcn.com","breadcrumbs":[{"label":"Open Source & Templates"},{"label":"Open Source"}]},{"id":"95Jdxabi0k2pn6Ba4FkX","title":"Kuma UI","pathname":"/open-source-and-templates/open-source/kuma-ui","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"🐻‍❄️ Thư viện thành phần giao diện người dùng không đầu, ưu tiên tiện ích và không thời gian chạy ✨. Nguồn: kuma-ui.com","breadcrumbs":[{"label":"Open Source & Templates"},{"label":"Open Source"}]},{"id":"e9U6uXncfdQdoILcZjZA","title":"Midone","pathname":"/open-source-and-templates/open-source/midone","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"adminlte.io nói gì về tailwind-css-admin-and-dashboard-templates","breadcrumbs":[{"label":"Open Source & Templates"},{"label":"Open Source"}]},{"id":"wg5WCElvql3jy4BdJCct","title":"Templates","pathname":"/open-source-and-templates/templates","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Open Source & Templates"}]},{"id":"ipaMlSwWds8mho754fXh","title":"Tabler Admin Template: Xây dựng Dashboard Quản trị đẹp mắt và dễ dàng","pathname":"/open-source-and-templates/templates/tabler-admin-template-xay-dung-dashboard-quan-tri-dep-mat-va-de-dang","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Tabler là một UI kit dành cho các ứng dụng web, đặc biệt là các dashboard quản trị, được xây dựng trên nền tảng Bootstrap 5.","breadcrumbs":[{"label":"Open Source & Templates"},{"label":"Templates"}]},{"id":"OTaIBj2OvP0nvC67PeMz","title":"Free Themes and Templates from Creative Tim","pathname":"/open-source-and-templates/templates/free-themes-and-templates-from-creative-tim","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Download the best Free Themes & Templates developed by Creative Tim.","breadcrumbs":[{"label":"Open Source & Templates"},{"label":"Templates"}]},{"id":"RfBnpznmJgYOIKA0Ki7w","title":"Hướng dẫn sử dụng Voler và Mazer Dashboard từ Zuramai","pathname":"/open-source-and-templates/templates/huong-dan-su-dung-voler-va-mazer-dashboard-tu-zuramai","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Đây là hai bộ giao diện quản trị (Admin Dashboard) miễn phí và mã nguồn mở, được phát triển trên nền tảng Bootstrap và cung cấp các chức năng mạnh mẽ, giao diện thân thiện.","breadcrumbs":[{"label":"Open Source & Templates"},{"label":"Templates"}]},{"id":"NDlhh0GXevEHPudbl0GD","title":"EmDash CMS","pathname":"/open-source-and-templates/emdash-cms","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Open Source & Templates"}]},{"id":"HgTOGK23h7VUIgBfrnHd","title":"Làn gió mới thay đổi cách chúng ta nhìn về WordPress và bảo mật plugin","pathname":"/open-source-and-templates/emdash-cms/lan-gio-moi-thay-doi-cach-chung-ta-nhin-ve-wordpress-va-bao-mat-plugin","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Open Source & Templates"},{"label":"EmDash CMS"}]},{"id":"2V5vqz4moVpMLVwuZbQU","title":"Hướng dẫn deploy EmDash trên Cloudflare Workers","pathname":"/open-source-and-templates/emdash-cms/huong-dan-deploy-emdash-tren-cloudflare-workers","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Open Source & Templates"},{"label":"EmDash CMS"}]},{"id":"aLO1ySfQwBisgcMPSfOl","title":"Wordpress","pathname":"/open-source-and-templates/wordpress","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Open Source & Templates"}]},{"id":"rer9ohzfCkUsEbK2pWBd","title":"Cách dùng Docker để phát triển ứng dụng Wordpress","pathname":"/open-source-and-templates/wordpress/cach-dung-docker-de-phat-trien-ung-dung-wordpress","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Open Source & Templates"},{"label":"Wordpress"}]},{"id":"Uf1Dcv6NReIfIo3FSv63","title":"General Knowledge","pathname":"/general-knowledge","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":""},{"id":"03BWMrOKvTumSjSNIqFJ","title":"Bí mật xây dựng Bộ não thứ 2 và Quản lý cuộc sống","pathname":"/general-knowledge/bi-mat-xay-dung-bo-nao-thu-2","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn chi tiết cách xây dựng Bộ não thứ 2 và quản lý cuộc sống ngăn nắp bằng phương pháp Bullet Journal kết hợp Obsidian và AI (Claude/Javis).","breadcrumbs":[{"label":"General Knowledge"}]},{"id":"DIm5jTZ6BdblBPwyU4nr","title":"AI","pathname":"/general-knowledge/ai","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"AI-driven Automation được thiết kế riêng cho Cẩm nang NQDEV – không chạy theo trào lưu AI, mà xây dựng tư duy nền tảng, kiến trúc bền vững và khả năng áp dụng thực tế cho đội ngũ kỹ thuật Việt Nam.","breadcrumbs":[{"label":"General Knowledge"}]},{"id":"Q1HJcpWC6vMXcLLsBLUi","title":"AI Platforms","pathname":"/general-knowledge/ai/ai-platforms","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"},{"label":"AI"}]},{"id":"ZakMU6tcUt0OhG4Hkwju","title":"Kira AI","pathname":"/general-knowledge/ai/ai-platforms/kira-ai","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Kira AI - nền tảng API AI đa mô hình với Chat, Image, Video, TTS. Tương thích OpenAI SDK, tốc độ cao, chi phí thấp.","breadcrumbs":[{"label":"General Knowledge"},{"label":"AI"},{"label":"AI Platforms"}]},{"id":"SqLsjTMQadu2TZASQ2iy","title":"Kira AI — Cổng kết nối API AI đa mô hình, tích hợp trong 5 phút","pathname":"/general-knowledge/ai/ai-platforms/kira-ai/kira-ai-cong-ket-noi-api-ai-da-mo-hinh-tich-hop-trong-5-phut","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Kira AI — cổng kết nối API AI đa mô hình, tương thích OpenAI SDK. Hỗ trợ chat, tạo ảnh, video, TTS và WordPress Plugin. White-Label, không lock-in nhà cung cấp.","breadcrumbs":[{"label":"General Knowledge"},{"label":"AI"},{"label":"AI Platforms"},{"label":"Kira AI"}]},{"id":"npkDlBSYenmeAqaHcrCr","title":"Tích hợp Kira AI vào VS Code để Vibe Coding","pathname":"/general-knowledge/ai/ai-platforms/kira-ai/tich-hop-kira-ai-vao-vs-code-de-vibe-coding","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn tích hợp Kira AI vào VS Code qua GitHub Copilot Chat để Vibe Coding — kết nối API AI đa mô hình, chi phí thấp, tốc độ cao.","breadcrumbs":[{"label":"General Knowledge"},{"label":"AI"},{"label":"AI Platforms"},{"label":"Kira AI"}]},{"id":"1rZEaRTKNVDsv6AVMjp9","title":"Giới thiệu LLM7: API chat tương thích OpenAI, tích hợp trong 5 phút","pathname":"/general-knowledge/ai/ai-platforms/gioi-thieu-llm7-api-chat-tuong-thich-openai-tich-hop-trong-5-phut","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Giới thiệu LLM7.io — API chat tương thích OpenAI SDK, miễn phí hoặc Pro $12/tháng, hỗ trợ streaming, JSON mode, function calling và image recognition.","breadcrumbs":[{"label":"General Knowledge"},{"label":"AI"},{"label":"AI Platforms"}]},{"id":"KyXqcRz4nneGkvKEq61U","title":"API Services","pathname":"/general-knowledge/ai/api-services","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"},{"label":"AI"}]},{"id":"9a74U0GcEACpLsLTjU2g","title":"OpenSpec – Chấm dứt \"Vibe Coding\", đưa AI Coding vào quy trình chuyên nghiệp","pathname":"/general-knowledge/ai/api-services/openspec-cham-dut-vibe-coding-dua-ai-coding-vao-quy-trinh-chuyen-nghiep","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"OpenSpec là framework Spec-Driven Development (SDD) dành cho AI Coding Assistant. Giúp chuẩn hóa quy trình, giảm Vibe Coding, lưu spec trong Git.","breadcrumbs":[{"label":"General Knowledge"},{"label":"AI"},{"label":"API Services"}]},{"id":"krYVuoGYFw1D6cfeUf4D","title":"GitHub Spec Kit — Khung cảnh hỗ trợ Spec-Driven Development với AI Coding Agent","pathname":"/general-knowledge/ai/api-services/github-spec-kit-khung-canh-ho-tro-spec-driven-development","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"GitHub Spec Kit là toolkit mã nguồn mở hỗ trợ Spec-Driven Development (SDD) với AI Coding Agent. Định nghĩa spec trước, code sau, giảm Vibe Coding.","breadcrumbs":[{"label":"General Knowledge"},{"label":"AI"},{"label":"API Services"}]},{"id":"7QAhF57gvVimCd90iEqU","title":"Danh sách Chat AI miễn phí","pathname":"/general-knowledge/ai/api-services/danh-sach-chat-ai-mien-phi","siteSpaceId":"sitesp_WxVIZ","lang":"vi","breadcrumbs":[{"label":"General Knowledge"},{"label":"AI"},{"label":"API Services"}]},{"id":"TLFNVjAKpfWeNAJyyuXy","title":"SERIES: AI Driven Automation","pathname":"/general-knowledge/ai/series-ai-driven-automation","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Từ viết script sang xây nền tảng tự động hóa thông minh","breadcrumbs":[{"label":"General Knowledge"},{"label":"AI"}]},{"id":"h18y8jdY7SMgDatUizXw","title":"Skyvern","pathname":"/general-knowledge/ai/skyvern","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"},{"label":"AI"}]},{"id":"TEc3XPJFdxTpdvHzwPX6","title":"Skyvern và tương lai của Browser Automation","pathname":"/general-knowledge/ai/skyvern/skyvern-va-tuong-lai-cua-browser-automation","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"},{"label":"AI"},{"label":"Skyvern"}]},{"id":"EYsmwYQPjn8FyLfiz7Fr","title":"Skyvern vs Tự build Playwright + AI","pathname":"/general-knowledge/ai/skyvern/skyvern-vs-tu-build-playwright-+-ai","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"},{"label":"AI"},{"label":"Skyvern"}]},{"id":"caAq8AWJiSze9OakWMRj","title":"Tin tức","pathname":"/general-knowledge/tin-tuc","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"}]},{"id":"FyJsDQOR1bYMQcfG21gK","title":"DevSecOps là gì?","pathname":"/general-knowledge/tin-tuc/devsecops-la-gi","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"DevSecOps là phương pháp kết hợp Dev (phát triển), Sec (bảo mật) và Ops (vận hành) nhằm tạo môi trường làm việc an toàn và hiệu quả.","breadcrumbs":[{"label":"General Knowledge"},{"label":"Tin tức"}]},{"id":"LgskFQlD6lHMbTyiPftF","title":"Giới thiệu bộ công cụ hỗ trợ lập trình từ SmallDev.tools và Code Beautify","pathname":"/general-knowledge/tin-tuc/gioi-thieu-bo-cong-cu-ho-tro-lap-trinh-tu-smalldev.tools-va-code-beautify","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Là một lập trình viên, việc xử lý các tác vụ nhỏ nhưng thường xuyên xuất hiện trong quá trình phát triển phần mềm có thể tốn thời gian.","breadcrumbs":[{"label":"General Knowledge"},{"label":"Tin tức"}]},{"id":"hidInU4Dd8pwapZcKoLy","title":"Giới Thiệu và Hướng Dẫn Về DuckDB","pathname":"/general-knowledge/tin-tuc/gioi-thieu-va-huong-dan-ve-duckdb","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Giới Thiệu và Hướng Dẫn Về DuckDB: Hệ Quản Trị Cơ Sở Dữ Liệu Phân Tích Nhanh","breadcrumbs":[{"label":"General Knowledge"},{"label":"Tin tức"}]},{"id":"VICzYmUg87NHaNPZTLPy","title":"Giới thiệu về Các Loại Cơ Sở Dữ Liệu","pathname":"/general-knowledge/tin-tuc/gioi-thieu-ve-cac-loai-co-so-du-lieu","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Giới thiệu về Các Loại Cơ Sở Dữ Liệu: HSQLDB, MySQL, PostgreSQL, SQL Server, MongoDB, SQLite, và Các Loại Khác","breadcrumbs":[{"label":"General Knowledge"},{"label":"Tin tức"}]},{"id":"TtbBNA8SLZrFhPpcpOev","title":"1. HSQLDB (HyperSQL Database)","pathname":"/general-knowledge/tin-tuc/gioi-thieu-ve-cac-loai-co-so-du-lieu/1.-hsqldb-hypersql-database","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"},{"label":"Tin tức"},{"label":"Giới thiệu về Các Loại Cơ Sở Dữ Liệu"}]},{"id":"lJjzZ16mbGZsHdm2RUtS","title":"Hệ thống phân giải tên miền (DNS) và các loại bản ghi","pathname":"/general-knowledge/tin-tuc/he-thong-phan-giai-ten-mien-dns-va-cac-loai-ban-ghi","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"},{"label":"Tin tức"}]},{"id":"bmEfn2hOmu9OC6ff8MjE","title":"Giải thích về Tiền Tố Path Nổi Tiếng – /.well-known","pathname":"/general-knowledge/tin-tuc/giai-thich-ve-tien-to-path-noi-tieng-.well-known","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"},{"label":"Tin tức"}]},{"id":"tvayWZ89ROzhHx0LLk0M","title":"Giải mã Hệ thống tạo mã OTP của Google Authenticator","pathname":"/general-knowledge/tin-tuc/giai-ma-he-thong-tao-ma-otp-cua-google-authenticator","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"},{"label":"Tin tức"}]},{"id":"G2Ty0XNHZB0HQT8oCPEk","title":"Quishing là gì? Hiểu và phòng tránh lừa đảo qua mã QR","pathname":"/general-knowledge/tin-tuc/quishing-la-gi-hieu-va-phong-tranh-lua-dao-qua-ma-qr","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"},{"label":"Tin tức"}]},{"id":"I30wRVxdUSYvns6HKgU3","title":"Top các ứng dụng todo list miễn phí & mã nguồn mở đáng dùng hiện nay","pathname":"/general-knowledge/tin-tuc/top-cac-ung-dung-todo-list-mien-phi-and-ma-nguon-mo-dang-dung-hien-nay","siteSpaceId":"sitesp_WxVIZ","lang":"vi","emoji":"1f4dd","description":"Trong bài viết này, Cẩm nang NQDEV sẽ giới thiệu các ứng dụng todo list miễn phí, bao gồm cả phần mềm phổ biến lẫn các lựa chọn open-source chất lượng, phù hợp cho nhiều nhu cầu khác nhau.","breadcrumbs":[{"label":"General Knowledge"},{"label":"Tin tức"}]},{"id":"Xer7mw0TWCCGKML4BRKs","title":"AI SEO 2025: Cuộc cách mạng trong chiến lược Nội dung & Tìm kiếm","pathname":"/general-knowledge/tin-tuc/ai-seo-2025-cuoc-cach-mang-trong-chien-luoc-noi-dung-and-tim-kiem","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"},{"label":"Tin tức"}]},{"id":"4Yry6yn2i4KYmFv4hmzV","title":"Tổng hợp RTSP 2025 cho camera IP – Streaming nâng cao và hướng dẫn triển khai toàn diện","pathname":"/general-knowledge/tin-tuc/tong-hop-rtsp-2025-cho-camera-ip-streaming-nang-cao-va-huong-dan-trien-khai-toan-dien","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"},{"label":"Tin tức"}]},{"id":"tUonbby7brseGRD88ewe","title":"Hướng dẫn","pathname":"/general-knowledge/huong-dan","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"}]},{"id":"o60pP2vsxdZcGDfqvpuN","title":"SEO","pathname":"/general-knowledge/huong-dan/seo","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"},{"label":"Hướng dẫn"}]},{"id":"yd5X3JKahjuKHV5ffZLI","title":"Google Search Operators","pathname":"/general-knowledge/huong-dan/seo/google-search-operators","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Google Search Operators hay còn gọi là toán tử tìm kiếm của Google là các ký tự và lệnh có khả năng mở rộng tìm kiếm nâng cao cho văn bản thông thường.","breadcrumbs":[{"label":"General Knowledge"},{"label":"Hướng dẫn"},{"label":"SEO"}]},{"id":"U0spsoRU0Ft2DgAu3LOF","title":"Hướng dẫn chi tiết thực chiến LLM SEO","pathname":"/general-knowledge/huong-dan/seo/huong-dan-chi-tiet-thuc-chien-llm-seo","siteSpaceId":"sitesp_WxVIZ","lang":"vi","emoji":"1f680","description":"Nâng cao hiện diện số và dẫn đầu xu hướng AI Search","breadcrumbs":[{"label":"General Knowledge"},{"label":"Hướng dẫn"},{"label":"SEO"}]},{"id":"IMov8pMrN4mdxwnoghHQ","title":"Hướng dẫn chi tiết tạo tài khoản Google bằng email công ty","pathname":"/general-knowledge/huong-dan/huong-dan-chi-tiet-tao-tai-khoan-google-bang-email-cong-ty","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"},{"label":"Hướng dẫn"}]},{"id":"F98r8YjL2A7JlzeX73OE","title":"So Sánh","pathname":"/general-knowledge/so-sanh","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"General Knowledge"}]},{"id":"tHYEdxfeBS0pXTL4maCA","title":"So Sánh Varnish Cache, Memcached và Redis: Ba Công Cụ Caching Phổ Biến trong Tối Ưu Hóa Hiệu Suất","pathname":"/general-knowledge/so-sanh/so-sanh-varnish-cache-memcached-va-redis-ba-cong-cu-caching-pho-bien-trong-toi-uu-hoa-hieu-suat","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Trong thế giới phát triển ứng dụng web ngày nay, việc tối ưu hóa hiệu suất là một yếu tố quan trọng để nâng cao trải nghiệm người dùng.","breadcrumbs":[{"label":"General Knowledge"},{"label":"So Sánh"}]},{"id":"B9G0aXn11SxhaJ6hwz0W","title":"So sánh RabbitMQ, Kafka và Hangfire trong vai trò Message Queue","pathname":"/general-knowledge/so-sanh/so-sanh-rabbitmq-kafka-va-hangfire-lam-message-queue","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"So sánh RabbitMQ, Kafka và Hangfire trong vai trò Message Queue — ưu nhược điểm, use case phù hợp","breadcrumbs":[{"label":"General Knowledge"},{"label":"So Sánh"}]},{"id":"4Ay6LT7al8qcHvqn8L1T","title":"Affiliate","pathname":"/affiliate","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":""},{"id":"g8ULxz93FciXuX1eGqyO","title":"eSMS.vn: Giải pháp SMS Marketing hiệu quả cùng các chương trình ưu đãi hấp dẫn","pathname":"/affiliate/esms.vn-giai-phap-sms-marketing-hieu-qua-cung-cac-chuong-trinh-uu-dai-hap-dan","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"","breadcrumbs":[{"label":"Affiliate"}]},{"id":"2RhoQQQTLexRfN7ZVpk7","title":"Kira AI: Nền tảng API AI toàn diện cho lập trình viên và doanh nghiệp","pathname":"/affiliate/kiraai.vn-nen-tang-api-ai-toan-dien-cho-lap-trinh-vien","siteSpaceId":"sitesp_WxVIZ","lang":"vi","description":"Hướng dẫn đăng ký và sử dụng Kira AI - Nền tảng API AI toàn diện với Chat, Image, Video, TTS. Nhận 50k tokens miễn phí qua link affiliate.","breadcrumbs":[{"label":"Affiliate"}]},{"id":"bOOkSXsxM4ARzzidoniw","title":"Dựng môi trường phát triển nhanh chóng với docker-php-development","pathname":"/devsecops","siteSpaceId":"sitesp_rPhSK","description":"Nguồn: viblo.asia/p/dung-moi-truong-phat-trien-nhanh-chong-voi-sun-asterisk-researchdocker-php-development-maGK7329Kj2"},{"id":"eghqlDhqVVafjFAvwWRu","title":"VMware","pathname":"/devsecops/vmware","siteSpaceId":"sitesp_rPhSK"},{"id":"SlKaDVoQd0QBfCJt16zt","title":"Cách ảo hóa macOS Sierra trong VMWare Windows 10","pathname":"/devsecops/vmware/cach-ao-hoa-macos-sierra-trong-vmware-windows-10","siteSpaceId":"sitesp_rPhSK","description":"Nguồn: admininfo.info","breadcrumbs":[{"label":"VMware"}]},{"id":"FNKFWPd8STmcE8Xoi7f2","title":"Docker","pathname":"/devsecops/docker","siteSpaceId":"sitesp_rPhSK","description":"Docker là một nền tảng mở, giúp tự động hóa việc triển khai ứng dụng trong môi trường được đóng gói, gọi là container."},{"id":"1FR5pvTtOAp5yP5pWTCg","title":"Docker Compose Cheatsheet","pathname":"/devsecops/docker/docker-compose-cheatsheet","siteSpaceId":"sitesp_rPhSK","description":"Docker Compose là một công cụ mạnh mẽ giúp bạn dễ dàng quản lý và triển khai các ứng dụng đa container.","breadcrumbs":[{"label":"Docker"}]},{"id":"ouNbeav4Mq0Etzu8pNXf","title":"Những Lệnh và Flag Phổ Biến","pathname":"/devsecops/docker/docker-compose-cheatsheet/nhung-lenh-va-flag-pho-bien","siteSpaceId":"sitesp_rPhSK","description":"Docker Compose là một công cụ mạnh mẽ giúp quản lý và triển khai các ứng dụng đa container dễ dàng.","breadcrumbs":[{"label":"Docker"},{"label":"Docker Compose Cheatsheet"}]},{"id":"XNfVDvNc4LG7DXeZkfLT","title":"Dockerfile","pathname":"/devsecops/docker/dockerfile","siteSpaceId":"sitesp_rPhSK","description":"Docker - Beginners | Intermediate | Advanced","breadcrumbs":[{"label":"Docker"}]},{"id":"6LXfHUR2BltVvEbIp8Yg","title":"Dockerfile là gì?","pathname":"/devsecops/docker/dockerfile/dockerfile-la-gi","siteSpaceId":"sitesp_rPhSK","description":"Docker - Beginners | Intermediate | Advanced","breadcrumbs":[{"label":"Docker"},{"label":"Dockerfile"}]},{"id":"lu5knjOuwJfnZdvuSsco","title":"Lab #1: Tạo một hình ảnh có cài đặt GIT","pathname":"/devsecops/docker/dockerfile/lab-1-tao-mot-hinh-anh-co-cai-dat-git","siteSpaceId":"sitesp_rPhSK","breadcrumbs":[{"label":"Docker"},{"label":"Dockerfile"}]},{"id":"ZEPVKE2Qgq5fUOMcrIwT","title":"Lab #2: Tạo một hình ảnh với lệnh ADD","pathname":"/devsecops/docker/dockerfile/lab-2-tao-mot-hinh-anh-voi-lenh-add","siteSpaceId":"sitesp_rPhSK","description":"Docker - Beginners | Intermediate | Advanced","breadcrumbs":[{"label":"Docker"},{"label":"Dockerfile"}]},{"id":"LzUFOJZOdIHs0pMi4FRJ","title":"Lab #3: Tạo ảnh với lệnh COPY","pathname":"/devsecops/docker/dockerfile/lab-3-tao-anh-voi-lenh-copy","siteSpaceId":"sitesp_rPhSK","description":"Docker - Beginners | Intermediate | Advanced","breadcrumbs":[{"label":"Docker"},{"label":"Dockerfile"}]},{"id":"h6bIQPhPDoQCgRRoT0Iz","title":"Services","pathname":"/devsecops/docker/services","siteSpaceId":"sitesp_rPhSK","breadcrumbs":[{"label":"Docker"}]},{"id":"eU7Y0E7Yl1X7kGmNFd53","title":"Harbor","pathname":"/devsecops/docker/services/harbor","siteSpaceId":"sitesp_rPhSK","description":"Sứ mệnh của chúng tôi là trở thành kho lưu trữ gốc đám mây đáng tin cậy cho Kubernetes","breadcrumbs":[{"label":"Docker"},{"label":"Services"}]},{"id":"RrRJIEJX16hW7Uftk7pB","title":"IPTables Commands","pathname":"/cheat-sheets","siteSpaceId":"sitesp_vEzha","description":"https://gist.github.com/mcastelino/c38e71eb0809d1427a6650d843c42ac2 & https://ns2.elhacker.net/cheat-sheet/iptables-cheat-sheet.pdf & https://bashsenpai.com/resources/cheatsheets/iptables"},{"id":"9Lk31UQSBBlqdwAOZcGU","title":"Bash","pathname":"/cheat-sheets/bash","siteSpaceId":"sitesp_vEzha","description":"Bash Cheat Sheet: Tập hợp lệnh Bash cơ bản và nâng cao"},{"id":"SmBWLyyP4zqTmUVKUH6Z","title":"Bash Cheat Sheet: Tập hợp lệnh Bash cơ bản và nâng cao","pathname":"/cheat-sheets/bash/bash-cheat-sheet-tap-hop-lenh-bash-co-ban-va-nang-cao","siteSpaceId":"sitesp_vEzha","description":"Bash (Bourne Again Shell) là một shell phổ biến trên các hệ điều hành Linux và macOS, được sử dụng rộng rãi để tự động hóa các tác vụ qua script.","breadcrumbs":[{"label":"Bash"}]},{"id":"8rvnCpqkItLTMWbb5buU","title":"HAProxy","pathname":"/cheat-sheets/haproxy","siteSpaceId":"sitesp_vEzha","description":"HAProxy (High Availability Proxy) là một công cụ cân bằng tải và proxy mã nguồn mở, phổ biến trong việc xây dựng các hệ thống phân tán với độ sẵn sàng cao."},{"id":"Vuag4GQjUZkoh2nKNvsv","title":"HAProxy Cheat Sheet: Hướng dẫn nhanh và đầy đủ cho quản trị viên","pathname":"/cheat-sheets/haproxy/haproxy-cheat-sheet-huong-dan-nhanh-va-day-du-cho-quan-tri-vien","siteSpaceId":"sitesp_vEzha","description":"HAProxy (High Availability Proxy) là một công cụ cân bằng tải và proxy mã nguồn mở, phổ biến trong việc xây dựng các hệ thống phân tán với độ sẵn sàng cao.","breadcrumbs":[{"label":"HAProxy"}]},{"id":"LyvT2oyviGDw0MkxqyyU","title":"Cấu Hình và Tính Năng Nổi Bật","pathname":"/cheat-sheets/haproxy/cau-hinh-va-tinh-nang-noi-bat","siteSpaceId":"sitesp_vEzha","description":"Hướng Dẫn Sử Dụng HAProxy: Cấu Hình và Tính Năng Nổi Bật","breadcrumbs":[{"label":"HAProxy"}]},{"id":"kPDcqUnUAsLqqyJWwJZN","title":"Hướng Dẫn Cấu Hình Log Format Trong HAProxy","pathname":"/cheat-sheets/haproxy/huong-dan-cau-hinh-log-format-trong-haproxy","siteSpaceId":"sitesp_vEzha","breadcrumbs":[{"label":"HAProxy"}]},{"id":"T6EaULFO1dHqzeOASNID","title":"Hướng dẫn chi tiết về cấu hình HAProxy cho Load Balancing và giới hạn tốc độ","pathname":"/cheat-sheets/haproxy/huong-dan-chi-tiet-ve-cau-hinh-haproxy-cho-load-balancing-va-gioi-han-toc-do","siteSpaceId":"sitesp_vEzha","breadcrumbs":[{"label":"HAProxy"}]},{"id":"5q0HyTD4cg3i8thsYptO","title":"HAProxy Stats","pathname":"/cheat-sheets/haproxy/haproxy-stats","siteSpaceId":"sitesp_vEzha","description":"Nguồn: viblo.asia","breadcrumbs":[{"label":"HAProxy"}]},{"id":"V8JHVV0fgbubhcCFheto","title":"HAProxy Rate Limiting","pathname":"/cheat-sheets/haproxy/haproxy-rate-limiting","siteSpaceId":"sitesp_vEzha","description":"Cấu hình giới hạn tốc độ yêu cầu (Rate Limiting) cho mỗi địa chỉ IP client","breadcrumbs":[{"label":"HAProxy"}]},{"id":"GkxZZKQgXSfc3MYMzWLk","title":"Hướng dẫn cấu hình Rate Limiting trong HAProxy để chống DDoS","pathname":"/cheat-sheets/haproxy/haproxy-rate-limiting/huong-dan-cau-hinh-rate-limiting-trong-haproxy-de-chong-ddos","siteSpaceId":"sitesp_vEzha","description":"Bài viết sẽ hướng dẫn chi tiết từng bước thiết lập rate limiting, giải thích lệnh, và giới thiệu cách sử dụng script Lua để bổ sung các headers thông báo cho client về trạng thái giới hạn của mình.","breadcrumbs":[{"label":"HAProxy"},{"label":"HAProxy Rate Limiting"}]},{"id":"Scz4UNEoG2WjnCQGSDC1","title":"Rate Limiting: http-request track","pathname":"/cheat-sheets/haproxy/haproxy-rate-limiting/rate-limiting-http-request-track","siteSpaceId":"sitesp_vEzha","breadcrumbs":[{"label":"HAProxy"},{"label":"HAProxy Rate Limiting"}]},{"id":"bnB15QRw8mAbeJO5az0c","title":"HAProxy WI","pathname":"/cheat-sheets/haproxy/haproxy-wi","siteSpaceId":"sitesp_vEzha","description":"Hướng dẫn cài đặt HAProxy WI làm giao diện Web cho HAProxy trên CentOS 7","breadcrumbs":[{"label":"HAProxy"}]},{"id":"YmzRWl2PU9oxQfAhQRz5","title":"HAProxy Lua API","pathname":"/cheat-sheets/haproxy/haproxy-lua-api","siteSpaceId":"sitesp_vEzha","description":"HAProxy and HAProxy Enterprise come with a Lua interpreter that allows you to write custom Lua scripts that extend the load balanacer’s functionality. This guide describes how to get started with it.","breadcrumbs":[{"label":"HAProxy"}]},{"id":"YdqvhtGcSpJnxPm9U4Gd","title":"Bắt đầu với HAProxy Lua API","pathname":"/cheat-sheets/haproxy/haproxy-lua-api/bat-dau-voi-haproxy-lua-api","siteSpaceId":"sitesp_vEzha","breadcrumbs":[{"label":"HAProxy"},{"label":"HAProxy Lua API"}]},{"id":"mTVCxbCAJutWZNNzBq5n","title":"GIT","pathname":"/cheat-sheets/git","siteSpaceId":"sitesp_vEzha","description":"Git là công cụ quản lý phiên bản không thể thiếu trong lập trình, giúp theo dõi và quản lý thay đổi trong mã nguồn của các dự án."},{"id":"bYzVhUK4WEBygzu6Jr0d","title":"Git Cheat Sheet: Tổng hợp lệnh Git hữu ích cho người mới bắt đầu và chuyên gia","pathname":"/cheat-sheets/git/git-cheat-sheet-tong-hop-lenh-git-huu-ich-cho-nguoi-moi-bat-dau-va-chuyen-gia","siteSpaceId":"sitesp_vEzha","description":"Git là một hệ thống quản lý phiên bản phân tán (VCS) phổ biến nhất hiện nay. Nó giúp lập trình viên theo dõi thay đổi của mã nguồn và làm việc hiệu quả với nhóm.","breadcrumbs":[{"label":"GIT"}]},{"id":"dNotsSI2ZZkR1hxvKVsx","title":"Hướng Dẫn Toàn Diện về Git","pathname":"/cheat-sheets/git/huong-dan-toan-dien-ve-git","siteSpaceId":"sitesp_vEzha","description":"Hướng Dẫn Toàn Diện về Git: Tài Liệu Chính Thức từ git-scm.com","breadcrumbs":[{"label":"GIT"}]},{"id":"rsRdF5zOE5EjxeEHC69Q","title":"Hướng Dẫn Nhanh về Các Lệnh Git Cơ Bản","pathname":"/cheat-sheets/git/huong-dan-nhanh-ve-cac-lenh-git-co-ban","siteSpaceId":"sitesp_vEzha","description":"Git là một công cụ quản lý mã nguồn mạnh mẽ, nhưng với rất nhiều lệnh và tùy chọn, việc ghi nhớ tất cả có thể là một thách thức.","breadcrumbs":[{"label":"GIT"}]},{"id":"lya1aBAs5TX8uE6D3WPe","title":"20 lệnh Git hữu ích mọi lập trình viên nên biết","pathname":"/cheat-sheets/git/20-lenh-git-huu-ich-moi-lap-trinh-vien-nen-biet","siteSpaceId":"sitesp_vEzha","description":"Git là công cụ quản lý phiên bản không thể thiếu trong lập trình, giúp theo dõi và quản lý thay đổi trong mã nguồn của các dự án.","breadcrumbs":[{"label":"GIT"}]},{"id":"tBqiJj1pmqO5nZ3GR7Z1","title":"Cách tối ưu hóa kích thước thư mục .git để cải thiện hiệu suất","pathname":"/cheat-sheets/git/cach-toi-uu-hoa-kich-thuoc-thu-muc-.git-de-cai-thien-hieu-suat","siteSpaceId":"sitesp_vEzha","breadcrumbs":[{"label":"GIT"}]},{"id":"JCon8WuSz8NylAO1VGEM","title":"Redis","pathname":"/cheat-sheets/redis","siteSpaceId":"sitesp_vEzha","description":"Redis Cheat Sheet: Hướng dẫn nhanh cho người mới bắt đầu"},{"id":"OiMwjJ22cE5KSM8bwvNI","title":"Redis Cheat Sheat: Hướng dẫn nhanh cho người mới bắt đầu","pathname":"/cheat-sheets/redis/redis-cheat-sheat-huong-dan-nhanh-cho-nguoi-moi-bat-dau","siteSpaceId":"sitesp_vEzha","description":"Redis là một cơ sở dữ liệu NoSQL hiệu năng cao, thường được sử dụng để lưu trữ dữ liệu trong bộ nhớ (in-memory) nhằm tăng tốc độ truy xuất và xử lý.","breadcrumbs":[{"label":"Redis"}]},{"id":"MH7XaZczmEw1KVvUsVKR","title":"Wireshark","pathname":"/cheat-sheets/wireshark","siteSpaceId":"sitesp_vEzha","description":"Wireshark Cheat Sheet: Hướng dẫn sử dụng Wireshark cho người mới bắt đầu và chuyên gia"},{"id":"9CS7hg4vxQdkIHTj7AEG","title":"Wireshark Cheat Sheat: Hướng dẫn sử dụng Wireshark cho người mới bắt đầu và chuyên gia","pathname":"/cheat-sheets/wireshark/wireshark-cheat-sheat-huong-dan-su-dung-wireshark-cho-nguoi-moi-bat-dau-va-chuyen-gia","siteSpaceId":"sitesp_vEzha","description":"Wireshark là công cụ phân tích mạng phổ biến nhất hiện nay, được sử dụng để giám sát, phân tích và khắc phục các vấn đề liên quan đến mạng.","breadcrumbs":[{"label":"Wireshark"}]},{"id":"3JHgHvbDWSTcoaOmpQCM","title":"Windows","pathname":"/cheat-sheets/windows","siteSpaceId":"sitesp_vEzha"},{"id":"IFBHcw1KDQljylrK4jmz","title":"CMD","pathname":"/cheat-sheets/windows/cmd","siteSpaceId":"sitesp_vEzha","description":"CMD Cheat Sheet","breadcrumbs":[{"label":"Windows"}]},{"id":"t7mzJdcEXv7znL1AsrnN","title":"Command Cheat Sheat: Tổng hợp các lệnh CMD hữu ích trên Windows","pathname":"/cheat-sheets/windows/cmd/command-cheat-sheat-tong-hop-cac-lenh-cmd-huu-ich-tren-windows","siteSpaceId":"sitesp_vEzha","description":"CMD - Command Cheat Sheat ✅","breadcrumbs":[{"label":"Windows"},{"label":"CMD"}]},{"id":"E0Z2MurWq5G8y1UUlNZs","title":"Hướng dẫn sử dụng Registry Editor","pathname":"/cheat-sheets/windows/huong-dan-su-dung-registry-editor","siteSpaceId":"sitesp_vEzha","breadcrumbs":[{"label":"Windows"}]},{"id":"bFO5n5t6LL61OA89zIe8","title":"Chi tiết giao diện trong Registry Editor","pathname":"/cheat-sheets/windows/chi-tiet-giao-dien-trong-registry-editor","siteSpaceId":"sitesp_vEzha","breadcrumbs":[{"label":"Windows"}]},{"id":"huuNw7scMKivgRI7cylf","title":"Ubuntu","pathname":"/cheat-sheets/ubuntu","siteSpaceId":"sitesp_vEzha"},{"id":"fKxHgkwxLk0fQIRH0b2u","title":"Ubuntu CLI cheat sheet","pathname":"/cheat-sheets/ubuntu/ubuntu-cli-cheat-sheet","siteSpaceId":"sitesp_vEzha","description":"","breadcrumbs":[{"label":"Ubuntu"}]},{"id":"TiCDSYek20SRWKnMFCRa","title":"Lời nói đầu","pathname":"/cuoc-song","siteSpaceId":"sitesp_q2HY9","description":""},{"id":"LEByzdq2p6OpCnBPF5SK","title":"Đắc nhân tâm","pathname":"/cuoc-song/review-sach/dac-nhan-tam","siteSpaceId":"sitesp_q2HY9","breadcrumbs":[{"label":"Review sách","emoji":"1f49e"}]},{"id":"3mEnmixAOqS4quzzODcM","title":"Loại bỏ 30 thói quen xấu đánh cắp thời gian của bạn","pathname":"/cuoc-song/review-sach/loai-bo-30-thoi-quen-xau-danh-cap-thoi-gian-cua-ban","siteSpaceId":"sitesp_q2HY9","description":"Đây là một cuốn sách hữu ích giúp bạn xây dựng các thói quen tích cực và loại bỏ những thói quen xấu gây ảnh hưởng đến thời gian và sự tập trung của bạn.","breadcrumbs":[{"label":"Review sách","emoji":"1f49e"}]},{"id":"PZjZbltSZ2QRUHpMhZbK","title":"Người thành công làm gì buổi sáng ?","pathname":"/cuoc-song/review-sach/nguoi-thanh-cong-lam-gi-buoi-sang","siteSpaceId":"sitesp_q2HY9","description":"Cuốn sách tập trung vào những kinh nghiệm và thói quen buổi sáng của những người thành công. Từ đó đưa ra những lời khuyên và phương pháp giúp độc giả tăng cường năng suất, thành công trong cuộc sống.","breadcrumbs":[{"label":"Review sách","emoji":"1f49e"}]},{"id":"nFb8pddzZsmjYqKaU7aW","title":"Làm chủ các mẫu thiết kế kinh điển trong lập trình","pathname":"/cuoc-song/review-sach/lam-chu-cac-mau-thiet-ke-kinh-dien-trong-lap-trinh","siteSpaceId":"sitesp_q2HY9","breadcrumbs":[{"label":"Review sách","emoji":"1f49e"}]},{"id":"JLxhURYcpUGaAheVPUKC","title":"Đánh giá chi tiết về cuốn sách","pathname":"/cuoc-song/review-sach/lam-chu-cac-mau-thiet-ke-kinh-dien-trong-lap-trinh/danh-gia-chi-tiet-ve-cuon-sach","siteSpaceId":"sitesp_q2HY9","breadcrumbs":[{"label":"Review sách","emoji":"1f49e"},{"label":"Làm chủ các mẫu thiết kế kinh điển trong lập trình"}]},{"id":"EZsAxyyRW9tD0VsSDQYS","title":"Căng thẳng và stress do thiếu vitamin B","pathname":"/cuoc-song/suc-khoe/cang-thang-va-stress-do-thieu-vitamin-b","siteSpaceId":"sitesp_q2HY9","description":"nguồn: devopsvn.tech","breadcrumbs":[{"label":"Sức khỏe","emoji":"1f468-2695"}]},{"id":"6YpgzoNYjKss0UCMdjJV","title":"Giới thiệu","pathname":"/lien-he","siteSpaceId":"sitesp_q2HYL","description":"Cẩm nang NQDEV sẽ nói về dotNET và con đường phát triển kỹ năng lập trình. Bên cạnh đó,cũng sẽ phát triển thêm chủ đề \"Tips & Tricks trong công nghệ\" bao gồm nhiều lĩnh vực công nghệ khác nhau."},{"id":"blRiAd7UV7RP1zd2wRnS","title":"Đôi chút về Cẩm nang NQDEV","pathname":"/lien-he/doi-chut-ve-cam-nang-nqdev","siteSpaceId":"sitesp_q2HYL","description":"Website \"Cẩm nang NQDEV\" - nơi chia sẻ kiến thức, kinh nghiệm và những bài học quý giá về công nghệ dotnet và cuộc sống."},{"id":"uhHlkkFEmubWENBJjyZG","title":"Giới thiệu fanpage \"Cẩm nang NQDEV\"","pathname":"/lien-he/gioi-thieu-fanpage-cam-nang-nqdev","siteSpaceId":"sitesp_q2HYL"},{"id":"cEmCeOhWiTYLfVWcviYr","title":"Chính sách bảo mật","pathname":"/lien-he/chinh-sach-bao-mat","siteSpaceId":"sitesp_q2HYL","description":"Web cung cấp nhiều thông tin minh bạch về cách sử dụng, thu thập và chia sẻ dữ liệu của người dùng. Chi tiết các quy trình phụ về vấn đề này để đảm bảo tính minh bạch và tin cậy đối với người dùng."},{"id":"CEtDlGfhBcT6pZtVSBR1","title":"VHS Auto Deleter","pathname":"/lien-he/vhs-auto-deleter","siteSpaceId":"sitesp_q2HYL"},{"id":"qN69iFZjxtJpXtQReko8","title":"Terms of Service","pathname":"/lien-he/vhs-auto-deleter/terms-of-service","siteSpaceId":"sitesp_q2HYL","breadcrumbs":[{"label":"VHS Auto Deleter"}]},{"id":"NHXAaGR4tpu3txtWxB9m","title":"Privacy Policy","pathname":"/lien-he/vhs-auto-deleter/privacy-policy","siteSpaceId":"sitesp_q2HYL","breadcrumbs":[{"label":"VHS Auto Deleter"}]},{"id":"XGfY9NewMhSUCONWbIQt","title":"Mục Lục: Cẩm nang NQDEV","pathname":"/lien-he/sitemap/muc-luc-cam-nang-nqdev","siteSpaceId":"sitesp_q2HYL","description":"Dưới đây là nội dung trang mục lục hoàn chỉnh cho blog Cẩm nang NQDEV với liên kết trực tiếp đến các bài viết:","breadcrumbs":[{"label":"Sitemap"}]}]}