如何扩展Chromium各层的接口

添加新功能时,可能需要增加各层的接口,接口如何加?必然需要向Chromium的原则看齐。首先Chromium的模块设计遵循依赖倒置原则,上层模块依赖于低层模块,低层模块不会依赖上层模块的实现。...
阅读(2990) 评论(1)

初步了解Google Blink

Chromium Blink基于WebKit而来,从2008年Google开发自己的浏览就选择参与了WebKit社区。当自己还弱小时最优的方式就是与WebKit保持同步。最明确的证据就是在自立门户之前buildbot上提供了chrome-release-webkit-latest功能, 自动使用最新的WebKit进行编译。...
阅读(3417) 评论(0)

使用debootstrap/schroot虚拟化开发环境

Linux里最头疼的就是依赖库,搭建一个开发环境就是一堆的依赖库需要安装。如果有版本冲突,虽然可以用aptitude解决,但顾了这个,另一个工程又编不了。如何将这些环境隔离出来避免相互的干扰呢? debootstrap/schoot就可以帮助解决这个问题。 看这里 (Virtualizing without virtualizing), 简而言之,就是在当前的host下安装另一个系统环境,使用命令行的方式切换到那个环境中操作,完全达到了要求,还不致于影响host的运行环境。...
阅读(3302) 评论(0)

[Chrome]关于面向接口编程的应用

面向接口编程是OOP中有效隔离变化的手段,同时要求开发者必须对问题进行有效抽象。Chrome为了兼容AOSP WebView和Chromium Android WebView, 在实现中做了许多的抽象,充分做到了上层只依赖于接口的原则(依赖倒置),可以有效的兼容不同的WebView实现,隔离其内部的变化。...
阅读(2395) 评论(0)

解耦设计手法小结

解耦是隔离变化的重要手段,这里以解耦代言隔离变化,其思想就是以分工协作代替全面控制,接口的定义大于业务逻辑的定义。其思考路径是:分不分?如何分?如何分是具体形式的问题,下面详述。分不分则取决于功能需求! 在手法上可以分为四个层次。...
阅读(5740) 评论(0)

胡思乱想:未来影响浏览器发展的因素

最近在思考浏览器未来发展方向,网上也有些软文,还在炒WebApp的冷饭,并没有太大新意。我自己设了一个问题:五年后的浏览器。我大胆在这里总结一下,抛出来请大家指教。内容的组织有点乱,其实不重要,发散而已。...
阅读(2431) 评论(0)

让工作节奏慢一点, 再简单的工作也能做出大成就

快,是当下的工作主旋律。拿到任务,快刀斩乱麻,达成目标交差。相对于这种做事做到恰到好处的做法,我更喜欢要做就往大了做。除了解决问题,我自己能从其中得到什么提高产品能做什么改变。总之有机会就要尝试慢下来,让事情更具广度和深度。只有深入到细节,才更有机会发现优化和创新的机会,根本不需要依赖从一个高大上的项目中来提高自己。...
阅读(3199) 评论(2)

WebKit历史项管理的实现

历史项管理根据标准定义,由Page管理一个Joint Session History, 包含了各个子Frame的历史项。逻辑上分为三个层次:Page,Frame,以及JS Binding的接口。页面加载的核心是由Frame通过FrameLoader来完成的,HistoryController及BackForwardController可以视为页面加载进行历史项操作的接口。 Frame层次中通过HistoryController, Page层次中通过BackForwardController进行历史项操作。 ...
阅读(3904) 评论(3)

[gnuplot]使用gnuplot绘制Lattice

最近学习了gnuplot,...
阅读(1612) 评论(0)

WebKit的历史项管理

讲解页面历史项管理的标信,及WebKit实现,分析两个比较隐蔽的问题。...
阅读(2215) 评论(0)

内存损坏问题的示例及分析

以示例代码系统的讲述了三种内存损坏的情况: 全局内存、栈损坏及堆损坏, 以及它们产生的原因。...
阅读(2317) 评论(0)

关于职位规划

有了职位说明书,看起来就像有了不同类型的材料,当需要搭个房子时候,就很清楚各需什么样的材料?费用会是多少?人才利用的效率自然能大大提升。但是问题在于材料的差异性可能很大,这里就列出几个问题,可以帮助系统地思考职位规划。...
阅读(3182) 评论(1)

专业精神的三个步骤

专业精神对于在我们这些在职场打拼的人来说非常重要。不论在哪个行业,也不论什么岗位,专业的做事都是同等的重要!而达成专业化,个人认为需要三个步骤。 一.最为基本的是保证质量。    你所交付的工作成果的质量就决定了你的基本价值,交付的成果必须是符合要求的,否则就是质量不过关,而且不同的情境下的“要求”是不同。以软件开发为例,自然是按指定的时间交付符合项目规划的软件产品。...
阅读(2857) 评论(1)

看淡你的权力

“权力”和“头衔”只是一种形式,“责任”才是应当时刻记起的。...
阅读(2735) 评论(0)

应用程序启动速度优化

Mozilla工程师通过优化Static Initializer(静态初始化,或全局建构函数, Global Constructor)和Binary布局来提升FireFox启动速度的文章,非常有参考价值。文章中以x86及x86-64平台为基础,下面加了Mac OS及Android上的binary布局。什么是Static Initializer? 简而言之就是全局C++对象的初始化。...
阅读(3779) 评论(1)
298条 共20页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1528120次
    • 积分:17073
    • 等级:
    • 排名:第635名
    • 原创:221篇
    • 转载:30篇
    • 译文:47篇
    • 评论:375条
    微博/MSN/EMail

    新浪微博:Horky
    QQ:324014340
    Mail:horky.chen@gmail.com
    微信公众号 (聚焦软件开发):
    博客专栏
    最新评论