Fork me on GitHub

2012年7月2日

摘要: jz1108WebCore渲染之一:基础原文地址:http://www.webkit.org/blog/114/webcore-rendering-i-the-basics/不少人都对WebCore的渲染系统感兴趣,于是我准备了一系列的文章进行讲解,本文是该系列文章的第一篇。文档树网页会被解析成一个包含若干结点的树形结构,即文档对象模型(DOM)。树中所有结点的基类为Node。Node.h结点被划分为若干类型。与渲染代码相关的结点类型包括:Document(文档类):树的根节点总为文档。有三个文档相关的类:Document、HTMLDocument和SVGDocument。第一个用来表示除SV 阅读全文
posted @ 2012-07-02 21:38 HackerVirus 阅读(240) 评论(0) 推荐(0)
摘要: 第一次看到Cucumber和BDD(Behavior Driven Development, 行为驱动开发),是在四年前。那时才开始工作,对软件测试工具相当着迷。只要是开源的、免费的,我就一定要下载,安装,试用。有的工具用途单一、好懂(如Jmeter,Watir);有的工具,则涉及到一些软件领域的独有概念,不好懂,(如STAF,Cucumber)。好懂的,我上手、试用、推广,不亦乐乎;不好懂的,就只能丢在一边,这里面就包括Cucumber。再次看到Cucumber,已是两年前。我对软件开发的理解也深了些,这一看,可真是个好东西。之后我与Cucumber间发生的故事,稍后慢慢向大家交代。这开篇的 阅读全文
posted @ 2012-07-02 18:42 HackerVirus 阅读(309) 评论(0) 推荐(0)
摘要: 最近由于需求重新部署了一台服务器Windows Server 2008,由于以前都是在Windows Server 2003上操作,因此记录下,供其他同学参考。下面主要介绍在Windows Server 2008中安装IIS7.0(注:已经安装了Framework4.0等) 1、右键点击 “计算机”,在弹出菜单中选择“管理”选项,在服务器管理器左侧界面 点击 “角色”选项,如下图: 2、点击“添加角色”按钮后,弹出如下界面 3、选择“角色”列表中的“Web服务器(IIS)”和“应用程序服务器”,点击“下一步” 弹出如下的效果界面: 点击“添加必须的功能”按钮后,进行下一步操作:点击下一... 阅读全文
posted @ 2012-07-02 18:42 HackerVirus 阅读(256) 评论(0) 推荐(0)
摘要: Lua将其所有的全局变量保存在一个常规的table中,这个table被称为“环境”。它被保存在全局变量_G中。 1. 全局变量声明: Lua中的全局变量不需要声明就可以使用。尽管很方便,但是一旦出现笔误就会造成难以发现的错误。我们可以通过给_G表加元表的方式来保护全局变量的读取和设置,这样就能降低这种笔误问题的发生几率了。见如下示例代码: 1 --该table用于存储所有已经声明过的全局变量名 2 local declaredNames = {} 3 local mt = { 4 __newindex = function(table,name,value) 5 --... 阅读全文
posted @ 2012-07-02 11:01 HackerVirus 阅读(218) 评论(0) 推荐(0)
摘要: 线程间通信 我们看下面的图图1 我们来看线程间通信的原理:线程(Thread B)和线程(Thread A)通信, 首先线程A 必须实现同步上下文对象(Synchronization Context), 线程B通过调用线程A的同步上下文对象来访问线程A,所有实现都是在同步上下文中完成的.线程B有两种方式来实现线程间的通信. 第一种:调用线程A的同步上下文对象,阻碍当前线程,执行红色箭头调用,直到黄色箭头返回(同步上下文执行完毕)才释放当前线程. (1->2->3->5) 第二种: 调用线程A的同步上下文对象(实际上是在开启一个新线程去执行,1->2->3-> 阅读全文
posted @ 2012-07-02 11:00 HackerVirus 阅读(195) 评论(0) 推荐(0)
摘要: BAE是百度今年发布的云计算平台。在这会儿,云计算已经没什么新意了,不过看到百度云同时支持PHP、Java和Python三语言,也觉得眼前一亮——Python正是我想要的。于是忍不住申请了个账号,又申请了Python运行时(Java和Python的运行时目前还在公测中,需要另外申请)。在此,感谢下被我多次邮件骚扰的百度云的管理员大哥。1、创建应用进入BAE管理界面,云环境->我的应用->创建应用,运行时选上Python(重复一下,Python目前还在公测,需要单独申请)2、设置版本管理点击当前应用的「版本管理」,创建一个新的版本。新版本创建后,可在下方看到红色显示的Svn地址用Sv 阅读全文
posted @ 2012-07-02 09:22 HackerVirus 阅读(301) 评论(0) 推荐(0)
摘要: 在ActionInvoker对Action的执行过程中,除了通过利用ActionDescriptor对Action方法的执行,以及之前进行的Model绑定与验证之外,还具有一个重要的工作,那就是对相关筛选器(Filter)的执行。ASP.NET MVC的筛选器是一种基于AOP(面向方面编程)的设计,我们将一些非业务的逻辑实现在相应的筛选器中,然后以一种横切(Crosscutting)的方式应用到对应的Action方法。当Action方法执行前后,这些筛选器会自动执行。ASP.NET MVC提供了四种类型的筛选器(AuthorizationFilter、ActionFilter、ResultFi 阅读全文
posted @ 2012-07-02 09:21 HackerVirus 阅读(219) 评论(0) 推荐(0)

2012年7月1日

摘要: 关于python3,PIL的官方并不支持,但有高手把它重新编译生成python3下可安装的exe了。地址http://www.lfd.uci.edu/~gohlke/pythonlibs/下面是下载地址:PIL, the Python Image Library, provides image processing functionality and supports many file formats.Note: on Python 3 use `from PIL import Image` instead of `import Image`.PIL-1.1.7-py3-source.zip 阅读全文
posted @ 2012-07-01 10:15 HackerVirus 阅读(413) 评论(0) 推荐(0)

2012年6月30日

摘要: 先看看这个项目的组织结构吧。相信有些经验的人看到这个组织架构就知道,是一个基本的三层架构,然后在数据库访问层使用了一个抽象工厂模式来调用DAL。简单的介绍一个这个架构。FrameWork:包括数据库访问接口,数据访问库,公共代码类,数据访问工厂等基础库Register.Model:实体库Register.DBUtility:通用数据库操作类Register.IDAL:数据库增删改查接口Register.DALFactory:数据库访问程序集访问工厂类Register.DAL:数据库增删改查相关操作Register.Command:公共访问类,比如密码加密解密,邮件发送等基础类Register. 阅读全文
posted @ 2012-06-30 19:47 HackerVirus 阅读(514) 评论(3) 推荐(0)
摘要: 今天我发布了新版本的Apworks,版本号为:2.5.4563.21309。有兴趣和有需要的朋友可以直接到Apworks官方站点下载最新的安装程序或源代码。功能更新Apworks 2.5.4563.21309包含了以下功能更新:支持Visual Studio 2010的项目模板以及相关说明书(中英文两个版本),下文会对其进行介绍将整个框架的ID类型由System.Long换成System.Guid新增WcfPerRequestLifetimeManager添加基于Entity Framework Code First的仓储实现仓储中添加了“饥饿加载”功能,用于在懒加载(Lazy Loading 阅读全文
posted @ 2012-06-30 19:45 HackerVirus 阅读(162) 评论(0) 推荐(0)