- 博客(79)
- 收藏
- 关注
原创 云原生监控是否正在变得过度复杂?SRE 社区的深度反思
在这个意义上,云原生监控并未走向错误方向,它只是在等待一个更系统、更智能、更融合的新阶段。用户不需要知道 Prometheus 有多复杂,只需要看到统一视图。想用好 Prometheus,可能要部署 10+ 个组件。云原生监控今天的复杂度,是现代分布式系统的必然产物。“告警不一定是真问题,但问题一定会先被告警淹没。监控体系已经“自我膨胀”,需要简化、裁剪、可控。监控规模从“几项指标”变成“十万级事件流”。这让监控从“辅助工具”变成“核心基础设施”。这与“监控应该降低认知负担”的初衷背道而驰。
2025-11-21 21:15:40
510
原创 深入理解Java内存模型与volatile关键字:从理论到实践
文章简介: TDS 是一款基于 .NET 开源免费(MIT license)、高效且用户友好的文件搜索工具,使用 Avalonia UI 技术并完美支持 AOT 编译,实现并优化了如 USN 读取/近实时更新,索引磁盘缓存,索引增强搜索,多关键字匹配,多线程搜索,Avalonia UI 实现(虚拟化,全局热键,系统托盘)等功能,具有轻量高效、界面美观、交互舒适等特性。文章简介: 在 C# 的语法演进中,“弃元(Discard)” 以一个简单的下划线 _ 成为了既提升代码可读性,又优化性能的 “双料特性”。
2025-11-19 21:26:21
522
原创 磊哥|www.javacn.site
在日常开发中,我们常常需要将一个对象映射到另一个对象,比如将数据库实体转换为数据传输对象(DTO),或将请求模型映射为领域模型。Mapster 是一个开源免费(MIT license)、快速、高性能、灵活且易于使用的 .NET 对象映射库,用于在 .NET 用程序中进行对象之间的转换和映射操作,大幅减少手动赋值带来的重复代码、人为错误和维护成本。接下来我们分别定义一个源对象(Student)和一个目标对象(StudentViewModel),它们的属性名和类型完全一致。FirstName = "李",
2025-11-19 21:22:29
714
原创 @Autowired 的Bug让我们白忙三天
善夏枷奶前面的 .NET EF Core 快速入门实战教程章节中我们创建了一个名为 EFCoreGenericRepository 的 .NET 9 通用仓储类库,今天我们来把这个 EF Core 通用仓储类库打包成 NuGet 程序包并发布到 NuGet 官网(https://www.nuget.org),并在项目中引入我们发布的 NuGet 程序包。接下来我们使用 .NET CLI 来发布生成好的 NuGet 包到 NuGet 官网(https://www.nuget.org)中。
2025-11-19 21:18:46
260
原创 【App Service】部署War包到Azure云上遇错误
因为终结器的执行顺序是不固定的,当SampleObject对象被终结器触发析构函数时,其他对象(比如_mo)可能也触发了析构函数。造纸在SampleObject执行Dispose时,有可能_mo的Dispose()方法被执行了2次(自身一次,外部调用一次),从而造成意外后果。释放模式是Dispose模式和析构函数(finalizer)的结合使用,目的是为了确保资源能够被正确释放,无论是通过显式的调用Dispose方法,还是在对象被垃圾回收器(GC)回收时触发析构函数。正常情况下我们的代码问题不大。
2025-11-19 21:15:14
708
原创 快速浏览Silverlight:在浏览器外运行Silverlight应用
仿朗当蹦NET 团队在官方博客上发布了.NET 10 RC2[1], .NET 10 作为继 .NET 9 后的长期支持版本(LTS),提供3年官方支持。RC2 是正式版(GA)前的最终候选版本,已具备生产环境可用性(Go-Live License),支持企业级部署。.NET MAUI:XAML 强类型源码生成器提升构建性能与 IntelliSense 支持,新增 ShadowTypeConverter、Switch.OffColor 等控件 API。RC1(2025年9月10日):聚焦稳定性与性能优化。
2025-11-19 21:11:44
383
原创 控制浏览器是否缓存网页状态
对于上下文的创建,需要先实现rt_uint8_t *rt_hw_stack_init(void *tentry, void *parameter, rt_uint8_t *stack_addr, void *texit)函数。void rt_hw_context_switch(rt_ubase_t from, rt_ubase_t to)//切换到to的上下文,又要保存当前上下文到from上。//保存上下文到from中。
2025-11-18 22:30:07
384
原创 开源(Open Source)那些事儿 (一)
具体实现: 这一步是标准的监督学习。SFT 赋予了模型遵循指令的基本形态,使其能够生成符合格式要求的、有意义的回答,为后续的优化步骤打下坚实的基础。“对齐税”问题: 论文敏锐地发现,经过 RLHF 对齐后的模型,在一些传统的 NLP 基准测试(如 DROP, SQUADv2)上出现了性能下降的现象,这就是所谓的“对齐税”。总而言之,InstructGPT 不仅为我们提供了一个更“听话”的模型,更重要的是,它为如何让越来越强大的 AI 系统与人类社会更好地协同,提供了一套切实可行的工程范式和深刻的研究启示。
2025-11-18 22:26:39
416
原创 C#内嵌汇编代码的讨论
现实生活中,若宫保鸡丁的必需食材(例如花生)突然缺货,真正的专业厨师会主动寻找替代食材,而不会要求顾客重新“下指令”或“换个点餐方式”。同理,在软件中,一个设计得足够“智能”的对象,也应该能在外部条件或业务需求变化时,自行调整内部逻辑,而不影响调用者的使用方式。对 AI 的误导:当 AI 工具在大规模代码库中搜索或补全时,见到“RestaurantService”可能以为这里面能找到任何与餐厅运营相关的逻辑,补全时也可能把更多不相干的功能(例如“采购食材”、“营销活动”等)一股脑塞进来,很容易导致上帝类。
2025-11-18 22:22:26
300
原创 对ASP.NET的最新安全漏洞进一步跟进说明
两个模型均支持通过 ManySpeech.MoonshineAsr 库实现 离线(非流式)语音识别,也可结合内置或外接的语音端点检测(VAD)模块(如 ManySpeech.AliFsmnVad)实现 实时(流式)识别,适用于语音转写、实时字幕等场景。该项目是一个控制台/桌面端示例项目,主要用于展示语音识别的基础功能,像离线转写、实时识别等操作。moonshine-tiny-en-onnx:轻量级模型(27M 参数,约 190MB),适合资源受限的设备(如边缘设备、嵌入式设备),兼顾速度与基础识别精度。
2025-11-18 22:18:07
316
原创 Microsoft NLayerApp案例理论与实践 - 项目简介与环境搭建
不不不,没有的事,你又忘了,FromExpression 只是转换为表达式树,并不会真的调用它。哦,说了一大堆,还没说这个方法到底有啥毛用。实际上,EF Core 并不会真正调用方法,只是通过生成表达式树 + 反射出方法名,然后再找到与方法名对应的数据库中的函数罢了。不能调用,不能调用,不能调用!1、访问 context.GetAllBooks() ,这时候,GetAllBooks 方法确实被调用了,是你的代码调用的,不是EF调用;可是,你也发现了,这TM太麻烦了,为了表值函数映射,我要封装两个方法成员。
2025-11-18 22:14:15
312
原创 十个极其有用的在线网站设计工具
paraformer-large-zh-yue-en-timestamp-onnx-offline-dengcunqin-20240805 非流式 中文、粤语、英文 否 是 https://www.modelscope.cn/models/manyeyes/paraformer-large-zh-yue-en-timestamp-onnx-offline-dengcunqin-20240805。该项目是一个控制台/桌面端示例项目,主要用于展示语音识别的基础功能,像离线转写、实时识别等操作。
2025-11-17 21:13:36
735
原创 Windows 令人满意,Code 让人失望
业务逻辑是基于线程数据的传递进行处理,主线程传递线程ID到子线程。处理方式:重写线程池的execute(*)、submit(*)方法。关键代码:[traceId:%X{traceId}],traceId是通过拦截器里MDC.put(traceId, tid)添加。4、异步定时任务线程接口ScheduledExecutorService的日志链路追踪。在执行前,执行后进行跟踪ID的生成和删除。2、整合logback,打印日志,logback.xml (日志配置文件)4、异步线程的跟踪ID链路追踪。
2025-11-17 21:09:27
293
原创 .Net 的区域性信息对程序移植性的影响
相比传统LDR反射贴图,HDR立方体贴图能够存储更广范围的亮度值(0-65504),保留亮部和暗部细节,特别适合表现金属、玻璃等高反射材质。与普通LDR(低动态范围)贴图相比,HDR贴图能够存储更广范围的亮度值,通常使用16位或32位浮点精度而非8位整数精度。HDR贴图作为Light Cookies可以精确控制光源的形状和衰减特性,相比普通LDR贴图能够表现更广范围的亮度值,特别适合模拟高亮度光源效果如聚光灯、霓虹灯等。Debug.LogError("请使用HDR格式贴图(RGBAHalf)");
2025-11-17 21:05:17
915
原创 Java 程序员 和 .NET 程序员
反而在每次循环的循环体中,通过batchNo从数据库中捞取的数据在处理完之后就没用了,younggc的时候自然消亡,完全不参与相关younggc运算。由于younggc耗时高集中在几台机器上,于是笔者登陆上那几台机器,发现在younggc耗时变高的时候都出现了nr_throttled,也就是当前容器的CPU时间片消耗达到了配置的cgroup上限,导致被kernel强制offline了。比较了相关的业务日志,笔者敏锐的发现了一个不一样的地方。看着这微小的改动引起了这么大的变化,这是不可能的。
2025-11-17 21:00:31
234
原创 ASP.NET MVC .学习系列文章--Dependency Resolution in ASP.NET MVC .
UnifiedTTS 通过统一的 API 屏蔽了不同 TTS 模型的差异,使你无需维护多个 SDK,即可在成本与效果之间自由切换。UnifiedTTS 抽象了不同模型的请求,这样用户可以用同一套请求参数标准来实现对不同TTS模型的调用,这个非常方便。所以,为了简化TTS的客户端调用,非常推荐使用 UnifiedTTS。下面根据API 文档:https://unifiedtts.com/zh/api-docs/tts-sync 实现一个可运行的参考实现,包括配置文件、请求模型、服务类与控制器。
2025-11-17 20:55:38
933
原创 大叔手记():分析URL Routing和URL Rewriting两者之间的不同
config.baseURL = 'https://api.example.com' // api地址。(uni as any).$u.toast(err.message || '网络错误')由于在main.uts挂载了全局属性,因此在pages里面的uvue文件,就可以直接调用了。uview-plus 自带一个 http 模块,但是在实际项目中,还是要自己封装一个,统一管理。你只需要 把 loading 开关打开 即可,成功/失败/超时都会 统一自动关闭,无需手动处理。
2025-11-16 15:38:02
229
原创 C#综合揭秘——Entity Framework 并发处理详解
如下面的例子中,如果将34单独合并b,外层再包裹a似乎是合理的,但是将34先包裹a后再合并5的b也是合理的,甚至有没有办法将67一并合并,因为其都存在b标签。如果仅存在单个文本节点的情况下,是符合设计的结构,而如果是存在多个节点,除了Void/Embed节点的情况外,则说明DOM结构被破坏了,这里我们就需要移除掉多余的节点。而当我们输入完成后,数据结构Model层的内容是会将文本放置于text前,这部分则是编辑器来控制的行为,这跟我们输入非中文的表现是一致的,也是符合预期表现的。
2025-11-16 15:33:54
778
原创 git寻根——^和~的区别
在实用性能上,它在OmniDocBench基准测试中,仅用100个视觉token就超越需256个token的GOT-OCR2.0,用少于800个视觉token超越平均需6000+个token的MinerU2.0,且单A100-40G显卡日生成20万+页LLM/VLM训练数据,代码和模型权重已开源(http://github.com/deepseek-ai/DeepSeek-OCR),为LLM长上下文压缩、记忆遗忘机制研究及实际OCR任务提供重要价值。配置:AdamW优化器,步长调度器,初始学习率3e-5;
2025-11-16 15:30:03
394
原创 剑英陪你玩转图形学 (三)归去来
考虑去放书的时候移动一定是按照下标递增顺序的,同理,放完书回来也不用回头,所以下标一定单调递减。//a是第二组的初始代价,b是第一组的初始代价。最大的)书,那么它一定可以顺带放路上经过的所有的书。对于第二个问题,比较复杂,我们继续观察性质:注意到,由于这两组的并集是全集,所以。为最大书架编号)个数字,把他划分成两组,求两组内部元素的和的最大值的最小值。
2025-11-16 15:25:56
229
原创 那些年搞不懂的高深术语——依赖倒置?控制反转?依赖注入?面向接口编程
总体上了来说,ThreadLocal,InheritableThreadLocal的实现都非常的优雅,不但很好的利用了对象的继承,保证用户在使用时无感知的发生了继承。最后是 childValue() 方法,它是指当发生继承动作时,父类中的存储的变量转化为子类对象的转化转换。在获取value 值时,调用的是key的childValue()方法,也就是InheritableThreadLocal.childValue()中重写的方法,将父线程的value值转为子线程的value时。
2025-11-16 15:21:37
774
原创 哎呀,我老大写Bug啦——记一次MessageQueue的优化
怀胸焕陕NET 团队在官方博客上发布了.NET 10 RC2[1], .NET 10 作为继 .NET 9 后的长期支持版本(LTS),提供3年官方支持。RC2 是正式版(GA)前的最终候选版本,已具备生产环境可用性(Go-Live License),支持企业级部署。.NET MAUI:XAML 强类型源码生成器提升构建性能与 IntelliSense 支持,新增 ShadowTypeConverter、Switch.OffColor 等控件 API。RC1(2025年9月10日):聚焦稳定性与性能优化。
2025-11-15 16:49:12
296
原创 AI再强大,也不如人类员工用的爽?
例如,有 ABC 三个处理者可以处理一个请求,请求 a 需要 AC 两个处理者处理,请求 b 需要 BC 两个处理者处理,同时两个处理者之间可能有前后依赖关系,这时候就可以使用责任链模式。System.out.printf("尝试使用企业账户支付: 用户[%s], 金额[%.2f]%n", userId, amount);System.out.printf("尝试使用个人账户支付: 用户[%s], 金额[%.2f]%n", userId, amount);// 先尝试企业账户。// 企业账户最大支付限额。
2025-11-15 16:44:18
653
原创 从零实现富文本编辑器#-浏览器选区与编辑器选区模型同步
在多年的研发生涯里,对调参这个事深恶痛绝,为什么辛辛苦苦架构出来的模型,一训练就崩,训练收敛慢到龟速,这严重影响了开发进度,并且增加了很多不可抗力的消耗。换句话说,朴素SGD是一个没有应用任何先验补充的野蛮人,较于Adam的平滑学习而言,它就像一只无头苍蝇,到处乱撞,也不知道该撞多少次才能收敛至最小值。我相信有很多业内同行,都有这种痛,训练了很久,效果依旧很差,泛化能力也不行,然后就开始苦恼,为什么自己没有足够的钱,足够的算力。引入动量缓冲m,也就是一阶矩,指数加权平滑梯度,它积累了历史梯度的方向趋势。
2025-11-15 16:35:45
872
原创 美丽而脆弱的天体运动:当C#遇见宇宙混沌
他们讨论了即使是看似微不足道的细节,不仅要提供符合标准的实现,还要提供一个干净、健壮的 API,引导开发者为他们的用例找到正确的解决方案。我们还提前规划,确保新的 URI 扩展及其专用的 Uri 命名空间为在未来版本的 PHP 中添加额外的 URI/URL 相关功能提供了清晰的路径。例如,这两个库都不包含廉价复制内部数据结构的功能,而这对于支持在尝试使用所谓的 with-er 方法(例如 ->withPort(8080))修改各个组件时克隆表示已解析 URL 的只读 PHP 对象是必需的。
2025-11-15 16:30:46
333
原创 最小二乘法计算触摸事件速度
DMALL UniData(Data IDE)的存算分离架构以Kubernetes 为弹性基座,Spark、Flink、StarRocks 按需伸缩,Iceberg+JuiceFS 统一湖存储,Hive Metastore 跨云管理元数据,Ranger 细粒度授权,存算分离、零厂商绑定,技术栈全链路可控。启动慢、资源占用高、开发周期长,成为团队效率的瓶颈。由此带来的业务收益水到渠成:TCO直降40-75%,资源秒级扩缩,同一套IDE框架覆盖集成、调度、建模、查询与服务,交付快、人力省,多云畅行且安全。
2025-11-15 16:25:31
410
原创 一人开发游戏的实战心得,长期更新!
例如,有 ABC 三个处理者可以处理一个请求,请求 a 需要 AC 两个处理者处理,请求 b 需要 BC 两个处理者处理,同时两个处理者之间可能有前后依赖关系,这时候就可以使用责任链模式。System.out.printf("尝试使用企业账户支付: 用户[%s], 金额[%.2f]%n", userId, amount);System.out.printf("尝试使用个人账户支付: 用户[%s], 金额[%.2f]%n", userId, amount);// 先尝试企业账户。// 企业账户最大支付限额。
2025-11-14 14:19:56
411
原创 MySQL 字符串替换实战指南: 个函数搞定 % 业务需求
C# 14.0(预计2025年随.NET 10发布,截至2025年4月为预览版)引入了一系列语言特性,旨在提高开发效率和代码可读性,包括 field 关键字、隐式 span 转换、nameof 增强、lambda 参数修饰符、partial 成员扩展和空条件赋值。值元组 (Value Tuples) 轻量级值类型,支持多值返回、命名元素和解构 方法返回多个值、临时数据分组 值类型,栈分配;
2025-11-14 14:15:32
424
原创 后恶意脚本被自动执行。 本质:用户输入未被正确过滤/转义,最终被当作脚本执行。 . 原理详解 .. 存储型 XSS 原理:攻击者将恶 ...
在多年的研发生涯里,对调参这个事深恶痛绝,为什么辛辛苦苦架构出来的模型,一训练就崩,训练收敛慢到龟速,这严重影响了开发进度,并且增加了很多不可抗力的消耗。换句话说,朴素SGD是一个没有应用任何先验补充的野蛮人,较于Adam的平滑学习而言,它就像一只无头苍蝇,到处乱撞,也不知道该撞多少次才能收敛至最小值。我相信有很多业内同行,都有这种痛,训练了很久,效果依旧很差,泛化能力也不行,然后就开始苦恼,为什么自己没有足够的钱,足够的算力。引入动量缓冲m,也就是一阶矩,指数加权平滑梯度,它积累了历史梯度的方向趋势。
2025-11-14 14:10:49
335
原创 从到上手阿里云ARMS:让Java服务监控变得简单
他们讨论了即使是看似微不足道的细节,不仅要提供符合标准的实现,还要提供一个干净、健壮的 API,引导开发者为他们的用例找到正确的解决方案。我们还提前规划,确保新的 URI 扩展及其专用的 Uri 命名空间为在未来版本的 PHP 中添加额外的 URI/URL 相关功能提供了清晰的路径。例如,这两个库都不包含廉价复制内部数据结构的功能,而这对于支持在尝试使用所谓的 with-er 方法(例如 ->withPort(8080))修改各个组件时克隆表示已解析 URL 的只读 PHP 对象是必需的。
2025-11-14 14:06:09
255
原创 C++ 左值、右值、左值引用、右值引用
DMALL UniData(Data IDE)的存算分离架构以Kubernetes 为弹性基座,Spark、Flink、StarRocks 按需伸缩,Iceberg+JuiceFS 统一湖存储,Hive Metastore 跨云管理元数据,Ranger 细粒度授权,存算分离、零厂商绑定,技术栈全链路可控。启动慢、资源占用高、开发周期长,成为团队效率的瓶颈。由此带来的业务收益水到渠成:TCO直降40-75%,资源秒级扩缩,同一套IDE框架覆盖集成、调度、建模、查询与服务,交付快、人力省,多云畅行且安全。
2025-11-14 14:01:05
691
原创 JFinal快速入门-核心概念-
是一个很小的常数(通常取 0.01)。相比逻辑回归,浅层神经网络在一次反向传播中更新了两层参数,而在之后的更复杂的神经网络结构中,隐藏层数量也不只一层,这样,在一次反向传播中,就会更新更多的参数。我们知道,在浅层神经网络里,我们涉及到两个层级各自的权重和偏置,因此,不同于逻辑回归中的一次更新,我们这次需要在一次反向传播过程中,更新两个层级的参数。我们想通过图中的几个数据点进行拟合,没有激活函数,我们就只能像左侧一样画一条直线,而只有使用了激活函数,我们才能让这条直线弯曲,来实现更好拟合效果。
2025-11-13 16:59:55
320
原创 【Android】基于SurfaceControlViewHost实现跨进程渲染
已删除: $ai_patrickLiu_dir" || echo "?启动脚本: $(ls -ld "/usr/bin/patrickLiuFileBrowser" 2>/dev/null | awk '{print $1 " " $3 ":" $4}' || echo "未知")"AIBroker 目录: $(ls -ld "$AIBROKER_DIR" 2>/dev/null | awk '{print $1 " " $3 ":" $4}' || echo "未知")"权限设置失败,继续尝试删除"
2025-11-13 16:55:30
306
原创 一款基于 .NET 开源免费、高效且用户友好文件搜索工具!
试想一下,对于一名刚刚从单体服务转向分布式系统的初学者来说,还在给你铺垫各个组件的功能,然后讲到注册中心的时候,直接就安排上了 CAP 和共识算法这套非常抽象、难以理解的丝滑小连招,应该是非常劝退的。自洽是指,你不能一边享受着这条“好走、明确且广阔的道路”的快捷与轻松,自嘲着自己是“CRUD 工程师”,又下不了决心、没有足够的毅力往难走的路上走,还在心里嘲讽正在这条更难的路上努力往前的人。写的过程中我就想起我之前看过的一本书,《数据密集型应用系统设计》这本分布式领域的书,必读,是非常好的“肥料”。
2025-11-13 16:50:56
414
原创 ysyx学习:移植rt-thread
Console.WriteLine($"性能提升:{((watch1.ElapsedMilliseconds - watch2.ElapsedMilliseconds) / (double)watch1.ElapsedMilliseconds):P2}");例如,元组解构时,var (_, name, _) = data 生成的 IL 代码仅包含对 name 的存储指令,而传统方式会包含所有成员的存储指令,减少了 CPU 执行的指令数。若存在未覆盖的值,会直接报错,避免运行时逻辑漏洞。
2025-11-13 16:46:08
414
原创 ,在前文时钟结构介绍完的基础上介绍了 MTS(Multi-Tile Synchronization)多片同步的原理以及操作和注意事项 ...
显然这取决于"失败"的定义, 例如除0就是"除法指令的第二个操作数为0", 非法指令可以定义成"不属于ISA手册描述范围的指令", 而自陷指令可以认为是一种特殊的无条件失败. 不同的ISA手册都有各自对"失败"的定义, 例如RISC-V手册就不认为除0是一种失败, 因此即使除数为0, 在RISC-V处理器中这条指令也会按照指令手册的描述来执行.处理系统的关键, 就是要有一个后台程序, 当一个前台程序执行结束的时候, 后台程序就会自动加载一个新的前台程序来执行,这样的一个后台程序, 其实就是操作系统。
2025-11-13 16:40:58
363
原创 WinForm二三事(二)
是一个很小的常数(通常取 0.01)。相比逻辑回归,浅层神经网络在一次反向传播中更新了两层参数,而在之后的更复杂的神经网络结构中,隐藏层数量也不只一层,这样,在一次反向传播中,就会更新更多的参数。我们知道,在浅层神经网络里,我们涉及到两个层级各自的权重和偏置,因此,不同于逻辑回归中的一次更新,我们这次需要在一次反向传播过程中,更新两个层级的参数。我们想通过图中的几个数据点进行拟合,没有激活函数,我们就只能像左侧一样画一条直线,而只有使用了激活函数,我们才能让这条直线弯曲,来实现更好拟合效果。
2025-11-12 15:19:44
347
原创 分享一些非常好用的Visual Studio扩展
已删除: $ai_patrickLiu_dir" || echo "?启动脚本: $(ls -ld "/usr/bin/patrickLiuFileBrowser" 2>/dev/null | awk '{print $1 " " $3 ":" $4}' || echo "未知")"AIBroker 目录: $(ls -ld "$AIBROKER_DIR" 2>/dev/null | awk '{print $1 " " $3 ":" $4}' || echo "未知")"权限设置失败,继续尝试删除"
2025-11-12 15:15:04
696
原创 ASP.NET应用下基于SessionState的“状态编程框架”解决方案
试想一下,对于一名刚刚从单体服务转向分布式系统的初学者来说,还在给你铺垫各个组件的功能,然后讲到注册中心的时候,直接就安排上了 CAP 和共识算法这套非常抽象、难以理解的丝滑小连招,应该是非常劝退的。自洽是指,你不能一边享受着这条“好走、明确且广阔的道路”的快捷与轻松,自嘲着自己是“CRUD 工程师”,又下不了决心、没有足够的毅力往难走的路上走,还在心里嘲讽正在这条更难的路上努力往前的人。写的过程中我就想起我之前看过的一本书,《数据密集型应用系统设计》这本分布式领域的书,必读,是非常好的“肥料”。
2025-11-12 15:09:50
289
原创 码斗士的修炼之路 -- 如何保持并提升战斗力
Console.WriteLine($"性能提升:{((watch1.ElapsedMilliseconds - watch2.ElapsedMilliseconds) / (double)watch1.ElapsedMilliseconds):P2}");例如,元组解构时,var (_, name, _) = data 生成的 IL 代码仅包含对 name 的存储指令,而传统方式会包含所有成员的存储指令,减少了 CPU 执行的指令数。若存在未覆盖的值,会直接报错,避免运行时逻辑漏洞。
2025-11-12 15:04:31
437
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅