Bài viết trong nước
【ASP.NET Core】Ủy quyền theo cấp độ người dùng
https://www.cnblogs.com/tcjiaan/p/17024363.html.
Bài viết này mô tả cách ASP.NET Core phân quyền cho người dùng dựa trên cấp độ của họ.
Sử dụng phần mở rộng foreach trong C# 9
https://www.cnblogs.com/newbe36524/archive/2023/01/06/17018770.html .
Trong C# 9, vòng lặp foreach có thể sử dụng phương thức mở rộng. Trong bài viết này, chúng ta sẽ xem xét cách mở rộng vòng lặp foreach trong C# 9 bằng các ví dụ.
MassTransit: Triển khai các giao dịch phân tán được sắp xếp theo Saga dựa trên StateMachine
https://www.cnblogs.com/sheng-jie/archive/2023/01/02/17019926.html .
Bài viết này giới thiệu cách triển khai các giao dịch phân tán theo phong cách saga thông qua MassTransit.
『Hãy xem .NET7』Hãy để tuần tự hóa JSON phản ánh tính đa hình
https://mp.weixin.qq.com/s/L3-vkd2e3mLPcopjUTEzfg .
Kể từ khi System.Text.Json ra đời, chúng tôi đã nỗ lực để thêm các chức năng và cải thiện hiệu suất. Trong .NET7, khả năng thích ứng đa hình đã được đưa vào.
『Xem .NET7』Trình sửa đổi truy cập mới——tệp
https://mp.weixin.qq.com/s/sQQZuC2VLyvq8pNpfe6VJg .
NET7 ra đời và trình sửa đổi quyền truy cập tệp đã được thêm vào C# 11. Vâng, đó là ý nghĩa của file. File là một trình sửa đổi truy cập chỉ có thể được sử dụng để định nghĩa các kiểu. Nó không thể định nghĩa các thành viên lớp trong một kiểu, ngay cả các lớp lồng nhau. Tệp được sử dụng để xác định trình sửa đổi truy cập kiểu nhỏ nhất, giới hạn việc truy cập các thành viên của các kiểu khác trong tệp hiện tại.
Sử dụng .NET để đánh dấu các điểm tọa độ quan trọng trên bản đồ trò chơi
https://mp.weixin.qq.com/s/-aUlTsI2IzbMNrq94OHVgQ .
Bài viết này lấy lối chơi khám phá Cloud City của trò chơi Moonlight Blade OL làm ví dụ để giới thiệu cách sử dụng .NET để đánh dấu một số lượng lớn các điểm tọa độ quan trọng trong bản đồ trò chơi.
Tối ưu hóa hiệu suất .NET - Sử dụng RecyclableMemoryStream thay vì MemoryStream
https://mp.weixin.qq.com/s/fnWo-TcxgC_jepkC2ZQUPQ .
Kỹ thuật tối ưu hóa mà tôi giới thiệu với các bạn hôm nay thực chất là phiên bản gộp của MemoryStream, RecyclableMemoryStream, giúp giảm mức sử dụng bộ nhớ, thời gian tạm dừng GC và thời gian GC bằng cách gộp bộ đệm cơ bản của MemoryStream để cải thiện hiệu suất.
Chỉ mục khóa chính của SqlServer có thực sự được sắp xếp theo thứ tự vật lý không?
https://mp.weixin.qq.com/s/wU5L1hWItRuV90tUAlUBow .
Gần đây tôi đã đọc SQL Server 2008 Query Performance Optimization. Cuốn sách nói rằng khi một bảng tạo ra một chỉ mục nhóm, các hàng trong bảng sẽ được sắp xếp vật lý theo thứ tự của chỉ mục khóa chính. Có một từ khóa ở đây: sắp xếp vật lý. Nếu bạn không hiểu nguyên tắc cơ bản, bạn sẽ bị lừa. Trên thực tế, nếu bạn suy nghĩ kỹ, không thể đạt được sự sắp xếp vật lý nghiêm ngặt, điều này sẽ làm giảm đáng kể hiệu suất. Trong bài viết này, chúng ta sẽ bắt đầu từ dưới lên và nói về những gì đang diễn ra.
SQLSERVER thực sự có thể gọi mã C# không?
https://mp.weixin.qq.com/s/g-AmmPIeMsW7ja9pO-yzEg .
Vài ngày trước, tôi thấy một hàm Function lạ gọi phương thức UserLogin trong thư viện C#. Điều này làm tôi rất quan tâm. Như chúng ta đều biết, SQLSERVER được viết bằng C++, vậy làm sao C++ có thể kết nối với C#? Hơn nữa, C# là ngôn ngữ được quản lý và cần JIT để biến nó thành ngôn ngữ gốc. Vậy JIT này ở đâu? Chúng ta hãy cùng nhau nghiên cứu những câu hỏi này.
chủ đề
【Tiếng Việt】paint.net 5.0 chính thức được phát hành!
https://forums.getpaint.net/topic/121643-paintnet-50-is-now-available/ .
Paint.NET 5.0 đã được phát hành.
Phiên bản này bao gồm hỗ trợ phát hiện căng thẳng, kết xuất dựa trên GPU và xử lý hình ảnh, hệ thống plugin hiệu ứng mới và nhiều cải tiến về hiệu suất.
Hiện nay nó cũng được xây dựng bằng .NET 7 và mã C++/CLI cũ đã được thay thế bằng TerraFX.Interop.Windows. . .
【Tiếng Anh】ReSharper 2023.1 Roadmap | Blog Công cụ .NET
https://blog.jetbrains.com/dotnet/2023/01/10/resharper-2023-1-roadmap/ .
Lộ trình ReSharper 2023.1.
- Sửa chữa phương pháp tắt
- Chuyển đổi sang mô hình ngoài quy trình
- Kiểm tra ngữ pháp
- Di chuyển từ trình kiểm tra chính tả tích hợp sang JetBrains Grazie
- Tự động hóa kiểm thử đơn vị
- Bản địa hóa
- Tiếng Trung giản thể, tiếng Nhật, tiếng Hàn
- Thiết kế lại UX/UI
- khác
- Phát triển Web
- Cập nhật cuộc trò chuyện
【Tiếng Anh】Rider 2023.1 Roadmap | Blog Công cụ .NET
https://blog.jetbrains.com/dotnet/2023/01/10/rider-2023-1-roadmap/ .
Lộ trình cho Rider 2023.1.
- Cấu hình Plugin Đồng bộ hóa
- Cải thiện hỗ trợ cho Docker
- So sánh lược đồ cơ sở dữ liệu
- Phát triển trò chơi
- Đoàn kết
- Động cơ không thực tế
- Kiểm tra ngữ pháp
- Di chuyển từ trình kiểm tra chính tả tích hợp sang JetBrains Grazie
- Lặt Vặt
- Giao diện người dùng
- Điều chỉnh giao diện người dùng mới
- Bản địa hóa
- Tiếng Trung giản thể, tiếng Nhật, tiếng Hàn
[Tiếng Anh] domaindrivendev/Swashbuckle.AspNetCore đã phát hành phiên bản 6.5.0
https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases/tag/v6.5.0 .
Swashbuckle.AspNetCore 6.5.0 đã được phát hành.
Với bản phát hành này, .NET 7 đã được thêm vào khuôn khổ mục tiêu và giao diện người dùng Swagger đã được cập nhật.
[Tiếng Anh] grpc/grpc đã phát hành phiên bản v1.46.6
https://github.com/grpc/grpc/releases/tag/v1.46.6 .
gRPC 1.46.6 (C-Core) đã được phát hành.
Bản phát hành này giải quyết lỗ hổng trong zlib và sửa một số lỗi.
[Tiếng Anh] FluentAssertions/FluentAssertions đã phát hành phiên bản 6.9.0
https://github.com/fluentassertions/fluentassertions/releases/tag/6.9.0 .
FluentAssertions 6.9.0 đã được phát hành.
Đã thêm các phương thức và kiểu khẳng định liên quan đến TimeOnly, phương pháp, v.v.
Bài viết, slide, v.v.
[Tiếng Nhật] [C#] Hiển thị lịch Nhật Bản trong DateTime - Qiita
https://qiita.com/ikuzak/items/b0fa005d267041890ed6 .
Cách định dạng DateTime bằng chữ cái tiếng Nhật như trong R (2021).
【Tiếng Nhật】True Asynchronous IO trong C#
https://zenn.dev/k_taro56/articles/csharp-true-async-io .
Về việc có nên sử dụng I/O không đồng bộ của FileStream hay không, useAsync mặc định được đặt thành false, do đó đây không phải là I/O không đồng bộ.
【Tiếng Anh】Chiến lược kế thừa trong Entity Framework Core 7
https://medium.com/abp-community/inheritance-strategies-in-entity-framework-core-7-e0cfd42877a5 .
Bài viết này giới thiệu tóm tắt về TPC (Bảng theo Kiểu cụ thể) được hỗ trợ trong EF 7 như một cách lưu trữ các mô hình kế thừa trong Entity Framework Core, cũng như TPH và TPT được hỗ trợ trước EF 7.
SQLitePCLRaw và tính bền vững của mã nguồn mở
https://ericsink.com/entries/sqlitepclraw_sustainability.html .
Trạng thái, mối quan tâm và lợi ích của việc duy trì SQLitePCLRaw, ràng buộc gốc cho SQLite.
【Tiếng Anh】Phân tích ngôn ngữ mẫu bằng C# và Pidgin | Zach on Code
https://zachoncode.dev/blog/parsing-template-language-with-csharp-and-pidgin/ .
Mô tả cách triển khai ngôn ngữ mẫu bằng cách sử dụng thư viện phân tích cú pháp Pidgin.
【Tiếng Nhật】Phiên bản tiền phát hành của ReactiveProperty v9.0.0 đã ra mắt!
https://zenn.dev/okazuki/articles/reactiveproperty-v9-0-0-pre1.
Mô tả các cải tiến, tổ chức lại và các lớp mới trong bản phát hành trước ReactiveProperty v9.0.0.
[Tiếng Anh] Con đường ReSharper ngoài quy trình: Gõ không đồng bộ | Blog Công cụ .NET
https://blog.jetbrains.com/dotnet/2023/01/05/resharper-out-of-process/ .
Giải thích những trở ngại chúng tôi gặp phải và những gì chúng tôi đang làm để di chuyển ReSharper chạy trong một tiến trình riêng biệt với Visual Studio (ngoài tiến trình).
[Tiếng Nhật] [Theo yêu cầu] Sự kiện đánh giá Hội nghị .NET 2022 Tokyo ~ Chuỗi sự kiện tham quan cộng đồng Microsoft Nhật Bản
https://info.microsoft.com/JA-ModApps-VDEO-FY23-12Dec-23-MKTO-FY23-dotnetconf-2022-Recap-Tokyo-Gated-video-SRGCM8691_LP01- .
Các video phiên họp từ sự kiện .NET Conference 2022 Recap Tokyo có thể xem theo yêu cầu.
- Chương trình nghị sự (PDF)
【Tiếng Nhật】Xác định xem bạn có cần quyền quản trị để ghi vào thư mục trong C# hay không - Qiita
https://qiita.com/Alone-and-Slow/items/a2332bcb500051e19fbc .
Cách kiểm tra xem bạn có quyền ghi vào một thư mục trong Windows hay không.
Kiểm tra ASP.NET Core FastEndpoints | Khalid Abuhakmeh
https://khalidabuhakmeh.com/testing-aspnet-core-fastendpoints .
Giải thích về kiểm thử đơn vị khi sử dụng FastEndpoints, một nền tảng được xây dựng trên ASP.NET Core.
Triển khai nhà cung cấp cấu hình tùy chỉnh trong .NET 7
https://medium.com/@gokerakce/implement-a-custom-configuration-provider-in-net-7-c0a195dcd05f .
Mô tả cách triển khai nhà cung cấp cấu hình tùy chỉnh cho Microsoft.Extensions.Configuration trong .NET 7.
Bài viết này triển khai một nhà cung cấp có thể đọc và đọc lại các giá trị dữ liệu từ SQL Server.
【Tiếng Anh】Cách chạy cơ sở dữ liệu một lần cho các bài kiểm tra của bạn. Cải thiện độ chính xác của thử nghiệm tích hợp với Testcontainers
https://blog.genezini.com/p/cach-chuyen-dung-dau-dau-cho-cac-thi-tac-tien-tien-tien-tien-tien-tien-tien-tien-tien-tien/ .
Mô tả cách sử dụng Testcontainer để chạy cơ sở dữ liệu dùng một lần cho các bài kiểm tra đơn vị và tích hợp của bạn.
【Tiếng Anh】Năm phím tắt để cải thiện năng suất - Visual Studio Blog
https://devblogs.microsoft.com/visualstudio/the-visual-studio-editor-can-do-that/ .
Năm phím tắt giúp tăng năng suất làm việc trong Visual Studio.
- Điều khiển + D : Sao chép một dòng
- Điều khiển + Sự thay đổi + L : Xóa toàn bộ dòng
- Sự thay đổi + Thay thế + . : Chọn từ giống hệt tiếp theo
- Thay thế +Chọn: Lựa chọn hộp (hình chữ nhật)
- Thay thế + Điều khiển + Nhấp chuột: chèn nhiều con trỏ
【Tiếng Anh】Trình gỡ lỗi .NET khó hiểu: Đối tượng proxy
https://washi.dev/blog/posts/window-proxy-objects/ .
Mô tả một kỹ thuật đánh lừa trình dịch ngược và trình gỡ lỗi liên quan bằng cách chèn các đối tượng proxy.
[Tiếng Nhật] [Ứng viên C# 12] Tham số mặc định và tham số params của biểu thức lambda | Blog UFCPP
https://ufcpp.net/blog/2023/1/lambda-default/ .
Về những cải tiến cho phép tham số mặc định và tham số params trong biểu thức lambda, đây là tính năng ứng cử viên cho C# 12.
[Tiếng Anh] Cải tiến về việc tiêm ngôn ngữ trong Rider 2022.3|Blog Công cụ .NET
https://blog.jetbrains.com/dotnet/2023/01/12/language-injection-improvements-in-rider-2022-3/ .
Giới thiệu về những cải tiến về tính năng chèn ngôn ngữ cho Rider 2022.3.
Hỗ trợ chuỗi ký tự thô, hỗ trợ hoàn thành chuỗi trong nối chuỗi, hỗ trợ thuộc tính LanguageInjection, hỗ trợ thuộc tính StringSyntax trong .NET 7, v.v.
【Tiếng Anh】Debug Encoding Text - Blog Visual Studio
https://devblogs.microsoft.com/visualstudio/debugging-encoded-text/ .
Giới thiệu về trình trực quan hóa văn bản gỡ lỗi trong bản xem trước Visual Studio mới nhất.
Công cụ trực quan hóa văn bản trong bản xem trước có thể hiển thị kết quả mã hóa và giải mã Base64 và URL, cũng như kết quả giải mã JWT.
Trích xuất siêu dữ liệu từ trình xử lý API tối thiểu: Đằng sau hậu trường của API tối thiểu - Phần 2
https://andrewlock.net/behind-the-scenes-of-minimal-apis-2-extracting-metadata-from-a-minimal-api-handler/ .
Giải thích cách trích xuất siêu dữ liệu từ Delegate được truyền dưới dạng trình xử lý tới điểm cuối Minimal API và cách tạo RequestDelegate.
Thư viện, kho lưu trữ, công cụ mã nguồn mở, v.v.
【Tiếng Anh】jellyfin/jellyfin: Hệ thống phương tiện phần mềm miễn phí
https://github.com/jellyfin/jellyfin .
Một máy chủ phương tiện được xây dựng trên .NET, giống như Emby hoặc Plex.
- Hệ thống phần mềm miễn phí | Jellyfin
- Tiêu điểm FOSS: Jellyfin
【Tiếng Anh】JonPSmith/Net.LocalizeMessagesAndErrors: Thư viện này cung cấp mã bổ sung để hỗ trợ nhiều ngôn ngữ khác nhau trong hệ thống .NET của bạn dễ dàng hơn. Với những thông tin này trong tay, chúng tôi có thể cung cấp dịch vụ cho khách hàng.
https://github.com/JonPSmith/Net.LocalizeMessagesAndErrors .
Thuộc về các ứng dụng .NET.
- Cải thiện hỗ trợ cho nhiều ngôn ngữ trong các ứng dụng .NET - The Reformed Programmer
【Tiếng Anh】LINQ Me Up
https://linqmeup.com/ .
Công cụ chuyển đổi câu lệnh SQL SELECT sang LINQ bằng AI.
Trang web, tài liệu, v.v.
Tweets
Câu chuyện như sau: C# có rất nhiều từ khóa theo ngữ cảnh đến mức bạn có thể định nghĩa mọi thứ bằng các mã định danh trông giống như các từ dành riêng và viết mã kỳ lạ.
https://twitter.com/jaredpar/status/1613615815231934468?s=12 .
Trong một số trường hợp, cùng một cụm lắp ráp có cùng tên đầy đủ được nhận dạng là các loại khác nhau trong cùng một quy trình. (Ví dụ, khi AssemblyLoadContext khác). Đây không phải là vấn đề đối với hầu hết người dùng, nhưng có thể là vấn đề trong những trường hợp như Analyzer hoặc Source Generator.
https://twitter.com/jaredpar/status/1613211080918192133?s=12 .
Nghiên cứu sâu hơn
【Tiếng Anh】Viết lại phần triển khai Matrix3x2 và Matrix4x4 tannergooding - Yêu cầu kéo #80091 - dotnet/runtime .
https://github.com/dotnet/runtime/pull/80091 .
Thông báo bản quyền
- Phần trong nước được tổ chức bởi InCerry: https://github.com/InCerryGit/WeekRef.NET
- Nội dung còn lại đến từ Myuki WeekRef, được dịch bởi InCerry (đã được ủy quyền): https://github.com/mayuki/WeekRef.NET
Vì tôi không có đủ thời gian để biên soạn một số bài viết trong nước, tôi hoan nghênh mọi người đóng góp vào mục ".NET Weekly-Domestic Articles". Nếu bạn cần quảng bá bài viết hoặc framework, dự án nguồn mở của riêng mình, bạn có thể gửi vấn đề theo địa chỉ dự án bên dưới hoặc gửi tin nhắn riêng đến tài khoản WeChat công khai của tôi.
Định dạng như sau:
- Một tiêu đề khoảng 10 đến 50 từ
- Liên kết truy cập trang web bài viết hoặc dự án tương ứng
- Phần giới thiệu nên dài trong vòng 200 từ. Nếu quá dài sẽ ảnh hưởng đến trải nghiệm đọc.
https://github.com/InCerryGit/.NET-Weekly .
Nhóm trao đổi tối ưu hóa hiệu suất .NET
Tôi tin rằng mọi người thường gặp phải một số vấn đề về hiệu suất trong quá trình phát triển, do thiếu các công cụ hiệu quả để tìm ra điểm nghẽn hiệu suất hoặc không biết cách tối ưu hóa sau khi phát hiện ra điểm nghẽn. Một số độc giả đã hỏi tôi rằng có nhóm trao đổi kỹ thuật nào không, nhưng vì nhiều lý do, nhóm này vẫn chưa được thành lập. Bây giờ tôi vui mừng thông báo ở đây rằng tôi đã tạo một nhóm chuyên trao đổi kinh nghiệm tối ưu hóa hiệu suất .NET. Các chủ đề bao gồm nhưng không giới hạn ở:
- Cách tìm điểm nghẽn hiệu suất của .NET, chẳng hạn như sử dụng APM, công cụ dotnet, v.v.
- Triển khai các nguyên tắc cơ bản của .NET framework, chẳng hạn như trình thu gom rác, JIT, v.v.
- Cách viết mã .NET hiệu suất cao và những điểm yếu về hiệu suất
Tôi hy vọng sẽ có nhiều bạn bè cùng chí hướng tham gia cùng tôi và chia sẻ một số vấn đề về hiệu suất .NET gặp phải trong công việc cũng như kinh nghiệm phân tích và tối ưu hóa hiệu suất có giá trị. Hiện tại, Nhóm 1 đã đầy. Nhóm 2 hiện đã mở. Bạn có thể quét mã QR để vào.
Nếu có thông báo số lượng người đã đạt tới 200, bạn có thể thêm tôi trên WeChat và tôi sẽ thêm bạn vào nhóm: ls1075.
Ngoài ra, một nhóm QQ đã được tạo, số nhóm: 687779078, mọi người đều có thể tham gia.
Cuối cùng, bài viết này về .NET Weekly [Số báo tháng 1 năm 2023-01-13] đã kết thúc tại đây. Nếu bạn muốn biết thêm về .NET Weekly [Số báo tháng 1 năm 2023-01-13], vui lòng tìm kiếm các bài viết của CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!