前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >.NET周刊【8月第1期 2023-08-06】

.NET周刊【8月第1期 2023-08-06】

作者头像
InCerry
发布于 2023-08-31 05:41:20
发布于 2023-08-31 05:41:20
2120
举报
文章被收录于专栏:InCerryInCerry

国内文章

NativeBuferring,一种零分配的数据类型(上篇)

https://www.cnblogs.com/artech/p/17586781.html

之前一个项目涉及到针对海量(千万级)实时变化数据的计算,由于对性能要求非常高,我们不得不将参与计算的数据存放到内存中,并通过检测数据存储的变化实时更新内存的数据。存量的数据几乎耗用了上百G的内存,再加上它们在每个时刻都在不断地变化,所以每时每刻都无数的对象被创建出来(添加+修改),同时无数现有的对象被“废弃”(删除+修改)。这种情况针对GC的压力可想而知,所以每当进行一次2代GC的时候,计算的耗时总会出现“抖动”。为了解决这类问题,几天前尝试着创建了一个名为NativeBuffering的框架。目前这个框架远未成熟,而且是一种“时间换空间”的解决方案,虽然彻底解决了内存分配的问题,但是以牺牲数据读取性能为代价的。这篇文章只是简单介绍一下NativeBuffering的设计原理和用法,并顺便收集一下大家的建议。[本文演示源代码从这里下载]

NativeBuferring,一种零分配的数据类型(下篇)

https://www.cnblogs.com/artech/p/17587660.html

这篇文章是关于NativeBuffering,一种零分配的数据类型,它可以用来高效地处理缓冲字节序列。文章介绍了NativeBuffering支持的两种基本数据类型:Unmanaged和IReadOnlyBufferedObject,以及它们的集合和字典类型。文章还介绍了如何利用Source Generator生成BufferedMessage类型,以及如何通过无限嵌套的形式定义一个具有任意结构的数据类型。文章的目的是让读者了解NativeBuffering的设计原理和使用方法。

揭秘 .NET 中的 TimerQueue(下)

https://www.cnblogs.com/eventhorizon/p/17609210.html

关于.NET中的TimerQueue的文章,它是一个用于管理定时任务的类。文章主要介绍了以下内容:

  • TimerQueue是如何与操作系统的定时器进行交互的,包括注册、取消、设置和回调等细节。
  • TimerQueue是如何在删除数据时维持B树的平衡性的,包括从叶子节点和非叶子节点删除数据,以及提前扩充只有t-1个Item的节点的三种方法:从左兄弟节点借用Item,从右兄弟节点借用Item,与左兄弟节点或右兄弟节点合并。
  • TimerQueue是如何实现最值的删除的,包括最小值和最大值的查找和删除。
  • 作者还提供了完整的代码实现和性能测试,与优先队列PriorityQueue进行了比较。

重返照片的原始世界:我为.NET打造的RAW照片解析利器

https://www.cnblogs.com/sdflysha/p/20230801-sdcb-libraw-intro.html

这篇文章介绍了作者如何为.NET打造了一个RAW照片解析的库,基于libraw这个开源项目。文章主要包括以下几个方面:

  • 作者介绍了RAW照片的概念和优势,以及libraw的功能和特点。
  • 作者展示了如何使用他的库Sdcb.LibRaw来将RAW照片转换为Bitmap或者其他格式的图像,以及如何获取支持的相机列表。
  • 作者解释了他的库的架构和设计思路,以及如何使用PInvoke来封装libraw的C API
  • 作者提供了一些示例代码和截图,以及一些相关的下载链接和参考资料。

文章的目的是帮助.NET开发者更好地理解和使用RAW照片,以及展示作者的开源项目。

你真的知道吗?catch、finally和return哪个先执行

https://www.cnblogs.com/rupeng/p/17599580.html

我的一位朋友前阵子遇到一个问题,问题的核心就是try……catch……finally中catch和finally代码块到底哪个先执。这个问题看起来很简单,当然是“catch先执行、finally后执行”了?真的是这样吗?

堆 Heap & 栈 Stack(.Net)【概念解析系列_3】【C# 基础】

https://www.cnblogs.com/hnzhengfy/p/GNJXXL_HeapStack.html

本文主要围绕 .Net 框架中的托管堆(Heap,简称堆)和堆栈(Stack,简称栈)展开。

.Net 程序在 CLR(Common Language Runtime 公共语言运行时)上运行时,内存被从逻辑上划分为两个主要部分:堆和栈。除了栈和堆之外,CLR 还维护了其他一些内存区域,例如静态存储区域(Static Storage Area)、常量存储区域(Constant Storage Area)等。这些内存区域都有各自的特点和用途,可以帮助我们更好地管理程序内存和资源的使用。

因此,熟知堆和栈的运行机制,对提升系统性能和稳定性至关重要。

记一次 .NET某培训学校系统 内存碎片化分析

https://www.cnblogs.com/huangxincheng/p/17602611.html

前些天有位朋友微信上找到我,说他们学校的Web系统内存一直下不去,让我看下到底是怎么回事,老规矩让朋友生成一个dump文件丢给我,看一下便知。

记一次 .NET 某物流API系统 CPU爆高分析

https://www.cnblogs.com/huangxincheng/p/17593608.html

前段时间有位朋友找到我,说他程序CPU直接被打满了,让我帮忙看下怎么回事,截图如下:

看了下是两个相同的程序,既然被打满了那就抓一个 dump 看看到底咋回事。

.NET Core WebAPI中使用Swagger(完整教程)

https://www.cnblogs.com/kimiliucn/p/17602073.html

这篇文章介绍了如何使用Swagger来生成和测试Web API的文档,以及如何自定义Swagger UI的界面和功能。文章主要包括以下几个部分:

  • Swagger的概念和优势,以及它与Open API和Restful API的关系。
  • 如何在.NET Core项目中安装和配置Swashbuckle.AspNetCore包,以及如何生成JSON格式的Swagger文档。
  • 如何在项目中启用Swagger UI,并修改默认的启动URL。
  • 如何在代码中添加XML注释,以便在Swagger UI中显示更多的信息和说明。
  • 如何自定义Swagger UI的样式和主题,以及如何添加授权功能。

文章还提供了一些示例代码和截图,以及一些相关的下载链接和参考资料。文章的目的是帮助开发者更好地理解和使用Swagger来构建和测试Web API。

【.NET6 + Vue3 + CentOS7.9 + Docker + Docker-Compose + SSL】个人博客前后端运维部署

https://www.cnblogs.com/lujiesheng/p/17599850.html

这篇文章介绍了如何使用Docker和Docker Compose来部署个人博客的前后端和运维服务。文章主要包括以下几个步骤:

  • 在腾讯云轻量应用服务器上安装和配置CentOS 7.6,设置防火墙和域名解析,申请SSL证书,创建容器镜像服务
  • 服务器上安装和启动Docker和Docker Compose,准备部署目录和配置文件,创建nginx、ui、api、portainer等服务。
  • 在本地使用VS2022打包.NET6 API镜像,推送到腾讯云容器仓库,然后在服务器上拉取并启动。
  • 使用docker-compose命令来管理服务的启动、停止、重启等操作,查看服务的状态和网络。

文章还提供了一些示例代码和截图,以及一些相关的下载链接和参考资料。

C#.NET 国密SM2 加密解密 与JAVA互通 ver:20230805

https://www.cnblogs.com/runliuv/p/17607568.html

如标题所示,本文介绍了国密SM2 .NET 如何与 JAVA互通。

.NET 环境:.NET6 控制台程序(.net core)。

JAVA 环境:JAVA8,带maven 的JAVA控制台程序。

主题

【英文】发布 ILSpy 8.1 icsharpcode/ILSpy

https://github.com/icsharpcode/ILSpy/releases/tag/v8.1

ILSpy 8.1 已发布。

此版本包括对一些 C# 11 符号的支持和各种修复。

【英文】宣布推出 Visual Studio Code 的 Unity 扩展 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/announcing-the-unity-extension-for-visual-studio-code/

Visual Studio Code 的 Unity 扩展现已推出预览版。

该扩展基于 C# 开发套件构建,支持代码编辑的 AI 辅助、Roslyn 分析器和 Unity 中的游戏调试等功能。文章还介绍了如何在Unity中使用。

该扩展还以与 C# 开发工具包相同的许可模式提供,并且需要 Visual Studio Community 许可证或订阅。

【英文】Rider 2023.2:更好的 C# 支持、UX/UI 增强、AI 驱动的功能等等 | JetBrains 博客

https://blog.jetbrains.com/dotnet/2023/08/02/rider-2023-2-release/

Rider 2023.2 已发布。

  • C# 更新
  • 改进的用户界面/用户体验
    • 固定项目标题、主工具栏自定义、运行配置
    • 改进的构建工具窗口
    • 默认外观是新的用户界面
    • 定制和简化
  • 人工智能辅助(访问受限)
  • 版本控制
    • GitLab 集成
    • 后台提交检查
    • 行提交选项
  • 性能改进
    • 减少缓存数据(减少 I/O)
  • 游戏开发
    • 改进的蓝图索引、热重载和实时编码、更好的 Perforce 支持 .NET SDK
    • 虚幻引擎
    • 重新启动源生成器模板和源生成器
    • Docker快速模式
    • .NET MAUI 热重载
    • Unity AI 协助、ShaderLab 支持、Unity DOTS 支持

【英文】ReSharper 2023.2:更多 C#、C++ 20 和 C++ 23 功能、创建和导航单元测试的能力、预测调试器模式等等 | JetBrains 博客

https://blog.jetbrains.com/dotnet/2023/08/02/resharper-2023-2-release/

ReSharper 2023.2 已发布。

  • C# 更新
  • C++ 更新
  • 性能改进
    • 减少解决方案加载时间
  • 单元测试创建和导航
  • 人工智能辅助(访问受限)
  • 预测调试器(测试版)
  • 反编译器中的程序集差异

【英文】.NET Conf 2023 - 庆祝 .NET 8 的发布! - .NET 博客

https://devblogs.microsoft.com/dotnet/dotnet-conf-2023-celebating-the-release-of-dotnet-8-save-the-date/

关于 .NET Conf 2023 的公告。

.NET Conf 2023 将于 11 月 14 日至 16 日举行,为期三天,包括各种会议,包括 .NET 8 的发布。

【英文】Microsoft 作者签名证书将于 2023 年 8 月 14 日更新 - NuGet 博客

https://devblogs.microsoft.com/nuget/microsoft-author-signing-certificate-update-2023/

用于签署微软发布的NuGet包的证书将在8月14日之后更新。

现有软件包不会通过此支持进行更新,未来的软件包将使用新证书进行签名。

如果您拥有并验证 NuGet 客户端策略中的受托人允许列表,则会受到影响。

【英文】dotCover、dotMemory、dotPeek 和 dotTrace 2023.2 发布!| JetBrains 博客

https://blog.jetbrains.com/dotnet/2023/08/02/2023-2-dottools-release/

dotCover、dotMemory、dotPeek、dotTrace、dotMemory 2023.2

  • Rider 中的快照分析
  • dotTrace * 采样、跟踪、按线程分组的逐行快照 * Linux 和 macOS 上的源代码查看工具窗口
  • dotPeek
    • 组件比较
  • dotCover
    • 错误修复和稳定性改进

文章、幻灯片等

【英文】C# 12 拦截器!

https://dev.to/bugandfix/c-12-interceptors-an-insane-feature--517l

一篇关于在 C# 12 中运行拦截器的文章。

【英文】哪个 RDBMS 具有最快的 .NET Bulk Insert 实现?

https://servicestack.net/posts/bulk-insert-performance

不同 RDBMS 和架构/操作系统之间批量插入的性能比较。

【英文】C# 中的类与结构:做出明智的选择 - NDepend

https://blog.ndepend.com/class-vs-struct-in-c-making-informed-choices/

总结类和结构的优缺点并决定使用哪一种。

【日文】C# 将数据库提供程序合并到通用主机 DI - Qiita

https://qiita.com/mxProject/items/232ee4d0feb30a41a2f3

如何在 Generic Host 的服务中嵌入和使用数据库提供程序 (ADO.NET)。

【英文】ASP.NET Core 中的插件架构 – 如何掌握它

https://dev.to/devleader/plugin-architecture-in-aspnet-core-how-to-master-it-1824

如何在 ASP.NET Core 应用程序中实现插件架构。

【英文】.NET8 依赖注入中的键控服务

https://dev.to/xelit3/keyed-services-in-net8s-dependency-injection-2gni

关于 .NET 8 中的 M.E.DependencyInjection 以及 ASP.NET Core 中支持的键控服务。

【英文】在 EFCore 中利用自定义 PostgreSQL 函数:映射和使用指南

https://gor-grigoryan.medium.com/leveraging-custom-postgresql-functions-in-efcore-a-guide-to-mapping-and-usage-53941b10fe89

如何在 Entity Framework Core 中映射和使用 PostgreSQL 自定义函数。

【英文】通过单元测试创建和导航加速您的测试工作流程 | JetBrains 博客

https://blog.jetbrains.com/dotnet/2023/08/01/acceleating-your-testing-workflow-with-unit-test-creation-and-navigation/

介绍 ReSharper 中的单元测试创建和导航功能。它介绍了可用于在代码之间导航和创建新单元测试的函数。

【日文】使用VisualStudio.Extensibility-Qiita进行扩展开发介绍

https://qiita.com/mngreen/items/d712930b5894aa6ea17f

引入使用 Visual Studio.Extensibility(Visual Studio 的新扩展模型)的扩展实现。

【英文】基于命令行的 .NET 应用程序

https://dev.to/asimmon/instrumenting-systemcommandline-based-net-applications-1p88

如何使用 System.CommandLine 将自定义工具合并到您的应用程序中。

【日文】DateTime.MaxValue 翻译错误 - Qiita

https://qiita.com/hiro_t/items/0a8e5ce1c1552366a8f4

关于DateTime.MaxValue日文文档解释中的错误。

【英文】C# 中的 ImmutableArray<T> 迭代性能

https://antao-almada.medium.com/immutablearray-t-iteration-performance-in-c-99e490d4d352

ImmutableArray<T> 上枚举操作的性能。与列表、数组等的比较

【英文】学习 Resharper PostFix 和源模板

https://dev.to/karenpayneoregon/learn-resharper-postfix-and-source-templates-32lo

如何使用和创建 ReSharper 和 Rider 中提供的 postfix 部署模板。

【英文】为所有 ASP.NET Core 生成站点地图

https://khalidabuhakmeh.com/generate-sitemaps-for-all-of-aspnet-core

如何使用 DotnetSitemapGenerator 在 ASP.NET Core Web 应用程序中生成站点地图 (XML)### 将异常转化为问题详细信息响应 https://timdeschryver.dev/blog/translated-exceptions-into-problem-details-responses

ASP.NET Core 如何将异常转换为问题详细信息响应并返回它。

【英文】.NET 8 时间提供程序和单元测试

https://khalidabuhakmeh.com/dotnet-8-timeprovider-and-unit-tests

了解 .NET 8 中引入的 TimeProvider API 以及如何使用它编写单元测试。

【英文】释放 .NET 源代码生成器的力量

https://medium.com/@bnayae/unleashing-the-power-of-net-source-code-generators-3115156df775

使用源生成器的库简介。本文介绍了 Refit、System.Text.Json、Dunet、Mapperly 和 Generator.Equals。

【英文】我在 ASP.NET Core 应用程序中尝试了 Application Insights 的代码优化功能

https://blog.shibayan.jp/entry/20230805/1691227089

如何将 Application Insights 代码优化应用于 ASP.NET Core 应用程序。

代码优化包括基于人工智能的应用程序性能问题检测/建议。

【日文】.NET中基于长度的switch分支调度

https://ufcpp.net/blog/2023/8/lengthbasedswitch/

自 Roslyn 4.6 以来,关于字符串分支的 switch 分支以新的方式进行。

【日文】.NET 中的 WebSocket 和处理断开连接 -castaneai 的博客

https://castaneai.hatenablog.com/entry/closing-websocket-connection-in-dotnet

关于 .NET WebSocket 中的断开连接处理。关于CloseAsync、CloseOutputAsync和Dispose等方法之间的区别。

【日文】[C#] [备忘录] 设置为在 build-Qiita 期间不输出不必要的语言文件夹

https://qiita.com/minoura_a/items/092b141bc6ecde5bbb24

如何避免在构建时包含不必要的语言本地化资源。

版权声明

  • 国内板块由 InCerry 进行整理 : https://github.com/InCerryGit/WeekRef.NET
  • 其余内容来自 Myuki WeekRef,由InCerry翻译(已获得授权) : https://github.com/mayuki/WeekRef.NET
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InCerry 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
.NET周刊 【7月第2期 2023-07-02】
https://www.cnblogs.com/hejiale010426/p/17529511.html
InCerry
2023/08/31
1900
.NET周刊 【7月第2期 2023-07-02】
.NET周报 【6月第2期 2023-06-11】
https://www.cnblogs.com/artech/p/size-calculation.html
InCerry
2023/08/31
2310
.NET周报 【6月第2期 2023-06-11】
.NET周刊【7月第5期 2023-07-30】
https://www.cnblogs.com/sdflysha/p/20230724-paddlesharp-in-a-year.html
InCerry
2023/08/31
2100
.NET周刊【7月第5期 2023-07-30】
.NET周报 【5月第1期 2023-05-06】
https://www.cnblogs.com/huangxincheng/p/17374315.html、
InCerry
2023/08/31
2140
.NET周报 【5月第1期 2023-05-06】
.NET周报 【4月第5期 2023-04-30】
https://www.cnblogs.com/NMSLanX/p/17326728.html
InCerry
2023/08/31
1850
.NET周报 【4月第5期 2023-04-30】
.NET周刊【7月第4期 2023-07-23】
https://www.cnblogs.com/artech/p/string-memory-layout.html
InCerry
2023/08/31
1840
.NET周刊【7月第4期 2023-07-23】
.NET周报【1月第2期 2023-01-13】
https://www.cnblogs.com/tcjiaan/p/17024363.html
InCerry
2023/03/08
2.7K0
.NET周报【1月第2期 2023-01-13】
.NET周报【1月第3期 2023-01-20】
https://www.cnblogs.com/InCerry/p/building-a-self-contained-game-in-c-under-8-kilobytes-74c3cf60ea04.html
InCerry
2023/03/08
4.8K0
.NET周报【1月第3期 2023-01-20】
.NET周报 【6月第4期 2023-06-25】
https://www.cnblogs.com/eventhorizon/p/17497359.html
InCerry
2023/08/31
3110
.NET周报 【6月第4期 2023-06-25】
.NET周刊【12月第1期 2023-12-06】
https://www.cnblogs.com/shanyou/p/17858385.html
InCerry
2023/12/14
3060
.NET周刊【12月第1期 2023-12-06】
.NET周报【12月第1期 2022-12-08】
https://www.cnblogs.com/savorboard/p/cap-7-0.html)
InCerry
2023/03/08
4.7K0
.NET周报【12月第1期 2022-12-08】
.NET周刊【2月第2期 2024-02-11】
https://www.cnblogs.com/Can-daydayup/p/18006914
InCerry
2024/02/26
1920
.NET周刊【2月第2期 2024-02-11】
.NET周刊【11月第3期 2024-11-17】
https://www.cnblogs.com/netry/p/18543378/scalar-an-alternative-to-swagger-in-dotnet-9
InCerry
2024/11/23
980
.NET周刊【11月第3期 2024-11-17】
.NET周刊【11月第2期 2023-11-12】
https://www.cnblogs.com/Can-daydayup/p/17818557.html
InCerry
2023/11/22
2600
.NET周刊【11月第2期 2023-11-12】
.NET周报 【5月第2期 2023-05-14】
https://www.cnblogs.com/podolski/p/17388602.html
InCerry
2023/08/31
2320
.NET周报 【5月第2期 2023-05-14】
.NET周刊【5月第3期 2024-05-19】
文章介绍了利用 WPF 的 Shape 和动画功能,模仿 CSS/SVG 实现复杂的线条光效动画效果。首先,通过 Polyline 和 StrokeDashArray 实现了虚线动画,再通过 StrokeDashOffset 添加动画效果。然而,由于 WPF 不支持角向渐变,作者另寻两种方法来实现渐变效果,一种是基于多条线段的动画,最后提到可以使用 Avalonia 的 ConicGradientBrush 实现角向渐变。文章展示了实现代码和效果,但还涉及到多条线段拐角处颜色连贯等细节问题。
InCerry
2024/05/27
1390
.NET周刊【5月第3期 2024-05-19】
.NET周报 【5月第4期 2023-05-27】
https://www.cnblogs.com/gmmy/p/17430613.html
InCerry
2023/08/31
1880
.NET周报 【5月第4期 2023-05-27】
.NET周报【1月第4期 2023-01-28】
https://blog.lindexi.com/post/C-%E5%BE%88%E5%B0%91%E4%BA%BA%E7%9F%A5%E9%81%93%E7%9A%84%E7%A7%91%E6%8A%80.html
InCerry
2023/03/08
2.3K0
.NET周报【1月第4期 2023-01-28】
.NET周刊【8月第2期 2024-08-11】
https://www.cnblogs.com/shanyou/p/18347928
InCerry
2024/11/23
930
.NET周刊【8月第2期 2024-08-11】
.NET周刊【3月第1期 2024-03-03】
https://www.cnblogs.com/Can-daydayup/p/18035760
InCerry
2024/03/06
2700
.NET周刊【3月第1期 2024-03-03】
相关推荐
.NET周刊 【7月第2期 2023-07-02】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文