自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (5)
  • 收藏
  • 关注

转载 jQuery操作概览

作者: 阮一峰日期: 2011年7月26日jQuery是目前使用最广泛的javascript函数库。据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库。微软公司甚至把jQuery作为他们的官方库。对于网页开发者来说,学会jQuery是必要的。因为它让你了解业界最通用的技术,为将来学习更高级的库打下基础,并且确实可以很轻松地做

2013-05-30 22:31:12 898

转载 PNaCl:Google通过LLVM增强对Chrome中原生应用的支持

过支持运行LLVM位码(bitcode),Google增强了对Chrome中原生应用的支持。在Google I/O 2013大会上,Google宣布了预期加入的PNaCl(Portable NaCl,读作“pinnacle”),继续推进对Chrome中原生应用的支持。PNaCl修改了原来的工具链,与之前为每种目标平台编译C/C++应用不同,现在开发者只需生成一份LLVM位码,之后位码可

2013-05-28 11:47:41 1586

转载 webkit Dump Render Tree 工作流程

.下载一个webkit的版本,目前我使用的版本是webkit-r54749,这个版本正好是android2.2版本对应webkit版本2.进行编译,这个过程根据自己机器环境qt,gtk,win之类都是可以编译,在这里简单说一下怎么进行编译切换到WebKit-r54749目录下./WebKitTools/Scripts/build-webkit --help下面罗列出很多的细节:

2013-05-22 17:58:36 974

转载 利用Webkit抓取动态网页和链接

做爬虫的时候最头疼的就是遇到一些动态加载的页面或者是一些动态生成的链接。比如我们的博客园就是个例子: 凤凰网的评论链接也是一样:今天我们就用Webkit来解决这个问题。 预备知识可以看一下我前面几篇文章,准备工作参照利用InjectedBundle定制自己的Webkit(二)中的客户端程序。一切就绪之后我们开始!

2013-05-20 18:40:05 2066

转载 利用InjectedBundle定制自己的Webkit(二)

在上一篇利用InjectedBundle定制自己的Webkit(一)中,我们完成了一个自己的InjectedBundle,接下来我们就要在Webkit中加载我们自己的InjectedBundle。为了测试方便先给出一个示例的InjectedBundle代码,项目名称MyInjectedBundle#include #include #include #include #in

2013-05-20 18:31:35 1195

转载 利用InjectedBundle定制自己的Webkit(一)

Webkit是一个多进程构架,内核WebCore和JS引擎JavaScriptCore都处在WebProcess进程中,而用户界面相关的处理则处在UIProcess进程中。(详见Webkit客户端进程解析)Webkit提供了大量的API供客户程序调用,但是这些API都是在客户进程中调用的,我们无法访问到内核部分的数据结构并处理,如DOM树、Render树、加载的Web资源等等。为了解决

2013-05-20 18:27:47 947

转载 Windows平台编译Webkit

最近几天因为项目需要编译了一次Webkit,因为其中颇费周折,所以把自己的编译过程的总结分享一下,希望能给大家帮助。参考网站http://www.webkit.org/ 1. 编译环境的搭建(1)Visual Studio由于官方指导上面说:暂不支持VS2005以后的版本(newer versions of Visual Studio are current

2013-05-20 18:24:30 1087

转载 走进WebKit——打开新Tab(一)

基于 Safari在 WebKit2 中打开一个新的Tab,首先调用的void WebProcess::createWebPage(uint64_t pageID, const WebPageCreationParameters& parameters){ // It is necessary to check for page existence here

2013-05-20 18:00:16 1745

转载 Webkit客户端进程解析

最近看了很多关于Webkit原理的博客和资料,大都是介绍整体构架和诸如资源加载、HTML解析、Rendering等服务端进程的原理。但是新版本的Webkit(Webkit2)是一个多进程模型,而不是过去的单进程模型。这些进程分为两类,分别是:服务端(WebProcess)和客户端(UIProcess)客户端资料的缺少使得我对客户端进程产生了兴趣,经过对代码的研究,找出了一点

2013-05-20 17:50:07 1054

转载 WebKit中的Chrome和ChromeClient

红心地瓜(tomorrow.cyz@gmail.com)摘要:浏览器的GUI接口分成两种,一种是控件的绘制,另一种则是同应用息息相关的窗口交互操作。本文主要介绍后一种,在WebKit里面,称之为宿主窗口。Chrome类为WebKit内核定义了一系列的宿主窗口相关的操作接口,并最终在不同的实现中由ChromeClient类的派生类来实现,比如,在Qt里面的ChromeClientQt类。本文

2013-05-18 17:36:51 912

转载 浏览器简介5-webkit结构

WebKit上层组织应用nWebCore¨Page与外框相关的内容(Frame,Page,History,Focus,Window)¨Loader加载资源及Cache¨HTML-DOM HTML内容及解析¨DOM- DOM CORE内容¨XML- XML内容及解析¨Render-排版功能¨CSS-DOM CSS内容¨Bindi

2013-05-18 17:20:29 834

转载 浏览器简介4-体系结构

现代浏览器体系结构

2013-05-18 17:19:02 1077

转载 浏览器简介2-浏览器系统结构

浏览器系统结构图分为四层n第一层为业务应用层,用户可在webkit基础上构建各种应用。n第二层为插件及第三方库。n第三层为webkit平台Porting所需的接口层。n最底层为平台和操作系统支持层,提供webkit平台所需的软硬件资源。

2013-05-18 17:17:04 1230

转载 浏览器简介3-功能结构

2013-05-18 17:15:11 1292

转载 Webkit之webview

WebView 是webkit最核心的一个view,WebView管理WebFrameView和WebFrame之间的交互,一个WebView对象绑定一个window,并且要求MainFrame加载url,一个WebPage对应一个Window.   WebViewn它对应的是根window。 n它负责处理外部所有消息,并转发给相关模块。 n它负责mainFrame和历史记录的

2013-05-18 17:12:27 1340

转载 WebKit介绍及总结(三)

六 . 编译与调试在 ubuntu-10.04 上编译 Webkit ,所用的版本 r60742 ,基于 Qt :安装 sudo apt-get install libxslt-dev gperf bison libsqlite3-dev flex libqt4-dev build-essential subversion libenchant-dev libXt-dev ;如果有

2013-05-18 16:50:17 1540 1

转载 WebKit介绍及总结(二)

五 . 调用过程知道了 WebKit 的大体结构,我们就可以深究下去,看看这个浏览器引擎具体是怎么工作的。首先介绍几个基本且重要的类:Page :打开 page.h 头文件,我们似乎看不到我们概念中的“页面”相关的东西,没错,这里的 Page 并非就是我们印象中的简单网页,在头文件中我们发现很多关于 history 的东西, goBack(),goForward(),

2013-05-18 14:05:25 1122

转载 WebKit介绍及总结(一)

一 . WebKit 简介     Webkit 是一个开放源代码的浏览器引擎 (web browser engine) ,最初的代码来自 KDE 的 KHTML 和 KJS( 均开放源代码 ) 。苹果公司在 Webkit 的基础上做了大量优化改进工作 ,此时的 Apple Webkit 已经和 Webkit 有了不少差别,最后开发出了著名的 Safari ,可以说 Safari 是一

2013-05-18 14:01:50 1228

翻译 Chromium的多进程结构

该文档描述Chromium的高层结构问题创建一个永不崩溃或挂起的渲染引擎几乎不可能。创建一个非常安全的渲染引擎也不可能。在某些方面,现在浏览器的状态有点像过去的单用户,合作无间的多任务操作系统。在这样的操作系统中,一个行为不当的程序会导致系统关闭,类似的事情也会发生在现代浏览器的一个行为不当的页面中。一个浏览或插件的错误会拖垮整个浏览器和当前正在运行的标签。现代操作系统健壮的原因是它们

2013-05-11 23:34:51 1490

翻译 javascript之101数组

数组是从零开始索引,有序的值列表。他们是一个方便的方式来存储一组同类型的相关项目(例如字符串),但在实际中,一个数组可以包含多种类型的项目,包括其他数组。对象构造和字面声明都可以创建一个数组,在声明后可以给改数组赋一个值列表。// A simple array with constructor.var myArray1 = new Array( "hello", "world" );/

2013-05-10 00:29:15 887

翻译 javascript101之保留字

javascript有一定数量的保留字,或者在该语言中有特殊意义的单词。应避免在你的代码中使用这些单词,除了使用它们的本意之外。breakcasecatchclassconstcontinuedebuggerdefaultdeletedoelseenumexportextendsfalsefinallyforfunctionifimplementsimportininstanceofi

2013-05-09 23:34:18 864

翻译 javascript101之循环

循环让一块代码运行多次。// A for loop// logs "try 0", "try 1", ..., "try 4"for ( var i = 0; i < 5; i++ ) { console.log( "try " + i ); }注意在循环里,变量的范围不局限在循环块内,尽管在变量名前有关键字var。变量范围在范围部分更深入讨论。for 循环

2013-05-08 14:52:36 804

翻译 javascript101之条件代码

条件代码有时候一块代码只有在一定条件下才能运行。流程控制--通过if 和else 块--让你在一定条件满足的情况下运行代码。// Flow controlvar foo = true;var bar = false;if ( bar ) { // this code will never run console.log( "hello!" );}if ( bar )

2013-05-07 23:39:40 909

翻译 javascript101之运算符

运算符基本的运算符允许你操作数值。// Concatenationvar foo = "hello";var bar = "world";console.log( foo + " " + bar ); // "hello world"/ Multiplication and division2 * 3;2 / 3;// Incrementing and decreme

2013-05-07 22:33:02 903

翻译 javascript101之类型

类型javascript中的类型分为两类:原始数据类型和对象。原始类型包括:String--字符串Number---数字Boolean--布尔nullundefined字符串字符串是包裹在单引号或双引号中的文本。最好的做法是坚持用其中一个。有时候在创建的字符串中包含引号,这会引起碰撞。在这种情况下,使用一个\反斜杠转义符或在子串的周围用一个不同的引号,二者选其一。

2013-05-07 00:30:40 830

翻译 javascript101之语法基础

注释javascript支持单行和多行注释。注释被javascript引擎忽略,因此对程序的结果没有副总用。对于其他开发人员来说,注释是代码的文档。类似于JSDoc的库,它可以借助于注释产生项目文档页面,这样就非常有用了。// Single and multi line comments.// This is an example of a single line comment.

2013-05-05 23:26:24 1140

翻译 javascript101之代码运行

外部代码  第一个推荐建议是在外部文件(以.js为扩展名)中编写代码,然后在我们的网页中使用一个HTML 标签的src属性指向该文件的位置。如果你想在其他地方使用它,使javascript独立在一个文件中可以减少代码的重复。这样可使浏览器能够在远端的客户计算机上缓存该文件,减少页面加载时间。内联代码第二个可选是在网页中直接内联代码。这里也是使用HTML 标签来实现,但代码

2013-05-05 21:03:49 785

GMP 在vs2005和vs2008的编译包(V4.1)

修改了GMP4.1在vs2005和vs2008不能编译的错误,大家可以放心在windows下编译了。

2009-09-30

nokia Introducing_Web_Run-Time_v1_1_zh_CH

有关nokia的web runtime 介绍

2009-09-30

虚拟机技术设计和实现--英文版

This book examines both the philosophical motivation behind HEC's architecture and the actual implementation. In doing so, the design issues that presented themselves will be dissected and analyzed. I truly believe that a picture is worth a thousand words, so I included a diagram or illustration whenever I thought it was appropriate. Sections of source code are also present throughout the text.

2008-10-19

Boost带领你远远地超越了C++标准库,它使得C++编程更优雅、更有活力、更高产。首先,我们系统地介绍一下Boost库的主要组成和它们的主要用法

Björn Karlsson为中级至高级的C++开发者描述了所有58个Boost库的轮廓,并完整叙述了12个可能最有用的库。Karlsson的主题范围从智能指针和类型转换,到容器和数据库结构,解释了如何正确地使用每一个库来改进你的代码。他详细论述了可以让你写出更简明、清晰、易读的代码的高级函数对象。他还带你到Boost的"幕后",看看那些对你创建自己的泛型库有益的工具和技术。 本书的内容包括: 智能指针,提供自动的对象生存期管理和简单的资源共享 提供类型转换和词汇转换的统一的、最优的解决方案 使编程更简单、更清晰的工具类 灵活的容器类,解决了C++标准库未覆盖的问题 对正则表达式的强有力的支持:Boost.Regex 可在调用点进行定义的函数对象:Boost.Bind 和 Boost.Lambda 更灵活的回调机制:Boost.Function 可管理的信号和响应动作(又称为Observer模式):Boost.Signals

2008-09-29

极限编程--快速软件开发

从另一个角度来看XP,它倒可能是一个难题的某个潜在的部分,这个一个我在过去18个月中一直都在写的内容。混乱 的时期产生新的问题,而后者又导致了新的实践--新的实践公然违抗 传统的知识,但却得以幸存下来是因为它们能更好地适应这个新的现实世界。至少有四种实践方式我觉得是属于这个范畴的:

2008-09-29

空空如也

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

TA关注的人

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