https://www.cnblogs.com/sdflysha/p/20230724-paddlesharp-in-a-year.html
我始终坚信,开源社区是技术进步的重要推动力,也是我抽出我业余时间,投入到 PaddleSharp
这个项目的原因,这个项目充分展现了.NET在复杂计算领域的潜力。今天很高兴地告诉大家, PaddleSharp
有了新版本!
先来说说背景,有的朋友可能知道, PaddleSharp
过去老版本存在一些东西过时或者无法使用的情况。但是,时光恰恰是优化和革新的好理由和契机,我在距离上一篇文章发布之后,做了许多优化,下面我挑重要的部分做介绍。
https://www.cnblogs.com/hejiale010426/p/17583803.html
ChatGPT是如何实现不使用websocket进行一个一个字返回到前端的?下面我们会介绍一下 EventSource
。
https://www.cnblogs.com/fengjq/p/17583940.html
小编在日常开发中,用得最多的时间类型就是DateTime,直到一次偶然的邂逅,让小编遇见了DateTimeOffset。当时小编也是一脸迷茫,因为在小编的C#编程字典里就没出现过DateTimeOffset的字样,实属惭愧。于是心中立马产生疑惑:DateTimeOffset是用来干嘛的?它和DateTime之间又是什么关系?带着种种疑问和不解,小编今天就带你一起一窥究竟!
https://www.cnblogs.com/sdflysha/p/20230725-sdcb-arithmetic-intro.html
今年(2023)年初趁过年放假期间,我把自己关在家里,连续几个晚上熬夜工作,基于 GMP
和 MPFR
两个知名的开源项目,最终成功开发了 .NET
的高精度数值计算库:Sdcb.Arithmetic,现在经过多个版本的迭代,已经相当稳定了。
https://www.cnblogs.com/huangxincheng/p/17579180.html
上个月我写过一篇 如何洞察 C# 程序的 GDI 句柄泄露 文章,当时用的是 GDIView + WinDbg 把问题搞定,前者用来定位泄露资源,后者用来定位泄露代码,后面有朋友反馈两个问题:
于是这篇文章我们继续研究下。
https://www.cnblogs.com/huangxincheng/p/17576542.html
首先声明的是这个 黑洞
是我定义的术语,它是用来表示 内存吞噬
的一种现象,何为 内存吞噬
,我们来看一张图。
https://www.cnblogs.com/raok/p/17575878.html
本文是项目中关于 弹窗界面
设计的技术分享,通过 FluentAvalonia
+ DialogHost.Avalonia
开源nuget包来实现项目中需要 弹框显示的界面
和所有的 对话框
的展示。
https://www.cnblogs.com/czzj/p/yield.html
yield 关键字推迟指令执行,使得程序可以更细致地控制集合元素产生的时机。对于大型集合,可以先返回部分内容,让系统展示目标内容,类似于在餐馆吃饭时做好一个菜就上桌。此外,使用 yield 还可以提高内存使用效率。当一个方法需要返回一个集合时,如果不使用 yield,则需要把集合数据装载到内存中等待被使用,这可能导致数据在内存中占用较长的时间。下面就一起来看下怎么用 yield 关键字吧。
https://www.cnblogs.com/fanshaoO/p/17579976.html
ASP.NET Core 支持依赖关系注入 (DI) 软件设计模式,这是一种在类及其依赖关系之间实现控制反转 (IoC) 的技术。 按照官方文档的描述: 依赖关系注入通过以下方式解决了这些问题:
由于Myuki大佬比较忙,本周国际内容板块只有标题和链接。
https://blog.jetbrains.com/dotnet/2023/07/26/resharper-2023-2-rc/
https://blog.jetbrains.com/dotnet/2023/07/26/rider-2023-2-rc/
https://dev.to/avalonia/avalonia-for-visual-studio-code-early-access-34bh
https://medium.com/@alex.keh/announcing-odp-net-23c-dev-release-fbd92861e466
https://devblogs.microsoft.com/dotnet/new-syntax-for-string-interpolation-in-fsharp/
https://blog.jetbrains.com/dotnet/2023/07/27/introducing-predictive-debugging-a-game-changing-look-into-the-future/
https://devblogs.microsoft.com/dotnet/dotnet-framework-july-2023-cumulative-update-preview/
https://github.com/mysql-net/MySqlConnector/releases/tag/2.2.7
https://qiita.com/tkhshiq/items/f3a363d24cbdf5bd2793
https://event-driven.io/en/xunitglobalsettings/
https://mijailovic.net/2023/07/23/sharpfuzz-anniversary/
https://dev.to/bytehide/7-new-features-or-bug-fixes-you-might-have-missed-in-net-8-4f11
https://devblogs.microsoft.com/visualstudio/subscribe-to-the-visual-studio-blog-via-email/
https://devblogs.microsoft.com/dotnet/debugging-dotnet-containers-with-visual-studio-code-docker-tools/
https://devblogs.microsoft.com/visualstudio/rock-your-debugging-game-parallel-stack-window-tips-you-need-to-know/
https://blog.jetbrains.com/dotnet/2023/07/25/improvements-to-unity-shader-files-in-rider-2023-2/
https://andrewlock.net/exploring-the-dotnet-8-preview-changing-method-calls-with-interceptors/
https://dev.to/chuac/ga4-data-api-with-net-1n00
https://dev.to/bytehide/background-tasks-and-scheduled-jobs-in-net-meet-hangfire-30pd
https://medium.com/@dejandjenic/enhancing-test-visualization-on-gitlab-with-net-projects-47f65a90c19
https://dev.to/brunosilvadev/turn-your-chromebook-into-a-net-developer-machine-2bk6
https://steven-giesel.com/blogPost/f531dded-44af-4341-871c-d54875877900
https://blog.revolution.com.br/2023/07/17/log-formatters-in-c/
https://medium.com/@NelsonBN/how-to-run-integration-tests-using-testcontainers-with-wsl-52c77a2acbbb
https://medium.com/@kxmliebl/using-session-and-localstorage-in-blazor-and-maui-b01fbb41d14c
https://github.com/Cysharp/YetAnotherHttpHandler
https://github.com/matthewrdev/UnityUaal.Maui
https://twitter.com/matthewrdev/status/1684349416210337793?s=12
https://twitter.com/mariohewardt/status/1684254752891346944?s=12
https://twitter.com/davidfowl/status/1683956501570879489?s=12
https://twitter.com/mkristensen/status/1683909106783105025?s=12
https://github.com/dotnet/runtime/pull/89636
“Const Generics”支持开发人员需要通过类型参数传递 const 值的用例。
典型的用例是诸如 shuffle(它基本上是一个有保证的常量) 以及数字、向量、矩阵等的模板。
例如,固定缓冲区 [1]、多维数组/Span [2] 和数组的约束形状 [3]。
对于[1],我们可以用一个类型 structValueArray<T,intN>
来定义具有 N 个元素的 T 数组的类型。 这对于可变参数也很有用。例如,a paramsValueArray<int,5>
可以表示仅接收 5 个参数的可变参数 int
。
对于[2],我们可以使用 const 类型参数来定义 a Span<T,intDim>
,因此我们 Span
也可以用于多维数组。
对于[3],我们可以约束数组的形状。当您处理矩阵/向量计算时,这特别有用。 例如,您现在可以使用定义矩阵 classMatrix<T,intRow,intCol>
。当你实现乘法算法时,你可以简单地放一个签名 Matrix<T,Row,NewCol>Multiply<NewCol>(Matrix<T,Col,NewCol>rMatrix)
。这可以确保用户在进行乘法运算时传递正确的矩阵形状。