gpt4 book ai didi

.NET周刊【8月第4期2023-08-27】

转载 作者:我是一只小鸟 更新时间:2023-09-02 00:05:23 28 4
gpt4 key购买 nike

国内文章

AgileConfig-1.7.0 发布,支持 SSO 🎉🎉🎉

https://www.cnblogs.com/kklldog/p/agileconfig-170.html 。

AgileConfig 已经好久好久没有更新过比较大的功能了。一是 AgileConfig 本身的定位就是比较轻量,不想集成太多的功能。二是比较忙(懒)。但是本次升级给大家带来了一个比较有用的功能 SSO.

使用 OpenTelemetry 构建 .NET 应用可观测性(1):什么是可观测性

https://www.cnblogs.com/eventhorizon/p/17660272.html 。

  • 什么是系统的可观测性(Observability)
  • 为什么软件系统需要可观测性
  • 可观测性的三大支柱
    • 日志(Logging)
    • 指标(Metrics)
    • 分布式追踪(Distributed Tracing)
      • Trace 和 Span
  • Unknow Unknows VS Known Unknowns
  • 数据的关联 - 实现可观测性的关键
  • 总结

Windows 虚拟地址 到底是如何映射到 物理地址 的?

https://www.cnblogs.com/huangxincheng/p/17656346.html 。

我发现有很多的 .NET程序员 写了很多年的代码都没弄清楚什么是 虚拟地址 ,更不用谈什么是 物理地址 以及Windows是如何实现地址映射的了?这一篇我们就来聊一聊这两者之间的联系.

C#是否应该限制链式重载的设计模式?

https://www.cnblogs.com/sunkaixuan/p/17655870.html 。

链式重载是我自己创造的一个词,意思是方法A里处理一下参数,return另一个方法A,第二个方法A里处理一下参数调第三个方法A,就这样无限循环下去直到调到真正能出结果的方法A.

本人学艺不精,偶然进行C#开发,感觉看代码要吐。比如看到某处调用方法A,除非有某个特征显眼的参数,否则根本不知道调的方法A是哪个,而且代码里也不是按照链的顺序写的.

一个超经典 WinForm 卡死问题的最后一次反思

https://www.cnblogs.com/huangxincheng/p/17654394.html 。

在我分析的 200+ dump 中,同样会遵循着 28原则,总有那些经典问题总是反复的出现,有很多的朋友就是看了这篇 一个超经典 WinForm 卡死问题的再反思 找到我,说 WinDbg 拦截 System_Windows_Forms_ni System.Windows.Forms.Application+MarshalingControl..ctor 总会有各种各样的问题,而且 windbg 也具有强侵入性,它的附加进程方式让很多朋友望而生畏! 。

这一篇我们再做一次反思,就是如何不通过 WinDbg 找到那个 非主线程创建的控件 ,那到底用什么工具的? 对,就是用 Perfview 的墙钟模式.

MAUI+Blazor混合应用开发示例

https://www.cnblogs.com/fengjq/p/17647612.html 。

笔者之前在公司搭建过一套生产管理系统,该系统要求能和硬件进行串口通信,同时又要方便后台进行信息查询。笔者给出的解决方案就是: MAUI + Blazor ,这样只需要提供一套UI,就能满足桌面端、移动端和Web端三种不同应用场景。今天要介绍的是基于桌面端的开发实现(实际上WPF和Winform皆可行).

某酒管集团-单例模式对性能的影响及思考

https://www.cnblogs.com/yxdeng/p/17636047.html 。

大概一年前开始在思考 构造函数中 依赖注入较多,这对系统性能及硬件资源消耗产生一些优化想法。 一般较多公司的项目都使用Autofac 依赖注入(Scoped 作用域),但是发现过多的对象产生 会消耗 CPU , 内存 并给GC(垃圾回收)造成一定的压力。那么开始思考是否能够使用 单例 (Singleton)来解决这些问题呢? 带着这些想法开始ReView整个项目的代码,排查是否存在 单例 会造成 线程安全 或 方法内修改全局变量的代码( 结果是乐观的.... )。于是开始了性能测试....论证.. 试运行... ,结果是超预期的(CPU 从 60%-降低到--》10%, 内存 从 33%-降低到--》20%, 接口平均响应时间 从 120毫秒--降低到--》50毫秒 . 1500/QPS (不含内部服务相互调用)) 和 @InCerry 沟通结果,说可以写个 案例 和大家分享分享... 于是乎 有了这一片文章.

CTC蜀道会:第一次圆桌会圆满结束

https://www.cnblogs.com/edisonchou/p/ctc_offline_activity_2023no1_introduction.html 。

近期,成都.NET俱乐部核心成员经过讨论会,我们成立了 CTC蜀道会 ,它是一个专注于创业历程、研发管理、AIGC、副业之路、.NET、Vue、微软技术、开源技术等领域的社区,立足于蓉城成都,致力于连接同道中人,共同破圈成长.

Blazor前后端框架Known-V1.2.13

https://www.cnblogs.com/known/p/17645480.html 。

Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行.

  • Gitee: https://gitee.com/known/Known
  • Github: https://github.com/known/Known

主题

【英文】发布版本 v2.56.0 grpc/grpc-dotnet

https://github.com/grpc/grpc-dotnet/releases/tag/v2.56.0 。

grpc-dotnet v2.56.0 已发布.

它包括对 DebuggerDisplay 等调试体验的改进,以及细微的改进和错误修复.

【英文】Windows 社区工具包 8.0 预发行版 - #ifdef Windows

https://devblogs.microsoft.com/ifdef-windows/windows-community-toolkit-8-0-pre-release/ 。

Windows Community Toolkit 8.0 预览版已发布.

WCT 8.0 将多个平台集成到一个代码库中,统一命名空间等等。该组件可与 UWP、Windows App SDK 和 Uno 平台配合使用.

本文还介绍了可用的包以及如何在新的/现有的项目中使用它们.

【英文】发布 ImageSharp.Drawing 1.0.0

https://sixlabors.com/posts/announcing-imagesharp-drawing-100/ 。

SixLabors.ImageSharp.Drawing 1.0.0 已发布.

该库基于ImageSharp,提供高级绘图功能,例如文本渲染、路径和形状绘制。在类似 Linux 的环境中可以用作 System.Drawing 的替代方案.

请注意,该库的版本 v1.x 是在 Apache 2.0 许可证下,但它所依赖的 ImageSharp 不是 v2.x(不是开源的).

【英文】ReSharper 和 Rider 2023.2 的第一组错误修复就在这里! | .NET 工具博客

https://blog.jetbrains.com/dotnet/2023/08/24/2023-2-1-bugfix/ 。

ReSharper 和 Rider 2023.2 已发布.

此版本修复了各种错误,包括冻结和代码解析问题.

【英文】.NET Framework 2023 年 8 月累积更新预览 - .NET 博客

https://devblogs.microsoft.com/dotnet/dotnet-framework-august-2023-cumulative-update-preview/ 。

.NET Framework 2023 年 8 月累积更新的预览版已发布.

此版本修复了 WPF、运行时和 ASP.NET 中的多个错误.

文章、幻灯片等

【英文】内存优化的扭曲故事

https://ayende.com/blog/199969-A/a-twisted-tale-of-memory-optimization?Key=cb2fc684-6549-466c-9c4f-0bae8b5ef566 。

讨论从“char[]”创建 UTF-8 字节时优化内存分配的陷阱.

【日文】可以包装 Microsoft.Fast.Components.FluentUI 的 DataGrid 中无法显示的项目

https://zenn.dev/tomokusaba/articles/2468153bfe2d68 。

关于FluentUI for Blazor的FluentDataGrid组件中在列中指定长字符串时如何避免显示被截断的问题.

【日文】CEDEC 2023 现代高性能 C# 2023 版

https://speakerdeck.com/neuecc/cedec-2023-modanhaipahuomansuc-number-2023-edition 。

该幻灯片介绍了基于序列化器的实现在现代 .NET 中编写高性能代码的技术.

【日文】使用 AntDesignBlazor 时如何测试组件

https://zenn.dev/artuer/articles/9245d21ac8a88c 。

如何使用 AntDesignBlazor 对组件进行单元测试。能够使用 BUnit 和 AntDesignTestKit 编写测试.

【日文】制作一个在iOS真机和模拟器上运行MAUI App的脚本的故事 - Qiita

https://qiita.com/t0r/items/1e7a2e8923a8b47a3a12 。

关于创建 shell 脚本以直接在 iOS 真实版和模拟器上运行 .NET MAUI 应用程序.

【英文】在 Visual Studio 2022 中安全地使用 HTTP 请求中的机密 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/safely-use-secrets-in-http-requests-in-visual-studio-2022/ 。

使用 Visual Studio 2022 发送 HTTP 请求 (.http) 的功能时如何存储机密.

除了 httpenv.json 作为环境设置和 httpenv.json.user 作为用户特定设置之外,我们还介绍了从 ASP.NET Core 用户机密和 Azure Key Vault 获取机密信息以及使用 Windows DPAPI 进行加密等方法。是它还引入了 HTTP 文件中额外支持的新语法.

【英文】使用 ForwardedHeadersMiddleware 简化微服务中的标头传播

https://medium.com/@asad99/simplifying-header-propagation-in-microservices-with-forwardedheadersmiddleware-2001fa6b4981 。

如何在服务之间传播从客户端接收到的 HTTP 标头。本文介绍如何使用 Microsoft.AspNetCore.HeaderPropagation NuGet 包.

【英文】使用 GitHub Copilot Chat 简化代码优化和调试 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/simplified-code-refinement-and-debugging-with-github-copilot-chat/ 。

介绍 Visual Studio 中使用 GitHub Copilot Chat 进行调试和代码改进功能.

本文介绍了分析器中的 CPU 使用情况分析、异常帮助程序以及调试时引用变量和调用堆栈的问题等功能.

【英文】探索 .NET 8 中的 Blazor 变化 - 使用表单捕获用户输入

https://jonhilton.net/blazor-ssr-forms/ 。

在 .NET 8 中的 Blazor (SSR) 中处理表单用户输入的演练.

【英文】如何在 Steam Deck 上安装 JetBrains Rider | .NET 工具博客

https://blog.jetbrains.com/dotnet/2023/08/23/how-to-install-jetbrains-rider-on-steam-deck/ 。

如何在 Steam Deck (SteamOS) 上安装 Rider.

本文介绍了除了 Rider 之外如何安装和运行 .NET 和 Unity.

【英文】.NET 迁移的故事 - 编目

https://www.jimmybogard.com/tales-from-the-net-migration-trenches-catalog/ 。

创建一个目录,列出现有应用程序需要解决的问题,以便从 .NET Framework 迁移到 .NET.

【英文】使用 Serilog 和 Azure 进行 ASP.NET Core 日志记录

https://damienbod.com/2023/08/21/asp-net-core-logging-using-serilog-and-azure/ 。

如何在 ASP.NET Core 中使用 Serilog 将日志发送到 Application Insights 和 Azure 应用服务日志记录服务.

【英文】动态适应应用程序大小

https://maoni0.medium.com/dynamically-adapting-to-application-sizes-2d72fcb6f1ea 。

讨论称为动态适应应用程序大小 (DATA) 的 GC 功能,该功能将在 .NET 8 中实验性地引入.

【日文】C# Dev Kit for Visual Studio Code 是一个故事,您可以在 GitHub Codespaces 上免费使用它 - Shibayan Miscellaneous

https://blog.shibayan.jp/entry/20230825/1692937805 。

关于在 Visual Studio Code 上使用扩展的 C# Dev Kit 进行 .NET 开发需要 Visual Studio 许可证,但该许可证包含在 GitHub Codespaces 中.

【日文】尝试将 ASP.NET Core 集成添加到 Azure Functions(.NET 独立工作线程)- Shibayan 其他

https://blog.shibayan.jp/entry/20230823/1692768859 。

了解 ASP.NET Core 集成现已在 Azure Functions 的 .NET 隔离工作线程中可用.

【英文】Visual Studio 中的新增功能:使用解决方案资源管理器比较文件 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/new-in-visual-studio-compare-files-with-solution-explorer/ 。

介绍 Visual Studio 解决方案资源管理器中的文件比较功能.

Enum.TryParse 意外行为

https://steven-giesel.com/blogPost/64d479f1-823f-4fc7-a56a-2b1ff06dcf72 。

如果 Enum.TryParse 与基本类型匹配,即使该值实际上并未定义,它也会通过有必要检查 IsDefined.

库、存储库、工具等。

wcabus/nes-sharp:用 C# 编写的 NES 模拟器

https://github.com/wcabus/nes-sharp 。

用 C# 编写的 NES(Famicom)模拟器.

https://x.com/wesleycabus/status/1695072673087263168?s=12 。

网站、文档等

推文

讨论如何在 appsettings.json 中以与日志相同的方式完成 .NET 8 中与指标相关的设置.

https://x.com/davidfowl/status/1695454305782837561?s=12 。

对象头是 4 个字节,但在 64 位 .NET 中,出于对齐原因包含 4 个字节的填充是一种浪费.

https://x.com/kookiz/status/1692931201550446891?s=12&t=ggvrrZ7oLogHyNoIGNgjbw 。

深入理解

通过 janvorli Pull 请求将 NativeAOT 异常处理移植到 CoreCLR #88034 dotnet/runtime

https://github.com/dotnet/runtime/pull/88034 。

PR 将 NativeAOT 的异常处理机制移植到 CoreCLR.

这可以加快异常处理速度,但目前有一些限制,并且需要环境变量才能启用。此外,由于复杂性,不支持 32 位版本的 Windows.

CoreCLR RISC-V 架构端口问题 #84834 dotnet/runtime GitHub

https://github.com/dotnet/runtime/issues/84834 。

移植到 RISC-V 架构的问题.

版权声明

  • 国内板块由 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,欢迎大家加入.

抽奖送书活动预热!!!

感谢大家对我公众号的支持与陪伴!为庆祝公众号一周年,抽奖送出一些书籍,请大家关注公众号后续推文! 。

image-20230703203249615

最后此篇关于.NET周刊【8月第4期2023-08-27】的文章就讲到这里了,如果你想了解更多关于.NET周刊【8月第4期2023-08-27】的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com