谷歌在2003到2006年间连续发表了三篇非常有影响力的文章,分别是2003年在SOSP上发布的GFS,2004年在OSDI上发布的MapReduce,以及2006年在OSDI上发布的BigTable。GFS是文件系统相关的,其对后来的分布式文件系统设计具有指导意义;MapReduce是一种并行计算的编程模型,用于作业调度;BigTable是一个用于管理结构化数据的分布式存储系统,构建在GFS、Chubby、SSTable等Google技术之上。相当多的Google应用使用了这三种技术,比如Google Search、Google Earth和Google Analytics等等。因此这三种技术并称为谷歌技术”三宝”。今天,D瓜哥班门弄斧,对MapReduce来个”庖丁解牛”! 阅读全文…
上一篇文章“JavaScript模块化编程(一):模块原型和理论概念详解”,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战。
我采用的是一个非常流行的库require.js。
一、为什么要用require.js?
最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了, 阅读全文…
随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂。
网页越来越像桌面程序,需要一个团队分工协作、进度管理、单元测试等等……开发者不得不使用软件工程的方法,管理网页的业务逻辑。
Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑, 阅读全文…
现在随着Githut和SNS的流行,Social Code也像Facebook在世界中流行一样,在程序猿中流行开来。而且有犹如星星之火,在程序猿中燎原开来。有Linus这样的大牛作为发明人,有Linux Kernel这样的庞大应用作为“小白鼠”做测试,再有Github这样开放的网络交流平台,Git想不火都难。所以,今天D瓜哥也赶赶时髦,玩转一下Git,这个版本管理工具。
Git,这个版本管理工具是美国发明的,所以对中文的原生支持性不是很好。在使用时,主要会遇到三个场景对中文的支持性比较差,严重影响用户体验。下面,D瓜哥就针对这三个使用场景进行分别的描述。 阅读全文…
前两天在逛CSDN的时候,无意间看到一篇帖子,觉得不错。今天整理一下,发布出来,和大家一起讨论讨论。
SQL的逻辑很简单:查询一张表中列A不是aValue或者列B不是bValue的记录。这样说可能不是太明白,我们直接用SQL来描述吧。SQL如下:
SELECT *
FROM test
WHERE id NOT IN
(SELECT id
FROM test
WHERE columnA = 'aValue'
AND columnB = 'bValue');
学过数理逻辑的童鞋们应该知道经过逻辑推理还可以又下面三种写法。 阅读全文…
我们在学习JavaScript中,难免都会去网上查一些资料。也许偶尔就会遇到“事件委托”(也有的称我“事件代理”,这里不评论谁是谁非。以下全部称为“事件委托”),尤其是在查JavaScript的事件处理的时候。但是,大多数时说的是“事件绑定”,对于“事件委托”,或是不提,或是浅尝辄止。对于我这个比较好奇的人来说,实在很蛋疼。尤其是想更多的了解“事件委托”的时候。
这次干脆一劳永逸,自己把查出来的资料整理成一篇日志,总结这块的知识,也方便需要的朋友查阅。
JavaScript中事件传播过程那些事儿 阅读全文…
修订补遗一下,说明见文章末尾。
最近半年多的时间里,比较关注Web开发尤其是JavaScript编程,在网上也遇到了不少的资料,感觉不错的,D瓜哥都攒了下来,所以就收集了的一些不错的资料,今天就把这些资料整理了一下,拿出来和大家分享。希望对大家有所帮助。 阅读全文…
在“MyBATIS(即iBATIS)的问题集” 中,我针对MyBATIS提出来一些问题。有两个方面的的用途:一,加深自己对MyBATIS的理解;二,勾起网友的兴趣,希望能有更多对MyBATIS感兴趣的朋友来讨论,分享自己积累的MyBATIS的知识,推动MyBATIS的应用 阅读全文…
至从“关系数据库之父”Edgar F Codd提出《A Relational Model of Data for Large Shared Data Banks》(大型共享数据库数据的关系模型)标志着关系型数据库理论基础的诞生;再到1978年Oracle公司(原来叫)发布世界上第一个关系型数据库,标志着数据库已经可以运用到实际用途中。三十多年来,关系型数据库在各行各业的应用,都得到了蓬勃发展。即使最近今年,NoSQL技术发胀的如火如荼。但是,在银行、证券等行业,关系型数据库在数据存储中的地位短时间内依然是无可替代!
1975年推出的Smalltalk语言,是第一个完整实现的面向对象语言,向人们展示了“面向对象编程思想”的强大!并且,随着1995年Java技术的推出,以及以后Java在各个领域的大规模成功应用,另外微软推出的C#,PHP对面向对象支持力度的提高,更是把“面向对象编程思想”推向了高潮! 阅读全文…
子曰: 工欲善其事,必先利其器。作为码农一枚,再加上站长这个已经不再光鲜的称呼,岂能没有一款经济实用、操作简单、而且功能必须强大、样式也必须好看的Wordpress代码高亮插件?!作为一个视代码如生命的码农,把代码整的漂漂亮亮是一件多么神圣和伟大的事情啊!
今天就给大家推荐一款这样的代码高亮插件: 阅读全文…