.NET周刊【8月第2期 2023-08-14】

发布时间 2023-08-18 10:00:26作者: InCerry

本周由于Myuki大佬感染新冠,国际板块暂停更新一周,将在下周补齐,所以本周只有国内板块。

国内文章

解决 Blazor 中因标签换行导致的行内元素空隙问题

https://www.cnblogs.com/ElderJames/p/resolves-width-issues-in-blazor-caused-by-element-wrapping.html

实践过不同前端框架的朋友应该都知道,对于同一个样式,在不同框架上的表现都会有不同,时时需要做“适配”,在 Blazor 上也不例外。在做 Ant Design Blazor 时就深有体会,因为我们是同步官方的样式,他们的样式只考虑了React 上的实现,除非有人专门提 PR,否则都不会特别考虑其他框架的实现。本文就介绍一个典型问题。

使用 C# 进行AI工程开发-基础篇(五):文件数据库与向量数据库

https://zhuanlan.zhihu.com/p/649763690

数据库是数据存储和管理的重要基础设施,这里介绍下关系数据库之外的一些数据库,了解与掌握这些数据库,有助于人工智能应用的开发。本节主要介绍三个数据库:

LiteDB:纯 C# 实现的、简单易用的嵌入式数据库,快速开发的利器。当数据量不大的时候,直接使用 litedb,简单粗暴。

RocksDB:经过业界检验的 kv 数据库,也是很多新生代数据库的存储引擎。当数据量很大的时候,可以考虑使用 RocksDB。

milvus:开源的向量数据库,支持经典的向量索引,主要用于向量相似度检索。

使用 C# 进行AI工程开发-基础篇(六):小结

https://zhuanlan.zhihu.com/p/649766306

前面这些,是我实战总结的一套 AI 开发架构。来一个简单的小结:

  • 推理层:直接调用各个inference库,零代码;

  • 引擎层:采用 csharp 开发,通过 NativeAOT 编译为各个平台的动态链接库,暴露 common api 接口;

  • SDK:基于 common api 接口,进行各种语言的封装;

  • Api Server:采用 http://asp.net,通过 SDK 调用引擎,对外提供 Web API

    • 提供 swagger ui 界面
    • 通过 blazor server 提供更友好的操作界面
  • Web 应用开发:

    • 通过 SDK 或 Api Server,集成 AI 功能
    • 提供 web api 和 swagger ui 界面
    • 通过 blazor server 提供更友好的操作界面
  • 数据存储:采用 LiteDB/RocksDB/milvus

  • 轻量全栈(Web/桌面/移动)开发:Blazor Hybrid

  • 桌面/移动开发: Avalonia

  • 小工具/教学:dotnet script/polyglot

不写cpp代码,不写 sql 不搞 orm,写少量的 js,靠 dotnet 实现了全栈 AI 应用开发。轻量全栈和桌面/移动开发还待验证,其它皆已在实际项目/产品中使用。

解读 - Span

https://www.cnblogs.com/pandefu/p/17536259.html

Span<T> 是C# 中的一种结构体,它是一种内存安全的类型,可以用来表示连续的内存区域。Span<T> 可以被用于访问和操作数组、堆上分配的内存和栈上分配的内存。使用 Span<T> 可以避免不必要的内存拷贝,从而提高性能。

C#如何使用WASM跨语言调用?

https://www.cnblogs.com/hejiale010426/p/17613121.html

WebAssembly(简称Wasm)是一种用于基于堆栈的虚拟机的二进制指令格式。Wasm被设计为编程语言的可移植编译目标,支持在web上部署客户端和服务器应用程序。

CAP 7.2 版本发布通告

https://www.cnblogs.com/savorboard/p/cap-7-2.html

今天,我们很高兴宣布 CAP 发布 7.2 版本正式版,我们在这个版本中主要致力于 Dashboard 对 k8s 服务发现的支持。

从 7.1 版本以来,我们发布了4个小版本,在这些版本中我们主要解决发现的Bug和添加一些小功能,这篇文章中可能也会提及我们在这些小版本中加的一些小功能。

下面,具体看一下我们新版本的功能吧。

记一次 .NET某报关系统 非托管泄露分析

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

前段时间有位朋友找到我,说他的程序内存会出现暴涨,让我看下是怎么事情?而且还告诉我是在 Linux 环境下,说实话在Linux上分析.NET程序难度会很大,难度大的原因在于Linux上的各种开源工具主要是针对 C/C++, 和 .NET 一毛钱关系都没有,说到底微软在 Linux 上的调试领域支持度还远远不够。

虽然知道分析起来难度可能会很大,但该分析还是要分析的,让朋友抓一个 dump 过来,上 WinDbg 说话。

C# 中关于 T 泛型【C# 基础】

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

C# 里面的泛型不仅可以使用泛型函数、泛型接口,也可以使用泛型类、泛型委托等等。在使用泛型的时候,它们会自行检测你传入参数的类型,因此它可以为我们省去大量的时间,不用一个个编写方法的重载。与此同时,使用泛型会提升程序的效率。

本文将围绕泛型的各个方面,详细看下泛型到底怎么用,会给每位开发者带来什么便利。

.NET 8 发布的最后一个预览版Preview 7, 下个月发布RC

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

微软在2023年8月9日 发布了.NET 8 Preview 7[1],这是它在11月14日 RTM 之前进入发布候选阶段之前的最后预览版。 该预览版也于也与 VS 2022 v17.7 版本一起发布。对于预览版7,System.Text.Json 和 codegen 在此版本中具有最大的变化。所有这些特定项目都属于 .NET 网站主题[2]中提供的一般指导。

Json 基于类 Newtonsoft.Json.Linq.JToken 的应用简介【C# 基础】

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

在日常开发中,对于 Json 的使用还是比较频繁的,特别是 Json 对象和字符串或者实体对象之间的转换。

虽然几乎天天用,但是总是感觉没那么明了,今天结合微软的 Newtonsoft.Json.Linq 类,试着详解一下,把相关的内容列一下。

.NET Core多线程 (4) 锁机制

https://www.cnblogs.com/edisonchou/p/dotnet_multithread_learning_notes_chap4.html

去年换工作时系统复习了一下.NET Core多线程相关专题,学习了一线码农老哥的《.NET 5多线程编程实战》课程,我将复习的知识进行了总结形成本专题。

本篇,我们来复习一下.NET中锁机制的相关知识点,预计阅读时间10分钟。

.NET对象的内存布局

https://www.cnblogs.com/yyfh/p/17621881.html

在.NET中,理解对象的内存布局是非常重要的,这将帮助我们更好地理解.NET的运行机制和优化代码,本文将介绍.NET中的对象内存布局。
.NET中的数据类型主要分为两类,值类型和引用类型。值类型包括了基本类型(如int、bool、double、char等)、枚举类型(enum)、结构体类型(struct),它们直接存储值。引用类型则包括了类(class)、接口(interface)、委托(delegate)、数组(array)等,它们存储的是值的引用(数据在内存中的地址)。

本周由于Myuki大佬感染新冠,国际板块暂停更新一周,将在下周补齐,所以本周只有国内板块。

版权声明

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

格式如下:

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

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

.NET性能优化交流群

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

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

希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET性能问题和宝贵的性能分析优化经验。目前一群已满,现在开放二群。

如果提示已经达到200人,可以加我微信,我拉你进群: lishi-wk

另外也创建了QQ群,群号: 687779078,欢迎大家加入。

抽奖送书活动预热!!!

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

image-20230703203249615