- 浏览: 452720 次
- 性别:
- 来自: 西安
最新评论
-
进退取舍:
谢谢,这个用上了!!
Java 一个线程池的示例 -
pb_water:
感谢楼主,打算买楼主的书,支持一下,楼主功德无量
JavaScript内核系列第0版整理稿下载 -
lancezhcj:
有图会直观的多呢,再摸索摸索
有限自动机与建模 -
hsmsyy:
这里应该是原创了吧,楼主我觉得闭包的作用:实现面向对象。有待商 ...
JavaScript内核系列 第7章 闭包 -
wll52:
在应用退出之前,需要释放连接 con.disconnect() ...
使用smack与GTalk通信
文章列表
前言
在学校学程序设计语言的时候,能接触到的所有例子没有一个跟现实世界是有关系的。大多是关注于语言的细节层次,根本没有模型的概念,而我认为,要真正的让别人理解模型是如何建立的,最好的方法是从一个实实在在的东西开始,逐步的建立一个与物理世界可以有对应关系的模型出来。那样,在以后的实践中,可以很轻易的对未知的对象进行数学建模。OO最大的特点并非继承,多态等概念,而是与物理世界建立对应的关系!
选择有限自动机作为例子来说,有这样几点考虑:
有限自动机几乎是最简单的数学模型,也就是说,它本身就是一个对象
这个东西是计算理论中的一个比较核心的东西,也很有意思
有限自动机的形式化定义很明了,很精 ...
前言
python实在是太方便,太易用了,三方库的支持又全,语法又简单,对开发人员来说,实在是居家旅行,XXXX的必备利器。周末研究了下python的网络支持,做一下记录,以备随后翻阅。
python支持BSD的socket进行网络编程,其API跟C中的大同小异,先看看TCP方式的,说到网络编程,肯定会设计到server和client,分别来看下
TCP方式
server端
server端的socket一般流程是这样:
建立一个socket(可以选择socket类型INET,UNIX等,以及连接方式TCP/UDP)
使用bind公开一个端口,使得client可以方便连接
...
前言
上一篇《C和指针》可能对关于C和指针的有些内容没有说透,下来写了一个链表的实现,当然,也是用C的函数指针来模拟OO的结构来做的。链表结构本身比较复杂(关于指针的使用方面),所以这个例子可能更清晰一些。之所以选List这个例子来说,是因为大家在学校里肯定接触过这个简单数据结构,从一个比较熟悉的例子入手可能比较容易理解一些。
接口定义
可以先看看接口的定义,与Java或者C#类似:
/* * File: IList.h * Author: juntao.qiu * * Created on May 22, 2009, 2:51 PM */ #ifndef _ILIST_H#d ...
前言
指针是C的灵魂,正是指针使得C存在了这么多年,而且将长期存在下去。事实上,我自己不用C语言写程序已经有一年了,工作中接触到的只有java,python和javascript。最近用C完成了一下类似于OO中的封装(即"类")的概念,顺便把指针复习了下,感觉有必要记一下。
本文中的例子有这样两个概念:任务(Task),执行器(Executor)。任务有名称(taskName),并且可以执行(execute)。 而执行器与具体任务所执行的内容无关,只是回调(callback)任务的执行方法,这样我们的执行器就可以做的比较通用。而任务接口只需要实现一个execute方法即可 ...
前言
Javascript,有人称其为C+LISP,C只怕是尽人皆知,但是一直活跃在人工智能领域的另一个古老而优美的语言LISP,掌握的恐怕不是很多.这个倒不是因为这个语言太难或者用途不广泛,而是大多数人在接受计算机语言启蒙的时候 ...
Hash表这种数据结构在java中是原生的一个集合对象,在实际中用途极广,主要有这么几个特点:
访问速度快
大小不受限制
按键进行索引,没有重复对象
用字符串(id:string)检索对象(object)
今天整理以前在学校写的一些算法,翻出 ...
- 2009-04-18 17:28
- 浏览 2009
- 评论(0)
打算写一个系列,比较系统的介绍一下一个脚本引擎的设计和实现过程,本来打算使用lex/yacc来举例子,但是由于最近对java语言有了新的认识,故决定使用javacc这个工具来做,这个系列中就是以javacc中的一个比较复杂的例子来进行解说的。
这篇文章是本系列的第一篇,主要说几个概念的定义,有了这些定义,后边就容易理解了。
对一个语言的源文件进行解析,主要是做这样几件事:
词法分析
语法分析
语义分析
当然,每个步骤中都有自己的错误检查机制,这里暂且不表。下边分别对这几个过程进行解说:
词法分析
词法分析过程中,读入的是一个个的字符,返回的是记号(token).记号是语法分析所认识的一种 ...
- 2009-04-18 14:42
- 浏览 2277
- 评论(0)
这篇文章可以算是这篇小型桌面计算器的实现(javacc)
的续。
可以这么说,使用javacc作分析器生成器,如果没有用到jjTree,那么就是对语义分析
的过程理解不够深入。如果用到了jjTree而且用好了,那么对编译原理,BNF等的理解才算是比较到位了。
jjTree中最重要的概念是Node接口,所有的非终结符都可以规约
为一个节点。这个节点一般来讲是实现了Node接口的节点类
其中主要有这样几个方法:
……
/** This method tells the node to add its argument to the node's
list of children. ...
JSP的规范中,有个表达式语言(Expression Language, 简称EL),可以算是一个微型的语言,其中对request, page, session, application中预存的JavaBean对象的引用方式很是简单。最近正好需要写一个支持简单EL的taglib,所以就研究了下Java中的反射机制,目前基本上实现了多级bean的属性的访问,经测试,还是可以用的。
如:
public static void main(String[] args){
UserBean bean = new UserBean();
bean.setName("John Abru ...
从开始学计算理论,就对形式语言,编译原理很感兴趣,所以大学对这门课学的也算是最好了。自己也实现过一些简单的词法分析器之类的东西,不过也都是学习目的的,质量一般
后来一直在Linux学习,对lex/yacc研究过一点时间 ...
sed是一个非常非常强大的命令行编辑器,说是编辑器,还不如说是编辑程序,因为它是面向流的(没有GUI),看起来比较土,但是功能却一点也不含糊,在*nix下的shell中工作,如果有这个东东帮忙,可以少做不少事(尤其是程序员所讨厌的那种重复动作)
首先,sed是一个面向行的流编辑器,所以使用方法一般是通过shell中的管道,基本起一个过滤的作用(不是简单的过滤),sed对原始文件不会修改,因此可以完全“安全,无副作用”的使用。
使用方式:
sed -e "script" file | ...
e : expression
script : 自定义的 ...
- 2009-03-13 14:29
- 浏览 2079
- 评论(0)
ImageFilter模块
ImageFilter是PIL的滤镜模块,当前版本支持9中加强滤镜,通过这些预定义的滤镜,可以方便的对图片进行一些过滤操作,从而去掉图片中的噪音(部分的消除),这样可以降低将来处理的复杂度(如模式识别等)。
滤镜名称
含义
ImageFilter.BLUR
模糊滤镜
ImageFilter.CONTOUR
轮廓
ImageFilter.EDGE_ENHANCE
边界加强
ImageFilter.EDGE_ENHANCE_MORE
边界加强(阀值更大)
ImageFilter.EMBOSS
浮雕滤镜
ImageFilter.FIND ...
前几天工作平台转到Fedora Core 10,硬件支持很好,唯独声卡有些小问题,整了好一阵,终于解决了。现在把note贴出来,方便以后查看,也可以方便其他有同样问题的人。(linux下声卡貌似从来就没有完美的支持,呵呵)
声卡问题描述:
有声音,但是播放mp3时会卡,看电影也有同样的问题,有可能影音不同步。
解决方法:
1.查看声卡信息
写道
$lspci | grep Audio #在我的机器上,声卡信息如下
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 0 ...
ImageEnhance模块
import ImageEnhance
enhancer = ImageEnhance.Sharpness(image)
for i in range(8):
factor = i / 4.0
enhancer.enhance(factor).show()
所有的图片增强类都实现了一个通用接口,这个接口只包含一个方法:
enhance(factor)
先构造一个增强器,然后调用增强器实现的enhance()接口,这个方法会返回一个被加强过的image对象,参数factor为一个大于0的浮点数,1表示返回原始图片。
加强器包括,色彩平 ...
ImageChops 模块这个模块主要包括对图片的算术运算,叫做通道运算(channel operations)。这个模块可以用于多种途径,包括一些特效制作,图片整合,算数绘图等等方面。但是到目前为止,通道运算只支持8位图片("L"和"RGB ...