首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C# 世界的《Effective C++》,来自.Net之父的核心揭秘

这本书被誉为C# 世界的《Effective C++》! 它可以帮助你从设计者的角度去观察如何更好地设计和使用框架来进行日常的开发活动。...来自.Net之父们的核心揭秘 本书从最基本的设计原则和准则出发,全方位介绍了设计框架的很好实践,是微软工程师从.NET Framework开发伊始到现如今的.NET这二十来年间宝贵经验的总结。...它让我们了解到,针对不同的 .NET API,它为什么要这么去实现以及它又是如何被实现的,既加深了我们对现有 .NET API 的理解,也为我们指明了框架设计的正确道路。...(精彩的大师注解点评) 不限于.NET 需要特别说明的是,这本书不是一本教你如何编码的书,内容也不限于 .NET 平台。...虽然大多数示例是以 C# 呈现的,但是如果你不是 .NET 程序员,这也完全不会影响你的阅读。

91530

支持各种特殊字符的 CSV 解析类 (.net 实现)(C#读写CSV文件)

CsvFileHelper.SaveCsvFile(@"C:\Users\administer\Desktop\my9.csv", myData, true, new System.Text.UTF8Encoding(false)); 单个元素支持包括...] 如果在被转义的情况下需要出现引号,则使用2个引号代替(如果需要在首部使用双引号,则需要转义该元素,其他地方可直接使用)(excel对所有双引号都进行转义,无论其出现位置,对于保存方式可以选择是否按...CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。最广泛的应用是在程序之间转移表格数据。因为大量程序都支持某种CSV变体,至少是作为一种可选择的输入/输出格式。...*****************************/ namespace MyCommonHelper.FileHelper { /// /// 单个元素支持包括...] /// 如果在被转义的情况下需要出现引号,则使用2个引号代替(如果需要在首部使用双引号,则需要转义该元素,其他地方可直接使用)(excel对所有双引号都进行转义,无论其出现位置,对于保存方式可以选择是否按

3.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Windows Server 2008 R2 Server Core 的 Microsoft .NET Framework 4安装程序

    Windows Server 2008 R2 Server Core 版本的.NET  Framework 4.0可以用于构建ASP.NET, WCF, WF, Windows Services 和 控制台应用程序...Server Core注意下面两点: 如果您要在 Windows 2008 Server R2 服务器核心上进行安装,则需要在安装 .NET Framework 4 之前安装 Windows 2008...打开 WoW64:Start /w ocsetup ServerCore-WOW64 打开 .NET 2.0 层:Start /w ocsetup NetFx2-ServerCore 打开 WoW64...的 .NET 2.0 层: Start /w ocsetup NetFx2-ServerCore-WOW64 支持的操作系统:Windows Server 2008 R2 SP1 Windows...Server 2008 R2 SP1 服务器核心或更高版本 支持的体系结构: x64 硬件要求: 建议的最低配置:1.4 GHz(x64 处理器)或 1.3 GHz(双核)单处理器,512 MB

    1.1K90

    使用.NET构建简单的高性能Redis(三)

    译者注 该原文是Ayende Rahien大佬业余自己在使用C# 和 .NET构建一个简单、高性能兼容Redis协议的数据库的经历。...这在C#中是比较难实现的,没有用于执行Redis那样工作类型的API。...因为我是16核的机器,我将创建10个这样的线程(假设它们每个都能分配到1个核心),并且我能够将I/O处理放到其余的6个核心上。...在研究系统其它部分时,看到了这个: 这真的很有趣,因为我们花了很多的时间在等待队列中是否有新的元素,其实我们可以做更多的事情,而不是就在那干等着。...因此,很明显,我们需要重新考虑这种方案,我们不能够正确地扩展到合适的数值。注意,这种方法也不利用流水线。我们分别处理每个命令和其他命令。我的下一步是添加对使用这种方法的流水线的支持,并测量这种影响。

    30520

    这几个示例,帮你深入理解 cgroup 中的 cpuset

    现在的多核系统中每个核心都有自己的缓存,如果频繁的调度进程在不同的核心上执行势必会带来缓存失效等开销。那么有没有方法针对 CPU 核心进行隔离呢?准确地说是把运行的进程绑定到指定的核心上运行。...,但这不是物理 CPU 的核心,更确切地可以称之为**逻辑核编号。...physical id : 表示当前逻辑核所在的物理 CPU 的核心,也是从 0 开始编号,这里表示这个逻辑核在第 7 个 物理 CPU 上。...可以看到系统只使用了核心 1,下面我们来看看如何将程序绑到特定的 CPU 核心上。 4. 创建 cgroup 将程序绑到指定的核心其实很简单,只需设置好 cpuset 控制器就行了。...虽然 systemd 不支持 cpuset,但是相信以后会支持的,另外,现在有一个略显笨拙,但是可以实现同样的目标的方法,后面会介绍。

    8.1K32

    发现一款.NET Core开源爬虫神器:DotnetSpider

    去开源中国和Github查询C#的爬虫项目,仅有几个非常简单或是几年没有更新的项目。 而单纯性能上.NET对比JAVA,PYTHON并没有处于弱势,反而有开发上的优势(得益于世界上最强大的IDE)。...爬虫性能瓶颈大多是在并发下载(网速)、IP池,那么为什么.NET没有一个强大的爬虫框架呢?...说真的我不知道,可能爬虫框架核心上比较简单,也可能.NET的开发人员没有别的语言的开发人员勤奋,或是.NET的开源氛围没有别的语言高。...可以使用Json定义爬虫 可以使用实体类+Attrbiute定义爬虫 自动创建数据库、数据表 支持 .NET CORE,可以跨平台 支持ADSL拨号换IP:如果所有爬虫统一部署, 可以实现单台机器同时运行多个任务拨号互不影响...、或者一个路由下面多个电脑下多个任务拨号互不影响 支持自定义代理池 有管理平台

    1.4K20

    .NET Core.NET5.NET6 开源项目汇总9:客户端跨平台UI框架

    产品特征 提供支持多平台的原生UI 跨移动和桌面部署到多个设备 使用统一单一项目、单一代码库 由Xamarin.Forms 演变进化而来 作为.NET6的一个重要组件,将于2021年11月与.NET6一起正式发布...Avalonia 是一个基于 WPF XAML 的跨平台UI框架,并支持多种操作系统:Windows(.NET Framework,.NET Core),Linux(GTK),MacOS,Android...C#和XAML提高生产率 使用C#和XAML的熟悉性和丰富性,以及热重新加载、热重启、编辑和继续等方面的生产力提升开发效率。 ? 强大的IDE支持。...Electron 是一个使用 JavaScript, HTML 和 CSS 等 Web 技术创建原生程序的框架,它负责比较难搞的部分,你只需把精力放在你的应用的核心上即可。...简洁、直观、强悍的netcore跨平台UI开发框架。框架理念和WPF类似,但是没有Xaml,直接用CSS和C#代码描述。

    11.7K21

    .NET周刊【1月第1期 2025-01-05】

    整个内容简洁明了,涵盖了线程安全设计的核心概念,对开发者学习和应用.NET中并发编程具有指导意义。...FluentAssertions:C#单元测试断言库,让测试代码更加直观、易读!...https://www.cnblogs.com/chingho/p/18635356 FluentAssertions是一个基于.NET的开源断言库,提供链式调用来编写单元测试中的断言,使其更自然流畅。...支持多个.NET框架和单元测试框架。使用示例展示了更靠近自然语言的写法,支持多个断言条件的连续验证,以及丰富的多种断言方法,能验证不同类型的数据和场景。提供项目地址和其他开源项目的推荐。...此版本包括对 C# 13 和 .NET 9 的支持、改进的 Windows PDB 支持、长路径支持、WeakEventHandler 的性能改进等等。

    6910

    F-Stack常用配置参数介绍

    lcore_mask 16进制位掩码,用于设置进程运行在哪些CPU核心上。如fc表示使用CPU第2-7个核,不使用第0和1核。...建议优先使用物理核,数据尽量不要跨NUMA节点交互,可以空出前2个CPU核心给系统,且配置其他进程不调度到DPDK要使用的CPU核心上。 channel 内存通道数,一般无需修改,使用默认值即可。...promiscuous 0或1,是否开启网卡的混杂模式,默认开启。 建议开启,尤其是对可能需要处理多播包(如OSPF协议包)等场景。 numa_on 0或1,是否开启NUMA支持,默认开启。...tx_csum_offoad_skip 0或1,是否关闭发包校验和的卸载,默认否。 当网卡支持发包校验和卸载时,F-Stack正常总是开启该功能,一般不需要修改。...lcore_list 使用哪些CPU核心处理本网口的队列,格式与port_list一致,默认为全部CPU核心都绑定处理本网口的队列。

    4.9K72

    从STGW流量下降探秘内核收包机制

    在STGW自研的监控系统里,我们增加了核心资源细粒度监控,针对CPU、内存、内核网络协议栈这些核心指标支持秒级监控、监控指标更细化,如下图就是出问题时间段,cpu各个核心的秒级消耗情况。...此外,STGW的监控模块支持在出现系统核心资源异常时,抓取当时的函数调用栈信息,有了函数调用信息,我们能更准确的知道是什么造成了系统核心资源异常,而不是继续猜想。...紧接着,我们排查了网卡,我们的网卡默认都打开了RSS(网卡多队列),每个队列绑定到一个核心上,既然硬中断亲和性没有问题,那么会是网卡多队列本身就不均衡吗?...,无论其四元组是什么,都被集中调度到了单个核心上,并且这个核心正好是软中断消耗热点核。...走到这里,问题渐为开朗,GRE数据包未按预期均衡到各个核心,但根据之前的分析,RPS是支持GRE协议获取四元组的,为什么在这里,不同的四元组,依然被哈希算成了同一个目标核呢? 3.

    3.6K51

    单元测试

    以下是它们之间的主要区别: NUnit3 类型: 单元测试框架 语言: C# 特性: NUnit 是一个广泛使用的 .NET 单元测试框架,类似于 JUnit 在 Java 生态系统中的地位。...提供丰富的断言、测试装饰器(如 [Test]、[SetUp]、[TearDown] 等)。 支持参数化测试、并行测试、测试用例的分组和分类。...有一个强大的测试运行器和广泛的 IDE 支持(如 Visual Studio 和 Rider)。...xUnit 类型: 单元测试框架 语言: C# 特性: xUnit 是一个现代化的 .NET 测试框架,旨在解决 NUnit 和 MSTest 中的一些设计问题。...Act: 调用你要测试的方法或功能,并保存其返回值或结果。 Assert: 使用 xUnit 提供的断言方法(如 Assert.Equal)来验证方法的返回值是否符合预期。

    6900

    面试官:Java如何绑定线程到指定CPU上执行?

    效果我们现在是看到了,可以说这个项目非常的溜,可以实现把线程绑定到指定核心上去。 该功能也是有实际应用场景的,属于一直非常极致的性能优化手段吧。...绑定核心之后就可以更好的利用缓存以及减少线程的上下文切换。 ? 说到这就不得不提起我第一次知道“绑核”这个骚操作的场景了。...如果你要用这个策略,最好是线程可以被绑定到特定的 CPU 核心上。 就这样,奇怪的知识又被唤醒了。 我知道怎么绑定啊,Java-Thread-Affinity 这个开源项目就做了。...这里就是通过前面说的,通过 JNA 调用 kernel32.dll 文件。 在 windows 平台上能使用该功能的一些的基石就是在此。 第二个点:怎么绑定到指定核心上?...在其核心类里面有这样的一个方法: net.openhft.affinity.AffinityLock#acquireLock(int) ?

    3K40

    .NET周刊【5月第1期 2024-05-05】

    和 SetProcessAffinityMask 两个 Win32 函数,用于将线程或进程绑定到指定的 CPU 逻辑核心上,以提高执行效率。...这两个函数通过设置处理器关联掩码实现绑定,对于超过 64 核心的 CPU 需要使用 SetThreadGroupAffinity。通过示例代码可以实现绑定线程到特定 CPU 核心并监测执行时间。...这两款软件均被收录在 C#/.NET/.NET Core 优秀项目和框架精选中,该精选旨在分享 C#、.NET 领域的最新动态和最佳实践。....Net 8.0 下的新 RPC,IceRPC 之如何创建连接 connection https://www.cnblogs.com/xlgwr/p/18173254 IceRPC 支持创建连接,连接是其核心功能...- NDepend 博客 https://blog.ndepend.com/visual-studio-multi-platform/ 为了考虑 Visual Studio 是否会转换为 .NET CoreCLR

    16210

    基于.NET平台常用的框架整理

    开源的.NET系统推荐: WTF:.net 核心的快速发展框架 KopSoft:开源免费WMS仓库管理系统 BCVP(Blog.Core&Vue Project):开箱即用的企业级前后端分离【 .NET...YiShaAdmin:基于.NET Core Web(mvc,缓存,多库)开发管理系统。 OrchardCore:在 ASP.NET 核心上构建模块化、多租户应用程序的应用框架。...Nhibernate:面向.NET环境的轻量级的ORM框架。 SqlMapper.cs:用于小项目的通用的C#数据库访问类。...Unity3D:微软大力支持的机遇C#和JavaScript的跨平台游戏开发框架。 Cassini、IIS Express和Cassinidev:开源的ASP.NET执行环境。...图形和图像处理框架 Paint.NET:基于.NET小巧灵活强大的图形处理开源项目。 Imagemagick.NET:用C#对开源图像处理组件Imagemagick的封装。

    3.1K20

    Succinctly 中文系列教程(三)20220109 更新

    九、监督 十、其他组件 十一、Akka.NET 单元测试 十二、Akka.NET 路由 十三、ASP.NET 核心 的演员 十四、Akka.NET 远程处理 十五、最后的话 Succinctly AppInsight...十、双因素认证(2FA) 十一、网络安全 Succinctly ASP.NET 核心教程 零、ASP.NET 核心介绍 一、什么是 .NET 核心和 ASP.NET 核心?...二、微软 Web 栈简史 三、入门 .NET 核心 四、ASP.NET 核心基础 五、超越基础:应用框架 六、如何部署 ASP.NET 核心应用 七、用于开发 ASP.NET 核心应用的工具 八、展望未来...MongoDB 七、# 中的数据处理 八、在 C# 中插入数据 九、使用 C# 查找(查询)数据 十、C# 中的二进制数据(文件处理) 十一、备份和恢复 十二、最后的话 Succinctly MonoGame...五、软边界 SVM 六、核 七、SMO 算法 八、多类支持向量机 九、总结 十、附录 A:数据集 十一、附录 B:SMO 算法 Succinctly Twilio C# 教程 零、简介 一、使用短信

    18.4K20

    Linux网络性能优化相关策略

    中断设置 现在的网卡绝大部分都是多队列网卡,每个队列都有独立的中断。为了提高并发处理能力,我们要将不同中断分发到不同CPU核心上。 通过cat /proc/interrupts来查看硬中断的状态。...上图笔者虚机的网卡中断还是比较均匀分布在不同CPU核心上。 查看对应中断的CPU亲和性 ? 不同接收/发送队列对应的中断,被分配到CPU0~7上。...而默认情况,一般对应中断的smp_affinity会被设置为ff,即该中断可以被分发到所有核心上。这时候,看上去所有队列中断都可以被分发到任意核心,理论上似乎可以做得比上面指定核心更好。...这取决于硬件和OS的实现,在笔者的经历中,还没有遇到smp_affinity设置为ff后,硬中断负载很均衡的情况。一般都是被分发到指定几个核心上,而其它核心只收到很少的一部分中断。...试想,下面这个场景,在一个8核的服务器上,部署了一个服务S,其6个工作线程占用CPU0~5,剩余的CPU6~7负责处理其它业务。因为CPU核心为8个,网卡队列一般也会设置为8个。

    6.3K50

    7款开源自动化测试框架优缺点对比

    NUnit NUnit 是支持所有 .Net 语言的单元测试框架。最初也是基于 Junit 的启发,完全采用 C# 编写,目前已被完全重新设计以使用更多 .NET 语言功能。...自带断言和注释。 支持并行测试。 支持测试驱动开发(TDD)。 缺点: 非跨平台,仅适用于 .Net 语言。 未集成到 Visual Studio echo 系统中,意味着使用它需要更多的维护。...一个很好的 C#开源单元测试框架,历史悠久,口碑较高。 不过,如果你正准备使用 .NET 语言,也可以考虑 MSTest 。 5....如果想在你的服务器端运行客户端测试,它可以帮助你。 被许多 CIs 使用和支持。 内置用于断言的语法。 缺点: 多数情况下,它需要一个测试运行器(如 Karma )。 难以异步测试。...支持异步测试。 使用灵活,可使用任何符合需求的断言库(Chai、expect.js、Must.js 等)作为 Node 标准“断言” 功能的替代品。

    3.8K60
    领券