架构
文章平均质量分 90
ปรัชญา แค้วคำมูล
平时的心魔,是关键时刻带你走出泥潭的神明。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Chrome 浏览器原生下载逻辑架构
Chromium 下载系统采用分层架构设计,包含组件层(components)、内容层(content)和浏览器层(chrome)。组件层负责核心下载逻辑,包括DownloadItem、DownloadFile等实现;内容层提供DownloadManager接口管理下载生命周期;浏览器层则处理用户交互、安全策略等高级功能。各层通过接口和委托模式解耦,确保职责清晰。关键类如DownloadManagerImpl协调下载流程,ChromeDownloadManagerDelegate定制下载行为,Downloa原创 2026-04-29 14:46:23 · 411 阅读 · 0 评论 -
Chromium settings_private 机制深度解析:一个 Pref 未注册引发的血案
本文以Chromium设置页面修改Pref失败的Bug为例,深入剖析了其三层架构机制:前端通过settingsPrivate API调用C++层修改Pref,但需要同时满足白名单权限和Pref注册两个条件。关键发现是Allowlist仅控制访问权限,PrefRegistry才是真正创建Pref的步骤。当Pref被宏定义包裹而未注册时,即使存在于白名单也会导致API调用失败。文章完整呈现了Pref修改的调用链路、变更通知机制,并给出新增Pref的完整步骤:定义常量、注册Pref、加入白名单。这种权限与注册分离原创 2026-04-22 14:04:49 · 315 阅读 · 0 评论 -
从“会调用”到“稳得住”:Agent工具使用与MCP安全交互深度剖析
摘要: AIAgent正从实验室走向生产环境,工具调用能力从单一API演进为多工具编排,安全与可靠性成为核心挑战。ModelContextProtocol(MCP)通过标准化工具交互解决碎片化问题,支持动态工具发现与UI集成。安全风险涵盖间接提示注入、供应链漏洞等,需结合沙箱隔离、权限管控及人在回路等防御策略。未来趋势包括协议标准化竞赛、智能体优先设计及持久化Agent的兴起。Agent竞争焦点从“能否调用工具”转向“能否安全稳定执行任务”,工程化与安全设计成为关键。(149字)原创 2026-04-22 10:15:25 · 795 阅读 · 0 评论 -
AI Agent 规划系统深度解析:OpenClaw、Claude Code、Hermes Agent 三种任务编排哲学
本文探讨了AI Agent的规划系统设计,对比了三种主流框架的规划哲学。OpenClaw采用Plan-and-Solve模式,强调透明可控的静默规划;ClaudeCode通过Sub-agent模式实现任务并行分解,追求执行效率;HermesAgent采用角色分离的三层架构,支持经验积累和自进化。文章分析了任务分解、依赖处理和变化应对三大核心问题,指出不同框架在规划透明度、并行能力和容错机制上的差异,并提供了场景化的选择建议。规划系统作为Agent的"大脑",决定了其任务执行能力,需要根据原创 2026-04-22 10:14:20 · 566 阅读 · 0 评论 -
AI Agent 记忆系统深度解析:OpenClaw、Claude Code、Hermes Agent 三种架构哲学之争
本文深入分析了三种主流AI Agent记忆系统架构的设计哲学:OpenClaw强调文件系统的透明性和可控性,适合技术人员调试;ClaudeCode注重Token预算管理,适合边界清晰的工程任务;Hermes采用四层分离设计,通过Skills系统实现情景记忆积累,适合长期重复性任务。文章提出了选择框架的三个关键问题:任务周期、用户类型和重复性程度,并指出实际项目中可能需要混合策略。记忆系统设计反映了对"透明性、效率和学习能力"不同维度的取舍,没有完美方案,只有最适合特定场景的权衡。原创 2026-04-22 10:12:48 · 683 阅读 · 0 评论 -
Chromium 扩展事件系统深度解析:从 C++ 业务回调到 JS 监听器,一次说清楚
本文深入解析了Chromium扩展事件系统的工作原理,通过一个典型登录事件案例完整梳理了从浏览器业务层到扩展JS的事件分发链路。文章首先区分了两种关键注册机制:业务服务侧的Observer注册(C++对象订阅内部状态变化)和扩展侧的Listener注册(JS声明事件监听)。随后详细分析了系统启动时的事件路由桥接对象初始化过程,包括Profile初始化、ExtensionSystem启动等关键环节。最后阐述了完整的事件分发路径:业务服务触发回调→事件路由桥接→EventRouter查找监听器→通过Mojo/I原创 2026-04-09 18:38:12 · 334 阅读 · 0 评论 -
像素的生命之旅:深度解析Chrome渲染管线的完整架构
《像素的生命周期》揭示了Chrome浏览器从HTML到屏幕像素的复杂渲染过程。文章通过Chrome工程师Steve Kobes的视角,系统解构了现代浏览器的渲染管线:从HTML解析、DOM构建、样式计算,到布局引擎、绘制指令、GPU光栅化,再到图层合成与最终显示。重点剖析了Chrome的安全沙箱架构、多进程协作机制,以及Blink、CC、V8等核心组件的协同工作原理。文章不仅展示了渲染技术的演进历程(如LayoutNG革新),也坦诚讨论了技术债务与架构复杂性,为开发者理解浏览器工作原理和性能优化提供了宝贵视原创 2026-02-09 21:06:57 · 754 阅读 · 0 评论 -
Chromium WeakPtr 深度解析:从生命周期管理到线程安全的全面指南
Chromium中的WeakPtr设计哲学:生命周期管理的艺术 摘要:Chromium中的WeakPtr并非简单的"高级版空指针",而是专门解决对象生命周期问题的安全卫士。本文揭示了WeakPtr的核心机制:1) 它无法处理原始指针为null的情况;2) 通过WeakPtrFactory从有效对象生成,保证多线程环境下的原子性检查;3) 采用"双重防护"模式,区分API契约检查与生命周期保护。文章深入分析了UI线程中的特殊风险,指出WeakPtr主要保护"任原创 2026-01-27 11:59:15 · 1131 阅读 · 0 评论 -
杨立昆的“反叛”:当AI教父选择与世界为敌,我们该相信谁的未来?
杨立昆挑战AI主流路线:从大模型到世界模型 Meta首席AI科学家杨立昆近期公开质疑当前大语言模型的发展方向,认为其在5-10年内难以达到狗的智能水平。他指出大模型本质是"统计规律的奴隶",缺乏对物理世界的真实理解。杨立昆主张转向"世界模型"技术路线,通过预测世界状态变化而非单纯文本模式匹配来构建AI。这一观点直指当前AI发展的三大局限:文本信息的贫瘠性、缺乏因果推理能力和物理常识缺失。文章对比了大模型与世界模型的核心差异,分析了行业存在的集体认知偏差和路径依赖风险,原创 2026-01-02 14:34:38 · 725 阅读 · 0 评论 -
浏览器:从“网页窗口”到“下一代操作系统”的跃迁,开发者如何抢占未来?
浏览器正从网页工具蜕变为下一代计算平台的核心载体。AI本地化部署、高复杂度应用、行业数字化需求及泛终端生态统一入口四大驱动力,推动企业加大对浏览器内核开发的投入。Web技术结合PWA和小程序生态,正在模糊原生App的体验边界,形成混合分层的未来软件格局。这一变革催生了对系统级开发人才的需求,要求精通底层架构、性能优化及前沿技术整合能力。浏览器内核开发已成为定义未来数字生态的战略要地,为开发者提供了从应用层向系统层跃迁的黄金机遇。掌握浏览器内核技术,意味着获得构建下一代智能终端交互范式的关键能力。原创 2026-01-02 13:43:33 · 672 阅读 · 0 评论 -
浏览器内核复兴:WebGPU与WebAssembly如何重绘互联网的未来边界
浏览器内核技术正经历新一轮变革,WebGPU和WebAssembly的崛起推动各大科技公司展开人才争夺战。WebGPU通过现代图形API设计实现3-5倍性能提升,支持AI推理等GPU计算场景;WebAssembly则打破语言壁垒,让C++/Rust等语言能在浏览器高效运行。二者协同催生了浏览器内AI、科学计算等新应用范式,使浏览器演变为全栈计算平台。这场技术变革正重塑跨平台开发模式,引发浏览器内核的"军备竞赛",预示浏览器可能成为下一代操作系统。尽管面临硬件碎片化等挑战,但Web技术的性原创 2026-01-02 13:42:09 · 868 阅读 · 0 评论 -
桌面应用中的浏览器引擎抉择:深入解析Chromium、CEF与WebView2
本文深入探讨了桌面应用开发中嵌入浏览器引擎的三大主流方案:Chromium、CEF和WebView2。Chromium作为底层开源项目适合深度定制和独立浏览器开发;CEF在保留Chromium强大功能的同时降低了集成难度,适合跨平台混合应用;WebView2则是微软提供的轻量级解决方案,最适合Windows原生应用现代化改造。文章通过架构对比、性能分析和实际案例,为开发者提供了全面的技术选型指南,建议根据平台需求、定制程度和资源投入进行合理选择。原创 2026-01-02 13:40:48 · 1065 阅读 · 0 评论 -
Chromium WebUI 定制实践:从 C++ 注入到 JS 安全展示全链路解析
本文深度解析Chromium WebUI框架的运行机制与安全定制方案。从源码层面剖析了loadTimeData数据注入机制,阐述了C++通过WebUIDataSource向JS同步注入配置数据的全链路过程。重点分析了i18n与i18nAdvanced API的安全设计差异,提出90%场景应使用i18n()避免XSS风险。针对浏览器定制需求,给出了三种安全扩展方案:通过loadTimeData注入配置、新增runtime helper、使用WebUIMessageHandler处理动态数据。最后以passwo原创 2025-12-30 14:49:07 · 1157 阅读 · 0 评论 -
Chromium WebUI 深度解析:src/ui/webui/resources 的架构定位与运行机制
本文深入剖析Chromium内核中WebUI安全机制的核心——src/ui/webui/resources目录。作为WebUI的"宪法",该目录通过parse_html_subset.js等核心文件实现了严格的安全模型:定义HTML白名单、规范i18n处理、提供统一运行时。文章从历史背景出发,揭示了Chromium为防范XSS攻击而建立这一安全基线的必要性,详细解析了其架构定位、运行机制及与业务模块的交互方式。特别强调该目录并非功能模块,而是作为系统级安全裁判,所有WebUI页面必须遵守原创 2025-12-30 14:31:04 · 1061 阅读 · 0 评论 -
为什么 Chromium 坚决不再支持插件
本文深入解析了Chromium浏览器插件技术的演进历程与架构设计。从早期的NPAPI(存在严重安全隐患)到PPAPI(引入沙箱隔离),再到现代的Extension和Mojo框架,浏览器插件技术经历了从直接系统调用到安全可控的转变。文章详细剖析了各代插件的架构特点、调用流程及安全机制,重点阐述了Chromium通过独立进程、IPC通信、权限控制等技术手段解决插件安全问题的思路。最终指出:基于WebAPI+Extension+Mojo的技术组合,Chromium已完全摆脱传统插件模式,实现了安全、稳定、高性能的原创 2025-12-20 18:09:47 · 965 阅读 · 0 评论 -
Chrome插件架构演进:从NPAPI到PPAPI的技术革命与启示
Chrome插件架构经历了从NPAPI到PPAPI的重大技术革新。NPAPI作为跨浏览器插件标准存在安全隐患和性能问题,促使谷歌开发更安全的PPAPI架构。PPAPI通过沙盒隔离机制大幅提升安全性,采用进程隔离和硬件加速优化性能,同时精简API设计增强稳定性。这一演进体现了浏览器技术向安全优先、性能优化的发展趋势,为现代Web生态建设提供了重要启示。技术变革周期缩短背景下,平衡兼容性与创新性成为关键挑战。原创 2025-12-06 23:03:22 · 243 阅读 · 0 评论 -
从零开始:在 Windows 环境下拉取并编译 Chrome 源码全纪录
本文详细介绍了在Windows平台下编译Chromium浏览器源码的完整流程。主要内容包括:系统环境要求(Windows10+、16GB内存、100GB硬盘空间);必需工具安装(VisualStudio2022、Windows11SDK);获取源码步骤(配置Git、使用depot_tools);构建配置(使用GN生成构建文件、autoninja执行编译);以及优化建议(使用SSD、多核CPU、关闭防病毒软件)。文章还提供了运行测试、构建安装程序和更新源码的方法,帮助开发者顺利完成Chromium的定制化编译原创 2025-12-06 22:07:03 · 1104 阅读 · 0 评论 -
Chromium 浏览器通信演进:从 IPC 到 Mojo 的替换实践
摘要:现代浏览器采用多进程架构实现稳定性与安全性,传统IPC机制在扩展性、性能和安全方面存在不足。Chromium团队开发的Mojo框架通过类型安全接口、自动序列化和权限控制等特性,逐步取代传统IPC。替换过程采用渐进策略,优先迁移高频通信模块,并通过编译验证、性能测试确保兼容性和优化效果。Mojo的引入提升了浏览器多进程通信效率,为未来更复杂的安全沙箱和多进程协作奠定了基础。原创 2025-11-28 19:00:39 · 842 阅读 · 0 评论 -
架构的尺度:从单机到分布式,服务端技术的深度演进
本文探讨了服务端开发的核心思维与技术进阶路径。真正的服务端开发超越编程语言和工具本身,关键在于理解分布式系统的本质规律:从单机思维到接受最终一致性、防御式编程和无状态设计的转变。技术栈是一个有机整体,微服务、RPC、注册中心等组件环环相扣。学习路径应循序渐进:从单体基础到引入中间件,再到微服务拆分,最终拥抱云原生。成为优秀架构师还需具备业务理解力、权衡取舍能力和成本意识。服务端开发的终极智慧在于系统性思维,在技术深度与业务需求间找到最优解。原创 2025-10-26 18:52:03 · 924 阅读 · 0 评论 -
超越语言的迷思:从C++的十字路口眺望技术成长的星辰大海
技术的世界喧嚣多变,今天的热门语言可能明天就会沉寂。但有一些东西是永恒的:对计算机系统运作原理的深刻理解,对解决复杂问题的持续热情,以及将技术转化为业务价值的洞察力。当我们停止追问“我该学什么语言”,开始思考“我渴望解决什么问题”时,我们就完成了一次关键的认知升维。是成为在特定领域精益求精的“外科手术刀”,还是成为连接多个领域、构建宏大系统的“建筑师”,选择权在你手中。世界的数字化进程远未结束,对真正掌握“领域技术栈”的深度人才的渴求,只会与日俱增。愿你能超越语言的迷思,在自己选择的星辰大海中,扬帆原创 2025-10-26 13:04:00 · 708 阅读 · 0 评论 -
迷宫的建造者与破解者:论互联网技术与逆向工程的两极文明
在数字世界的版图上,存在着两个看似对立、实则同源的文明。一个文明致力于在广袤的虚拟空间中,用代码编织起连接全球的宏伟殿堂,它灯火通明,车水马龙,我们称之为 “互联网技术”。另一个文明则潜伏在幽深的二进制迷宫之中,于无声处听惊雷,在黑暗中解构逻辑,我们称之为 “逆向工程”。常有人问:建造迷宫与破解迷宫,孰难孰易?这实则是在追问两种截然不同的复杂性。本文将深入这两大技术的腹地,从目标、思维、知识、挑战与不确定性等多个维度,展开一场关于“复杂性”的辩证探讨,试图揭示这两种极致智力活动背后的独特魅力。原创 2025-10-25 08:06:16 · 1978 阅读 · 0 评论 -
WebApp 的价值与实现:从浏览器架构到用户体验优化
摘要: WebApp(Progressive Web App)是融合网页与原生应用特性的技术,通过浏览器内核实现独立窗口、离线访问、系统集成等功能。其核心依赖ServiceWorker缓存、数据库管理(如WebAppDatabase存储元数据)及跨版本迁移机制,确保数据一致性与独立进程运行。相比传统网页,WebApp支持桌面快捷方式、通知推送和跨设备同步,提升用户体验与浏览器生态粘性。技术挑战包括数据库版本兼容性处理(如崩溃防护与自动清理),需平衡稳定性与功能完整性。WebApp作为“轻量级原生应用”,显著原创 2025-09-12 17:17:40 · 1094 阅读 · 0 评论
分享