为什么说方法的参数最好不要超过4个?

简介 在很多年前的一次Code Review中,有大佬指出,方法的参数太多了,最好不要超过四个,对于当时还是萌新的我,虽然不知道什么原因,但听人劝,吃饱饭,这个习惯也就传递下来了,直到参加工作很多年后,才明白这其中的缘由。 调用协定 在计算机编程中,调用协定(Calling Convention)是 ...

一次 .NET 性能优化之旅:将 GC 压力降低 99%

字数 1128,阅读大约需 6 分钟 一次 .NET 性能优化之旅:将 GC 压力降低 99% 前言:问题的浮现 最近,我使用 ScottPlot 库开发一个频谱分析应用。应用的核心功能之一是实时显示频谱图,这可以看作是一个高频刷新热力图(Heatmap)。然而,在程序运行一段时间后,我注意到整体性 ...

C#.Net筑基-优雅LINQ的查询艺术

博主头像 Linq(Language Integrated Query,集成查询语言),顾名思义就是用来查询数据的一种语言(可以看作是一组功能、框架特性的集合)。在.NETFramework3.5(大概2007年)引入C#,用统一的C#语言快速查询各种数据,如数据库、XML文档、对象集合等等。Linq的诞生对... ...

发布一个小功能,通过 markdown 图片语法嵌入B站视频

博主头像 今天晚上对园子的 markdown 功能做了一个小改进,方便大家在博文中嵌入B站视频,已发布上线。 现在直接用 markdown 图片语法就可以在博文中嵌入B站视频,比如 注:上面的网址就是访问B站视频的网址,在B站搜索到一个视频,直接将浏览器地址栏的网址复制过来就行。 在 markdown 渲染时 ...

dotnet 代码调试方法

本文将会从基础到高级,从简单到复杂的顺序,告诉大家如何调试 dotnet 系应用,特别是桌面端应用。本文将会向大家介绍使用 VisualStudio 大量的功能用来提高调试效率,穿插着也会介绍一些好用的调试辅助工具,以及如何编写方便调试的代码,期望大家通过阅读本文能有所收获 ...

STM32学会要花费多长时间?一个从机械转行老程序员的血泪史

博主头像 看到这个问题,我不禁想起了6年前那个拿着机械毕业证却被分配到电子部门的懵逼青年——没错,就是我。 当时坐在工位上,面对着桌上那块STM32F103的开发板,内心是崩溃的。我特么学了四年机械,研究生又搞了三年机械,结果现在要我玩这个小黑块?说不迷茫是假的。 但现在回头看,STM32改变了我的整个人生轨 ...

于是转身独立开发者

博主头像 最近两年,社媒上有句很火的文案:不要谩骂以前的自己,他当时站在雾里也很迷茫。 每次刷到这条内容,嘴里都嘀咕一句:现在就不迷茫了吗?就不在迷雾里了吗? ...

Cursor生成UI,加一步封神

博主头像 用 Cursor 做 UI,有两种最简单又有效的方法,一个免费一个付费,不管你要做网页 UI 还是应用程序 UI,都能用。 我这里不推荐直接用 Cursor 自带模型生成 UI,模型生成出来的效果比较差,就算是最强的 Claude 也不太行。 本文我分享的方法是我最近学到的,先说免费的。当我们手头有 ...

【EF Core】DbContext是如何识别出实体集合的

博主头像 在开始之前说明一下,你不要指望阅读完本文后会得到光,就算得到光你也未必能变成迪迦。本文老周仅介绍原理,可以给部分大伙伴们解惑。 咱们都知道,在派生 DbContext 类时,集体类的集合用 DbSet<TEntity> 表示,而咱们最常用的方法是在 DbContext 的派生类中公开 DbSet<T ...

《HelloGitHub》第 111 期

博主头像 兴趣是最好的老师,HelloGitHub 让你对开源感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Pytho ...

.NET应用中的高效分布式同步解决方案

博主头像 前言 在分布式系统中,多个线程、进程或服务之间常常需要并发访问共享资源,这就带来了数据同步与一致性的挑战。今天大姚给大家分享一个.NET应用中的高效分布式同步解决方案:DistributedLock。 项目介绍 DistributedLock 是一个 .NET 开源的库,它基于多种底层技术提供了强大 ...

100万QPS短链系统如何设计?

博主头像 前言 凌晨两点,监控大屏突然飙红——短链服务QPS突破80万! 数据库连接池告急,Redis集群响应延迟突破500ms。 这不是演习,而是某电商平台大促的真实场景。 当每秒百万级请求涌向你的短链服务,你该如何设计系统? 今天这篇文章跟大家一起聊聊100万QPS短链系统要如何设计? 希望对你会有所帮助 ...

.NET 8 gRPC 实现高效100G大文件断点续传工具

博主头像 前言 随着数字化和信息化的发展,大文件传输在企业、科研以及个人用户中变得越来越常见。传统的文件传输方式在面对大文件(如几十GB甚至上百GB的视频、工程数据)时,常常因网络不稳定、程序崩溃等原因导致传输失败,而重新上传又浪费大量时间和带宽资源。 为了解决这一问题,本文推荐一个基于WinForm 和 . ...

MySQL索引完全指南:让你的查询速度飞起来

博主头像 MySQL索引完全指南:让你的查询速度飞起来 还在为数据库查询慢而头疼吗?一个简单的索引就能让你的查询速度提升几十倍甚至上百倍!今天我将用最通俗易懂的方式,带你彻底搞懂MySQL索引的奥秘。从什么是索引,到如何设计高效索引,再到实战优化技巧,让你从数据库小白变成查询优化高手! 一、索引是什么?为什么 ...

C#.Net筑基-泛型T & 协变逆变

博主头像 泛型(Generics)是C#中的一种强大的强类型扩展机制,在申明时用“占位符”类型参数“T”定义一个“模板类型”,比较类似于C++中的模板。泛型在使用时指定具体的T类型,从而方便的封装、复用代码,提高类型的安全性,减少类型转换和装箱。 ...

32岁入行STM32迟吗?

博主头像 作为一个在嵌入式领域摸爬滚打了近10年的老兵,看到这个问题时心情五味杂陈。32岁入行STM32迟吗?说实话,如果你问我这个问题的时候我还是24岁的小白,我可能会觉得"哇,32岁才开始学单片机,是不是有点晚了?"但现在30岁的我,经历了从机械专业跨界到嵌入式、从打工到创业的全过程后,我想说:兄弟,32 ...

博客园众包平台:诚征3D影像景深延拓实时处理方案(预算8-15万)

博主头像 园子的众包业务最近接到一个单子,虽然已经推荐了近10位合作开发者给客户,但到目前没有开发者有把握接这个单子。想着咱们园子高手如云、藏龙卧虎,我们决定在园子里发文公开招募接单开发者,期待园子里这方面的高手能够出手帮客户解决这个问题,同时也能促进平台资源的良性整合 ...