Chuyển đến nội dung chính

Bài đăng

Đang hiển thị bài đăng từ Tháng 11, 2025

Hướng dẫn cài đặt và chạy C++ trên Visual Studio Code

Trong bài này, mình sẽ hướng dẫn cách chạy chương trình C++ với VS Code. Nếu các bạn muốn setup C++ dễ dàng và tạo Project C++ đơn giản, có thể dùng Visual Studio: https://nhatkyhoctap.blogspot.com/2024/10/huong-dan-cai-at-mpi-cho-visual-studio.html  Cài đặt C++ Bạn tham khảo hướng dẫn cài đặt tại:  https://code.visualstudio.com/docs/cpp/config-mingw#_prerequisites . Trên Windows, có hai lựa chọn phổ biến nhất để biên dịch C++: MSVC (Microsoft Visual C++) Đây là compiler chính thức của Microsoft, dùng trong Visual Studio. Dung lượng cài đặt hơi nặng (~2-7GB tùy components). MinGW (Minimalist GNU for Windows) Dung lượng cài đặt chỉ vài trăm MB, sử dụng g++, gcc, gdb quen thuộc như trên Linux Hỗ trợ chuẩn C++ rất tốt Dễ tích hợp với VS Code, CMake, Makefile Debug bằng GDB nhẹ nhàng, không rắc rối như MSVC debugger Nếu bạn mới học C++, hoặc muốn setup nhanh, gọn, và quen thuộc theo kiểu Linux, thì MinGW chính là lựa chọn tối ưu. Sau khi cài đặt xong, bạn cần kiểm tra lại compiler...

Semantic Kernel: AI Agent & Kỹ Thuật Prompting Nâng Cao – Part 3

Mình vừa học, vừa ghi chú lại những phần đã học trước đó: Semantic Kernel là gì? - Part 1 Semantic Kernel: Từ "Bạch" Cổ Phong Đến AI: Thổi Hồn Cho Agent Với Semantic Kernel Instructions - Part 2 Giới Thiệu: Nâng cấp Agent từ "Tính cách" đến "Logic" Trong Phần 2, chúng ta đã định hình Persona cho Agent bằng Instruction cơ bản , biến nó thành một nhân vật có vai trò và khí chất. Trong phần này, chúng ta nâng cấp Agent bằng cách thêm logic suy luận và khả năng tự nhận thức vào Instruction để Agent biết cách làm việc và giới hạn hiểu biết của mình.  Các kỹ thuật quan trọng sẽ được triển khai là:  Structured Reasoning thay thế cho Chain-of-Thought (CoT) nội bộ, tạo ra mạch suy luận an toàn và minh bạch.  Self-Scoring: Thêm lớp tự nhận thức để Agent báo cáo độ tin cậy.  Agent Routing qua GetScoreAsync(): Sử dụng Scoring để kích hoạt Agent phù hợp trong hệ thống Multi-Agent. Structured Reasoning Kỹ thuật Chain-of-Thought (CoT) rất mạnh mẽ vì nó buộc mô h...

Azure Pipeline: Build & Push Docker Image lên Docker Hub - Day 3

Đây là bài mình vừa học vừa ghi lại trong quá trình thực hành DevOps — từ việc cài Docker Desktop, tạo Dockerfile cho ứng dụng C#, đến việc tự động build và push image lên Docker Hub bằng Azure Pipelines. Mục tiêu là tự hiểu – tự làm – tự note, để khi quay lại sau này có thể triển khai lại toàn bộ mà không cần tìm lại tài liệu. Giới thiệu  Trong DevOps, Docker Image là “bản đóng gói” (package) toàn bộ ứng dụng, môi trường và dependency. Khi bạn build một image, bạn đang tạo ra một “snapshot” mà có thể chạy ở bất kỳ môi trường nào — từ máy local đến cloud. Quy trình chuẩn để đưa image lên cloud registry gồm 3 bước: Build image – dùng Dockerfile. Tag image – đặt tên định danh (vd: username/app:latest). Push image – đẩy lên Docker Hub (hoặc ACR, ECR...). Với Azure Pipelines, ta có thể tự động hoá toàn bộ quy trình đó bằng một YAML pipeline. Chuẩn bị Self-hosted agent: Xem lại Day 2 Docker Desktop for Windows Kiểm tra lại Docker: docker version docker info Nếu có thông tin client/ser...

Azure Pipeline: Setup Azure Pipelines Self-hosted Agent - Day 2

Khi học và thực hành Azure DevOps với free tier, có thể bạn sẽ gặp lỗi quen thuộc: “No hosted parallelism has been purchased or granted” Lỗi này nghĩa là bạn không có quyền dùng cloud agent miễn phí, nên pipeline không thể chạy được. Về lý thuyết, bạn có thể gửi đơn xin Microsoft cấp quyền miễn phí — nhưng quá trình này mất thời gian và không đảm bảo được duyệt ngay. Vì thế, cách đơn giản và chủ động nhất là tự tạo agent của riêng mình trên máy cá nhân. Không chỉ giúp bạn fix được error này, mà bạn còn có nhiều cơ hội: Tùy chỉnh môi trường build theo ý muốn Học sâu hơn về cách hoạt động của CI/CD Tiết kiệm thời gian khi thử nghiệm và học DevOps Trong bài này, mình sẽ hướng dẫn bạn chi tiết cách thiết lập CI trên máy cá nhân (self-hosted agent), cấu hình pipeline YAML, và chạy script bằng Bash — từ A đến Z. Tạo Personal Access Token (PAT) Trước khi cấu hình agent, bạn cần có PAT – Personal Access Token để Azure DevOps xác nhận quyền truy cập của bạn. PAT đóng vai trò như “chìa khóa” giú...

Azure Pipeline: Tìm hiểu về Azure Pipeline - Day 1

Azure Pipeline là gì?  Azure Pipeline là một công cụ CI/CD (Continuous Integration / Continuous Delivery), cho phép chúng ta tự động build, chạy test và triển khai (deploy) phần mềm chỉ với vài bước cấu hình đơn giản. Azure Pipeline miễn phí hoàn toàn cho các dự án công khai (public projects) và cung cấp 30 giờ miễn phí mỗi tháng cho các dự án riêng tư (private projects). Những điểm mạnh của Azure Pipeline ✅ Hỗ trợ đa ngôn ngữ và nền tảng: Làm việc tốt với hầu hết các ngôn ngữ phổ biến như Java, JavaScript, Node.js, Python, .NET, C++, Go, PHP,… và hoạt động trên Windows, Linux hoặc macOS. 🚀 Triển khai linh hoạt: Có thể deploy cùng lúc lên nhiều môi trường khác nhau như máy ảo (Virtual Machines), container, hệ thống on-premises, hoặc nền tảng đám mây (Cloud Platforms). ☁️ Tích hợp mạnh mẽ với Azure Cloud: Dễ dàng cấu hình, theo dõi và triển khai ứng dụng trực tiếp lên Azure, giúp rút ngắn đáng kể thời gian phát hành sản phẩm. 🔗 Kết nối đa dạng với hệ thống quản lý mã nguồn: Hỗ trợ...

Terraform: Tách File - Part 6

Sau khi hoàn tất Part 5, chúng ta đã có một file main.tf “all-in-one” giúp deploy web ASP.NET Core và SQL Server lên Azure Container Instance (ACI). Ở Part 6, chúng ta sẽ refactor lại project để chuẩn hóa theo mô hình DevOps production-ready: Tách file Terraform thành nhiều phần dễ bảo trì (versions.tf, provider.tf, variables.tf, outputs.tf...) Thêm remote backend lưu state trong Azure Storage Chuẩn hóa biến (variables.tf) và đầu ra (outputs.tf) Hỗ trợ nhiều môi trường (dev, staging, production) bằng .tfvars + workspace  Cấu trúc thư mục tf-aci-fullstack/ ├─ versions.tf # Định nghĩa version Terraform & provider ├─ provider.tf # Cấu hình provider (azurerm, kubernetes nếu cần) ├─ backend.tf # Remote state (Azure Storage) ├─ variables.tf # Input variables ├─ locals.tf # Đặt quy ước prefix, tags, định danh ├─ main.tf # Resource chính (ACI, ACR, VNet,...) ├─ outputs.tf # Output URL, login server,... ├─ dev.tfvars ...

Terraform: Nâng cấp ASP.Core với SQL Server - Part 5

Trong bài viết này, chúng ta sẽ tạo Docker Image cho SQL Server, tích hợp thư viện AspNetCore.HealthChecks.SqlServer vào ứng dụng ASP.NET Core, sau đó dùng Terraform để triển khai cả hai container (ASP.NET Core và SQL Server) cùng lúc lên Azure Container Instances (ACI). Cấu trúc dự án Chúng ta cần một folder riêng cho Dockerfile của SQL Server để tránh nhầm lẫn và một folder mới cho Terraform. tf-aci-fullstack/ ├── main.tf ├── variables.tf └── outputs.tf sql-db-image/ └── Dockerfile AspNetCoreGettingStarted/ ├── *.* ├── Dockerfile └── appsettings.json SQL Server Chúng ta sẽ sử dụng image chính thức của Microsoft. # Use the official Microsoft SQL Server image for Linux FROM mcr.microsoft.com/mssql/server:2019-latest # Set environment variables for SQL Server configuration ENV ACCEPT_EULA=Y ENV SA_PASSWORD=YourStrongPassword123! ENV MSSQL_PID=Developer # Expose the default SQL Server port EXPOSE 1433 ASP.NET Core Tạo ứng dụng ASP.NET Core. Thêm Health Check vào project ASP.NET C...