.NET周報【11月第1期 2022-11-07】

國內文章

開源·安全·賦能 - .NET Conf China 2022

https://mp.weixin.qq.com/s/_tYpfPeQgyEGsnR4vVLzHg

.NET Conf China 2022 是面向開發人員的社區峰會,延續 .NET Conf 2022 的活動,慶祝 .NET 7 的發布和回顧過去一年來 .NET 在中國的發展成果,它是由中國各地區的技術社區共同發起舉辦、知名企業和開源組織聯合協辦,是年度國內規模最大的 .NET 線上和線下會議,目的是用中文傳播 .NET 相關技術的知識和經驗。

今年,.NET 相關技術社區將一起,于2022 年 12 月 3 日~4 日 舉辦為期兩天的 .NET Conf China,邀請 .NET 中國開發者共襄盛舉。

.NET 零開銷抽象指南

https://www.cnblogs.com/hez2010/p/dotnet-zero-abstraction.html

目前已經到了 .NET 7 和 C# 11,我們已經能找到大量的相關設施,不過我們仍處在改進進程的中途。本文則利用目前為止已有的設施,講講如何在 .NET 中進行零開銷的抽象。

如何在.NET 程序崩潰時自動創建 Dump?

https://www.cnblogs.com/InCerry/archive/2022/11/02/how_to_automic_create_dump_when_app_crash.html?

介紹了幾種當.NET 程序崩潰自動創建 Dump 的方式。

聊一聊對一個 C# 商業程序的反反調試

https://www.cnblogs.com/huangxincheng/archive/2022/11/02/16849808.html

介紹了如何對商業程序反調試機制進行破解,從而達到逆向分析的目的。

C# 9.0 添加和增強的功能【基礎篇】

https://www.cnblogs.com/czzj/archive/2022/11/03/16845334.html

介紹了在 C# 9.0 中添加的新的語法和功能。

.NET 性能系列文章二:Newtonsoft.Json vs. System.Text.Json

https://www.cnblogs.com/InCerry/archive/2022/10/31/net-performance-series-2-newtonsoft-vs-system-text-json-2bf43e037db0.html

比較 Newtonsoft.Json 和 System.Text.Json 的性能,System.Text.Json 的性能是否已經超越了其它 Json 序列化庫。

為.NET 應用添加截圖功能

https://mp.weixin.qq.com/s/wEzPwThrcfnDlx8C_8aLAQ

本文介紹了 .NET 實現截圖功能的思路和過程,如果你僅想了解最后的解決方案,可以直接查看文章末尾。

C# 的 async/await 其實是 stackless coroutine

https://mp.weixin.qq.com/s/LMlR9W1KRHfj58xqkOkmfA

和大家聊一聊關于.NET 無棧協程的事情。

主題

議程 - .NET Conf 2022

https://www.dotnetconf.net/agenda

2022 年 dotnetconf 大會的舉辦時間為 11 月 8 日晚(中國時間)至 11 月 11 日。

NET Conf 2022 回顧活動東京~微軟日本社區活動之旅系列 - 微軟活動

https://msevents.microsoft.com/event?id=3219140458

NET Conf 2022 回顧活動將于 12 月 6 日星期二在東京舉行。該活動將在微軟日本總部舉行,可免費參加。

在 2022 年的國際互聯網大會上,晚上的會議將包括一個招待會、"詢問發言人 "和社區的閃電講座。

在.NET 會議學生區創建你的.NET 投資組合 - .NET 博客

https://devblogs.microsoft.com/dotnet/dotnet-conf-2022-student-zone/

.NET 學生區,是在.NET 大會上為學生提供的直播活動。

在.NET 學生區,你可以了解到關于.NET 的各種信息。.NET Conf 學生區云技能挑戰賽,三名參與者(學生)將贏得 SWAG(獎品)。

ASP.NET Core 7 的性能改進 - .NET 博客

https://devblogs.microsoft.com/dotnet/performance-improvements-in-aspnet-core-7/

一篇解釋.NET 7 中 ASP.NET Core 的性能改進的文章。

它解釋了各種性能改進以及基準。

  • 通用服務器

    • 內存池分區

    • 將 Windows 的 IO 池切換到使用管理實現

    • 減少連接關閉時的異常情況。

    • 擴展了 PoolingAsyncValueTaskMethodBuilder 的應用

  • HTTP/2

    • 減少鎖的爭奪

    • 增加默認窗口大小

  • HTTP/3

    • 改進的 QPack 處理

  • 雜項

    • SignalR

    • 認證

    • HttpResult

    • IndexOfAny

    • Filters

.NET 7 在.NET MAUI 中的性能改進 - .NET 博客

https://devblogs.microsoft.com/dotnet/dotnet-7-performance-improvements-in-dotnet-maui/

描述.NET 7 中.NET MAUI 性能改進的文章。

它深入研究了啟動時間、應用程序大小和滾動性能方面的改進。

  • 滾動和布局性能的改進

    • LOLs/秒。

    • 避免重復調用View.Context

    • 避免在CollectionView中調用View.Context

    • 減少布局時的 JNI 調用

    • 緩存 RTL 和黑暗模式值

    • 避免在布局過程中生成 "IView[]"。

    • 將 RTL 布局計算留給平臺

    • 關于 "CollectionView "的其他說明。

  • 啟動時的性能改進

    • 安卓 NDK 編譯器標志

    • DateTimeOffset.Now

    • 避免 "ColorStateList(int[][],int[])"。

    • 為.NET MAUI 改進 AOT 配置文件

    • 在 Java 互操作性中更好的字符串比較

    • 改進了 XAML 的編譯工作

    • 在 Windows 上默認啟用 ReadyToRun 的功能

    • 默認啟用 macOS 上的雙體系結構

    • 關于RegexOptions.Compiled的說明。

    • Mono 解釋器的改進

  • 應用規模的改進

    • 修復安卓系統中 DebuggerSupport 修剪器值的問題

    • R8 Java Code Shrinker 的改進

    • 能夠排除 Kotlin 相關的文件

    • 改進泛型中的 AOT 輸出

  • 工具和文件

    • 剖析.NET MAUI 應用程序

    • 啟動時間測量

    • 應用規模報告工具

    • 試驗或高級配置

Uno Platform 4.6: Hello .NET 7!

https://platform.uno/blog/uno-platform-4-6-hello-net-7/

宣布 Uno 平臺 4.6 將支持.NET 7。

文章介紹了 Uno 平臺 4.6 的改進,包括對.NET 7 和 Visual Studio 17.4 的支持、庫資源、SVG 支持、Android 13 支持、WebAssembly Bootstrap 7.0、ASP.NET Core 介紹了托管項目。

用 CoreWCF 和升級助手將 WCF 應用程序帶到最新的.NET 上 - .NET 博客

https://devblogs.microsoft.com/dotnet/migration-wcf-to-corewcf-upgrade-assistant/

介紹用于將.NET Framework WCF 項目遷移到 CoreWCF 的升級助手的文章。

這篇文章描述了該工具的安裝和執行,以及基于一個示例項目所執行的遷移過程。它指出,一些不支持的自動升級包括基于網絡或使用.svc 文件的服務、使用 XML 的行為配置、NetTcpBinding 或不基于 HTTP 的綁定等。

宣布.NET 社區工具包 v8.1.0 預覽版 1 - .NET 博客

https://devblogs.microsoft.com/dotnet/announcing-dotnet-community-toolkit-v810-preview-1/

宣布.NET 社區工具包 v8.1.0 預覽版 1。

MVVM 工具包源生成器支持 ObservableProperty 的自定義屬性,優化源生成器本身,IObservable<T>信使擴展,支持.NET 7 和 C# 11(Ref<T>NullableRef<T>,等等)和其他各種改進。

.NET Interactive Notebooks 改名為 Polyglot Notebooks!

https://devblogs.microsoft.com/dotnet/dotnet-interactive-notebooks-is-now-polyglot-notebooks/

伴隨著.NET Interactive Notebooks 的發展,現在改名為 Polyglot Notebooks!

Visual Studio Code 上的一個擴展 - .NET Interactive Notebooks,已經更名為 Polyglot Notebooks。

由于對.NET Interactive Notebooks 的支持增加,該名稱已不再合適,因此改名為 Polyglo tNotebooks。

文章、PPT 等

neue cc - MemoryPack 中.NET 7/C# 11 代的串行器優化技術。

https://neue.cc/2022/11/04_memorypack.html

文章描述了基于 MemoryPack 的二進制序列器實現的.NET 7 / C# 11 代中的序列器優化技術。

SkiaSharp: 用 SKShader 進行陰影填充

https://bclehmann.github.io/2022/11/05/HatchingWithSKShader.html

關于如何在 SkiaSharp 中使用 SKShader 進行填充的文章。

SkiaSharp: 用 SKColourFilter 進行解密

https://bclehmann.github.io/2022/11/06/UnmaskingWithSKColorFilter.html

關于如何在 SkiaSharp 中使用 SKColourFilter 來改變顏色的文章。

在 ASP.NET Core 應用程序中使用 Azure AD 與多租戶切換租戶

https://damienbod.com/2022/10/31/switch-tenants-in-an-asp-net-core-app-using-azure-ad-with-multi-tenants/

關于如何在 Azure AD 中切換多租戶的 ASP.NET Core 應用程序的租戶的文章。

在 C#.NET 中矢量類的條件分支(if...then...else) - Qiita

https://qiita.com/C5D5E5/items/dd9da77e24752ff50cec

關于Vector.ConditionalSelect的文章,當使用 Vector.ConditionalSelect 時,用于條件性分支。

Dotnet(.NET)WinUI、Uno 和 Maui 應用程序的性能跟蹤 - Nick 的.NET 旅行

https://nicksnettravels.builttoroam.com/dotnet-trace/

關于如何使用 dotnet-trace 和 dotnet-dsrouter 來獲得 WinUI、Uno Platform 和 MAUI 應用程序的跟蹤的文章。

異步互斥 | David 的博客

https://dfederm.com/async-mutex/

關于實現 AsyncMutex 的文章,它包裝了 Mutex 并使其可用于 async/await。

[C#]調試時需要的字節數組的十六進制轉儲 - Qiita

https://qiita.com/amutou/items/6a0954c7bf190127f3ef

輸出十六進制轉儲的代碼,如 od 命令或二進制編輯器。

在 C#中基本數字類型之間的計算是什么類型? - 齊塔

https://qiita.com/full_deviation/items/a1e01871c33673fd66af

C#數字類型(sbyte,byte,ushort,short,uint,int...)。這篇文章研究了計算以下每種類型的組合時的結果類型。

容器化的 Blazor:微軟正在考慮新的客戶端主機 - Visual Studio 雜志

https://visualstudiomagazine.com/articles/2022/11/02/blazor-docker.aspx

一篇關于使 Blazor WebAssembly 可容器化的討論,與 Blazor Server 不同,Blazor Server 是靜態構建的,不需要 ASP.NET Core 作為方法。

.NET 月報 | 2022 年 11 月 | .NET 工具博客

https://blog.jetbrains.com/dotnet/2022/11/02/net-annotated-monthly-november-2022/

JetBrains 的.NET 相關信息匯編 2022 年 11 月。

Visual Studio 如何使用 Visual Studio 來構建 Visual Studio - Microsoft Ignite - Session Catalogue

https://ignite.microsoft.com/ja-JP/sessions/bafdbcbc-f9e3-49ed-ac0b-fd1dd8cbc155?source=sessions

關于 Visual Studio 背后的團隊為發展 Visual Studio 所做的事情的會議。

有效地建立一個非常大的項目的內部運作,如 Visual Studio,自動化測試和性能跟蹤。

開源庫

AutumnSky1010/SoundMaker: 你可以用這個庫做以下內容,并把 chiptune 的聲音導出為 wave 格式的文件。

https://github.com/AutumnSky1010/SoundMaker

用于生成/輸出類似于 chiptune 的音樂的庫。

tompazourek/NaturalSort.Extension: 🔀 StringComparison 的擴展方法,增加了對自然排序的支持(例如 "abc1", "abc2", "abc10",而不是 "abc1", "abc10", "abc2")。

https://github.com/tompazourek/NaturalSort.Extension

Explorer 文件名排序中使用的自然順序排序的擴展庫。

  • 在 Blazor WebAssembly 中按自然順序對文件名進行排序。- Qiita[1]

devlooped/avatar: 一個現代化的編譯時生成的攔截/代理庫

https://github.com/devlooped/avatar

一個攔截庫,通過使用 Source Generator 在編譯時生成代理。使用源碼生成器可以在不能進行 IL 的 Emit(動態代碼生成)的環境下運行。

  • 關于 Moq 中使用的 Avatar 庫的一點研究た - Qiita[2]

jinek/Consolonia: 一個適用于.NET 的跨平臺 UI 框架.

https://github.com/jinek/Consolonia

在控制臺實現 Avalonia 用戶界面。

  • 使用 Consolonia 在文本控制臺運行的 Avalonia UI 應用程序[3]

pierre3/PlantUmlClassDiagramGenerator: 這是一個生成器,用于從 C#源代碼中創建 PlantUML 的類圖。

https://github.com/pierre3/PlantUmlClassDiagramGenerator

基于 C#源代碼生成 PlantUML 類圖的工具。

  • PlantUmlClassDiagramGenerator 1.3.0,一個從 C#源代碼生成 PlantUML 類圖的工具,現在可以使用了! - Qiita[4]

ststeiger/PdfSharpCore: 將 PdfSharp 庫移植到.NET Core 中 - 基本上刪除了 GDI+(只缺少 GetFontData- 可以用 freetype2 代替)。

https://github.com/ststeiger/PdfSharpCore

一個用于生成 PDF 的庫,由 PdfSharp for .NET Core 修改而成。

  • PdfSharpCore 簡介[5]

深入理解

優化 XxHash3 性能 by xoofx · Pull Request #77756 · dotnet/runtime

https://github.com/dotnet/runtime/pull/77756

XxHash3 優化的 PR

  • 在 ARM 平臺上優化 XxHash3 by xoofx · Pull Request #77881 · dotnet/runtime[6]

添加 XxHash128 實現 by xoofx · Pull Request #77944 · dotnet/runtime

https://github.com/dotnet/runtime/pull/77944

增加 XxHash128 實現的建議和 PR

  • [API Proposal]: XxHash128 · Issue #77885 · dotnet/runtime[7]

版權聲明

  • InCerry 翻譯與整理 : https://github.com/InCerryGit/WeekRef.NET/blob/master/input_zh-CN/2022/2022-11-07.md

  • Myuki WeekRef : https://github.com/mayuki/WeekRef.NET/blob/master/input/2022/2022-11-07.md

由于筆者沒有那么多時間對國內的一些文章進行整理,歡迎大家為《.NET 周報-國內文章》板塊進行貢獻,需要推廣自己的文章或者框架、開源項目可以下方的項目地址提交 Issue 或者在我的微信公眾號私信。

格式如下:

  • 10~50 字左右的標題

  • 對應文章或項目網址訪問鏈接

  • 200 字以內的簡介,如果太長會影響閱讀體驗

https://github.com/InCerryGit/WeekRef.NET

參考資料

[1]

在Blazor WebAssembly中按自然順序對文件名進行排序。- Qiita: https://qiita.com/kaorumori/items/712f87a25a3930068c3e

[2]

關于Moq中使用的Avatar庫的一點研究た - Qiita: https://qiita.com/mngreen/items/35e45714b1e7540ffd62

[3]

使用Consolonia在文本控制臺運行的Avalonia UI應用程序: https://www.youtube.com/watch?v=yyVuvjYycCo

[4]

PlantUmlClassDiagramGenerator 1.3.0,一個從C#源代碼生成PlantUML類圖的工具,現在可以使用了! ?- Qiita: https://qiita.com/pierusan2010/items/fbaa8fdf9b7f998bf56f

[5]

PdfSharpCore簡介: https://zenn.dev/masmgr/articles/f8557ade054b71

[6]

在ARM平臺上優化XxHash3 by xoofx · Pull Request #77881 · dotnet/runtime: https://github.com/dotnet/runtime/pull/77881

[7]

[API Proposal]: XxHash128 · Issue #77885 · dotnet/runtime: https://github.com/dotnet/runtime/issues/77885

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281236.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281236.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281236.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

React - 狀態提升

從入門的角度來聊一下React 的狀態提升。我們先來看一下React官網是怎么介紹這一概念的&#xff1a;使用 react 經常會遇到幾個組件需要共用狀態數據的情況。這種情況下&#xff0c;我們最好將這部分共享的狀態提升至他們最近的父組件當中進行管理。很簡單的一句介紹&#xff0…

saltstack(三) --- salt-httpapi

以下操作均在master上操作 1. 安裝api netapi modules&#xff08;httpapi&#xff09;有三種&#xff0c;分別是rest_cherrypy、rest_tornado、rest_wsig&#xff0c;接下來要講的是rest_cherrypydoc&#xff1a;https://docs.saltstack.com/en/latest/ref/netapi/all/salt.ne…

c++實現二叉搜索樹

自己實現了一下二叉搜索樹的數據結構。記錄一下&#xff1a; #include <iostream>using namespace std;struct TreeNode{int val;TreeNode *left;TreeNode *right;TreeNode(int value) { valvalue; leftNULL; rightNULL; } };class SearchTree{public:SearchTree();~Sear…

一款自用的翻譯小工具,開源了

一款自用的翻譯小工具&#xff0c;開源了TranslationTool作者&#xff1a;WPFDevelopersOrg - 唐宋元明清|驚鏵原文鏈接&#xff1a;https://github.com/Kybs0/TranslationTool此項目使用WPF MVVM開發。框架使用大于等于.NET461。Visual Studio 2019。最初是支持以下&#xff1…

JS使用按位異或方式加密字符串

按位異或加密字符串&#xff0c;字符串加解密都是該函數 缺陷是加密密鑰使用的字符最好不要出現需要加密的字符串中的字符&#xff0c;一旦出現原字符與加密字符一樣額情況&#xff0c;異或結果為0&#xff0c;導致不能還原字符串&#xff0c;可以考慮更改算法避免這種情況 im…

SCSS 實用知識匯總

1、變量聲明 $nav-color: #F90; nav {//$width 變量的作用域僅限于{}內$width: 100px;width: $width;color: $nav-color; }.a {//報錯&#xff0c;$width未定義width: $width; } 2、父選擇器& scss代碼&#xff1a; article a {color: blue;&:hover { color: red } } 編…

【ELK集群+MQ】通用部署方案以及快速實現MQ發布訂閱服務功能

前言&#xff1a;大概一年多前寫過一個部署ELK系列的博客文章&#xff0c;前不久剛好在部署一個ELK的解決方案&#xff0c;我順便就把一些基礎的部分拎出來&#xff0c;再整合成一期文章。大概內容包括&#xff1a;搭建ELK集群&#xff0c;以及寫一個簡單的MQ服務。如果需要看一…

python容錯

#try: except: else: #為什么叫容錯呢&#xff0c;先說說錯誤&#xff0c;這里說的錯誤并不是因為馬虎或者什么原因在腳本中留下的bug&#xff0c;這個不能容掉&#xff0c;所謂容掉就是略過這個錯誤&#xff0c;要在測試時候發現并修正&#xff0c;需要容錯的錯誤是在腳本執行…

git stash參數介紹

git stash 用于暫存工作區未提交的內容&#xff0c;便于在同時開發多個分支需要切換時保存當前分支進度。 list 語法 git stash list [<options>] &#xff0c;與git log功能類似&#xff0c;列出儲藏列表&#xff0c;options 參數可以參考git log的參數 show 語法 git …

多語言報表的改動方法

在定義上傳RTF模板的時候&#xff0c;會有一個是否可翻譯的選項&#xff0c;選擇之后。就能夠上傳xlf文件作為翻譯內容。 對于已經存在的多語言類型報表&#xff0c;稍作改動之后再上傳&#xff0c;可能會出現下面現象&#xff1a; 進程出現了“未完畢”的提示 想要改動非常eas…

自定義Cell的流程

1、.h文件 // // 文 件 名:CHBackupGateWayCell.h // // 版權所有:Copyright © 2018 lelight. All rights reserved. // 創 建 者:lelight // 創建日期:2018/12/19. // 文檔說明: // 修 改 人: // 修改日期: //#import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGINclass…

JS實時監聽DOM元素變化 - MutationObserver

使用 MutationObserver API實時監聽DOM元素變化 創建 MutationObserver 實列&#xff0c;接受一個用于監聽到DOM元素變化的回調函數 const handleListenChange (mutationsList, observer) > {console.log(mutationsList, observer) } const mutationObserver new Mutati…

LightOJ - 1027 A Dangerous Maze —— 期望

題目鏈接&#xff1a;https://vjudge.net/problem/LightOJ-1027 1027 - A Dangerous MazePDF (English)StatisticsForumTime Limit: 2 second(s)Memory Limit: 32 MBYou are in a maze; seeing n doors in front of you in beginning. You can choose any door you like. The p…

MASA MAUI Plugin (六)集成個推,實現本地消息推送[Android] 篇

背景MAUI的出現&#xff0c;賦予了廣大.Net開發者開發多平臺應用的能力&#xff0c;MAUI 是Xamarin.Forms演變而來&#xff0c;但是相比Xamarin性能更好&#xff0c;可擴展性更強&#xff0c;結構更簡單。但是MAUI對于平臺相關的實現并不完整。所以MASA團隊開展了一個實驗性項目…

第八天

配置文件 Vi /etc/fstab /dev/vg01/lv01 /dir01 ext4 defaults mount -a 掃描 使用交換空間 1.創建分區 2.mkswap /dev/sda創建交換分區 3.swapon /dev/sda啟用交換分區 Linux系統啟動過程 1、引導程序 BIOS自檢 &#xff08;硬件自檢&#xff09; 2、G…

iOS 通知中心(NSNotificationCenter)

NSNotificationCenter 在這里第一步和第二步的順序可以互換&#xff0c;一般樓主我喜歡先在需要發送消息的頁面發送消息&#xff0c;然后再在需要監聽的頁面注冊監聽。要注意的是不管是通知中心還是KVO都需要在頁面銷毀之前移除監聽。 注冊觀察者/*** 觀察者注冊消息通知*…

vue-router和react-router嵌套路由layout配置方案的區別

最近在學習react&#xff0c;在路由這一塊有點看不懂&#xff0c;第一感覺是靈活性很大&#xff0c;想怎么來就怎么來&#xff0c;但問題也來了&#xff0c;稍微復雜一點就GG了&#xff0c;不如vue的傻瓜式配置來的方便。 先說一下vue的路由配置方式&#xff0c;目錄結構如下&…

微軟加更.NET7中文手冊,都有哪些新亮點?

11月8號發布了.NET7&#xff0c;從底層性能改進&#xff0c;到上層API升級&#xff0c;讓.NET7綜合性能再度提升&#xff01;同時發布了最新的C#11&#xff0c;也帶來了很多小驚喜。如何快捷學習最新的.NET7和C#11&#xff1f;答案只有一個&#xff0c;微軟官方中文文檔&#x…

jquery對json的各種遍歷

http://caibaojian.com/jquery-each-json.html轉載于:https://www.cnblogs.com/pxffly/p/8442448.html

中級工程師之路

前言&#xff1a;之前在問答中問了一個問題 畢業半年感覺沒什么進步該怎么辦&#xff1f; 這個問題一直讓我感覺比計較焦慮。于是在一個關于面試經驗的博客中找到了一些靈感。就是通過問題進行學習&#xff0c;對自身的知識體系進行整理和補充。以問題作為切入點&#xff0c;不…