摘要: ​ 目录 前置条件 Moq xUnit TDD 实践 创建项目 红灯 绿灯 重构 单元测试一些最佳实践 总结 前置条件 Moq 安装Moq包 Install-Package Moq Moq是一个Mocking库,通过它可以轻易地模拟对象来进行测试。在我们的例子中,我们将使用Moq来模拟一个计算器计算 阅读全文
posted @ 2023-06-15 12:09 欲东 阅读(474) 评论(2) 推荐(1) 编辑
摘要: ​ 目录 背景 解决方案 总结 背景 对于查询数据列表的功能,需要分页已经查询总数。这里涉及两句SQL,一个是查询分页对应的数据,第二个是Count(*); 会导致部分重复代码和两次的数据库查询。 解决方案 Dapper有封装QueryMultipleAsync的异步方法支持执行多条SQL,来减少数 阅读全文
posted @ 2023-06-09 16:08 欲东 阅读(741) 评论(1) 推荐(5) 编辑
摘要: 目录 延迟 光速限制 总结 延迟 延迟是指数据从一个地方到另一个地方所需的时间。延迟通常用毫秒(ms)或微秒(μs)来度量。延迟是指数据从发送方到接收方所需的时间,也称为往返时间(RTT)。 延迟取决于多个因素,包括网络拓扑结构、距离、中间节点数、传输介质和网络流量。在处理实时应用程序时,延迟是一个 阅读全文
posted @ 2023-06-09 10:39 欲东 阅读(199) 评论(0) 推荐(0) 编辑
摘要: ​ 目录 什么是record? 使用record record解构 record原理 结论 什么是record? record是.NET 5中的一种新特性,可以看作是一种概念上不可变的类。records可以帮助我们在C#中更容易地处理数据,同时提供了重要的功能,如对象相等性、hashcode和解构。 阅读全文
posted @ 2023-06-06 10:53 欲东 阅读(1050) 评论(4) 推荐(5) 编辑
摘要: Nuget Microsoft.Extensions.ObjectPool 使用对象池的好处 减少初始化/资源分配,提高性能。这一条与线程池同理,有些对象的初始化或资源分配耗时长,复用这些对象减少初始化和资源分配。比如:我有一个执行耗时约500毫秒,内存空间 2KB的任务为此创建一个新线程异步执行, 阅读全文
posted @ 2023-05-28 15:27 欲东 阅读(941) 评论(5) 推荐(6) 编辑
摘要: ​ 目录 引言 1. 什么是中文分词 2. Jieba.NET简介 3. PosSegmenter介绍 4. 实现中文分词匹配 4.1 安装Jieba.NET库 4.2 创建PosSegmenter实例 4.3 分词和词性标注 4.4 中文分词匹配 5. 总结 引言 在自然语言处理领域,中文分词是一 阅读全文
posted @ 2023-08-23 16:13 欲东 阅读(1138) 评论(5) 推荐(8) 编辑
摘要: ​ 目录 引言 实现步骤 概念介绍 创建控制器 总结 引言 在构建Web应用程序时,遵循RESTful风格的API设计原则能够使我们的系统更加灵活、可扩展和易于维护。其中,Post请求在创建资源时起重要作用。本文将介绍如何在.NET WebApi中使用CreateAtAction来实现RESTful 阅读全文
posted @ 2023-07-05 18:12 欲东 阅读(671) 评论(2) 推荐(4) 编辑
摘要: ​ 目录 引言 ConfigureAwait方法的作用和原理 ConfigureAwait方法的使用场景 非UI线程场景 避免上下文切换 避免死锁 ConfigureAwait方法的注意事项 在UI线程使用时需要小心 嵌套搭配使用 总结 引言 在.NET开发中,我们经常使用异步编程来提高应用程序的性 阅读全文
posted @ 2023-07-02 12:56 欲东 阅读(1448) 评论(0) 推荐(4) 编辑
摘要: ​ 引言 在移动应用开发中,依赖注入是一项非常重要的技术,它可以帮助我们简化代码结构、提高可维护性并增加测试覆盖率。在最新的.NET跨平台框架MAUI中,我们也可以利用依赖注入来构建高效的应用程序架构。本文将详细介绍在MAUI上如何使用依赖注入,旨在帮助开发者更好地理解和应用这一技术。 什么是依赖注 阅读全文
posted @ 2023-06-30 18:44 欲东 阅读(721) 评论(0) 推荐(2) 编辑
摘要: ​ 当使用Automapper进行对象映射时,通常我们会使用POCO(Plain Old CLR Object)类作为源对象和目标对象。然而,自从C# 9引入了record类型,它们提供了更简洁、不可变的对象模型。我已经将项目的所有Dto都是用record类型,但是record类型还是有些需要注意的 阅读全文
posted @ 2023-06-29 18:06 欲东 阅读(500) 评论(0) 推荐(2) 编辑
摘要: ​ 目录 问题缘由 背后原理 C#代码示例 总结 问题缘由 由于公司需求,需要读取游戏Redis数据做内外网数据迁移,没有与游戏组过多的沟通。 使用的数据类型是Hash, key是string,value是byte[]。以前对于编码的理解是:计算机底层存储的永远是01的二进制数据,编码是一种对于计算 阅读全文
posted @ 2023-06-01 20:16 欲东 阅读(208) 评论(0) 推荐(1) 编辑