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

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

国内文章

从位图到布隆过滤器,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 粘性滚动现在预览中 - Visual Studio博客

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

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

https://support.microsoft.com/ja-jp/topic/kb5022083-wpf-ベースのアプリケーションが-xps-ドキュメントをレンダリングする方法の変更-a4ae4fa4-bc58-4c37-acdd-5eebc4e34556

文章、幻灯片等。

击败不安全类(函数指针)| 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

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

不要把异步和同步混在一起,这很危险 - 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

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

https://github.com/mxProject/WindowsFormGenericHost

Introduction | Cadl

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

网站、文件等

推文


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


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

版权声明

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

格式如下:

  • 10~50字左右的标题
  • 对应文章或项目网址访问链接
  • 200字以内的简介,如果太长会影响阅读体验

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

.NET性能优化交流群

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

  • 如何找到.NET性能瓶颈,如使用APM、dotnet tools等工具
  • .NET框架底层原理的实现,如垃圾回收器、JIT等等
  • 如何编写高性能的.NET代码,哪些地方存在性能陷阱

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

.NET周报【12月第3期 2022-12-23】的更多相关文章

  1. 2017年12月17日 ASP.NET 12个表单元素&&简单控件/复合控件

    12个表单元素可以分为三大类 第一类:文本类 <input type = "text" /> //普通文本框 <input type = "passwo ...

  2. 36.React基础介绍——2019年12月24日

    2019年12月24日16:47:12 2019年10月25日11:24:29 主要介绍react入门知识. 1.jsx语法介绍 1.1 介绍 jsx语法是一种类似于html标签的语法,它的作用相当于 ...

  3. 2020年12月18号--21号 人工智能(深度学习DeepLearning)python、TensorFlow技术实战

    深度学习DeepLearning(Python)实战培训班 时间地点: 2020 年 12 月 18 日-2020 年 12 月 21日 (第一天报到 授课三天:提前环境部署 电脑测试) 一.培训方式 ...

  4. 深度学习DeepLearning技术实战(12月18日---21日)

    12月线上课程报名中 深度学习DeepLearning(Python)实战培训班 时间地点: 2020 年 12 月 18 日-2020 年 12 月 21日 (第一天报到 授课三天:提前环境部署 电 ...

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

    国内文章 开源·安全·赋能 - .NET Conf China 2022 https://mp.weixin.qq.com/s/_tYpfPeQgyEGsnR4vVLzHg .NET Conf Chi ...

  6. .NET周报【10月第2期 2022-10-17】

    主题 宣布 .NET 7 发布候选版本 2 - .NET Blog https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-rc-2/ .N ...

  7. 12月22日《奥威Power-BI财务报表数据填报》腾讯课堂开课啦

    一扇可以通向任何地方的“任意门”,是我们多少人幼时最梦寐以求的道具之一.即使到了现在,工作中的我们还会时不时有“世界那么大,我想去看看”的念头,或者在突然不想工作的时刻,幻想着自己的家门变成了“任意门 ...

  8. 12月14日《奥威Power-BI销售计划填报》腾讯课堂开课啦

           2016年的最后一个月也过半了,新的一年就要到来,你是否做好了启程的准备?新的一年,有计划,有目标,有方向,才不至于迷茫.规划你的2017,新的一年,遇见更好的自己!        所以 ...

  9. 12月07日《奥威Power-BI智能分析报告制作方法 》腾讯课堂开课啦

            前几天跟我一个做报表的哥们聊天,听着他一茬一茬地诉苦:“每天做报表做到想吐,老板看报表时还是不给一个好脸色.”我也只能搬出那一套“过程大于结果”的内心疗程赠与他,没想到他反而怒了:“做 ...

  10. (转)2017年12月宋华教授携IBM中国研究院、猪八戒网、中航信托、33复杂美共同论道智慧供应链金融

    今年10月,国务院发布的<关于积极推进供应链创新与应用的指导意见>,不仅强调了发展服务型制造的重要性,同时也指出要积极稳妥发展供应链金融,推动供应链金融服务实体经济,鼓励商业银行.供应链核 ...

随机推荐

  1. vue2使用组件进行父子互相传值的sync语法糖方法和原生方法

    原生方法:(事件名可以不在props通道里) 子类通过props通道绑定父类里data里的jjjjjj(@:fefefeff='jjjjjjjjjjjjj') 父组件通过监听fefeff事件来把子类传 ...

  2. Codeforces Round #804 (Div. 2) C(组合 + mex)

    Codeforces Round #804 (Div. 2) C(组合 + mex) 本萌新的第一篇题解qwq 题目链接: 传送门QAQ 题意: 给定一个\(\left [0,n-1 \right ] ...

  3. IDEA对数据库、表、记录的(增删改查可视化操作)、数据库安全性问题的演示

    对数据库的增删改查 新增数据库 修改数据库 删除数据库 对表的增删改查 新增表 修改表 删除表 对记录的增删改查 数据库安全性问题的演示 演示脏读 ​ 一个事物里面读到了另外一个事物没有提交的数据: ...

  4. PHP + ELK实现日志记录

    一个简单的PHP 文件 效果 full.conf文件 流程: 开启logstash服务之后. 在业务代码里面操作函数写入日志.log logstash通过实践戳获取到用户的变更,取出最后一行数据,发送 ...

  5. Linux系统管理_网络管理

    常用网络指令 yum -y install net-tools #安装ifconfig工具 ifconfig #查看网络配置 ifup ens33 #启用网卡 ifdown ens33 #禁用网卡 s ...

  6. HTML+CSS基础知识(6)背景的设置、表格的设计、表单的设计和框架集

    文章目录 1.背景 1.1 代码 1.2 测试结果 2.背景练习 2.1 代码 2.2 测试结果 3.表格 3.1 代码 3.2 测试结果 4.练习 4.1 代码 4.2 测试结果 5.表单 5.1 ...

  7. 齐博x1模板中常用的TP标签数据处理

    上图是比较常用的, 而下图是比较特殊的场合,比如幻灯片可能会用到 下图使用了TP的循环标签. 上图只使用了条件判断标签 上图不存在 val="xxx" 这个参数,所以会自动循环输出 ...

  8. 初识vue3.0

    vue3.0 源码组织方式的变化 采用ts重写 独立的功能模块提取到单独的包中 90%的api兼容Vue2.x Composition API 组合api 解决vue2.x options api 开 ...

  9. Linux---ls cd

    ls 命令 ls命令是linux下最常用的命令,是 list 的缩写,可以用各种方式查看目录中的内容. 格式: ls [选项] [目录名] 常用参数 short long function -a -- ...

  10. 我服了!SpringBoot升级后这服务我一个星期都没跑起来!(上)

    最近由于各方面的原因在准备升级 Spring Cloud 和 Spring Boot,经过一系列前置的调研和分析,决定把Spring Boot 相关版本从 2.1.6 升级到 2.7.5,Spring ...