Skip to content

Commit 9bde3cf

Browse files
committed
fix the image from 11 to 15
1 parent 68e78f5 commit 9bde3cf

File tree

5 files changed

+29
-36
lines changed

5 files changed

+29
-36
lines changed

Diff for: docs/episode-011.md

+4-8
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,14 @@
44

55
1、[Visual Studio 25 周年纪念](https://devblogs.microsoft.com/visualstudio/happy-25th-birthday-visual-studio/)
66

7-
![vs](https://dotnetweeklyimages.blob.core.windows.net/011/vs-25.png)
7+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/5e112a6e-2fb3-42cf-998f-f50db3340117)
88

99
25 年前,`Visual Studio` 诞生了,作为*宇宙第一 IDE*,引导和启发了无数人进入了软件开发领域,如今它已经进入了第 25 个年月。最近的版本是 `Visual Stuido 2022`, 也是第一款 64 位的 IDE。微软的目标是将它作为任何编程语言,任何目标平台的开发环境第一选择。事实上,`Visual Studio` 差不多已经做到了,[官方视频活动](https://www.youtube.com/watch?v=hATPpSCQ6u8&feature=emb_imp_woyt&ab_channel=MicrosoftVisualStudio)
1010

1111
## 文章推荐
1212

1313
1、[C# 属性的演化](https://www.youtube.com/watch?v=RqdZCq-2GNM)
1414

15-
![csharp](https://dotnetweeklyimages.blob.core.windows.net/011/property.jpeg)
16-
1715
C# 中的属性是非常重要的设计,区别于 `Java` 中的 字段和 `getter, setter` 方法。 C# 几乎在每个版本中都为属性增加了新的功能。接下来这篇文章带你回顾其中的变化。
1816

1917
1. C# 1.0
@@ -94,7 +92,7 @@ public reocrd User(string FirstName, string LastName);
9492

9593
2、[ASP.NET Core pipeline 是如何构建的](https://www.stevejgordon.co.uk/how-is-the-asp-net-core-middleware-pipeline-built)
9694

97-
![aspnet](https://dotnetweeklyimages.blob.core.windows.net/011/asp-net-core-pipeline.png)
95+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/91b61e73-f6fb-4903-b368-ee312b9a3494)
9896

9997
这篇文章带你一步步探索 `ASP.NET Core` 是如何构建中间件的 pipeline.
10098

@@ -146,7 +144,7 @@ Console.WriteLine(dateOnly); //7/8/2021
146144

147145
4、[如何构建一个 Windows 服务](https://csharp.christiannagel.com/2022/03/22/windowsservice-2/)
148146

149-
![windows](https://dotnetweeklyimages.blob.core.windows.net/011/service.png)
147+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/45098d94-640f-4a06-93f7-4bdeb563afe6)
150148

151149
Windows 服务是一类长期运行的应用程序,在 `Linux` 中也叫做守护进程。如何在 `.NET6` 中如何开发一个 `Service` 呢?
152150

@@ -198,7 +196,7 @@ sc create "Sample Service" binPath = "./SimpleWorkerService.exe"
198196

199197
1、[更加优雅的抛出异常](https://github.com/mantinband/throw)
200198

201-
![exception](https://dotnetweeklyimages.blob.core.windows.net/011/exception.png)
199+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/8d4df079-6f2d-4be9-bca9-dca0ec13815a)
202200

203201
正确的数据才能带来正确地结果,对于不正确的数据,需要通过抛出异常让调用者知道出现了未知的问题。通常的做法是手动抛出一个异常
204202

@@ -252,6 +250,4 @@ namespace Throw
252250

253251
2、[System.CommandLine 文档](https://docs.microsoft.com/en-us/dotnet/standard/commandline/)
254252

255-
![commandline](https://dotnetweeklyimages.blob.core.windows.net/011/sys-command-line.png)
256-
257253
`System.CommandLine` 库可以帮助开发命令行的应用程序,用它来解析命令行的参数。目前的官方的 `System.CommandLine` 库的文档已经开放。

Diff for: docs/episode-012.md

+5-7
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
1、[GitHub Code Copilot for Visual Studio 正式发布](https://github.blog/2022-03-29-github-copilot-now-available-for-visual-studio-2022/)
66

7-
![copilot](https://dotnetweeklyimages.blob.core.windows.net/012/github-co-pilot.webp)
7+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/f8fd4e6e-34f4-4669-afa1-e686c8fa929c)
88

99
去年 `GitHub` 发布了 `Code Copilot` 之后,引起了行业内巨大的反馈,~人工智能取代程序员的日子即将到来~,但是只支持 `Visual Studio Code`。最近 `GitHub` 发布了 `Code Copilot` for `Visual Studio` 的插件,这样在宇宙第一 IDE 中编写代码,尤其是 `.NET` 的相关代码,也能得到人工智能的加持。
1010

@@ -14,7 +14,7 @@
1414

1515
3、[Nuget 统一包依赖管](https://devblogs.microsoft.com/nuget/introducing-central-package-management/)
1616

17-
![nuget](https://dotnetweeklyimages.blob.core.windows.net/012/nuget.png)
17+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/52b7d7c0-4253-4ad4-aba7-4a4eadbde3e2)
1818

1919
`NuGet``.NET` 平台上使用的包管理工具,而依赖管理是包管理的核心功能,历史上 `.NET` 有两种方式管理项目的依赖
2020

@@ -57,7 +57,7 @@
5757

5858
2、[CancellationToken 的介绍](https://blog.stephencleary.com/2022/02/cancellation-1-overview.html)
5959

60-
![ct](https://dotnetweeklyimages.blob.core.windows.net/012/cancellation.jpg)
60+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/708c42d4-71d5-4114-9f85-6cacc9fe861c)
6161

6262
`CancellationToken``.NET` 平台统一的取消模型,通过它可以取消某些操作,比如超时,取消事件发生等等。当然也有一些注意点
6363

@@ -172,8 +172,6 @@ void DoSomethingForever(CancellationToken cancellationToken)
172172

173173
3、[Timer 类介绍](https://code-maze.com/timer-csharp/)
174174

175-
![timer](https://dotnetweeklyimages.blob.core.windows.net/012/Timer.png)
176-
177175
定时器 (Timer) 广泛使用在应用程序开发中,在达到一定的事件后,执行相关的操作。那么关于 `System.Timers.Timer` 类,由哪些需要注意的地方呢?
178176

179177
`Timer` 类实现了 `IDisposable` 接口。
@@ -210,7 +208,7 @@ Console.WriteLine(textinfo.ToTitleCase("a tale oF tWo citIes")); // A Tale of Tw
210208

211209
1、[Avaloniaui 开源 UI 库](http://avaloniaui.net/)
212210

213-
![Avaloniaui](https://dotnetweeklyimages.blob.core.windows.net/012/avaloniaui.png)
211+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/28f34710-fd2e-4abc-8d03-0f6b8fd40d61)
214212

215213
**Avaloniaui**`.NET` 开源 UI 库,相对于 `MAUI`, 它更加是一种桌面跨平台 UI 平台,主要支持
216214

@@ -222,6 +220,6 @@ Console.WriteLine(textinfo.ToTitleCase("a tale oF tWo citIes")); // A Tale of Tw
222220

223221
2、[.NET nanoFramework](https://www.nanoframework.net/)
224222

225-
![net](https://dotnetweeklyimages.blob.core.windows.net/012/nano.png)
223+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/fb4a438f-10ec-4e60-8f7e-ae5b3107f18b)
226224

227225
开发 `IoT` 或者嵌入式设备的应用程序,通常会选择 `C/C++` 这样的开发语言,`C#` 这类带 GC 的语言通常不在考虑的范围之内,`NanoFramework` 这个开源项目提供了一种选择,它通过裁剪过的 `runtime``library`,是 `.NET` 应用程序运行在 `IoT` 这样内存和闪存有限的设备中。

Diff for: docs/episode-013.md

+8-8
Original file line numberDiff line numberDiff line change
@@ -134,15 +134,15 @@ Console.WriteLine(slug.Length); // All good! Known to be not null
134134

135135
1、[Visual Studio 中浏览 IEnumerable 对象](https://github.blog/2022-03-29-github-copilot-now-available-for-visual-studio-2022/)
136136

137-
![vs](https://dotnetweeklyimages.blob.core.windows.net/013/ienumerable.gif)
137+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/819b9ae6-3d93-43d8-83cc-4c4a40796037)
138138

139139
`Visual Studio` 中如果调试 `IEnumerable` 对象的时候,通常是比较难受的体验,因为需要挨个查看其中的每个对象。在 Visual Studio 17.2. Preview 2 中,可以使用表格的方式渲染每个对象,每一行是代表每个对象,而每一列则是对象的属性,表格甚至可以用 Excel 打开。
140140

141141
## 文章推荐
142142

143143
1、[MAUI 尝试](https://codeblog.jonskeet.uk/2022/04/16/taking-net-maui-for-a-spin/)
144144

145-
![maui](https://dotnetweeklyimages.blob.core.windows.net/013/jonskeet.jpg)
145+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/0878a3ca-2b64-4fcd-8b30-9bdf8d28d55b)
146146

147147
Jon Skeet 是 `.NET` 社区大名鼎鼎的人物,近期尝试了 `MAUI` 的最新版本,将他之前的 `Windows-only` 的应用扩展成一个 `MacOS` 和移动端的应用程序。
148148
总结起来两点:
@@ -152,7 +152,7 @@ Jon Skeet 是 `.NET` 社区大名鼎鼎的人物,近期尝试了 `MAUI` 的最
152152

153153
2、[格式化 C# 代码](https://blog.stephencleary.com/2022/02/cancellation-1-overview.html)
154154

155-
![csharp](https://dotnetweeklyimages.blob.core.windows.net/013/format.png)
155+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/eff372c7-317b-465e-b2a1-b6e8d74c56ae)
156156

157157
`.NET 6``dotnet format` 命令集成进来,这个工具可以帮助我们格式化代码,使他们符合我们定义好的规则,通常这些规则定义在 `.editorconfig` 文件中,否则就使用一些默认的规则,或者分析器的规则。
158158
虽然目前 IDE 已经集成了这个工程,但是每个 IDE 都是不一样的,而且开发者需要记住这些命令,因此使用
@@ -181,7 +181,7 @@ Error: Process completed with exit code 2.
181181

182182
3、[ASP.NET Core 面试](https://khalidabuhakmeh.com/aspnet-core-interview-questions-and-answers)
183183

184-
![aspnetcore](https://dotnetweeklyimages.blob.core.windows.net/013/interview.webp)
184+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/4c48daf5-90f4-4d17-ba26-400f1541ff3c)
185185

186186
作为一个 `ASP.NET Core` 开发人员,那么如果面试中,问了这些问题,你该如何回答呢?
187187

@@ -193,19 +193,19 @@ Error: Process completed with exit code 2.
193193

194194
4、[C# 程序员学习 C++](https://www.jacksondunstan.com/articles/5530)
195195

196-
![c++](https://dotnetweeklyimages.blob.core.windows.net/013/cpp.png)
196+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/0a3ccdf7-dd53-40bb-b746-a27f552acfc6)
197197

198198
对于 `Unity` 开发人员来说,`C#` 是一门必须要掌握的开发语言。但是对于其他游戏开发引擎而言,`C++` 则是一门更加通用的开发语言,这个教程介绍了 `C#` 开发人员如何学习 `C++`,并且比较他们的异同点。
199199

200200
5、[C# 代码规则](https://christianfindlay.com/2022/04/24/code-rules/)
201201

202-
![rule](https://dotnetweeklyimages.blob.core.windows.net/013/roslyn.png)
202+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/e8ebe524-0789-4e34-8337-2f57b1eb24f7)
203203

204204
`Roslyn` 是 C# 编译器,它包含了各种代码规范的规则。在开发过程中,打开 `Roslyn` 分析器可以帮助我们写出更好的代码。
205205

206206
6、[Microsoft Graph 迁移到 .NET 6](https://devblogs.microsoft.com/dotnet/microsoft-graph-dotnet-6-journey/)
207207

208-
![graph](https://dotnetweeklyimages.blob.core.windows.net/013/graphapi.png)
208+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/048e9293-b7e2-427f-b7f1-032ac39f4e77)
209209

210210
Microsoft Graph 团队分享了代码库从之前的 `.NET Framework` 迁移到 `.NET 6` 的过程。结果是显而易见的,在性能上取得了巨大的成功,而且为将来引入更多先进的功能提供了可能。在文章中也给出了迁移的步骤:
211211

@@ -226,6 +226,6 @@ Microsoft Graph 团队分享了代码库从之前的 `.NET Framework` 迁移到
226226

227227
2、[使用 C# 实现贝叶斯分类](https://visualstudiomagazine.com/articles/2022/05/02/naive-bayes-classification-csharp.aspx)
228228

229-
![bayes](https://dotnetweeklyimages.blob.core.windows.net/013/bayes.png)
229+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/f2a5d191-f500-4376-b91e-038859cd283c)
230230

231231
朴素贝叶斯分类是机器学习中一种重要的分类方法, 对于离散型数值分类有着广泛的应用。这篇文章介绍如何使用 `C#` 实现一个简单的朴素贝叶斯分类器。

Diff for: docs/episode-014.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ catch(HttpExcpetion e)
4444

4545
1、[.NET 7 中 正则表达式性能提升](https://devblogs.microsoft.com/dotnet/regular-expression-improvements-in-dotnet-7/)
4646

47-
![regex](https://dotnetweeklyimages.blob.core.windows.net/014/regex.jpeg)
47+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/48c6771c-2bcb-4290-990a-c42a82657d9b)
4848

4949
正则表达式是 `.NET` 中字符串操作必不可少工具,在 `.NET 7` 中重新设计了正则表达式,在性能上取得了很大的提升。
5050

5151
2、[gRPC 和 Rest JSON 互转换](https://devblogs.microsoft.com/dotnet/announcing-grpc-json-transcoding-for-dotnet/)
5252

53-
![grpc](https://dotnetweeklyimages.blob.core.windows.net/014/gprcjson.png)
53+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/02d9f02f-e9d6-4005-9258-2fa1e7c3b302)
5454

5555
`gPRC``REST JSON` 是两种广泛使用的 Web API 数据通信的格式,两者各有优劣。其中 `gPRC` 在性能方面有显著的优势,但是 `REST JSON` 更加格式更加友好,在 `Debug` 的时候更加方便。那么有没有办法同时支持两种方式呢?
5656

@@ -94,7 +94,7 @@ message HelloReply {
9494

9595
2、[Azure Cosmos DB .NET 6 之旅](https://devblogs.microsoft.com/dotnet/the-azure-cosmos-db-journey-to-net-6/)
9696

97-
![cosmos](https://dotnetweeklyimages.blob.core.windows.net/014/cosmosdb.jpeg)
97+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/16fe1a89-3941-41a5-9d3c-5fbf02eefa3b)
9898

9999
Azure Cosmos DB 是 Azure 中的 NoSQL 数据库产品,最近他们分享了一篇迁移到 `.NET 6` 之后,在性能上得到的成就。
100100

@@ -110,6 +110,6 @@ K-NN 分类是著名的无监督分类方法,那么如果使用 C# 实现呢
110110

111111
1、[CoreWCF 发布](https://github.com/corewcf/corewcf)
112112

113-
![corewcf](https://dotnetweeklyimages.blob.core.windows.net/014/wcf.png)
113+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/9d04c53d-4c8b-418f-a714-0f1dd2071b9b)
114114

115115
WCF 是 .NET Framework 3.0 推出的一套服务间通信的标准,随着 `.NET Core` 的推出,微软宣布不再支持 `WCF`, 将全部交给社区维护,近日 `CoreWCF` 1.0 版本正式发布。

Diff for: docs/episode-015.md

+8-9
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ class Program
165165

166166
1、[MAUI 已经 General Available](https://devblogs.microsoft.com/dotnet/introducing-dotnet-maui-one-codebase-many-platforms/)
167167

168-
![maui](https://dotnetweeklyimages.blob.core.windows.net/015/maui.png)
168+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/9f705e61-9efd-4128-81ef-0727623b7d4e)
169169

170170
前一阵子 `MAUI` 宣布 GA,这篇文章进一步介绍了 `MUAI` 的内容,主要包含
171171

@@ -179,15 +179,14 @@ class Program
179179

180180
2、[MS Build Twitter 文字直播](https://twitter.com/sinclairinat0r/status/1529521744444276736)
181181

182-
![msbuild](https://dotnetweeklyimages.blob.core.windows.net/015/msbuild.png)
182+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/4c111fca-a0ff-4a6a-9cf5-78a2151fc88e)
183+
183184
想要了解 `MS build` 大会的实时内容,可以访问这个 Twitter thread。
184185

185186
## 文章推荐
186187

187188
1、[自动格式化文件](https://www.talkingdotnet.com/code-cleanup-on-save-in-visual-studio-2022/)
188189

189-
![format](https://dotnetweeklyimages.blob.core.windows.net/015/cleanup.png)
190-
191190
我们知道 `dotnet format` 可以格式化我们的代码,使之更加符合标准。那么在 `Visual Studio` 中能否在保存文件的时候就将格式化呢?答案是肯定在 `2022 17.2.2` 版本中可以配置该功能:
192191
Tools -> Options -> Text Editor -> Code Cleanup ->Run Code Cleanup profile on Save.
193192

@@ -197,7 +196,7 @@ MAUI 系列视频教程
197196

198197
3、[ASP.NET 应用迁移到 ASP.NET Core 方案](https://devblogs.microsoft.com/dotnet/incremental-asp-net-to-asp-net-core-migration/)
199198

200-
![aspnetcore](https://dotnetweeklyimages.blob.core.windows.net/015/aspnetcore.jpg)
199+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/49ec6e86-8066-45f8-91d0-7d696671d52a)
201200

202201
`ASP.NET Core` 作为现代化 Web 开发平台,拥有很多开发优势。但是由于很多历史包袱问题,仍然有很多应用程序仍然使用 `ASP.NET` 框架,该文章介绍了如何从 `ASP.NET` 迁移到 `ASP.NET Core` 的方法
203202

@@ -208,7 +207,7 @@ MAUI 系列视频教程
208207

209208
4、[如何缓存 ASP.NET Core 应用的响应](https://code-maze.com/aspnetcore-response-caching/)
210209

211-
![aspnetcore](https://dotnetweeklyimages.blob.core.windows.net/015/cache.png)
210+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/3c1e0f6d-7ce7-4003-9e02-e9577fe76dcc)
212211

213212
缓存 `Cache` 是提高应用程序性能的常规手段,在 `Web` 服务中,通常使用 `cache-control` header 的字段来控制响应的缓存策略。那么在 `Asp.NET Core` 中提供了 `ResponseCache` 属性(attribute)来辅助 `Controller` 来自定义这些内容。
214213

@@ -230,7 +229,7 @@ cache-control: public, max-age=120
230229

231230
1、[HttpClient 单元测试](https://code-maze.com/csharp-mock-httpclient-with-unit-tests/)
232231

233-
![httpclient](https://dotnetweeklyimages.blob.core.windows.net/015/httpclient.png)
232+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/db08102b-620d-4355-91bd-3331f952cc35)
234233

235234
在软件开发过程中,经常会通过网络访问外部资源。那么就会使用 `HttpClient` 这个类,那么该如何如何进行单元测试呢?
236235

@@ -298,13 +297,13 @@ _msgHandler.Expect("https://reqres.in/api/users/*")
298297

299298
2、[命令行 GUI](https://github.com/migueldeicaza/gui.cs)
300299

301-
![gui](https://dotnetweeklyimages.blob.core.windows.net/015/gui.png)
300+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/ce46c4d9-2e9e-472a-a0eb-a2aea5294679)
302301

303302
对于 `console` 应用程序,黑乎乎的命令行有时候仍然不满足我们的需求,我们需要更加丰富的 `GUI` 来满足我们的要求。而 `gui.cs` 是基于 `.NET Core` 的库,这也意味着,它具备了跨平台的能力。
304303

305304
1、[ASP.NET Core 必需的库](https://procodeguide.com/asp-net-core/10-essential-nuget-libraries/)
306305

307-
![aspnetcore](https://dotnetweeklyimages.blob.core.windows.net/015/nuget.png)
306+
![image](https://github.com/DotNETWeekly-io/DotNetWeekly/assets/11272110/1dcd2d5d-503b-43b6-88a0-c68d94d50884)
308307

309308
开发 `ASP.NET Core` 应用程序,这些库是非常有必要的
310309

0 commit comments

Comments
 (0)