Some days ago I wrote about duck-typing in C# with interceptors. Back then it was a proof-of-concept with a lot of rough edges. Now it is a real library: IfItQuacks.
Source: https://steven-giesel.com/blogPost/41599817-4457-441e-b874-1a5c67f4e7cc. 8 Sync News only summarizes and links out; content copyright belongs to the authors and original sources.
Nhiều ứng dụng hiện đang xuất metrics trực tiếp đến Prometheus, một time-series database lưu trữ counters và histograms. Khi OpenTelemetry trở thành graduated CNCF project, nhiều công ty đang cân nhắc chuyển đổi sang đây để bổ sung thêm signals như logs và traces. Bài viết trình bày cách thực hiện dual-exporting metrics với cả OTLP và Prometheus client, giúp duy trì tương thích trong quá trình chuyển đổi. Giải pháp này cho phép tổ chức incrementally áp dụng OpenTelemetry mà không cần thay đổi ngay lập tức toàn bộ hệ thống monitoring hiện có.
Bài viết giúp bạn hiểu cách chuyển đổi từ Prometheus sang OpenTelemetry kết hợp cả hai để có kiến thức về hai hệ thống giám sát đồng thời.
Đang tải bình luận…
Previews là tính năng mới trong Storybook for .NET giúp trực quan hóa các trang ứng dụng trong cross-platform .NET app. Công nghệ này giải quyết vấn đề khó kiểm tra UI qua nhiều trạng thái khác nhau. Previews hoạt động bằng cách render các component UI độc lập với ứng dụng chính, cho phép kiểm tra nhanh. Giống như Storybook cho JavaScript, phiên bản .NET hỗ trợ các nền tảng như MAUI, Blazor và WinUI. Lập trình viên .NET nên khám phá Previews để cải thiện trải nghiệm kiểm thử UI và giảm thời gian debug.
Previews giúp lập trình viên .NET trực quan hóa và kiểm tra giao diện người dùng trên nhiều nền tảng khác nhau.
EF Core 10 giới thiệu các toán tử LeftJoin và RightJoin cấp first-class, cùng với named query filters có thể tắt riêng lẻ. Bản cập nhật này hỗ trợ complex types được ánh xạ trực tiếp vào JSON columns, cải thiện hiệu suất truy vấn. Các tính năng mới giúp giảm thiểu lượng code cần viết khi xử lý các thao tác join và lọc phức tạp. Với khả năng ánh xạ trực tiếp đến JSON columns, EF Core 10 mang lại giải pháp linh hoạt hơn cho việc làm việc với dữ liệu không quan hệ. Những cải tiến này đặc biệt hữu ích cho các ứng dụng cần xử lý cả cấu trúc quan hệ và phi quan hệ.
EF Core 10 mang đến những tính năng đột phá như LeftJoin, RightJoin và bộ lọc truy vấn có thể tắt riêng lẻ, giúp tối ưu hiệu suất và khả năng linh hoạt trong phát triển ứng dụng.
C# 15 và .NET 11 giới thiệu union types và closed class hierarchies để xử lý các giá trị có nhiều dạng JSON, minh họa qua trường hợp maxUnavailable của Kubernetes và payment-events. Union types khai báo một tập hợp các primitive, class hoặc interface cố định với switch statement đầy đủ do compiler kiểm tra, trong khi closed hierarchies hạn chế kế thừa để compiler xử lý các derived types đã biết là đầy đủ. System.Text.Json serialize union types mà không cần envelope hay discriminator, chỉ ghi JSON shape của case đang hoạt động, còn closed hierarchies có thể chọn discriminator-based polymorphism thông qua InferClosedTypePolymorphism. Cả hai tính năng đều tích hợp với Minimal APIs, MVC, SignalR's JsonHubProtocol, Blazor và OpenAPI, nhưng union types không hỗ trợ cho query strings, route values, headers hay form fields do các giá trị này chỉ bind chuỗi không có JSON parsing.
Bài viết giúp lập trình viên tận dụng union types và closed hierarchies trong C# để xử lý JSON đa dạng hiệu quả hơn trong ASP.NET Core.
EF Core 10 đã thay đổi cách thức hàm Contains gửi danh sách đến SQL Server với giới hạn 2,100 parameter, vượt qua ngưỡng này sẽ gây lỗi. Nguyên nhân kỹ thuật nằm ở SQL Server limiting number of parameters trong một câu lệnh. Hệ quả là query thất bại khi danh sách filter vượt quá 2,100 mục. Bạn có thể giải quyết bằng kỹ thuật SplitQuery hoặc AsEnumerable() nhưng cần benchmark để chọn phương án tối ưu cho trường hợp cụ thể.
Bài này giúp lập trình viên hiểu và giải quyết vấn đề giới hạn tham số khi lọc Entity Framework Core với danh sách lớn.
Bài viết so sánh C# và F# trong môi trường .NET, cho thấy C# vẫn là ngôn ngữ phổ biến cho phát triển ứng dụng truyền thống. Nguyên nhân kỹ thuật mà tác giả cho F# vượt trội là sự hỗ trợ mạnh mẽ cho lập trình hàm: kiểu dữ liệu không thay đổi, suy luận kiểu mạnh mẽ và pattern matching tích hợp sẵn. Nhờ những tính năng này, mã F# thường ngắn gọn hơn, dễ duy trì và giảm nguy cơ lỗi thời gian chạy so với mã C# tương đương. Hệ quả là các nhóm phát triển có thể đạt được tốc độ sản xuất cao hơn và chất lượng code ổn định khi áp dụng F# cho các bài toán phức tạp như xử lý dữ liệu hoặc dịch vụ tài chính. Điều đáng học là khi đánh giá ngôn ngữ cho dự án, không chỉ xem xét mức độ phổ biến mà còn cân nhắc lợi ích của paradigm hàm và mức độ trừu tượng mà ngôn ngữ cung cấp để quyết định xem việc đầu tư thời gian học F# có mang lại lợi ích lâu dài không.
Bài viết này giúp lập trình viên hiểu tại sao F# vượt trội hơn C# trong nhiều trường hợp thực tế.
C# 15 giới thiệu extension indexers, hoàn thiện bộ tính năng extension members bắt đầu từ C# 14 với extension methods, properties, static members và operators. Extension indexers tuân thủ cùng cú pháp extension block và chỉ được compiler sử dụng khi không có indexer thực tế tương ứng; các indexer Index/Range ngầm định có ưu tiên cao hơn, và extension indexers trên arrays và strings bị bỏ hoàn toàn theo quy tắc ngôn ngữ cơ bản. Tính năng này hiện ở chế độ preview và yêu cầu đặt LangVersion thành preview trong .NET 11 preview 7. Conversion operators vẫn là loại member duy nhất không hỗ trợ extension và hiện chưa có kế hoạch hỗ trợ.
Bài viết này giúp lập trình viên hiểu cách sử dụng extension indexers trong C# 15 để mở rộng khả năng làm việc với các loại dữ liệu.
Trong ASP.NET Core, CancellationTokens giúp tiết kiệm tài nguyên server khi xử lý các tác vụ dài. Token này hoạt động bằng cách cho phép bạn ngắt các operation chưa hoàn thành khi client disconnect hoặc timeout. Việc sử dụng CancellationTokens giảm đáng kể CPU, memory usage và số lượng database calls không cần thiết. Bạn nên học cách implement CancellationTokens trong cả controller actions và background workers để tối ưu performance. Điều quan trọng là kiểm tra token thường xuyên trong các loop dài và async operation để ứng dụng phản hồi nhanh hơn khi cần hủy.
CancellationTokens giúp lập trình viên tối ưu hóa tài nguyên server và cải thiện hiệu năng ứng dụng C# và ASP.NET Core.
Read the news here, practice coding, follow structured courses and train for IELTS on our sibling products — all connected through one 8 Sync account.
The ecosystem home: product overviews, blog and full pricing.
ExploreLearn along a clear roadmap: videos, auto-graded quizzes, certificates and mentors who ship for a living.
View the roadmap1,000+ DSA problems in Vietnamese, auto-graded across 7 languages — many FREE, right in your browser.
Practice for freeAI grading for all four IELTS skills with detailed rubric feedback.
Try it freeA 22 MB AI IDE for Vietnamese devs.
Download freeOrganizational memory for AI agents.
ExploreAI that staffs your Fanpage and qualifies leads for you.
Try it