Các tính năng và kỹ thuật nâng cao trong C#
Danh sách (List)
1. Phần tử bên trong là kiểu tham chiếu
src[0].Name là "11", cho thấy tham chiếu đã bị sửa đổi.
List<NguonDuLieu> danhSachNguon = new List<NguonDuLieu>();
danhSachNguon.Add(new NguonDuLieu() { Ten = "1", Tuoi = 1, MoTa = "1" });
danhSachNguon.Add(new NguonDuLieu() { Ten = "2", Tuoi = 2, MoTa = "2" });
foreach (var n ...
Đăng vào ngày 9 tháng 7 lúc 15:48
Sử dụng Coroutine trong Python
Coroutine, còn được gọi là tiểu trình, là một kỹ thuật chuyển đổi ngữ cảnh ở cấp độ người dùng. Về bản chất, nó cho phép các đoạn mã trong cùng một luồng thực thi luân phiên nhau bằng cách tạm dừng và tiếp tục trạng thái thực thi. Khác với tiến trình hay luồng hệ thống, coroutine không do hệ điều hành quản lý mà do lập trình viên kiểm soát hoàn ...
Đăng vào ngày 7 tháng 7 lúc 17:44
Xử lý bất đồng bộ trong JavaScript với async/await
JavaScript hoạt động trên mô hình đơn luồng, nên để tránh treo giao diện khi thực thi các tác vụ tốn thời gian như gọi API hay đọc file, lập trình viên cần sử dụng cơ chế bất đồng bộ. Từ ES2017, cú pháp async và await ra đời giúp viết code bất đồng bộ dễ đọc và dễ quản lý hơn nhiều so với Promise thuần hoặc callback.
Cơ chế bất đồng bộ trước a ...
Đăng vào ngày 2 tháng 7 lúc 17:55
Xây dựng máy chủ Web và xử lý yêu cầu HTTP với Koa 2
Koa 2 là framework backend hiện đại cho Node.js, được thiết kế với kiến trúc middleware dựa trên async/await. Dưới đây là hướng dẫn chi tiết về cách thiết lập môi trường, cấu trúc máy chủ, xử lý dữ liệu từ client, cũng như cách định tuyến và phục vụ tài nguyên tĩnh.
Khởi tạo dự án và cấu hình nền tảng
Trước khi viết code, hãy tạo thư mục làm vi ...
Đăng vào ngày 26 tháng 6 lúc 20:38
Cơ chế đơn luồng, bất đồng bộ và thực thi của JavaScript
Giải thích về mô hình đơn luồng
JavaScript được thiết kế theo mô hình đơn luồng để đảm bảo tính nhất quán khi thao tác DOM. Nếu cho phép đa luồng, việc đồng bộ hóa tài nguyên DOM sẽ dẫn đến tình trạng race condition. Ví dụ:
document.getElementById("btn").addEventListener("click", () => {
console.log("Xử lý click 1");
});
document.getElement ...
Đăng vào ngày 25 tháng 6 lúc 11:40
Vấn đề về xử lý đồng thời trong lập trình
Khái niệm xử lý đồng thời
Xử lý đồng thời (Concurrency) là khả năng của hệ thống trong việc xử lý nhiều tác vụ cùng một khoảng thời gian. Các tác vụ này có thể thực thi luân phiên (trong trường hợp CPU đơn lõi) hoặc thực thi song song (khi sử dụng nhiều lõi CPU). Khái niệm này không nhấn mạnh vào việc "thực thi cùng lúc tuyệt đối" mà ...
Đăng vào ngày 24 tháng 6 lúc 22:06
Tối Ưu Hóa Tác Vụ Bất Đồng Bộ Với CancellationToken Trong .NET Core
Trong quá trình phát triển ứng dụng .NET Core, việc quản lý vòng đời của các tác vụ bất đồng bộ (async tasks) đóng vai trò then chốt để đảm bảo hiệu suất hệ thống. CancellationToken là cơ chế cho phép hợp tác hủy bỏ các thao tác đang chạy. Nếu không sử dụng đúng cách, các tác vụ nền có thể tiếp tục tiêu tốn tài nguyên ngay cả khi yêu cầu ban đầ ...
Đăng vào ngày 18 tháng 6 lúc 03:42
Chuyển Đổi Hàm Callback Thành Promise Với es6-promisify
Trong lập trình JavaScript bất đồng bộ, việc lồng ghép callback dẫn đến "địa ngục callback" làm giảm khả năng bảo trì mã nguồn. Thư viện es6-promisify cung cấp giải pháp chuyển đổi các hàm dựa trên callback sang mô hình Promise chuẩn ES6, giúp viết code tuyến tính và dễ đọc hơn.
Cơ chế hoạt động
Khi làm việc với API cũ sử dụng callback, cấu tr ...
Đăng vào ngày 13 tháng 6 lúc 17:42
Nguyên lý cốt lõi của EA Async: Cách lớp Transformer sửa đổi bytecode để thực hiện chức năng await
Nguyên lý cốt lõi của EA Async: Cách lớp Transformer sửa đổi bytecode để thực hiện chức năng await
[Liên kết tải miễn phí] EA Async là một công cụ mạnh mẽ giúp triển khai các phương thức async-await trên JVM. Nó sử dụng kỹ thuật chuyển đổi bytecode, cho phép lập trình viên viết mã bất đồng bộ dễ dàng như trong các ngôn ngữ khác. Bài viết này sẽ ...
Đăng vào ngày 4 tháng 6 lúc 18:09
Sử dụng Async và Await trong C#
Trong lập trình hiện đại, việc xử lý các tác vụ bất đồng bộ là một yêu cầu thiết yếu để đảm bảo hiệu suất ứng dụng. C# cung cấp hai từ khóa quan trọng là async và await để đơn giản hóa quá trình lập trình bất đồng bộ.
Ví dụ minh họa cơ bản
Dưới đây là một đoạn mã mẫu thể hiện cách sử dụng các từ khóa này:
// Quan trọng: async và await luôn đi k ...
Đăng vào ngày 1 tháng 6 lúc 10:14