自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 收藏
  • 关注

原创 JavaScript内核系列出版了!

  JavaScript内核系列出版了!  封面故事 JavaScript核心概念及实践(前JavaScript内核系列)终于在2013年5月由人民邮电出版社出版了!这个系列的第一篇的公开发表至今已经三年有余。现在已经可以在各大网店里买到了: 亚马逊:JavaScript核心概念及实践当当:JavaScript核心概念及实践China-pub: J...

2013-05-11 22:34:22 255

JavaScript内核系列 V0.9.9 beta版下载

 经过了近2年的断断续续,这个系列终于完成。请各位朋友前往icodeit下载。提供下载的是一个PDF版本,作者保留一切权利,您可以自由的阅读,分发,但是不能用于任何商业目的,谢谢。 下载页面地址:JavaScript-Core-V0.9.9Beta你也可以通过feedsky提供的链接订阅我的新博客:RSS Feed 修改记录: 2012年2月3日添加couc...

2012-02-21 22:17:37 242

JavaScript内核系列 第15章 服务器端的JavaScript

第15章已经在icodeit上发布,这一章分为上/下两篇,请朋友们移步此处,及此处阅读。 目录如下: 事实上,这章中有很多主题都很值得讨论的,如网络服务器的一些常见模型,以及基于事件的网络服务器,NoSQL,map/reduce等等。写完之后发现,这些问题虽然有所涉及,但是都写得很浅,只好在随后的文章中再详细讨论了。   ...

2012-02-12 21:39:58 203

JavaScript内核系列 第14章 Java应用中的JavaScript

 第十四章内容已经在icodeit发表,请朋友们移步此处阅读。 目录如下: 文章中提到的sTodo可于此处下载,phoc可于此处下载。 附:由于作者本身水平有限,文中难免有纰漏错误等,或者语言本身有不妥当之处,欢迎及时 指正,提出建议,参与讨论,谢谢大家! ...

2012-02-09 21:54:00 150

JavaScript内核系列 第12章 前端JavaScript框架:jQuery

 第十二章 前端JavaScript框架:jQuery12.1 jQuery简介jQuery是目前应用最为广泛,最为优秀的Ajax/JavaScript开源框架之一,有数以千万记的用户,更有多不胜数的技术文档与之相关,在一定程度上,jQuery如其所宣扬的那样,改变了人们编写JavaScript的方式。jQuery通过提供CSS标准的选择器来对页面元素进行选择,然后...

2012-02-03 19:55:11 152

再一次的搬家公告

 2010年9月的时候,我从javaeye迁出去过一段时间,后来由于其他原因,没有续租空间。现在又找到一个更快速,更稳定的空间,就再一次从javaeye(iteye)迁出去。新的地址为 I code it (http://www.icodeit.org/). 感谢iteyer多年来的支持和关注。 如果你觉得博客的内容还不错,欢迎订阅新的地址: RSS链接 : RSS of I ...

2012-01-16 14:41:55 123

使用vim开发python及graphviz绘图

基本需求使用vim中的autocmd命令可以很容易的将正在编辑的文件与外部的程序关联起来,从而使得开发效率更高。比如经常会用到这样的功能:编写一段python脚本,需要快速的查看该脚本的运行结果(最好是能做到一键完成)使用dot脚本绘制系统的模块关系等,需要即时预览结果(比如调整色彩,模块间的连线等)autocmd命令简介通过vim的autocmd可以很容易的做到这点...

2011-12-23 14:49:19 303

JavaScript内核系列 第11章 客户端JavaScript

 第十一章客户端的JavaScript毫无疑问,到目前为止,JavaScript应用最为广泛,也最为成功的领域就是客户端,或者称为浏览器上的JavaScript。JavaScript为页面开发注入了活力,如与服务器交互形成的局部刷新,鼠标事件的响应,动态的页面风格变换等等,都直接依靠与JavaScript的支持。11.1客户端JavaScript执行环境我们在基...

2011-05-05 19:36:41 154

JavaScript内核系列 第10章 深入核心概念

 第十章 核心概念深入在前半部分章节中,涉及到一些重要的概念,在当时章节上下文中,限于内容,没有展开讨论,这些内容可能较难理解,因此都集中在这个章节进行讨论。具体涉及到的内容有原型链,执行期上下文,活动对象,作用域链以及this值。这部分内容可以结合之前章节中相关部分一起参考。10.1原型链10.1.1原型对象与原型链正如第三章提到的,JavaScrip...

2011-05-02 11:20:52 147

JavaScript内核系列第0版整理稿下载

2010年的前半年,我在Javaeye上发表过一个系列文章《JavaScript内核》,虽然名字叫做内核,可能很多人认为陡具内核之名,而无内核之实,也可能另外一些朋友比较喜欢,曾多次问我索要完整版本,由于2010年个人原因,很难找出时间来做这件细致的工作,一直拖到了最近,才完成,望诸位见谅。进入2011年之后,工作的任务告一段落之后,我得以有时间,有机会来为这个《JavaScript内核》...

2011-01-25 15:19:47 155

Java脚本技术应用实例

前言一直以来都很喜欢可以自由扩展的软件,这一点应该已经在很多文章里提到,也重复过很多次了。但是,可扩展性,灵活性是开发人员最喜欢的东西了,本性难改。平时使用的开发环境如vim/emacs, IDE中的Eclipse/Netbeans, 浏览器FF/Chrome都具有强大而灵活的可扩展支持。而关于Java的脚本支持,我已经在数篇文章中提及,大多是关于JavaScript引擎rhino和宿主Jav...

2011-01-22 11:24:30 318

可编程计算器(phoc)的设计与实现

前言借助JavaScript脚本引擎Rhino,可以很容易的实现一个计算逻辑与界面相分离,且很容易扩展的可编程计算器。界面部分使用Swing及Netbeans的SAF(Swing Application Framework),计算部分使用Rhino引擎,来实现基本表达式的计算,以及变量,函数的定义等,绘图采用另外一个开源的库jmathtools(http://code.google.com/p...

2011-01-17 11:34:44 1020

《横行青海夜带刀》搬家公告

=========================update==============================2011/2/22由于种种原因,新空间不再续租,重新回到JavaEye。============================================================ 《横行青海夜带刀》搬家公告  横行青海夜带刀在JavaE...

2010-09-24 15:41:30 137

C语言插件机制(下)

前言上一篇文章简单介绍了*NIX下的动态库的使用,我们在这篇文章中实现一个计算器,计算器程序calc本身不做运算,只是将操作数传递给具体的插件(adder, suber, muler, diver)来完成实际运算。首先,计算器根据插件配置文件plugin.xml来确定插件的位置,名称,入口符号的定义,然后依次调用各个插件完成计算。 插件列表文中涉及到的插件定义在plugin.xml...

2010-08-25 19:39:16 198

C语言插件机制(上)

前言插件机制可以使得应用程序在发布之后,在不经过重新编译的情况下修改应用程序的行为,这种形式使得应用的框架比较小巧,也可以给用户一些自由(不是完全的自由,有一定的限制)。Java中,使用*.jar或者其他的脚本引擎都可以完成这样的工作,如Eclipse那样。在C语言中,当然可以使用脚本引擎来实现,比如emacs,内置一个lisp的引擎,用户可以自己为emacs写脚本,访问emacs环境的一些组...

2010-08-17 23:08:17 310

JavaScript内核系列 第9章 函数式的Javascript

 第九章 函数式的Javascript要说JavaScript和其他较为常用的语言最大的不同是什么,那无疑就是JavaScript是函数式的语言,函数式语言的特点如下:函数为第一等的元素,即人们常说的一等公民。就是说,在函数式编程中,函数是不依赖于其他对象而独立存在的(对比与Java,函数必须依赖对象,方法是对象的方法)。函数可以保持自己内部的数据,函数的运算对外部无副作用...

2010-05-13 19:20:27 126

JavaScript内核系列 第8章 面向对象的JavaScript(下)

接上篇:JavaScript内核系列 第8章 面向对象的JavaScript(上)8.4实例:事件分发器这一节,我们通过学习一个面向对象的实例来对JavaScript的面向对象进行更深入的理解,这个例子不能太复杂,涉及到的内容也不能仅仅为继承,多态等概念,如果那样,会失去阅读的乐趣,最好是在实例中穿插一些讲解,则可以得到最好的效果。本节要分析的实例为一个事件分发器(Even...

2010-05-06 09:40:43 147

JavaScript内核系列 第8章 面向对象的JavaScript(上)

第八章 面向对象的Javascript面向对象编程思想在提出之后,很快就流行起来了,它将开发人员从冗长,繁复,难以调试的过程式程序中解放了出来,过程式语言如C,代码的形式往往如此:Component comp;init_component(& comp, props); 而面向对象的语言如Java,则会是这...

2010-05-06 09:26:52 107

JavaScript内核系列 第7章 闭包

第七章 闭包闭包向来给包括JavaScript程序员在内的程序员以神秘,高深的感觉,事实上,闭包的概念在函数式编程语言中算不上是难以理解的知识。如果对作用域,函数为独立的对象这样的基本概念理解较好的话,理解闭包的概念并在实际的编程实践中应用则颇有水到渠成之感。在DOM的事件处理方面,大多数程序员甚至自己已经在使用闭包了而不自知,在这种情况下,对于浏览器中内嵌的JavaScript引...

2010-05-04 08:48:39 158

JavaScript内核系列 第6章 正则表达式

 第六章 正则表达式正则表达式是对字符串的结构进行的形式化描述,非常简洁优美,而且功能十分强大。很多的语言都不同程度的支持正则表达式,而在很多的文本编辑器如Emacs,vim,UE中,都支持正则表达式来进行字符串的搜索替换工作。UNIX下的很多命令行程序,如awk,grep,find更是对正则表达式有良好的支持。JavaScript同样也对正则表达式有很好的支持,RegExp是...

2010-04-27 19:44:36 136

JavaScript内核系列 第5章 数组

第五章 数组JavaScript的数组也是一个比较有意思的主题,虽然名为数组(Array),但是根据数组对象上的方法来看,更像是将很多东西混在在一起的结果。而传统的程序设计语言如C/Java中,数组内的元素需要具有相同的数据类型,而作为弱类型的JavaScript,则没有这个限制,事实上,JavaScript的同一个数组中,可以有各种完全不同类型的元素。 方法...

2010-04-24 15:17:05 120

Swing小应用(Todo-List)之三

前言去年9月份开发的那个小工具sTodo,只是做到了能用,但是还很不好用,比如没有定时的提醒功能,整个框架比较死板,不方便扩展,虽然设计之初就考虑要使用脚本语言进行脚本化,提供更强的定制能力,但是一直因为工作上事情太多,没有经历投入而悬停。 不明真相的可以参看以前的两篇文章:Swing小应用(Todo-List)之一Swing小应用(Todo-List)之二 sTodo...

2010-04-22 20:47:06 225

JavaScript内核系列专栏开通

JavaScript内核系列的专栏已经申请开通了,目前已经发表了该系列的前4篇, 第一章:前言及概述第二章:基本概念第三章:对象及JSON第四章:函数第五章:数组第六章:正则表达式第七章:闭包第八章:面向对象的JavaScript(上)第八章:面向对象的JavaScript(下) 2010-04-27 更新两章[数组],/正则表达式/。2010-...

2010-04-18 22:52:08 120

JavaScript内核系列 第4章 函数

 第四章 函数函数,在C语言之类的过程式语言中,是顶级的实体,而在Java/C++之类的面向对象的语言中,则被对象包装起来,一般称为对象的方法。而在JavaScript中,函数本身与其他任何的内置对象在低位上是没有任何区别的,也就是说,函数本身也是对象。总的来说,函数在JavaScript中可以: 被赋值给一个变量被赋值为对象的属性作为参数被传入别的函数...

2010-04-18 17:31:55 112

JavaScript内核系列 第3章 对象与JSON

第三章 对象与JSONJavaScript对象与传统的面向对象中的对象几乎没有相似之处,传统的面向对象语言中,创建一个对象必须先有对象的模板:类,类中定义了对象的属性和操作这些属性的方法。通过实例化来构筑一个对象,然后使用对象间的协作来完成一项功能,通过功能的集合来完成整个工程。而Javascript中是没有类的概念的,借助JavaScript的动态性,我们完全可以创建一个空的对象(而...

2010-04-12 09:12:31 130

JavaScript内核系列 第2章 基本概念

 第二章 基本概念本章将聚焦于JavaScript中的基本概念,这些概念与传统语言有比较大的不同,因此单独列出一章来做专门描述,理解本章的概念对书中后续章节的概念,代码的行为等会有很大的帮助,读者不妨花比较大的时间在本章,即使你对JavaScript已经比较熟悉,也建议通读本章。本章主要讲述JavaScript中的数据类型(基本类型与引用类型),变量(包括变量的作用域),操作符...

2010-04-03 19:44:31 117

JavaScript内核系列 第1章 前言及概述

前言从2006年第一次接触JavaScript至今,算来也有四年时间了。上大学的时候,有一段时间沉迷于函数式编程,而那时候对JavaScript的理解仅仅局限在这是用来做网页的一种脚本,那些很恶心的弹出窗口和不断在页面上漂浮的黄色广告就是用JavaScript做出来的。工作之后,由于我们产品本身就是基于WEB展现的,而这个时候Ajax已经复兴数年了,但是于我,则只有“Ajax可以实现页面的局部...

2010-04-01 23:15:38 226

09年结

今天为2009年12月20日,特将自己2009年一年中之所学总结一下,一来对自己的经历回顾一下,二来考虑下来年的发展方向。 技术性知识统计了一下,在javaeye发帖30篇,其中内容涉及方面颇为杂乱,有关于python的,有关于javascript的,vim, C, java等方面,总结如下: 学会了python的网络,图像处理等方面的技术学会了jQuery的基本应用,并...

2009-12-20 20:13:47 109

Javascript执行器(Rhino)

引言前一段时间用swing开发了sTodo(http://code.google.com/p/stodo/),对swing开发GUI的基本流程算是熟悉了,所以也常用swing来写些小东西。在实际的开发或者学习中,经常遇到这样的场景:想要执行一段javascript脚本,验证一些想法,这可能需要你打开编辑器,建立一个新的html页面,然后写一堆标签,然后用script标签将脚本包起来,执...

2009-12-03 22:53:39 1887

对Java中匿名类的一些思考

引言Java中的匿名类是比较有意思的一种编程方式,在swing中关于监听器的注册时,经常可见到这样的代码: iexit.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { int y = JOptionPane.showConfirmDialog( ...

2009-12-02 20:40:41 115

过滤器(Filter)的实现(jQuery)

公司产品的一个新功能中涉及到一个过滤器:通过关键字快速的对结果集进行过滤,获得比较少的结果,方便用户选择。在网上找了找,有很多jQuery的插件,要么就是auto complete, 要么就是没有高亮的quick search,都不是很适合我们的场景,于是就自己实现了一个。用起来倒是还过得去,呵呵。 效果图:对一个List进行过滤(假设List很长,隐藏掉其他无关的项,例子里是美国的5...

2009-11-17 23:22:09 281

Swing小应用(Todo-list)之二

前言用过vim, emacs的人都知道,这两个工具中都有很好用的增量搜索(incremental search)功能,所谓增量搜索,就是随着你的关键字的输入,结果在不断的进行刷新匹配,现在的很多web搜索框都提供类似的功能,最著名的当然是Google的,速度快,匹配率比较高(要不然也不会令人“心神不宁”了,哈哈)。 最近开发的那个小型的todo管理软件stodo, 其中涉及到t...

2009-09-17 22:04:54 182

一个Swing的小应用(Todo-List)

前言 以前开发过一些简单的UI程序,大多都是借助IDE完成所有的工作,比如用DELPHI,或者C++ Builder等构筑,在这些工具中,UI是很容易开发的,但是在Java中就不一样了。Swing,在计算机科学界来说,其设计思想,整个体系的内涵,都是无以伦比的,但是要快速的用Swing开发一个能用的程序出来,还是比较困难的,其一,没有一个IDE支持(netbeans的高版本确实可以支持,但...

2009-09-10 22:52:05 283

人脸检测原理及示例(OpenCV+Python)

前言关于opencvOpenCV是Intel开源计算机视觉库(ComputerVersion)。它由一系列C函数和少量 C++类构成,实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV 拥有包括 300 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用...

2009-09-06 19:22:35 796

原创 Lisp之根源

原文链接:http://daiyuwen.freeshell.org/gb/rol/roots_of_lisp.html 转载原因:此文过于经典,不转太过可惜此文所在的网站的不太稳定,不转有可能想看的人看不到自己学习原文版权归paul graham所有,译文版权归Dai Yuwen所有,特此声明。 Lisp之根源保罗格雷厄姆(paul...

2009-08-25 13:47:41 98

用jQuery做的一个dropdown-list

前言dropdown list 是web应用中比较常用的一种控件,HTML标准提供的select标签的功能略显单薄,最大的缺点是不能定制图标,所以一般都是用div标签来模拟。又由于通用,所以有必要将其抽象成一个通用的控件,这样每次使用的时候只需要提供dropdown list 的数据模型即可。 效果图收缩起来的效果展开的效果 设计与实现初步的设想是,提供一个标准...

2009-08-20 21:28:39 491

用graphviz画图

前言关于graphviz的介绍,我前面已经有专门的一篇文章了:http://abruzzi.iteye.com/blog/429042 ,还没有接触过的可以去看一看。 基本概念计算机科学中的数据结构中,图算是最为复杂的一种数据结构了,图G由顶点(vertex),以及连接这些顶点的边(edge)组成,表示为G(V,E),其中V表示顶点的集合,E表示边的集合。图有着非常广阔的应...

2009-07-26 16:18:13 182

基于总线的消息服务(BBMS)的设计与实现

前言异步事件的通知机制在比较有规模的软件设计中必然会有涉及,比如GUI程序中的事件监听器,应用程序模块之间的通信,以及分布式应用中的消息机制等。如果使用语言原生的对象注册通信,则耦合度不可避免的会增大,也就是说,当时间发生时,A要通知B,则A必须知道B的存在。耦合度的增大在一定程度上必然会影响灵活性。所以,另一种模式就是今天要说的总线模式(BUS Based),即所有的监听器将自己挂在总线上,...

2009-07-25 22:19:00 315

一些vim技巧

前言一直很喜欢vim这个超级好玩的编辑器,她可以让程序员真正体会到编程的快乐,并且致力于通过快速,简单的命令做更多的工作。因为简单,所以强大。开始学习的时候,学习曲线是略显陡峭,但是一旦掌握了一些常用的命令,那就可以飞速的进行编辑了。在日常的学习使用中,总结了一些经验,同时参考了一些别人使用的技巧,陆续贴出来,想要学习的同志可以看看,当然也方便自己不时回顾,呵呵。 vim的运行时配置...

2009-07-22 21:29:27 127

graphviz工具及其原理

Graphviz介绍graphviz是贝尔实验室几个计算机牛人设计的一个开源的图表(计算机科学中数据结构中的图)可视化项目,主要用C语言实现,主要实现了一些图布局算法。通过这些算法,可以将图中的节点在画布上比较均匀的分布,缩短节点之间的边长,并且尽量的减少边的交叉。 graphviz提供命令式的绘图方式,它提供一个dot语言用来编写绘图脚本,然后对这个脚本进行解析,分析出其中的...

2009-07-19 21:44:17 276

空空如也

空空如也

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

TA关注的人

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