摘要:
链接 ASP.NET Core Developer Roadmap 阅读全文
摘要:
目录 起因 创建群组 群成员 技术交流 社区推广 社区前辈 欢迎加入 起因 自从2019年参加 .NET Conf China 大会之后,我创办了一个公众号 DotNet NB,内容主要是 关于 .NET Core 相关技术学习分享,社区热点分享,专注为 .NET 社区做贡献,运营到现在两年多了,在 阅读全文
摘要:
C#版本 .NET版本 发布日期 特性 C# 1.0 .NET Framework 1.0 2002-02-13 委托、事件 C# 1.1 .NET Framework 1.1 2003-04-24 APM(异步编程模型) C# 2.0 .NET Framework 2.0 2005-11-07 泛 阅读全文
摘要:
前言 2023年是充满机遇与挑战的一年,也是个人成长最多的一年。这一年发生了很多事情,经历了挑战,大开了眼界,有勇气去喊停,没有结局也可即兴。 2023年回顾 忙碌的工作 -> 裸辞 续任微软最有价值专家 生财有术 -> 郑子铭的月度思考 旅行 格局面授 就业 热辣滚烫 猫猫狗狗 忙碌的工作 -> 阅读全文
摘要:
原文 | Eric Erhardt 翻译 | 郑子铭 开放式遥测 OpenTelemetry 是一个可观察性框架,允许开发人员从外部了解他们的系统。它在云应用程序中很流行,并且是云原生计算基金会的一部分。 .NET OpenTelemetry 库必须修复一些地方才能与 AOT 兼容。 open-te 阅读全文
摘要:
原文 | Eric Erhardt 翻译 | 郑子铭 本机 AOT 是一种令人兴奋的发布 .NET 应用程序的新方法。多年来,我们听到了 .NET 开发人员的反馈,他们希望他们的应用程序比使用 .NET 构建的传统独立应用程序启动更快、使用更少的内存并且磁盘大小更小。从 .NET 7 开始,我们添加 阅读全文
摘要:
原文 | James Montemagno 翻译 | 郑子铭 Visual Studio 2022 在 2023 年发布了许多令人难以置信的功能,为 .NET 开发人员提供了大量新工具来提高他们的工作效率。有这么多可供选择,我精心挑选了一个包括编辑器改进、生产力更新和人工智能辅助的选项。让我们来探讨 阅读全文
摘要:
原文 | Richard Lander 翻译 | 郑子铭 轻量级功能 嗯……但是如果我们使用 Wasm 更像是一个典型的功能而不是一个应用程序,我们可能不会计算一百万个单词,而是做一些更轻量级的事情。让我们重新运行比较,但使用最小的文件。 通过 Wasm,使用我们的解释器: $ time WASMT 阅读全文
摘要:
原文 | Richard Lander 翻译 | 郑子铭 WebAssembly(Wasm)是一种令人兴奋的新虚拟机和(汇编)指令格式。 Wasm 诞生于浏览器,是 Blazor 项目的重要组成部分。 Wasm 的第二个行动是针对应用程序和功能的云计算。 WebAssembly 系统接口 (WASI 阅读全文
摘要:
原文 | Máňa,Natalia Kondratyeva 翻译 | 郑子铭 简化的 SocketsHttpHandler 配置 .NET 8 添加了更方便、更流畅的方式来使用 SocketsHttpHandler 作为 HttpClientFactory 中的主处理程序 (dotnet/runti 阅读全文
摘要:
原文 | Máňa,Natalia Kondratyeva 翻译 | 郑子铭 修改 HttpClient 日志记录 自定义(甚至简单地关闭)HttpClientFactory 日志记录是长期请求的功能之一 (dotnet/runtime#77312)。 旧日志记录概述 HttpClientFacto 阅读全文
摘要:
原文 | Máňa,Natalia Kondratyeva 翻译 | 郑子铭 随着新的 .NET 版本的发布,发布有关网络空间中新的有趣变化的博客文章已成为一种传统。今年,我们希望引入 HTTP 空间的变化、新添加的指标、新的 HttpClientFactory API 等。 HTTP协议 指标 . 阅读全文
摘要:
原文 | Damian Edwards 翻译 | 郑子铭 组件更新 组件包现在有单独的图标 大多数 Aspire 组件的 NuGet 包现在都具有代表性图标,以便在 NuGet 包管理器对话框中更轻松地识别它们,并给体验带来一些视觉差异: MySqlConnector 的组件和托管支持 感谢社区成员 阅读全文
摘要:
原文 | Damian Edwards 翻译 | 郑子铭 自上个月宣布并推出 .NET Aspire 以来,我们收到的反馈非常惊人!通过问题和拉取请求对回购协议的参与一直激励着团队。我们正在深入了解开发人员在分布式云应用程序开发中如何使用(以及希望使用).NET Aspire 或其他组件。社区已经做 阅读全文
摘要:
原文 | Olia Gavrysh 翻译 | 郑子铭 我们很高兴地宣布发布一款新工具,可以帮助您将本地 .NET 应用程序迁移到 Azure。 适用于 .NET 的 Azure Migrate 应用程序和代码评估工具(简称 AppCAT)允许你评估应用程序的 .NET 源代码、配置和二进制文件,以识 阅读全文
摘要:
原文 | Amaury Levé, Marco Rossignoli, Jakub Jareš 翻译 | 郑子铭 我们很高兴推出 MSTest runner,这是一个用于 MSTest 测试的新型轻量级运行程序。这个新的运行程序使测试更加便携和可靠,使测试运行得更快,并且可扩展,为您提供点菜测试体验 阅读全文
摘要:
链接 ASP.NET Core Developer Roadmap 阅读全文
摘要:
原文 | Mark Brown 翻译 | 郑子铭 随着对智能应用程序的需求不断增长,开发人员越来越多地转向人工智能(AI)和机器学习(ML),以增强其应用程序的功能。聊天机器人已经成为提供对话式人工智能的最流行方式之一。ChatGPT是OpenAI开发的大型语言模型(LLM),是构建能够理解自然语言 阅读全文
摘要:
原文 | Stephen Toub 翻译 | 郑子铭 代码生成 (Code generation) .NET 7的regex实现有不少于四个引擎:解释器(如果你不明确选择其他引擎,你会得到什么),编译器(你用RegexOptions.Compiled得到什么),非回溯引擎(你用RegexOption 阅读全文
摘要:
原文 | Stephen Toub 翻译 | 郑子铭 New APIs 在.NET 7中,Regex得到了几个新的方法,所有这些方法都能提高性能。新的API的简单性可能也误导了为实现它们所需的工作量,特别是由于新的API都支持ReadOnlySpan输入到regex引擎。 dotnet/runtim 阅读全文
摘要:
原文 | Stephen Toub 翻译 | 郑子铭 同样,为了不做不必要的工作,有一个相当常见的模式出现在string.Substring和span.Slice等方法中。 span = span.Slice(offset, str.Length - offset); 这里需要注意的是,这些方法都有 阅读全文
摘要:
原文 | Stephen Toub 翻译 | 郑子铭 最后一个有趣的与IndexOf有关的优化。字符串早就有了IndexOf/IndexOfAny/LastIndexOf/LastIndexOfAny,显然对于字符串来说,这都是关于处理字符。当ReadOnlySpan和Span出现时,MemoryE 阅读全文
摘要:
原文 | Stephen Toub 翻译 | 郑子铭 原始类型和数值 (Primitive Types and Numerics) 我们已经看过了代码生成和GC,线程和矢量化,互操作......让我们把注意力转向系统中的一些基本类型。像int、bool和double这样的基本类型,像Guid和Dat 阅读全文
摘要:
原文 | Stephen Toub 翻译 | 郑子铭 Mono 到目前为止,我一直提到 "JIT"、"GC "和 "运行时",但实际上在.NET中存在多个运行时。我一直在谈论 "coreclr",它是推荐在Linux、macOS和Windows上使用的运行时。然而,还有 "mono",它为Blazo 阅读全文
摘要:
原文 | Stephen Toub 翻译 | 郑子铭 Arm64 在.NET 7中,大量的努力用于使Arm64的代码生成与x64的代码生成一样好或更好。我已经讨论了一些与架构无关的PR,还有一些是专门针对Arm的,但还有很多。我们来列举其中的一些。 寻址模式 (Addressing modes) " 阅读全文
摘要:
原文 | Stephen Toub 翻译 | 郑子铭 矢量化 (Vectorization) SIMD,即单指令多数据 (Single Instruction Multiple Data),是一种处理方式,其中一条指令同时适用于多条数据。你有一个数字列表,你想找到一个特定值的索引?你可以在列表中一次 阅读全文
摘要:
原文 | Stephen Toub 翻译 | 郑子铭 循环提升和克隆 (Loop Hoisting and Cloning) 我们之前看到PGO是如何与循环提升和克隆互动的,这些优化也有其他改进。 从历史上看,JIT对提升的支持仅限于将一个不变量提升到一个层级。 考虑一下这个例子: [Benchma 阅读全文
摘要:
原文 | Stephen Toub 翻译 | 郑子铭 边界检查消除 (Bounds Check Elimination) 让.NET吸引人的地方之一是它的安全性。运行时保护对数组、字符串和跨度的访问,这样你就不会因为走到任何一端而意外地破坏内存;如果你这样做,而不是读/写任意的内存,你会得到异常。当 阅读全文
摘要:
原文 | Stephen Toub 翻译 | 郑子铭 PGO 我在我的 .NET 6 性能改进一文中写了关于配置文件引导优化 (profile-guided optimization) (PGO) 的文章,但我将在此处再次介绍它,因为它已经看到了 .NET 7 的大量改进。 PGO 已经存在了很长时 阅读全文
摘要:
原文 | Stephen Toub 翻译 | 郑子铭 堆栈替换 (On-Stack Replacement) 堆栈替换 (OSR) 是 .NET 7 中最酷的 JIT 功能之一。但要真正了解 OSR,我们首先需要了解分层编译 (tiered compilation),所以快速回顾一下…… 具有 JI 阅读全文
摘要:
原文 | Stephen Toub 翻译 | 郑子铭 一年前,我发布了.NET 6 中的性能改进,紧接着是.NET 5、.NET Core 3.0、.NET Core 2.1和.NET Core 2.0的类似帖子。我喜欢写这些帖子,也喜欢阅读开发人员对它们的回复。去年的一条评论特别引起了我的共鸣。评 阅读全文
摘要:
原文 | Nikola M. Zivkovic 翻译 | 郑子铭 在之前的几篇文章中,我们探索了一些基本的机器学习算法。到目前为止,我们介绍了一些简单的回归算法,分类 算法。我们使用 ML.NET 实现和应用这些算法。到目前为止,我们探索了使用监督学习的算法。这意味着我们始终拥有用于训练机器学习模型 阅读全文