.NET周报【12月第3期 2022-12-23】

由于众所周知的原因,大佬们纷纷加入羊群,笔者也未能幸免,体验下来这绝对不是普通感冒的症状,身体不适,熬了几天,所以本周更新比较晚;另外精力有限,对于国际板块只有链接没有简介,十分抱歉!

在这个艰难时刻,大家照顾好自己和家人,做好防护,祝没羊的永远"郭襄",祝已羊的早日康复,没有一个冬天不可逾越,没有一个春天不会来临!

国内文章

从位图到布隆过滤器,C#实现

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

本文将以 C# 语言来实现一个简单的布隆过滤器,为简化说明,设计得很简单,仅供学习使用。

图解B树及C#实现(1)

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

本系列将用三篇文章讲解B树的设计理念及如何用 C# 实现一个内存版本的B树:

  1. B树的定义及数据的插入(本文)

  2. 数据的读取及遍历

  3. 数据的删除

图解B树及C#实现(2)数据的读取及遍历

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

前一篇文章为大家介绍了 B树 的基本概念及其插入算法。本文将基于前一篇的内容,为大家介绍插入到 B树 中的数据该怎么读取及遍历,

本文的代码基于前一篇文章的代码,已经实现的功能可能会被省略,只介绍新增的功能。

推荐一款 在线+离线数据 同步框架 Dotmim.Sync

https://www.cnblogs.com/shanyou/p/DotmimSync.html

微软高级软件工程师 Sébastien Pertus 在 GitHub 网站开源了一种跨平台的关系数据库同步框架 Dotmim.Sync:https://github.com/Mimetis/Dotmim.Sync,该框架基于.NET Standard 2.0 研发,支持在 IOT、 Xamarin、.NET、MAUI 等环境中使用。

我做了第一个ChatGPT .net api聊天库

https://www.cnblogs.com/qwqwQAQ/p/16981579.html

最近这个ChatGPT很火啊,看了B站上很多视频,自己非常手痒,高低自己得整一个啊,但是让我很难受的是,翻遍了github前十页,竟然没有一个C#的ChatGPT项目,我好难受啊!那能怎么办?自己搞一个吧。

Mqttnet内存与性能改进录

https://www.cnblogs.com/kewei/p/16988461.html

MQTTnet是一个高性能的 .NET MQTT库,它提供MQTT客户端和MQTT服务器的功能,支持到最新MQTT5协议版本,支持.Net Framework4.5.2版本或以上。本文讲述了笔者阅读源码,发现性能问题和解决性能的过程。

WinUI(WASDK)使用MediaPipe检查手部关键点并通过ML.NET进行手势分类

https://mp.weixin.qq.com/s/_vRH-u1v3Ebn9ZOSKKtUKw

之所以会搞这个手势识别分类,其实是为了满足之前群友提的需求,就是针对稚晖君的ElectronBot机器人的上位机软件的功能丰富,因为本来擅长的技术栈都是.NET。也刚好试试全能的.NET是不是真的全能就想着做下试试了,MediaPipe作为谷歌开源的机器视觉库,功能很丰富了,而且也支持c++,翻遍社区果然找到了一个基于MediaPipe包装的C#版本,叫MediaPipe.NET,于是就开始整活了。

.NET网站国际化策略

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

我所在的公司是做SAAS软件,用户群体是面向全球的,因此对应业务系统国际化就是顺理成章的事情。其实国际化重点在于多语言支持,本文就从这方面入手和大家介绍。

为什么 Random.Shared 是线程安全的

https://mp.weixin.qq.com/s/-4mlXU-3KDFaEr8E2S4rAQ

在多线程环境中使用 Random 类来生成伪随机数时,很容易出现线程安全问题。例如,当多个线程同时调用 Next 方法时,可能会出现种子被意外修改的情况,导致生成的伪随机数不符合预期。本文介绍了为什么Random.Shared 是线程安全的。

通过 CancellationToken 提高 Web 性能

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

在 Web 开发中,经常会遇到这样的场景:用户发起一个请求,Web 服务器执行一些计算密集型的操作,等待结果返回给用户。这种情况下,如果用户在等待结果的过程中取消了请求,那么服务器端依然会继续执行计算,这样就会造成资源浪费。

九哥聊Kestrel网络编程第二章:开发一个Fiddler

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

本文讲解基于 kestrel 开发类似 Fiddler 应用的过程,让读者了解 kestrel 网络编程里面的 kestrel 中间件和 http 应用中间件。由于最终目的不是输出完整功能的产品,所以这里只实现 Fiddler 最核心的 http 请求和响应内容查看的功能。本文章是KestrelApp 项目[2]里面的一个 demo 的讲解,希望对您有用。

使用WPF或AspNetCore创建简易版ChatGPT客户端,搭建属于你自己的私人AI助理

https://mp.weixin.qq.com/s/lsOJ-7op9YoiQdA7LlwaPg

前一天写的一个ChatGPT服务端,貌似大家用起来还不是那么方便,所以我顺便用WPF和AspNetCore的webapi程序做个客户端吧,通过客户端来快速访问chatgpt模型生成对话。

记一次 .NET 某工控MES程序 崩溃分析

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

前几天有位朋友找到我,说他的程序出现了偶发性崩溃,已经抓到了dump文件,Windows事件日志显示的崩溃点在 clr.dll 中,让我帮忙看下是怎么回事,那到底怎么回事呢? 上 WinDbg 说话。

.Net MAUI iOS使用腾讯开放平台TencentOpenAPI

https://mp.weixin.qq.com/s/6ee7rwUHz2t_ZSUVogD_vQ

本文介绍了如何在.Net MAUI iOS使用腾讯开放平台TencentOpenAPI。

《ASP.NET Core 6框架揭秘》实例演示[34]:缓存整个响应内容

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

我们利用ASP.NET开发的大部分API都是为了对外提供资源,对于不易变化的资源内容,针对某个维度对其实施缓存可以很好地提供应用的性能。《内存缓存与分布式缓存的使用》介绍的两种缓存框架(本地内存缓存和分布式缓存)为我们提供了简单易用的缓存读写编程模式,本篇介绍的则是针对针对HTTP响应内容实施缓存,ResponseCachingMiddleware中间件赋予我们的能力[本文节选《ASP.NET Core 6框架揭秘》第22章]。

主题

发布 Oracle Entity Framework Core 7

https://medium.com/oracledevs/announcing-oracle-entity-framework-core-7-d89a2495b7db

ReSharper 和 Rider 2022.3.1 Bug 修复内容

https://blog.jetbrains.com/dotnet/2022/12/21/resharper-and-rider-2022-3-1-bug-fixes/

不脱离Visual Studio就能写markdown - Visual Studio博客

https://devblogs.microsoft.com/visualstudio/write-markdown-without-leaving-visual-studio/

  • 将在Visual Studio 2022中引入Markdown编辑器--无需扩展即可编辑和预览/正在Visual Studio 2022 17.5 Preview 2中测试--Windows森林

Visual Studio 粘性滚动现在预览中 - Visual Studio博客

https://devblogs.microsoft.com/visualstudio/sticky-scroll-now-in-preview/

  • 粘性滚动,在VS代码中也很流行,现在在Visual Studio 2022中/在Visual Studio 2022 17.5 Preview 2中测试 - Windows森林

KB5022083 对基于WPF的应用程序渲染XPS文档方式的改变 - Microsoft 支持

https://support.microsoft.com/ja-jp/topic/kb5022083-wpf-%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%8C-xps-%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%82%92%E3%83%AC%E3%83%B3%E3%83%80%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AE%E5%A4%89%E6%9B%B4-a4ae4fa4-bc58-4c37-acdd-5eebc4e34556

  • 2022年12月".NET "安全更新问题,WPF应用不能正确显示XPS文档/受安全增强措施影响,微软提供解决方法 - Windows森林

文章、幻灯片等。

击败不安全类(函数指针)| UFCPP的博客

https://ufcpp.net/blog/2022/12/unsafer-unsafe/

.NET 7中的新内容 @bind:after可立即处理输入信息(并再次失败) - Qiita

https://qiita.com/jsakamoto/items/0a265288cacea70634b4

使用应用程序服务认证(Easy Auth)和ASP.NET表单认证同时并存 - Shibayan杂记

https://blog.shibayan.jp/entry/20221218/1671348695

在(C#)接口中具有静态虚拟成员的通用构造器 - 钟声响起的猫

https://ikorin2.hatenablog.jp/entry/2022/12/17/212228

2022年的C#(Incremental)源生成器开发方法 - neue.cc

https://neue.cc/2022/12/16_IncrementalSourceGenerator.html

LibraryImportAttribute是在.NET 7中添加的,我碰了一下它 - Programming Lineage Memandum Blog

https://tan.hatenadiary.jp/entry/2022/12/16/002739

我决心摆脱邪恶和暴虐的T4 |UFCPP的博客

https://ufcpp.net/blog/2022/12/no-more-t4/

用.NET和WebAssembly做实验-在AKS的WASI节点池上运行基于.NET的应用程序

https://www.tpeczek.com/2022/12/experimenting-with-net-webassembly.html

使用我最喜欢的静态分析工具(Code Quality & SAST)也在GitLab上使用

https://zenn.dev/masakura/articles/ff74864c9af28d

利用Blazor和DataFactory轻松实现EL应用 - Qiita

https://qiita.com/bitflyer/items/3b4ef34a9bdf5991b8f6

添加新文件的速度变快了很多 - Visual Studio博客

https://devblogs.microsoft.com/visualstudio/adding-new-files-just-got-a-lot-faster/

.NET on IBM Power #1 - Qiita

https://qiita.com/Nakaji1106/items/f0761c4d1dce58c0b8d5

  • 在IBM Power上使用.NET #2 - Qiita

  • IBM Power上的.NET #3 - Qiita

C#11允许使用列表模式。

(https://zenn.dev/yuchiki/articles/csharp-list-pattern)

[C#] INumberT实现概述(含小数类型的实现示例) - Qiita

https://qiita.com/YuHima03/items/20b59013d42d294b9839

###用.NET 7、Blazor和.NET MAUI构建你自己的播客应用程序 - .NET博客

https://devblogs.microsoft.com/dotnet/build-your-own-podcast-app-with-dotnet-blazor-and-dotnet-maui/

MQTT与nanoFramework的Node-RED通信

https://zenn.dev/matsuataru/articles/0237a66beb73db

如何将Xamarin.Android迁移到.NET 6 - Qiita

https://qiita.com/secile/items/10266c6b6bd5b179dc23

当pulumi遇到nuke:一个.NET的爱情故事

https://dev.to/techwatching/when-pulumi-met-nuke-a-net-love-story-4omd

用C#检测Windows屏幕锁 - Qiita

https://qiita.com/unasenohkoku/items/380e4fb4613b5abe96ea

处理.NET框架的NuGet包没有设置依赖关系(NU5218警告) - Qiita

https://qiita.com/mxProject/items/f031321ef0d229659f25

在.NET MAUI中用Azure AD B2C进行认证(先用MicrosoftAccount试试) - Qiita

https://qiita.com/MAUIHighSchool/items/b8faf3aba00082b023ac

  • 在MAUI中用Azure AD B2C进行.NET认证(尝试添加谷歌账户认证) - Qiita

不要把异步和同步混在一起,这很危险 - Qiita

https://qiita.com/superriver/items/1f1b83d2d2c6b70ba408

重新实现String.Format方法 - Qiita

https://qiita.com/t0r/items/f83f6ee4ddca1bcf27eb

从Unity 2021.2看新的C#类 - Qiita

https://qiita.com/Gaku_Ishii/items/23d85defb8339fe3e9c0

在Blazor中使用Handsontable,一个类似Excel的网格JS库 - Qiita

https://qiita.com/yaju/items/bcca337af393f15a6795

Rider 2022.3增加了从JSON创建C#类和Record的能力 - Qiita

https://qiita.com/RyotaMurohoshi/items/0c6730d0988b022378e6

Rider 2022.3和ReSharper 2022.3的IL浏览器现在可以将IL反编译为C# - Qiita

https://qiita.com/RyotaMurohoshi/items/1f8244f0af50ad30583e

C# 如何编写源码生成器 第1/5部分:规划

https://kafkawannafly.medium.com/c-how-to-write-a-source-generator-part-1-5-planning-6b4ab6ea5f63

使用Blazor WASM登录后,Azure AD安全组中的授权问题

https://zenn.dev/okazuki/articles/auth-securitygroup-blazorwasm

Mark2,一个用Blazor WebAssembly构建的分数表系统,现在已经开放源代码 - Qiita

https://qiita.com/kaorumori/items/5b7255e3244159b082d3

在.NET中使用代码优先的gRPC(gRPC-Web) - Qiita

https://qiita.com/michi_wkwk/items/194276f0014df74cac41

.NET 7: 源代码中可疑的地方和错误

https://dev.to/_sergvasiliev_/net-7-suspicious-places-and-errors-in-the-source-code-cgd

用Cardboard做一个游戏,作为你今年的圣诞礼物 - Qiita

https://qiita.com/secile/items/69928aa1e52152034489

Blazor 一个关于用WebAssembly开发新业务系统的故事

https://zenn.dev/rkatsura/articles/4b0e0b3dbb9a59

让我们在Unity中也使用Index/Range! - Qiita

https://qiita.com/Euglenach/items/c433afe78d72fc1a18fc

SoundMaker,在C#中生成像老游戏的声音 - Qiita

https://qiita.com/DTB_AutumnSky/items/8d78520567211d9a8dd2

FrogNote,一款笔记、管理和思考软件 - Qiita

https://qiita.com/DTB_AutumnSky/items/1d691e2428ac7fa9330c

尝试在Unity中生成System.Text.Json源码 | Yucchiy的说明

https://blog.yucchiy.com/2022/12/csharp-advent-calendar-system-text-json-unity/

图书馆、资源库、工具等

nenoNaninu/TypedSignalR.Client.TypeScript。TypeScript源生成器,通过分析C#类型定义来提供强类型的SignalR客户端。

https://github.com/nenoNaninu/TypedSignalR.Client.TypeScript

  • [C#]我希望SignalR能有类似SwaggerUI的东西! - 尼诺的花园

mxProject/WindowsFormGenericHost: 这是一个用于Generic Host的扩展库。在Generic Host上运行一个Windows Forms应用程序。

https://github.com/mxProject/WindowsFormGenericHost

  • 在通用主机上运行Windows Forms应用程序 - Qiita

Introduction | Cadl

https://microsoft.github.io/cadl/

  • おためしcadl

网站、文件等

推文


https://twitter.com/timheuer/status/1603880562204495877?s=12

e6a0ea3bef056d5cd501cde595aa1a55.png

https://twitter.com/ufcpp/status/1605378308882935809?s=12

f3ad95bd936dccca4655971fbade799a.png

版权声明

  • 国内板块由 InCerry 进行整理 : https://github.com/InCerryGit/WeekRef.NET/blob/master/input_zh-CN/2022/2022-12-23.md

  • 其余内容来自 Myuki WeekRef,由InCerry翻译(已获得授权) : https://github.com/mayuki/WeekRef.NET/blob/master/input/2022/2022-12-23.md

由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《.NET周报-国内文章》板块进行贡献,需要推广自己的文章或者框架、开源项目可以下方的项目地址提交Issue或者在我的微信公众号私信。

格式如下:

  • 10~50字左右的标题

  • 对应文章或项目网址访问链接

  • 200字以内的简介,如果太长会影响阅读体验

https://github.com/InCerryGit/.NET-Weekly

.NET性能优化交流群

相信大家在开发中经常会遇到一些性能问题,苦于没有有效的工具去发现性能瓶颈,或者是发现瓶颈以后不知道该如何优化。之前一直有读者朋友询问有没有技术交流群,但是由于各种原因一直都没创建,现在很高兴的在这里宣布,我创建了一个专门交流.NET性能优化经验的群组,主题包括但不限于:

  • 如何找到.NET性能瓶颈,如使用APM、dotnet tools等工具

  • .NET框架底层原理的实现,如垃圾回收器、JIT等等

  • 如何编写高性能的.NET代码,哪些地方存在性能陷阱

希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET性能问题和宝贵的性能分析优化经验。由于已经达到200人,可以加我微信,我拉你进群: ls1075

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/30925.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何投资美国股票

5月开始炒美股,投入资金不多,2500美元(按当时汇率为17000元人民币)。几个月来,一直在摸索,其间有赚有赔,到9月下旬,只实现盈亏平衡。但也就是在9月下旬,我摸索出了一条“…

vue 打包出现的空白屏幕 资源无法正常加载问题

你可以在dist index 中看到这样一行字 Were sorry but xxxxxxx doesnt work properly without JavaScript enabled. 大概率是: 在vue.config.js里面添加 pubilcPath:./ (注意这里用相对路径 的./ 而不是绝对路径) 将路由变成hash模式 原因&a…

jupyter notebook 在新安装的环境 安装包后 导入失败: 加载模块失败 ModuleNotFoundError: No module named

新装的环境chatgpt, 命令行conda activate chatgpt 进入后, pip安装各类包包, 装好后在命令行和pycharm(正确设置interpreter后)都能正常导入, 但使用notebook 导入不成功,以tiktoken包为例&…

最大功率点跟踪MPPT

太阳能电池最大功率点跟踪MPPT(Maximum Power Point Tracking)技术能够保证在负载或环境光照强度变化时,光伏电池一直保持最大输出功率,以最大化太阳能利用率。 从太阳能板的I/V伏安特性曲线(绿线)中可以看…

4G DTU在电力远程自动抄表中的应用

随着工业自动化的发展,在原有的人工手动抄表中已经发展到远程智能抄表,通过现有的网络智能化的从远端把需要的数据采集到一起,那么,在很多必须无人值守的设备或监测点,不适合搭建有线通讯网络。若采用光纤或电台的方式…

基于分布鲁棒优化的电-气-热综合能源系统日前经经济调度

1 概述 随着经济的快速发展,化石燃料的燃烧引起的环境恶化问题日益突出。近年来风力发电和光伏发电等可再生能源发电发展迅速,但是风能等可再生能源的发电功率具有波动性且不容易控制。这使得构建一个清洁高效且.能够消纳可再生能源的能源系统的需求更加迫切。综合能源系统是…

主题:基于共享储能电站的工业用户日前优化经济调度

Matlab调用Yalmip工具箱,采用Cplex或Gurobi求解器求解。 主题:基于共享储能电站的工业用户日前优化经济调度 多用户(微网)储能电站日前经济调度,完美复现 ID:6650662269578775老电工了

含分布式电源的配电网日前两阶段优化调度模型(Matlab代码实现)

👨‍🎓 个人主页: 研学社的博客 💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容…

29考虑特性分布的储能电站接入的电网多时间尺度源储荷协调调度策略MATLAB程序-日前日内实时+需求响应+协调调度

资源地址: 29考虑特性分布的储能电站接入的电网多时间尺度源储荷协调调度策略MATLAB程序-日前日内实时需求响应协调调度-Matlab文档类资源-CSDN文库 参考文献: 考虑特性分布的储能电站接入的电网多时间尺度源储荷协调调度策略——金力 主要内容&…

考虑设备动作损耗的配电网分布式电压无功优化(Matlab代码实现)

目录 1 部分复现 2 概述 3 运行结果 4 Matlab代码实现 1 部分复现 2 概述 从控制策略上电压无功控制主要分为全局控制和分散控制。其中全局控制策略是指由调度中心统一下发指令,例如文献通过求解一个全同性的优化问题集中控制配电网的电压无功设备。基于数据…

太阳能电池最大功率点跟踪MPPT(Maximum Power Point Tracking)技术

太阳能电池最大功率点跟踪MPPT(Maximum Power Point Tracking)技术能够保证在负载或环境光照强度变化时,光伏电池一直保持最大输出功率,以最大化太阳能利用率。 从太阳能板的I/V伏安特性曲线(绿线)中可以看…

光伏发电量和用电量的概率预测研究综述(2)

前言 由于本篇综述实在太长,故分为三部分,此乃第二部分。第一部分:光伏发电量和用电量的概率预测研究综述(1) 目录 3. Forecasting techniques3.1. Statistical approach3.1.1. Parametric3.1.2. Nonparametric 3.2. …

光伏发电系统——mppt最大功率点追踪

在对基于前级boost的最大功率点追踪仿真时候,遇到了很多问题,现在终于做出来了,简单分享一下,由于本系统两级光伏发电系统。后级的DC/AC将直流母线的电压控成了恒定电压源。故本系统和网上常见的mppt追踪有所区别。 本系统的控制&…

基于BP神经网络的电力系统短期负荷预测,简单实用

基于BP神经网络的电力系统短期负荷预测,包含30日的负荷数据和气象特征数据,对31日负荷进行预测,同时与实际负荷进行对比,观察误差。 %创建一个新的BP前向神经网络 %newff—生成一个新的BP前向神经网络 netnewff(minmax(P),[10,12]…

电力消耗模型构建、分析和预测

作者:Minghong Xu 某制药公司每年要花费大量的资金在电费上,由于电力公司的业务改革,该药企可以在一年或月开始时向电力公司预购一定数量的电力,如果实际消耗大于该值,则每多消耗一度电要付比以前更多的电费&#xff0…

光伏发电量和用电量的概率预测研究综述(1)

前言 题目: Review on probabilistic forecasting of photovoltaic power production and electricity consumption 期刊: renewable and sustainable energy reviews 2018 论文地址:Review on probabilistic forecasting of photovoltaic p…

王炸!刚刚ChatGPT又又又更新了!

大家注意:因为微信最近又改了推送机制,经常有小伙伴说错过了之前被删的文章,比如前阵子冒着风险写的爬虫,再比如一些限时福利,错过了就是错过了。 所以建议大家加个星标,就能第一时间收到推送。&#x1f44…

基于Electron25+Vite4.x仿chatgpt客户端应用ElectronChatGPT

Electron25vue3桌面端聊天AI实例|electron仿chatgpt 基于最新前端技术栈 vite4vue3pinia2vue-router 整合 electron25 跨端技术开发桌面端仿chatgpt聊天程序。支持经典分栏布局、暗黑明亮主题模式、多开窗口功能。 技术框架 编辑器:VScode 使用技术:Ele…

chatgpt赋能python:Python连接服务器指南

Python连接服务器指南 Python作为一种易于学习和使用的编程语言,越来越受到开发人员的青睐,尤其是在服务器连接方面。在此文章中,我们将介绍如何使用Python连接服务器。 1. 安装必要的库 在使用Python进行服务器连接之前,您需要…

吴恩达联手OpenAI上线免费课程:一个半小时学会ChatGPT Prompt

ChatGPT 来了,一切变化都快了起来,一些科技公司开始招募「prompt 工程师」。与写代码的传统计算机工程师不同,Prompt 工程师通过向 AI 询问一系列逻辑缜密的问题来测试系统是否存在不合理行为或问题。但具体应该怎么做,一直没有统…