国内文章

SQLSERVER的truncate和delete有区别吗?

https://mp.weixin.qq.com/s/wTIeW8rjj3cRzoaQcg2sOw

在面试中我相信有很多朋友会被问到 truncate 和 delete 有什么区别 ,这是一个很有意思的话题,本篇我就试着来回答一下,如果下次大家遇到这类问题,我的答案应该可以帮你成功度过吧。

一个用于访问 OpenAI GPT-3 API的 .NET SDK

https://mp.weixin.qq.com/s/91SBO2Z4ufnx0ry6X1uffQ

大家好,我是宝弟!今天给大家分享一个用于访问 OpenAI GPT-3 API的.NET SDK。此SDK包装了OpenAI原始的RestAPI。

一款使用Windows App SDK开发的小说阅读应用

https://mp.weixin.qq.com/s/Gv-Xc4sbD-4zS9JCjhVuMA

大家好,我是宝弟!今天给大家推荐一款使用Windows App SDK开发的小说阅读应用CleanReader(干净阅读),CleanReader是原生的Windows应用,支持Windows 11 系统。适合喜欢阅读网文,或者本地轻量阅读的用户。

.NET与大数据

https://mp.weixin.qq.com/s/32by2AB91JWKTeJclpKHZQ

当别人做大数据用Java、Python的时候,我使用.NET做大数据、数据挖掘,这确实是值得一说的事。写的并不全面,但都是实际工作中的内容。

.NET多播委托和事件看这篇文章就够了

https://mp.weixin.qq.com/s/4x7CN5p724X-1lmumomSdg

多播委托和事件在某种程度上是相似的,但是仍有一些重要的区别:定义:多播委托是一种特殊类型的委托,允许多个方法注册为对委托的响应者。而事件是一种通知机制,允许一个对象向外界发出通知,当特定事件发生时。

CA周记 - 用 .NET 启动你的 DJI Ryze Tello 无人机

https://mp.weixin.qq.com/s/9uUeA5-KP6X_OidLqrjpkw

大疆的 DJI Ryze Tello 是入门级的无人机,不仅在 STEM 教育中有非常广泛的应用,也可以作为编程入门的首选。通过 UDP 协议调用 DJI Ryze Tello SDK 可以让 DJI Ryze Tello 无人机执行起飞,降落,转向以及不同的花式动作。本文将会通过 .NET 创建应用控制 DJI Ryze Tello。

C#实现聊天消息渲染、图文混排(支持Windows、Linux)

https://www.cnblogs.com/zhuweisky/p/17095413.html

在实现聊天软件时,渲染文字表情图文混排是一项非常繁琐的工作,再加上还要支持GIF动图、引用消息、撤回消息、名片等不同样式的消息渲染时,就更加麻烦了。好在我们可以使用 ESFramework 提供的 IChatRender 组件,使用它我们就能轻松实现类似于微信聊天消息的渲染效果。IChatRender 支持 Windows、Linux(包括国产OS)。在Windows平台上提供了基于 WinForm 和基于 WPF 的实现,在Linux上则是基于.NET Core 实现的。

如何避免让线程摸鱼,请用异步技术 async await 拿捏他~

https://www.cnblogs.com/weixb/archive/2023/02/09/17104642.html

很多的Web框架,收到一个请求,就会创建一个线程来处理,如果片刻间内有100个用户请求这个方法,那么就得安排100个线程,

有没有方法让第1个线程在等待数据返回时,先去接待第N+1个用户(校验请求参数什么的)这样就能大大减少线程数量~

【.NET 8】ASP.NET Core计划 - 支持更完善的AOT发布

https://www.cnblogs.com/InCerry/archive/2023/02/08/Support-publishing-ASP-NET-Core-API-apps-with-Native-AOT.html

我们知道在.NET7.0中一个令人激动的特新就是支持了NativeAOT,我们可以通过NativeAOT生成本机程序,由于无需JIT编译,所以无需安装.NET Runtime,也进一步的提升了.程序的启动速度,降低了程序的体积,在客户端软件开发、ServerLess等场景会有不错的前景。

不用Blazor WebAssembly,开发在浏览器端编译和运行C#代码的网站

https://www.cnblogs.com/rupeng/archive/2023/02/10/17107662.html

本文中,我将会为大家分享一个如何用.NET技术开发“在浏览器端编译和运行C#代码的工具”,核心的技术就是用C#编写不依赖于Blazor框架的WebAssembly以及Roslyn技术。

.NET 团队 更新了 .NET 语言策略

2023年2月6日 ,.NET团队在官方博客上发布了.NET 语言策略的更新文章,具体参见 https://devblogs.microsoft.com/dotnet/update-to-the-dotnet-language-strategy/。微软在.NET平台上提供3种语言 - C#,F#和Visual Basic。新的 .NET 语言策略更新了这三者并把最新的文章更新在 Microsoft Learn 上发布 .NET 语言策略。

主题

【英文】更新.NET语言策略 - .NET Blog

https://devblogs.microsoft.com/dotnet/update-to-the-dotnet-language-strategy/

关于微软对 .NET 中语言的战略更新。

目前 .NET 中主要的三种语言是 C#、F# 和 Visual Basic,有关微软对这三种语言的战略的文件已经更新。

【英文】Windows App SDK的实验发布1.3实验版 - Windows应用程序 | Microsoft Learn

https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/experimental-channel#version-13-experimental-130-experimental1

Windows App SDK 1.3 Experimental-1已经发布。

这个版本引入了几个新功能,包括XAML Backdrop API(例如,将Mica应用于窗口背景),以及用于访问应用程序窗口的Window.AppWindow API。

【中文】Rider EAP版本现在支持中文语言包 | .NET工具博客

https://blog.jetbrains.com/zh-hans/dotnet/2023/02/07/introducing-the-rider-localization-eap-for-chinese-japanese-and-korean/

日语、中文和韩语的本地化语言包现在可用于JetBrains Rider 2023.1 EAP3。

一些本地化工作目前正在进行中,并通过IDE和YouTrack接受反馈。 该公司还表示,未来的目标包括将ReSharper本地化。

【英文】ReSharper结束Visual Studio 2010和2012的开发工作 | .NET工具博客

https://blog.jetbrains.com/dotnet/2023/02/10/ending-development-for-vs-2010-2012/

宣布ReSharper 2023.1及以后版本将不再积极支持Visual Studio 2010和2012。

安装程序集成选项将被保留,并不会立即不可用,但功能将不那么有保障,支持将被优先考虑。

文章、幻灯片等

【日文】快速制作图像分类应用的过程 - Qiita

https://qiita.com/SoeAtsu/items/4d22493c5dc8367162db

一篇关于在WPF和ML.NET中构建一个识别和分类图像的应用程序的文章。

【英文】SpecFlow - Cucumber in C#

https://daniel-delimata.medium.com/specflow-cucumber-in-c-e642c63469b2

如何使用SpecFlow、Cucumber在.NET中测试你的Web应用程序。

【英文】生成RequestDelegate的响应书写表达式:最小化API的幕后花絮-第六部分

https://andrewlock.net/behind-the-scenes-of-minimal-apis-6-generating-the-response-writing-expression/

本文在《极简API的幕后》系列中介绍了RequestDelegate如何生成输出响应的表达式(Expression)。

【日文】我想把Blazor中的验证逻辑组件化

https://zenn.dev/microsoft/articles/viewside-validation

如何以组件的形式将Blazor中的自定义验证逻辑组件化。

【日文】我想缩小Blazor中ValidationSummary显示的错误信息,如asp-validation-summary

https://zenn.dev/microsoft/articles/blazor-validationsummary-tips

如何在ValidationSummary组件中只显示与特定模型相关的错误,而不是所有属性。

【英文】.NET注释月刊|2023年2月|.NET工具博客

https://blog.jetbrains.com/dotnet/2023/02/08/net-annotated-monthly-february-2023/

JetBrains的2023年2月相关总结文章。

【日文】如何在C#服务器上取得配置文件 - Qiita

https://qiita.com/Shaula/items/177e8c16ec9b8b102c7a

如何使用dotnet-trace获得在服务器(如容器)上运行的.NET应用程序的跟踪。

【日文】用.NET探查IBM i数据库 - Qiita

https://qiita.com/tom_m_m/items/9481e8b619463ab9c20f

关于在IBM i(ppc64le架构)上从.NET应用程序访问Db2数据库的文章。

【英文】C# 提示:不要使用 nameof 来给常量一个值 - Code4IT

https://www.code4it.dev/csharptips/do-not-use-nameof-for-constants

观点:不建议在nameof中使用常量的名称,然后将其作为表名等使用,因为如果不慎改变,会破坏代码。

【英文】用Bogus生成样本数据

https://wildermuth.com/2023/01/29/generating-sample-data-with-bogus/

如何用Bogus生成假数据。

【英文】异步无效 - 如何驯服异步的噩梦 - Dev Leader

https://www.devleader.ca/2023/01/27/async-void-how-to-tame-the-asynchronous-nightmare/

关于async void的问题,以及如何在使用它作为事件处理程序时也能设法捕获异常等等。

【英文】必须遵守C规则,没有例外

https://ericsink.com/native_aot/no_exceptions.html

关于NativeAOT本地调用的方法不得抛出异常。

【英文】使用Visual Studio开发隧道来处理Twilio Webhooks

https://dev.to/twilio/use-visual-studio-dev-tunnels-to-handle-twilio-webhooks-58dc

如何使用Visual Studio开发隧道来处理Twilio webhooks。

【英文】计时的成本

https://ayende.com/blog/198977-B/the-cost-of-timing-out

关于在有大量并发执行的环境中,调用CancellationToken.CancelAfter进行超时处理会导致大量的Timer集。

RavenDB有一种方法,就是有周期性的定时器,并分批处理,以减少成本。

【英文】在没有Blazor WebAssembly的情况下,开发一个网站,在浏览器上编译和运行C#代码

https://yangzhongke8.medium.com/without-blazor-webassembly-develop-a-web-site-that-compiles-and-runs-c-code-on-browser-c381873f6d03

如何从JavaScript调用用WebAssembly构建的C#代码,而不使用Blazor WebAssembly的Blazor部分。

【英文】同步-异步场景下的性能测试

https://wapplegate.com/performance-testing/

所谓Sync-over-Async的性能,即异步方法的同步等待。

它总结了几个代码场景和结果,如延迟和RPS,取决于并行请求的数量。

开源库、存储库、工具等

drasticactions/MauiFeed: 跨平台 .NET Feed 阅读器。

https://github.com/drasticactions/MauiFeed

.NET MAUI 实现的 Feed 阅读器。

可以从 Microsoft Store 安装针对 Windows 的构建。

ForNeVeR/xaml-math: 一组 .NET 库,用于使用 LaTeX 排版风格渲染数学公式,适用于基于 WPF 和 Avalonia XAML 的框架。

https://github.com/ForNeVeR/xaml-math

用于在 WPF 和 Avalonia 中使用 LaTeX 风格渲染数学公式的库。

https://twitter.com/fvnever/status/1622750145958887424?s=12

LEGO/AsyncAPI.NET: AsyncAPI.NET SDK 包含了 .NET 中 AsyncAPI 文档的有用对象模型。

https://github.com/LEGO/AsyncAPI.NET/

用于读取 AsyncAPI(基于 OpenAPI 的事件驱动 API 版本)文档的库。

https://twitter.com/legoengineering/status/1623255496030388227?s=12

深入探索

[WIP] .NET 8 的 ASP.NET Core 路线图 · Issue #44984 · dotnet/aspnetcore

https://github.com/dotnet/aspnetcore/issues/44984

.NET 8 的 ASP.NET Core 路线图相关的问题。

HttpContent.ReadAsByteArrayAsync 中的过多分配 · Issue #81628 · dotnet/runtime

https://github.com/dotnet/runtime/issues/81628

HttpContent.ReadAsByteArrayAsync()相比HttpClient.GetByteArrayAsync()存在 4 倍的分配,是否过多。

实际上,HttpContent.ReadAsByteArrayAsync() 会因为可以多次读取而缓存或复制,因此如果要避免当前情况,最好使用 Stream 进行读取等。

推文

https://twitter.com/badamczewski01/status/1623788674558091265

什么是 .NET 中的 PGO(我很快就会再次谈论编译器,但它是为一家公司准备的,所以没有视频:/)

可以看到一开始生成的汇编代码比较低效,而且很长。经过PGO优化以后,代码变得非常高效。


https://twitter.com/Dave_DotNet/status/1623600088231874562

.NET 8 中即将推出的NativeAOT 大小改进(预览版 1) ... Linux 比原来小50%


https://twitter.com/okyrylchuk/status/1623079620307296260

EF 7 改进了字符串的转换。索引方法。 可以在下面比较 EF Core 6 和 EF 7 的 SQL 输出。

版权声明

由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《.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周报 【2月第2期 2023-02-11】的更多相关文章

  1. .NET周报 【2月第1期 2023-02-04】

    国内文章 .NET 入门到高级路线 https://www.cnblogs.com/hejiale010426/archive/2023/02/01/17083913.html 笔者介绍了.NET入门 ...

  2. .NET周报【1月第1期 2023-01-06】

    国内文章 [开源]基于.net6+gtksharp实现的Linux下的图形界面串口调试工具 https://www.cnblogs.com/flykai/p/17007554.html 由于公司的上位 ...

  3. .NET周报【1月第3期 2023-01-20】

    这应该是2023年农历新年前的最后一篇.NET周报,再次预祝大家新年快乐! 国内文章 看我是如何用C#编写一个小于8KB的贪吃蛇游戏的 https://www.cnblogs.com/InCerry/ ...

  4. .NET周报【10月第3期 2022-10-25】

    国内文章 聊一聊被 .NET程序员 遗忘的 COM 组件 https://www.cnblogs.com/huangxincheng/p/16799234.html 将Windows编程中经典的COM ...

  5. .NET周报【11月第1期 2022-11-07】

    国内文章 开源·安全·赋能 - .NET Conf China 2022 https://mp.weixin.qq.com/s/_tYpfPeQgyEGsnR4vVLzHg .NET Conf Chi ...

  6. .NET周报【11月第2期 2022-11-15】

    国内文章 统一的开发平台.NET 7正式发布 https://www.cnblogs.com/shanyou/archive/2022/11/09/16871945.html 在 2020 年规划的. ...

  7. .NET周报【11月第3期 2022-11-22】

    国内文章 .NET Conf China 2022 第一批讲师阵容大揭秘!整个期待了! https://mp.weixin.qq.com/s/4p89hhBPw6qv-0OB_T_TOg 目光看过来 ...

  8. .NET周报【11月第4期 2022-11-30】

    国内文章 .NET 7 的 AOT 到底能不能扛反编译? https://www.cnblogs.com/huangxincheng/p/16917197.html 在B站,公众号上发了一篇 AOT ...

  9. .NET周报【12月第1期 2022-12-08】

    国内文章 CAP 7.0 版本发布通告 - 支持延迟消息,性能炸了? https://www.cnblogs.com/savorboard/p/cap-7-0.html) 今天,我们很高兴宣布 CAP ...

  10. .NET周报【12月第2期 2022-12-15】

    国内文章 九哥聊Kestrel网络编程第一章:开发一个Redis服务器 https://mp.weixin.qq.com/s/HJYnBE-7wbvkAYHxQaq3eQ 我和拥有多个.NET 千星开 ...

随机推荐

  1. 修改input标签里面的提示文字(placeholder)的样式

    使用 ::-webkit-input-placeholder 伪类 input::-webkit-input-placeholder{ // 修改字体大小 font-size:12px; // 修改文 ...

  2. 方法的重载(Overload)+ println重载

    方法的重载(Overload) package cn.day01; /*方法的重载(Overload):多个方法的名称一样,但是参数列表不一样. * 好处:只需要记住唯一一个方法名称,就可以实现类似多 ...

  3. MVC开发单元测试小工具 —— 搜寻还没写单元测试的方法

    方法比较笨,有更好的建议可以提. 写这个工具呢,因为要写单元测试,保证代码质量,方便修改维护.一切为了自己方便.当然这个算是个人开发的项目 1.MVC中控制器建立个基类(这个光明正大的抄袭的),控制往 ...

  4. Python基础之数据库:5、创建表的完整语法、MySQL数据类型

    一.创建表的完整语法 1.创建表的语法 create table 表名( ​ 字段名1 字段类型(数字) 约束条件, ​ 字段名2 字段类型(数字) 约束条件, ​ 字段名3 字段类型(数字) 约束条 ...

  5. Python-WebSpider

    (一)网路爬虫入门 1.0 爬虫是个啥 通过编写程序,模拟浏览器去上网,然后让其去互联网上抓取数据的过程 1.1 爬虫分类 通用爬虫 :抓取系统重要组成部分,抓取一整张页面的数据 聚焦爬虫:建立在通用 ...

  6. 记一次 .NET 某电子厂OA系统 非托管内存泄露分析

    一:背景 1.讲故事 这周有个朋友找到我,说他的程序出现了内存缓慢增长,没有回头的趋势,让我帮忙看下到底怎么回事,据朋友说这个问题已经困扰他快一周了,还是没能找到最终的问题,看样子这个问题比较刁钻,不 ...

  7. day29-JQuery02

    JQuery02 4.jQuery选择器02 4.3过滤选择器 4.3.1基础过滤选择器 $("li:first") //第一个li $("li:last") ...

  8. 零基础入门数据挖掘——二手车交易价格预测:baseline

    零基础入门数据挖掘 - 二手车交易价格预测 赛题理解 比赛要求参赛选手根据给定的数据集,建立模型,二手汽车的交易价格. 赛题以预测二手车的交易价格为任务,数据集报名后可见并可下载,该数据来自某交易平台 ...

  9. intel Pin:动态二进制插桩的安装和使用,以及如何开发一个自己的Pintool

    先贴几个你可能用得上的链接 intel Pin的官方介绍Pin: Pin 3.21 User Guide (intel.com) intel Pin的API文档Pin: API Reference ( ...

  10. MySQL事务(四大特征)-存储过程

    目录 一:事务 1.四大特性(ACID) 2.事物存在的必要性(真实比喻) 3.如何使用事务 4.开启事务-回滚-确认 二:事务案例实战 1.模拟消费 2.创建 3.插入数据 4.开启事务 5.修改操 ...