Revisits handling a JSON field whose type varies between string and number in .NET, this time using the new union types feature coming in C# 15 instead of a custom serializer. A StringOrNumber union type is defined with a custom StringValue property to normalize access, and JsonSerializer.Deserialize correctly types the field for both string and numeric JSON representations, including null handling. A sample project with tests is provided on GitHub. Trying this requires the latest .NET 11 SDK pre-release (Release Candidate 1), which ships with a go-live license, though the author recommends waiting for the final November release.
Nguồn: https://www.damirscorner.com/blog/posts/20260925-ModelVariableJsonFieldTypesWithUnions.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.
Đang tải bình luận…
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 …
Bài viết tổng hợp 30 câu hỏi system design bằng .NET với kịch bản thực tế, bao gồm cả đáp án cấp cao và các điểm cần lưu ý trong phỏng vấn. Các công nghệ được đề cập gồm caching, background jobs, real-time systems và khả năng scale trên .NET 10. Bạn sẽ học được cách tiếp cận từng vấn đề kỹ thuật, nhận diện red flags và triển khai các giải pháp tối ưu. Bài viết hữu ích cho lập trình viên chuẩn bị phỏng vấn senior position hoặc muốn nâng cao kỹ năng system design.
Tài liệu này cung cấp 30 câu hỏi phỏng vấn thiết kế hệ thống .NET kèm câu trả lời chi tiết giúp lập trình viên chuẩn bị tốt hơn cho các cuộc phỏng vấn thực tế.
Guid.CreateVersion7() trong .NET tạo giá trị UUIDv7 tuân thủ RFC 9562, tuần tự khi so theo byte từ trái sang phải như PostgreSQL, nhưng SQL Server so sánh byte theo thứ tự khác (byte 10-15 đầu tiên, rồi 8-9, 6-7, 4-5, và cuối cùng 0-3). Điều này khiến GUID v7 hoạt động như một GUID hoàn toàn ngẫu nhiên cho clustered index trong SQL Server, gây ra page splits và fragmentation, như benchmark cho thấy chỉ 0.2% giá trị được thêm vào cuối index. Giải pháp gồm dùng SequentialGuidValueGenerator của EF Core, NEWSEQUENTIALID() của SQL Server, hoặc thư viện như RT.Comb/SequentialGuid để sắp xếp byte lại phù hợp với SQL Server.
Guid.CreateVersion7() không hiệu quả với SQL Server do cách so sánh byte khác biệt gây phân mảnh chỉ số, cần giải pháp thay thế.
.NET 11 RC JIT Compiler đã được nâng cấp đáng kể với guarded devirtualization cho phép tối ưu hóa gọi phương thức ảo, cùng escape analysis được mở rộng để tối ưu bộ nhớ. Trình biên dịch này cũng cải tiến layout của delegate, giảm chi phí tạo đối tượng và loại bỏ bounds-check một cách thông minh hơn. Những thay đổi này giúp tăng hiệu suất thực thi lên đến 15% trong các ứng dụng sử dụng delegate và nhiều đối tượng. Lập trình viên nên đọc bài gốc để hiểu rõ từng kỹ thuật như Escape Analysis và Bounds-Check Elimination, từ đó tối ưu code tốt hơn.
Bài viết tiết lộ những thay đổi nội bộ quan trọng trong trình biên dịch JIT .NET 11 giúp tăng hiệu năng ứng dụng .NET của bạn.
C# 15 giới thiệu tính năng closed hierarchies cho phép kiểm tra compile-time exhaustive switches trên cây lớp phân cấp. Tính năng này đòi hỏi sealed modifier phải được áp dụng một cách nhất quán, gây ra thách thức cho versioning trong thư viện. Microsoft xác nhận sự không tương ngược ngược này sẽ ảnh hưởng đến những ai kế thừa từ lớp có thể mở rộng. Các nhà phát triển cần cân nhắc kỹ khi thiết kế hệ thống phân cấp lớp để tận dụng lợi ích kiểm tra compile-time.
Bài viết này giúp lập trình viên hiểu cách tận dụng Closed Hierarchies trong C# 15 để tối ưu hóa switch statements và quản lý phiên bản code hiệu quả.
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.
Bài viết mô tả quá trình bốn năm viết một bản tin hàng tuần, bắt đầu từ khi số bản đầu tiên được gửi tới vài trăm hộp thư vào tuần này năm ngoái. Nguyên nhân kỹ thuật là việc dựa vào công cụ gửi email đơn giản, không có tự động hoá phân đoạn danh sách nor theo dõi chỉ số tương tác một cách chi tiết, khiến mỗi số phải được soạn thảo và gửi tay. Hệ quả là số lượng người đọc tăng dần từ vài trăm lên hàng nghìn, đồng thời tác giả nhận được phản hồi rõ ràng về những chủ đề khiến taux mở và tỷ lệ click-through cao nhất, nhưng cũng gặp phải áp lực liên tục để duy trì tần suất xuất bản. Điều đáng học là đầu tư vào một nền tảng email có khả năng tự động hoá workflow và phân tích hành vi người đọc giúp giảm tải công việc thủ công và tối ưu hoá nội dung dựa trên dữ liệu thực tế. Cuối cùng, bài viết khuyên nên thiết lập lịch trình xuất bản thực tế, kết hợp với việc thu thập và phản hồi nhanh từ cộng đồng để duy trì sự bền vững của bản tin dài hạn.
Bài viết chia sẻ những bài học quý giá sau bốn năm duy trì viết tin tức hàng tuần cho lập trình viê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.
Đọ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ử