自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

inTheChangingRoad的博客

把软件做到极致

  • 博客(21)
  • 收藏
  • 关注

原创 AI:程序员的脑力外挂

知识扩容:AI如何填补人类脑力的边界;知识无界:AI如何成为人脑的超级外挂

2026-05-12 22:15:08 226

原创 一次AI辅助重构的踩坑实录

这篇文章算是一篇skill养成记,通过使用opencode+GLM,实践了一次重构skill的构建过程,这个skill只负责move method这一种重构手法。文中把跟AI相处的哭笑不得的过程记录了一下。把最终养成的skill和使用这个skill重构的代码PR放在了文章最后。

2026-05-11 22:46:43 438 1

原创 AI写的代码,人要不要来背锅?

AI写的代码,人要不要来背锅?

2026-05-08 20:39:32 399

原创 IOS、Android 和 OpenHarmony 音频焦点抢占机制对比

OS、Android、OpenHarmony 的音频焦点机制分别为:iOS 被动会话管理,Android 主动申请(四种抢占策略),OpenHarmony 双层机制(应用内独立/共享 + 应用间并发)。各平台均提供细粒度接口,开发者需适配以保证跨平台体验一致。

2026-05-08 19:51:41 620

原创 软件最佳实践不是“神坛代码”,而是你每天都在用的“套路”

摘要: 很多人误以为,软件最佳实践非做出“都江堰”那样的工程后世典范。本文想说明:最佳实践并非高深的理论,而是经过验证、切实可用的代码模式。它无分大小,但凡行之有效、能提升效率与质量的方法,皆可称为最佳实践——而我们其实每天都在使用或创造着它。

2026-03-26 16:17:14 336 1

原创 聪明的外行——AI编程在存量代码面前的窘境与新范式预言

摘要:本文探讨了AI编程助手在不同代码环境中的表现差异。研究发现,AI在维护存量代码时表现欠佳,因其难以理解历史遗留的隐式业务逻辑和技术债务;但在全新项目中,AI能充分发挥架构设计优势,生成结构清晰的代码。文章建议:对于存量代码,应将AI角色限制为代码审查和优化建议;对于新项目,可让AI主导开发,人类专注于需求定义和验收。这种"AI负责实现,人类把控需求"的新模式,或将重塑未来软件开发流程。

2026-03-25 19:36:15 527

原创 《大教堂与集市》PK《人月神话》,在对立中统一

中国有句古话“尽信书不如无书”,很多事物是有多面性的,我们有时候只看到其中的一面就奉为信条,往往有失偏颇。以前我对《人月神话》的观点确信无疑,这也是一直以来指导我软件生涯的向导。其实《大教堂与集市》与《人月神话》各自有其适用场景,无所谓对错,在不同场景下,我们要具备灵活运用的能力。当前AI风起的时代,可预见的马上又会有新的颠覆式的软件开发范式出现,我们要拥抱这种变化。

2026-02-27 19:24:47 71

原创 敏捷已死?

对于很多新时代的程序员,对于敏捷软件开发的概念,已然是很模糊的状态。因此有必要再引一下敏捷的发展历程,回顾一下哪些程序员激情燃烧的岁月。一、核心流程与工件管理二、团队协作与沟通三、质量与改进实践。

2025-10-26 21:59:45 315

原创 C++的map[key]使用陷阱--用放大镜看代码开发

这一版还是不完美,因为在find之后,如果find到元素,但是有可能在执行fooMap[key]的瞬间,元素被删除,此时操作的就不是find的元素。为了保证状态的一致性,一是可以对fooMap的操作加锁,同时要使用find出来的it值进行操作,而不是使用fooMap[key]操作。这样的话,如果std::make_shared<Value>()失败,就不会往fooMap中放东西,反过来讲,只要能从fooMap中find到,一定非空,这样就能保证fooMap中能find到的元素,一定是有效的,不需要再判空。

2025-09-15 13:23:49 373

原创 开源软件API设计原则(1)

正如Apache软件基金会倡导的:"好的开源API应该像城市的古老建筑——外部保持稳定,内部允许改造。"这种平衡艺术正是优秀开源API设计的精髓所在。正如Linux内核开发者Greg Kroah-Hartman所说:"开源API不是合同,而是承诺。:开源API可能被数以万计的开发者使用,而企业内API的调用方通常可枚举。:封闭系统中可通过协商逐步升级,而开源API的变更可能导致社区生态断裂。:建立API评审委员会(如Node.js的CTC):78%的兼容性问题源于未定义的异常行为。

2025-04-04 17:09:00 481

原创 linux内存管理概述

内存分配:例如,要请求一个256页(1M)的内存块,如果能找到,直接分配,如果找不到,则找512的内存块,如果能找到512的内存块,则将512的内存块,拆成2个256的内存块,将其中一个256页的块,分配给请求者,另一个256页的块,插入256页块的链表中。将所有的内存空闲页分组为11个块链表,每个块链表分别包含大小为1,2,4,8,16,32,64,128,256,512,1024个连续的页。每个块第一个页的物理地址是该块大小的整数倍,例如,大小为16个页的块,其起始地址是16*4096的整数倍。

2023-12-01 07:29:39 156

原创 linux内存-页表管理

2级页表:需要的页数是256M/4K = 65536个物理页,一个二级页表(占4K物理内存)能表示1024(1K)个物理页地址,因此65536个物理页面需要65536/1024 = 64 个二级页表,同理,一个一级页表,能够包含1K个二级页表首地址,所以一个一级页就够了(能涵盖64个二级页表)。在64位架构的机器上,一个进程的虚拟地址空间大小理论上可以达到2的64次方字节,即16 EB(exabytes,十八亿GB)。不过,即使如此,64位架构依然能够支持更高的内存容量和更高的性能。

2023-12-01 07:28:18 623

原创 SOLID原则系列-视频讲解

SOLID原则系列视频

2023-01-01 13:32:20 178

原创 用java反射机制解决开放封闭(OCP)原则的最后一公里问题

用java的反射机制彻底实现开闭原则。

2022-11-22 07:06:58 226

原创 谈谈指令集和处理器

处理器和指令集,其中有很多叫法不一,各种标准和厂家参杂在一起,很难理解。本文尝试去梳理一下他们之间的关系。

2022-10-18 11:36:19 754

原创 纷乱的C标准库澄清

使用C语言标准库时,经常听到各种libc,glibc、uclib...,这些标准库到底是什么关系?

2022-10-14 00:20:39 1515

原创 架构整洁之道--跟开源三方软件划清界限实战案例

本文根据《架构整洁之道》的指导原则,提供一种解决跟开源三方软件划分界限的设计方法,以提升基于开源三方软件开发效率。

2022-09-11 11:09:55 343

原创 架构整洁之道解读

本文解读Bob大叔的《架构整洁之道》一书,除了提炼整本书的内容外,对其中的一些隐晦知识点进行了展开讨论。希望跟有志于在软件架构上深耕的同仁一起探讨。

2022-09-06 00:10:18 1931

原创 小马过河

小马和他的妈妈住在绿草茵茵的十分美丽的小河边。除了妈妈过河给河对岸的村子送粮食的时候,他总是跟随在妈妈的身边寸步不离。    他过的很快乐,时光飞快地过去了。    有一天,妈妈把小马叫到身边说:“小马,你已经长大了,可以帮妈妈做事了。今天你把这袋粮食送到河对岸的村子里去吧。” 小马非常高兴地答应了。他驮着粮食飞快地来到了小河边。    可是河上没有桥,只能自己淌过去。可又不知道河水有

2016-06-06 21:08:03 613

原创 git branch 和 tag的区别

研究中,有知道的欢迎留言。就目前而言,个人感觉二者是一样的。

2016-05-29 15:17:16 7089

翻译 欢迎使用优快云-markdown编辑器

要开始使用makedown走编辑器了

2016-05-21 18:22:23 314

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除