Một sự kiện ổ đập đầy do file log Serilog không giới hạn kích thước đã thúc đẩy bài viết này hướng dẫn các tùy chọn file sink của Serilog. Tác giả giải thích cách sử dụng rolling intervals, retainedFileCountLimit, retainedFileTimeLimit, fileSizeLimitBytes kết hợp với rollOnFileSizeLimit để tính toán tối đa dung lượng đĩa cần thiết. Bài cũng đề cập cấu hình qua appsettings.json và các tham số như shared, buffered, flushToDiskInterval, restrictedToMinimumLevel, outputTemplate, FileLifecycleHooks. Quan trọng nhất là việc giảm log volume tại nguồn (ví dụ: tăng mức tối thiểu cho namespace Microsoft.*) có tác động nhiều hơn việc chỉ thiết lập retention.
AI có thể tóm tắt sai. Đọc bài gốc trước khi dựa vào thông tin quan trọng.
Vì sao nên đọc: Bài này giúp lập trình viên quản lý dung lượng đĩa và tối ưu hóa việc lưu trữ log file với Serilog bằng cách cấu hình các thông số thông minh.
Trả lời 3 câu hỏi ngắn để nhận điểm thưởng cho bài này. Chỉ làm khi bạn muốn lấy điểm.
3 câu hỏi · dưới một phút · không bắt buộc
Nguồn: https://bartwullems.blogspot.com/2026/10/cleaning-up-old-log-files-with-serilog.html. 8 Sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Đọc tin ở đây, luyện code, học theo lộ trình và luyện IELTS trên các sản phẩm anh em — tất cả kết nối với nhau trong hệ sinh thái 8 Sync.
Cổng chính của hệ sinh thái: giới thiệu sản phẩm, blog và bảng giá trọn bộ.
Khám pháHọc theo lộ trình rõ từng chặng: video, quiz chấm tự động, certificate và mentor đang làm nghề.
Xem lộ trình1.000 bài DSA, đề tiếng Việt, chấm tự động 7 ngôn ngữ — nhiều bài FREE, chạy ngay trên trình duyệt.
Luyện miễn phíChấm bốn kỹ năng IELTS bằng AI, phản hồi chi tiết theo rubric.
Dùng thử miễn phíAI IDE 22 MB cho dev Việt.
Tải miễn phíBộ nhớ tổ chức cho AI agent.
Khám pháAI trực Fanpage, tự sàng lọc lead.
Dùng thửMicrosoft đang cách mạng hóa cách làm việc với C# thông qua .NET 10 và file-based apps, cho phép lập trình viên chạy code trực tiếp từ các file .cs mà không cần .csproj. Thay đổi này loại bỏ bước tạo project phức tạp ban đầu, giúp việc thử nghiệm và viết script trở nên nhanh gọn hơn đáng kể. Kỹ thuật này sử dụng dự án dựa trên file mới với định dạng MSBuild, tự động xử lý các dependency và cấu hình cần thiết. Lợi ích lớn nhất là giảm thiểu boilerplate code cho các ứng dụng nhỏ và script, đồng thời vẫn cho phép chuyển đổi sang project đầy đủ sau này khi cần. Đây là xu hướng mà mọi lập trình viên C# nên tìm hiểu để tối ưu hóa workflow và tăng tốc độ phát triển.
Bài viết này giúp bạn tiết kiệm thời gian phát triển bằng cách chạy mã C# trực tiếp từ file mà không cần dự án .csproj phức tạp.
C# Dev Kit 11.0, phát hành cùng .NET 11, đã được tái thiết kế để cải thiện đáng kể thời …
Khi test code phụ thuộc thời gian như invitation hết hạn sau 5 phút, việc sử dụng DateTime.Now gây khó khăn trong unit tests. .NET cung cấp TimeProvider và FakeTimeProvider để giải quyết vấn đề này, cho phép kiểm soát hoàn toàn giá trị thời gian trong môi trường test. FakeTimeProvider cho phép bạn thiết lập một thời gian cụ thể, ví dụ DateTime.Parse("2023-01-01 10:00:00"), để kiểm tra chính xác logic hết hạn mà không cần chờ đợi thời gian thực. Giải pháp này giúp loại bỏ dependency injection vào DateTime.Now và tạo ra test case đáng tin cậy, dễ bảo trì, đặc biệt quan trọng với các business logic phức tạp liên quan đến thời gian.
Bài viết giúp bạn kiểm tra mã phụ thuộc thời gian một cách hiệu quả bằng cách sử dụng TimeProvider và FakeTimeProvider trong .NET.
.NET 11 giới thiệu runtime async thay vì state machine do compiler tạo ra, giảm allocation tới 40% trong các kịch bản sử dụng Task. Sự thay đổi này giúp giảm bộ nhớ sử dụng và cải thiện hiệu năng cho các ứng dụng async-heavy. Runtime async cũng đơn giản dụng cụ debug và dễ đo lường hơn so với state machine phức tạp. Với lập trình viên .NET, việc nắm rõ sự khác biệt này sẽ giúp tối ưu hóa hiệu năng ứng dụng và tận dụng tốt nhất tính năng mới trong .NET 11.
Bài viết này giải thích rõ ràng về sự thay đổi quan trọng trong Runtime Async của .NET 11 và tác động thực tế đến hiệu năng cũng như khả năng gỡ lỗi.
Bài viết giải thích chi tiết về delegates và events trong C#, bao gồm các loại có sẵn như Action, Func và Predicate, cùng với việc tạo custom EventArgs. Tác giả cung cấp ví dụ thực tế minh họa cách sử dụng delegates để trỏ đến phương thức và cách events giúp xử lý communication giữa objects. Các khái niệm này là nền tảng cho design patterns như Observer và các framework hiện đại như Reactive Extensions. Đối với lập trình viên C#, hiểu rõ delegates và events là cần thiết để xây dựng ứng dụng có khả năng mở rộng và dễ bảo trì.
Tìm hiểu delegates và events trong C# giúp bạn xây dựng các ứng dụng linh hoạt với cơ chế xử lý sự kiện mạnh mẽ.
Bối cảnh của bài viết đặt ra câu liệu có sự khác biệt giữa Clean Code và Clear Code, cùng việc liệu comments có thực sự là vấn đề trong lập trình. Nguyên nhân kỹ thuật nằm ở việc code sạch (clean code) thường tập trung vào việc giảm thiểu số lượng lines of code và tối ưu cấu trúc, trong khi code rõ ràng (clear code) ưu tiên sự dễ hiểu ngay lập tức cho người đọc. Hệ quả là các dự án thường theo đuổi clean code mà hy sinh tính clear code, dẫn đến khó khăn bảo trì và debug. Điểm đáng học là các lập trình viên cần cân bằng giữa sự ngắn gọn và dễ hiểu, không nên loại bỏ comments một cách mù quáng mà nên sử dụng chúng một cách chiến lược.
Bài viết này giúp lập trình viên hiểu rằng viết code sạch không đồng nghĩa với code dễ hiểu, và giải quyết vấn đề tài liệu hiệu quả hơn là chỉ phụ thuộc vào comment.
Bối cảnh bài viết cung cấp hướng dẫn thực tế về Result pattern trong C# và .NET 10. Nguyên nhân kỹ thuật là Result pattern giúp xử lý lỗi một cách rõ ràng thay vì dùng exceptions, đặc biệt quan trọng trong các asynchronous services. Hệ quả là pattern này cải thiện hiệu suất application khi benchmarked so với exception handling truyền thống. Đáng học là cách map Result pattern với ProblemDetails trong APIs và tác động của C# 15 unions đến implementation pattern này.
Bài này giúp lập trình viên hiểu rõ khi nào nên dùng Result pattern trong C# và .NET 10 qua benchmark thực tế và ứng dụng với async services.
.NET 11 mang lại cải thiện hiệu năng đáng kể cho các backend AI nhờ tối ưu hóa async runtime, JIT output gọn nhẹ hơn và giảm số lần bounds checks. Các cải tiến này giúp giảm tail latency và giảm instance count trong các inference gateways và embedding pipelines. Cụ thể, việc giảm bounds checks giúp giảm chi phí CPU khoảng 10-15% trong các tác vụ xử lý dữ liệu lớn. Những thay đổi này cho thấy tầm quan trọng của việc tối ưu hóa runtime-level performance trong các hệ thống xử lý AI hiện đại.
.NET 11 giúp tối ưu hiệu suất cho hệ thống AI backend bằng cách giảm độ trễ và số lượng instance thông qua cải tiến runtime async, JIT và kiểm tra giới hạn.
Đang tải bình luận…