.NET周报【1月第1期 2023-01-06】
国内文章
【开源】基于.net6+gtksharp实现的Linux下的图形界面串口调试工具
https://www.cnblogs.com/flykai/p/17007554.html
由于公司的上位机等硬件项目都是基于Linux操作系统的,软硬件通讯调试麻烦,市面上又没有好用的图形操作软件来实现便捷的串口调试,还有一方面原因,公司的销售及售后人员对Linux操作系统比较陌生不会操作,只能依靠图形软件,于是本人便抽空便基于.net6及gtk提供的sdk,实现了一个图形界面的串口调试工具,可运行于window操作系统及Linux操作系统(仅在Ubuntu20.4)做了测试。
【C#】分享一个简易的基于时间轮调度的延迟任务实现
https://www.cnblogs.com/gmmy/p/17015538.html
在很多.NET开发体系中开发者在面对调度作业需求的时候一般会选择三方开源成熟的作业调度框架来满足业务需求,比如Hangfire、Quartz.NET这样的框架。但是有些时候可能我们只是需要一个简易的延迟任务,这个时候引入这些框架就费力不讨好了。于是本文介绍了一种基于时间轮的延迟任务实现。
微软公布 Entity Framework Core 8 规划
https://mp.weixin.qq.com/s/jG8wRKCFutcweENPGpLoAQ
微软.NET团队在博客上公布了有关 Entity Framework Core 8.0(也称为 EF Core 8 或 EF8)的未来规划。
一个用于生成 PDF 文档的开源 .NET 库
https://mp.weixin.qq.com/s/hwNkrfi13JccGbrv1VSfJQ
今天给大家推荐一个用于生成 PDF 文档的开源 .NET 库QuestPDF。目前已经有4k+的Star。
快速入门 .NET nanoFramework 开发 ESP32-Pico 应用
https://mp.weixin.qq.com/s/T8NFQbErDSDfZDqzW-5zmA
本文是一篇适合初学者的 .NET nanoFramework 保姆级入门教程,并提供了基本的入门程序并介绍了微雪的 ESP32-S2-Pico 使用 .NET nanoFramework 开发单片机应用的基础知识。
C#中如何进行com口操作?
https://mp.weixin.qq.com/s/xF-8Gr3A5SBbaZ5-D8i8yQ
本文介绍了C#中如何进行com口操作。
ASP.NET Core 使用RedLock.net 实现分布式锁
https://mp.weixin.qq.com/s/HbInBg-WwpeEPH3WwwXd7w
本文介绍了如何使用RedLock.NET实现分布式锁。
一次SQL调优 聊一聊 SQLSERVER 数据页
https://mp.weixin.qq.com/s/WqiZjVh69o6YZHCROy4kpA
最近给一位朋友做 SQL 慢语句
优化,花了些时间调优,遗憾的是 SQLSERVER 非源码公开,玩起来不是那么顺利,不过从这次经历中我觉得明年的一个重大任务就是好好研究一下它,争取在 SQLSERVER 性能优化上做一些成绩,哈哈! 个人觉得要想深入研究 SQLSERVER,得从它的存储引擎说起,说到存储引擎又得从核心的 数据页
说起,毕竟 mdf 就是由 数据页
拼出来的,当然理解的不对大家可以指出来。
聊一聊 SQLSERVER 的行不能跨页
https://mp.weixin.qq.com/s/1TWNFOvY6U6SVixXRWhYag
相信有很多朋友在学习 SQLSERVER 的时候都听说过这句话,但大多都是记忆为主,最近在研究 SQLSERVER,所以我们从 底层存储
的角度来深入理解下。
再聊一下那 SQLSERVER 行不能跨页的事
https://mp.weixin.qq.com/s/mG4MqW1m5PMBJ-9lq1GXPw
上一篇写完了之后,马上就有朋友留言对记录行的 8060byte
限制的疑惑,因为他的表记录存储了大量的文章,存储文章的字段类型用的是 nvarchar(max)
,长度很显然是超过 8060byte
的,请问这个底层是怎么破掉 8060byte
的限制的?
dotnet 代码优化 聊聊逻辑圈复杂度
https://blog.lindexi.com/post/dotnet-代码优化-聊聊逻辑圈复杂度.html
本文属于 dotnet 代码优化系列博客。相信大家都对圈复杂度这个概念很是熟悉,本文来和大家聊聊逻辑的圈复杂度。代码优化里面,一个关注的重点在于代码的逻辑复杂度。一段代码的逻辑复杂度越高,那么维护起来的难度也就越大。衡量代码的逻辑复杂度的一个维度是通过逻辑圈复杂度进行衡量。本文将告诉大家如何判断代码的逻辑圈复杂度以及一些降低圈复杂度的套路,让大家了解如何写出更好维护的代码。
主题
【英文】grpc/grpc-dotnet 发布版本 v2.51.0
https://github.com/grpc/grpc-dotnet/releases/tag/v2.51.0
gRPC (grpc-dotnet) v2.51.0已经发布。
这个版本包含了一些修复和改进,包括改进的日志信息。
【英文】Microsoft.UI.Xaml 发布版本 v2.8.2
https://github.com/microsoft/microsoft-ui-xaml/releases/tag/v2.8.2
WinUI v2.8.2已经发布。
这个版本主要包含一些错误的修复。
【英文】snoopwpf/snoopwpf 发布版本 v5.0.0
https://github.com/snoopwpf/snoopwpf/releases/tag/v5.0.0
Snoop v5.0.0已经发布。
该版本取消了对.NET Framework 4.5.2及以前版本和.NET Core 3.0的支持,增加了对.NET 6及更高版本的支持。 还包括其他一些修复和改进。
文章、幻灯片
【日文】在MemoryPack中定制序列化和反序列化的一些方法 | Yucchiy的注释
https://blog.yucchiy.com/2023/01/memorypack-custom-serialize-deserialize/
介绍了序列化过程的定制,包括如何在MemoryPack的序列化和反序列化过程前后夹住自己的处理。
【日文】从快捷方式文件(.lnk)中获取链接目的地(CsWin32版本)
https://zenn.dev/udaken/articles/cswin32_get_target_from_shortcut_file
如何使用CsWin32进行COM调用并从快捷方式文件中获得链接目的地。
【英文】EF Core中Add和AddAsync的区别
https://medium.com/medialesson/difference-between-add-and-addasync-in-ef-core-6b8cfd8f7cdb
解释Entify Framework Core中Add和AddAsync方法的区别。
谈到AddAsync只有在使用特殊的SQLServer值生成器时才是异步的,而Add应该用于其他模式。
【英文】回顾20年的NAudio历程
https://markheath.net/post/naudio-20-year-anniversary
回顾NAudio的20年,以及该项目目前的状况。
【日文】IServiceCollection的扩展方法列表 - Qiita
https://qiita.com/mxProject/items/7d7a835adfb300d07fec
介绍了Microsoft.Extensions为IServiceCollection提供的扩展方法,包括Microsoft.Extensions.DependencyInjection。
【英文】.NET Annotated 月报|2023年1月|.NET工具博客
https://blog.jetbrains.com/dotnet/2023/01/04/net-annotated-monthly-january-2023/
2023年1月JetBrains发布的.NET相关信息汇总文章。
【英文】最小化API端点的幕后初探:最小化API的幕后 - 第一部分
初步了解ASP.NET Core的Minimal API的端点构建过程的幕后情况。
网站、文件等
推特
FNA谈到了将NativeAOT移植到游戏机上。
https://twitter.com/thespydog/status/1609602883418296320
bflat(一种将C#编译为本地二进制文件的工具)现在可以针对UEFI并进行构建(无需操作系统,可以在裸机上工作)。
https://twitter.com/mstrehovsky/status/1610043782061514752
版权声明
- 国内板块由 InCerry 进行整理 : https://github.com/InCerryGit/WeekRef.NET
- 其余内容来自 Myuki WeekRef,由InCerry翻译(已获得授权) : https://github.com/mayuki/WeekRef.NET
由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《.NET周报-国内文章》板块进行贡献,需要推广自己的文章或者框架、开源项目可以下方的项目地址提交Issue或者在我的微信公众号私信。
格式如下:
- 10~50字左右的标题
- 对应文章或项目网址访问链接
- 200字以内的简介,如果太长会影响阅读体验
https://github.com/InCerryGit/.NET-Weekly
.NET性能优化交流群
相信大家在开发中经常会遇到一些性能问题,苦于没有有效的工具去发现性能瓶颈,或者是发现瓶颈以后不知道该如何优化。之前一直有读者朋友询问有没有技术交流群,但是由于各种原因一直都没创建,现在很高兴的在这里宣布,我创建了一个专门交流.NET性能优化经验的群组,主题包括但不限于:
- 如何找到.NET性能瓶颈,如使用APM、dotnet tools等工具
- .NET框架底层原理的实现,如垃圾回收器、JIT等等
- 如何编写高性能的.NET代码,哪些地方存在性能陷阱
希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET性能问题和宝贵的性能分析优化经验。目前一群已满,现在开放二群,可以直接扫码进入。
如果提示已经达到200人,可以加我微信,我拉你进群: ls1075
另外也创建了QQ群,群号: 687779078,欢迎大家加入。
.NET周报【1月第1期 2023-01-06】的更多相关文章
- .NET周报【10月第3期 2022-10-25】
国内文章 聊一聊被 .NET程序员 遗忘的 COM 组件 https://www.cnblogs.com/huangxincheng/p/16799234.html 将Windows编程中经典的COM ...
- .NET周报【11月第1期 2022-11-07】
国内文章 开源·安全·赋能 - .NET Conf China 2022 https://mp.weixin.qq.com/s/_tYpfPeQgyEGsnR4vVLzHg .NET Conf Chi ...
- .NET周报【10月第1期 2022-10-11】
本周精选 继C#实现await/async无栈协程几年后,davidwrighton实现了.NET绿色线程(有栈协程)的原型 https://github.com/dotnet/runtimelab/ ...
- .NET周报【10月第2期 2022-10-17】
主题 宣布 .NET 7 发布候选版本 2 - .NET Blog https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-rc-2/ .N ...
- 七牛云 GO 语言周报【七月第 2 期】
全世界有多少 Gopher? 上周的周报中,我们介绍了 Go 语言的排名已经进入到前十.那么世界上到底有多少 Gopher 呢? 作者列出了以下计算公式: Gopher 数量 = 全世界的开发者数量 ...
- F#周报2019年第11期
新闻 Bolero:WebAssembly中的F# 尝试WebAssembly里的F# JetBrains的fsharp-support 2019.1 ML.NET 0.11发布 Outreachy内 ...
- F#周报2019年第16期
新闻 Ionide试验版本 FSharp路线图介绍 Blazor官方预览 .NET Framework 4.8发布 .NET Core 3 Preview 4发布 需要来自FSharp.Data.Sq ...
- F#周报2019年第7期
新闻 Visual Studio 2019预览版3,F#性能修复 Bolero 0.3发布,HTML模版热加载 Fantomas在线升级至Fantomas 2.9.2 使用F#开发的随机访问Excel ...
- F#周报2019年第17期
新闻 .NET版本的Apache Spark Apache Spark预览版介绍 F# Apache Spark示例 微软Build 2019大会(5月6日至8日) Rider用于F#的解决方案内的重 ...
- F#周报2018年第51期
新闻 有经验的开发者选择F# 2018年10佳技术讲话 试用F#开发WebAssembly Fable.Remoting: 刷新访问令牌 F#开发WebAssembly现在可以使用代码补全 Rider ...
随机推荐
- 使用 Apache Hudi 实现 SCD-2(渐变维度)
数据是当今分析世界的宝贵资产. 在向最终用户提供数据时,跟踪数据在一段时间内的变化非常重要. 渐变维度 (SCD) 是随时间推移存储和管理当前和历史数据的维度. 在 SCD 的类型中,我们将特别关注类 ...
- 『现学现忘』Git基础 — 35、Git中删除文件
目录 1.删除文件说明 2.删除文件操作 (1)仅删除暂存区的文件 (2)完全删除文件 3.本文用到的命令总结 1.删除文件说明 在Git工作目录中要删除某个文件,首先要清楚该文件所处的状态. 若要是 ...
- 实现etcd服务注册与发现
转载自:实现etcd服务注册与发现 0.1.目录结构 . ├── api │ └── main.go ├── common │ └── common.go ├── docker-compose ...
- Codeforces Round #829 (Div. 2)/CodeForces1754
CodeForces1754 注:所有代码均为场上所书 Technical Support 解析: 题目大意 给定一个只包含大写字母 \(\texttt{Q}\) 和 \(\texttt{A}\) 的 ...
- Day2:基本的Dos命令
打开CMD的方式 开始+系统+命令提示符(右键以管理员身份运行可拿到最高权限) Win键+R 输入 cmd打开控制台(推荐使用) 桌面上按住shift+鼠标右键,打开powershell窗口 文件搜索 ...
- 禁止eslint对指定代码检测
有时候我们引入外部文件的API时,eslint无法识别,编译的时候就会出现warn eslint是可以禁用对指定代码的检测: 单行注释 let map = new BMap.Map('map') // ...
- 一次SpringBoot版本升级,引发的血案
前言 最近项目组升级了SpringBoot版本,由之前的2.0.4升级到最新版本2.7.5,却引出了一个大Bug. 到底是怎么回事呢? 1.案发现场 有一天,项目组的同事反馈给我说,我之前有个接口在新 ...
- 嵌入式-C语言基础:malloc动态开辟内存空间
#include<stdio.h> #include<stdlib.h> int main() { // char *p;//定义一个野指针:没有让它指向一个变量的地址 // ...
- centos7内核升级记录
1. 挂载centos7.9最终版镜像,执行升级执行:yum update 2. 重启服务器系统:init 6 3. 查看当前内核版本:uname -r 4. 查看历史内核,并卸载没用的:rpm -q ...
- Python-WebSpider
(一)网路爬虫入门 1.0 爬虫是个啥 通过编写程序,模拟浏览器去上网,然后让其去互联网上抓取数据的过程 1.1 爬虫分类 通用爬虫 :抓取系统重要组成部分,抓取一整张页面的数据 聚焦爬虫:建立在通用 ...