- 博客(67)
- 收藏
- 关注

原创 北大ACM之路
转载请注明出处:http://blog.youkuaiyun.com/awebkit感谢http://blog.163.com/aviva_159/blog/static/139797103201012715839881/ 我按照这上面的题目分类来做题http://blog.youkuaiyun.com/lyy289065406/article/details/6642586 遇到不懂的题目看看这
2013-03-01 10:42:50
2485
原创 v8 JavaScript中绑定c++对象
前言v8作为js解释器,也提供了对外接口用于绑定c++对象到js中。这里面比较有名的就属nodejs了。这里大致讲述如何根据js绑定c++对象。v8中绑定c++对象从需求入手。我们要实现如下的js调用,考虑如何绑定到c++对象hello()绑定一个函数到js,这种最简单。nodejs非常简单。NODE_SE
2015-04-29 17:47:58
6175
原创 chromium摘抄
网上介绍chromium知识的文章挺多,省的自己写了,在这里就直接摘录一下1.WwebUIWebUI就是chrome://xxx/所显示的页面,WebUI也提供了一些新的api。学习WebUI的好文章:一步步编写webui
2015-01-04 20:32:57
2153
原创 chromium aura简介
Aura 目的Aura是为了创建一个全新的桌面窗口管理系统,通过硬件加速提供绚丽的UI效果。UI设计一个视图层级依附于一个widget,widget是一个跨平台类型,依赖于NativeWidget。NativeWidget根据平台不同有不同的实现,主要负责与平台沟通。NativeWidget在Aura里面对应的实现是 DesktopNativeWidgetAura,还有一个Native
2013-10-09 18:43:49
9396
原创 poj1068 模拟
转载请注明出处:http://blog.youkuaiyun.com/awebkit题目: http://poj.org/problem?id=1068题意:对于一串符合匹配规则的,仅由左右括号,即()组成的串,长度为2*n。根据该串构造两个数组。P数组,数组有n个数,代表每一个)之前有几个(。W数组,数组有n个数,代表该)之前已匹配了几组(),其中包括自身。现已知一个括号串的P数组,
2013-06-04 19:39:36
3932
原创 poj1003 调和级数
转载请注明出处:http://blog.youkuaiyun.com/awebkitHangoverTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 89210 Accepted: 43108DescriptionHow far ca
2013-05-31 17:37:03
3989
原创 webkit 扩展 JavaScript 对象
转载请注明出处:http://blog.youkuaiyun.com/awebkit我在 上一讲 中说了对于浏览器开发者需要能提供自定义 JavaScript 接口的能力,就像 android 平台的 addJavaScriptInterface 把 java 对象和 JavaScript 对象联系起来。上一讲只讲了加入自定义 JavaScript 对象的时机,即在 FrameLoaderCl
2013-05-16 19:38:50
4940
原创 webkit 中 javascript 与 WebCore DOM 的绑定
转载请注明出处:http://blog.youkuaiyun.com/awebkit由于工作中需要调试 JavaScript 的时候并不过,我对 WebKit 中 JavaScript 的了解并不深刻,我只能对 JavaScript 与 WebCore DOM 之间的接口进行一番解释。如有错误,欢迎指正。JavaScript 的基础知识我们先来了解一下 JavaScript E
2013-05-15 16:03:00
5429
原创 webkit内存管理1:智能指针
转载请注明出处:http://blog.youkuaiyun.com/awebkit对于 c/c++ 开发来说,内存管理是一个头疼的问题。那么, WebKit 是如何来管理内存的呢?首先,我们来学习一下 WebKit 中的智能指针,这是内存管理一个很基础的部分。在小项目中,大家遵循内存一个申请对应一个释放的原则,基本能解决内存管理问题。但是对于一个大项目,简单靠程序员的自觉
2013-05-09 17:30:10
4098
原创 w3c中的touchevent
转载请注明出处:http://blog.youkuaiyun.com/awebkit今天在看 w3c 中关于 touchevents 部分 http://www.w3.org/TR/touch-events/ ,看到讲解List of TouchEvent types部分,不理解 touchstart , touchend , touchmove , touchcancel 与 Tou
2013-04-22 19:09:33
3741
原创 android摘抄
转载请注明出处:http://blog.youkuaiyun.com/awebkit1. android 反编译http://blog.youkuaiyun.com/awebkit/article/details/66632122. git 使用基础 http://www.open-open.com/lib/view/13278273231393. android
2013-04-01 10:58:51
3262
原创 学习算法
转载请注明出处:http://blog.youkuaiyun.com/awebkit1. BM算法(模式串匹配)看了好几天,终于半看懂了,太复杂,自己也比较迟钝我觉得网上讲解的比较清楚的应该属于如下链接。http://blog.youkuaiyun.com/sealyao/article/details/4568167注:1. 算法正确(我觉得很多其他网站讲的算法是错误的),讲解清楚,
2013-03-25 22:02:33
3221
原创 算法:完美数
转载请注明出处:http://blog.youkuaiyun.com/awebkit感谢http://qiuchixue.blogspot.fr/2006/10/knuthperfect-number.html http://blog.youkuaiyun.com/wall_f/article/details/8463652先介绍一下什么是 完美数一个数,它的所有小于或等于它自
2013-03-21 15:26:55
3962
原创 最长连续子串和
转载请注明出处:http://blog.youkuaiyun.com/awebkit题目描述:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。DP状态转移方程: 设sum[i]为包含a[i]的最大连续子串和 sum[i] = max(a[i], sum[i -1] + a[i]); result
2013-03-18 18:41:02
3446
原创 phonegap揭秘附篇:phonegap的插件管理
转载请注明出处:http://blog.youkuaiyun.com/awebkit结合 phonegap揭秘-流程 我们本节研究里面的一些小细节:phonegap如何管理插件。废话少说,开始吧phonegap 要求 Activity 继承于 DroidGap ,首先看看 DroidGap 的说明中关于如何使用 DroidGap * public cla
2013-03-12 17:36:09
5185
原创 大数相乘
转载请注明出处:http://blog.youkuaiyun.com/awebkit大数相乘的几个要点:1. 用数组2. 数组倒序存储数字,主要是为了高位在后,为了以后判断起始位3. 高位在后,可以判断起始位。否则?嘿嘿4. 算法思想:c[i+j] += a[i]*b[j],最后再进行移位操作示例代码 计算12345*23456int main(){ in
2013-03-04 16:50:07
3364
原创 poj2231
代码#include #include using namespace std;#define MAXN 10010long long int a[MAXN];void qsort(int l, int u){ if (l >= u) return; int i = l; int j = u + 1; long long int
2013-03-01 15:28:15
3321
原创 poj2371
题目代码#include #include #define MAX 100010int ra[MAX];using namespace std;int myCompare(const void *a, const void *b){ return *(int* )a - *(int* )b; }int main(){ int n,m; st
2013-03-01 15:25:56
3579
原创 poj2388
题目给定n个数,输出中间值代码#include #include using namespace std;#define MAX 10000int ca[MAX];int mycompare(const void* a, const void* b){ return *(int *)a - *(int *)b;}int main(){ in
2013-03-01 15:21:04
3627
原创 poj2159
题目比拼密文和明文中字母出现的次序代码#include #include using namespace std;void swap(int* a, int i, int j){ int t = a[i]; a[i] = a[j]; a[j] = t;}void bubbleSort(int* a, int n){ for (i
2013-03-01 12:04:51
3127
原创 poj1007
题目代码#include #include #include #include using namespace std;class DNAString{public: DNAString(char* s):m_str(s){ m_key = 0; for (int i = 0; i < m_str.length(); ++i)
2013-03-01 11:52:45
3171
原创 poj1002
题目电话号码映射到数字,然后排序代码#include #include #include #include #include using namespace std;char cmap[] = "22233344455566670778889990";vector ivector;void myqsort(int l, int u){ if (
2013-03-01 10:47:22
2105
原创 webkit总结1
转载请注明出处:http://blog.youkuaiyun.com/awebkit 最近翻了一些资料看,觉得还不错,对于webkit认识又有加深,在这里总结一下。 当我们在地址栏里面输入url后,webkit是如何开始工作的呢? 我们在浏览器里面看到的页面就是窗口,对应Chrome,而背后的控制交给Page(更常见的概念是WebView,而Web
2013-01-23 18:18:15
1253
原创 WebKit事件处理流程
当用户在浏览器里触发了点击鼠标,敲键盘等事件后,浏览器需要处理这些事件,那么整个的流程如何呢?首先,WebKit外部事件处理:这些事件被GUI获得,然后调用WebView的对应处理函数,而这些处理函数会调用当前frame的 EventHandler 来处理对应的事件。WebKit内部事件处理和保存:EventHalder的处理函数一般还会调用到Node的dispat
2013-01-11 15:54:26
3340
原创 chormium学习:锁和条件变量
前面我们讲了chromium 的线程模型是尽可能不用锁,方法主要是尽量避免访问并发资源以及减小锁的控制范围来实现。 所以当我们进行多线程编程时,首先要问一下自己:我们真的需要锁或者条件变量吗?在chrome代码中,消息传递是非常普遍的(通过TaskRunner 和 PostTask),底层在非常必要的时候才会用到锁和条件变量。 另外要说明的是:
2013-01-06 11:04:11
1709
原创 也谈WebKit、Gecko使用图形库
阅读了Graphics in Google Chrome之后,觉得作为浏览器内核WebKit、Gecko,为了能高效美观的显示页面的内容,选择适当的图形库非常重要。如果图形库选择不当,往往会导致页面上显示的文字、图片不美观,看起来总让人觉得别扭,更为糟糕的是排列布局出现紊乱,简直无法阅览。从浏览器发展的历史来看,IE系列浏览器的网页布局、文字图片显示的美观程度还是相当高的,也许这与Mi
2012-12-26 17:29:50
1537
原创 趣味c程序
今天,看到一个帖子,觉得有意思,贴出来。#include stdio.h>#include string.h>int main(int argc, char *argv[]) { int i = 1; char buf[4]; strcpy(buf, "AAAA"); printf("%d\n", i);
2012-12-26 16:42:46
857
原创 WebKit之layout
本文是在转载的文章基础上,增加了一些自己的见解。WebKit 在渲染页面之前,需要确定各个元素的位置、大小,而这个过程就是layout(布局)。下面,我们对layout的主要过程进行一番说明。一、FrameView::layout方法FrameView作为与View相关的类,其主要涉及与显示相关的内容,而其中对页面元素的布局至关重要,这也是浏览器的核心处理部分。我们都知道浏
2012-12-26 16:23:21
1573
原创 chromium学习:进程模型
在我们继续我们的源码分析之前,我们先来补一下基础。 今天,我们一起看一下chromium的进程模型。 当年chrome刚出来的时候,多进程模型也是大力宣传的一点。那么多进程有什么好处呢? chromium的官方文档是这么解释的:以前,我们的浏览器就像旧时代的操作系统,单用户协同工作的多任务操作系统。一个恶意的程序就能使得整个操作系统崩溃。同样,
2012-12-13 17:10:52
2258
原创 chromium学习:thread
在前面,我们学习了content_shell的流程,串成了一条执行线。从今天开始,我们要开始学习线上的点,由点延伸成为面,最后组成一个学习chromium的网。 首先,我们先介绍chromium中的thread相关知识。 chromium中有哪些线程呢? 1. UI线程。应用程序起来后的主线
2012-08-22 18:30:14
6108
原创 android平台chrome开发系列:入门apk
android平台下的chrome早就已经发布了,那么chromium还会远吗? 今天开始,我们就一起慢慢揭开chromium在android平台下的面纱。 根据官方文档,现在只提供一个content_shell供测试。如果用户看过我的这篇文章,就知道内核已经具备,就差UI这个东风了 content_shell根据
2012-08-21 14:51:03
3182
原创 chromium源码分析系列:入门程序:content_shell
我们看代码的时候会先去找main函数,那么chromium的main函数在哪里呢?或者说,从哪里我们可以进入chromium的世界呢? 条条大路通罗马。而我觉得捷径是content_shell。content_shell拥有chrome内核,但是没有外层chrome UI,只是封装了一个简单的UI。正好可以让我们从纷繁的UI工作中抽离出来,仔细研究chrome内核工作。
2012-08-20 15:19:23
14678
原创 chromium源码分析系列:前言
以前做过webkit方面的研究,最近在看chromium代码,鉴于代码实在太过庞大,经常会只见树木,不见森林,而见了树木,又部分橡树榛树。既需要广,也需要深,搞得很头疼。因此,记录下来自己的学习经历,和大家探讨,同时加深自己的理解。 同时,自己也很喜欢布道师这个角色,看看自己是否能解释清楚问题吧。 声明一点,这里列出了学习目录,而这个目录会随着学习历程而更新。
2012-08-20 14:32:14
3440
原创 chrome extension 开发
Netscape在与IE的战斗中败下阵来,但是NPAPI作为抵抗IE的力量,一直存活了下来。关于NPAPI,维基上这么说的:NPAPI(Netscape Plugin Application Programming Interface,网景插件应用程序接口)是用于在浏览器中执行外部应用程序的通用接口,与微软的ActiveX是竞争技术。每个插件声明自己支持某一种或几种内容类型(例如“audio
2012-08-17 17:29:40
1877
原创 chromium的gdb
以前弄过chromium的gdb,没有看到gdb信息今天,重新弄了一下。主要参考 http://code.google.com/p/chromium/wiki/LinuxDebugging#Getting_renderer_subprocesses_into_gdb其实,挺简单的,但是一旦出错,你会怀疑很多东西,比如gdb的版本里面是不是没有包含调试符号,gdb用法对不对等。首先,
2012-08-16 15:46:48
2315
原创 android html5 video的实现方方面面
探讨android中html5的video的生命周期,video实现的方方面面。解决如下问题:1. 如何从html(浏览器)调用到MediaPlayer进行播放的?2. MediaPlayer播放内容为何能在浏览器上显示?3. MediaPlayer和浏览器的关系如何?谁控制谁?4. MediaPlayer如何获取真正的播放资源?估计一篇
2012-08-01 18:38:49
2205
原创 android framework增加/删除类
如何在framework下面增加自己的java类呢? 如果本身在base下面添加类,只要把java类放在对应的地方,然后在android根目录下面调用make update-api(需要先source build/env.sh,brunch)即可更新api。 其他的添加方式我没有实践过,就不在这里写了。 如何在framework下面删除刚刚自己添加的j
2012-08-01 10:43:44
2060
原创 chromium video相关
规范: - HTMLAudioElement - HTMLMediaElement - HTMLVideoElement概况: chromium的video的实现依赖于以下三部分: pipeline:chromium自己实现的播放引擎,处理音频/视频的同步和资源获取 FFMpeg: 开源库。用于音视频的解码
2012-07-30 11:22:12
2392
原创 chromium log相关
如何打开chromium里面的log?我们看到代码里面很多LOG(),所以要先找到LOG的定义。LOG定义在Assertions.h里面。LOG是由条件宏控制的如果非debug版本,如下代码#ifdef NDEBUG //release版本会定义NDEBUG=1/* Disable ASSERT* macros in release mode. */#def
2012-07-30 11:20:30
3097
转载 24点算法研究(C和C++版)
转载自:http://www.cxybl.com/html/bcyy/c/201110206209.html 第一个算法是用C语言描述的,第二个是C++描述的。我觉得第一种更好理解。#include #include #include char op[3], o[5]="+-*/"; float n[4], on[10]; int used[4] = {0},
2011-12-05 11:47:08
1054
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人