技术心得六——探索者之歌

兄弟们、朋友们:

       大家好!

       结束了一天忙碌的工作,我又想着和大家来聊生活的感悟。我喜爱工作,但我反对刻板的流程,生硬的规范。我喜欢人文技术。

       今天我想从浏览器谈起:

       他是一个软件,更是一个窗户;他是一个工具,更是一个生命。他在软件的生态圈里,是类人猿、是高级哺乳动物;他把我们居住的小屋,向远方延伸;成功的浏览器是不可复制,因为他有灵魂。出身名门的IE、草莽英雄的Google Chrome、书生意气的FireFox、激昂打拼的中产阶级360、猎豹浏览器……是他们丰富了我们的世界。

       浏览器的安全、跨站脚本攻击、点击劫持、HTML5安全、注入攻击、文件上传漏洞、Web框架安全……无数技术的和安全的细节,把浏览器的种群,卷入了爱恨情仇、恩怨是非的漩涡。

       今天我们把浏览器拉来,就是让他回归清静无为的淡泊状态,呈现他生命本身的光彩和魅力。

       我要赞美探索者,

赞美铬(chrome)金属,技术心得六——探索者之歌_第1张图片技术心得六——探索者之歌_第2张图片

             

他用洁白的画面,遮掩了背后一切的琐碎和苦痛、汗水和欢欣,

他以简单而刚毅的形象,行走在各种硬件平台上,

多少细节的完美,

多少结构的精致,

他是技术的创造,更是艺术的典范,

看一下吧,他的内涵:

app:该目录下的代码主要是和各个操作系统平台相关的应用上层代码的提炼。

 base:基础设施代码,这里面是大量的工具性、框架性代码实现,比如对进程、线程、消息循环的统一封装,对字符串处理、c++对象生命周期管理、json解析、路径服务、日期时间、日志框架等。 

breakpad:崩溃服务框架库,在程序发生异常时,对异常进行捕获后可以将崩溃现场数据发送给google进行分析。

chrome:浏览器主程序实现代码,包括了UI实现和Render部分两大部分

chrome_frame:这是google针对IE开发的一个插件,使得IE可以使用chrome的渲染引擎来显示网页。 

courgette:小胡瓜,这个项目是一个针对升级使用的,目的是减少升级过程中数据下载的大小。 

gears:是一个用来开发离线网络应用的工具,是一个JavaScript应用编程接口,通过Google Gears可以允许多种Web应用程序脱机运行,可以让用户在上线或者离线状态下运行网络程序。

google_updategoogle更新,用于自动升级。 googleurlgoogle实现的URL解析辅助工具库。 

ipc:非常重要的进程通信基础设施库。chrome是多进程架构,而进程间的通信就是以ipc库作为基础支持的。

 media:多媒体音频视频解码相关的内容。 

………… 

整个源码工程虽然庞大,但其结构是非常清晰的,代码风格很统一,就象是一个人写的一样。我们只要掌握好粒度,从粗到细,从整体到局部逐渐深入,带着问题去跟踪调试,很快就会上手进入状态。

其实我们一辈子并不需要做很多的事情,而是做关键的事情,做对人类文明进步有意义的事情,从而在有限的人生里获得永恒和无限的价值!


你可能感兴趣的:(技术心得六——探索者之歌)