2008-07-31

用ruby写了一个生成xpcom组件模板的小工具

关键字: ruby, xpcom, xpcom template
写xpcom组件我们经常copy paste,因为xpcom组件的与业务无关的注册、QueryInterface代码都是基本固定的,写了一个自动生成xpcom组件的template,这样就可以只关心核心业务,避免书写样板式的代码。 =begin NOTICE: Before use the code: You should use command "gem install uuid" to install uuid gem for ruby Once installed, create a uuid.state file by running command "uuid-setup" ...
2008-07-31

XPCOM数组作为参数注意的问题

关键字: xpcom, xpidl, array
XPCOM组件,数组作为传出和传入的参数,c++这种支持引用传参的语言与idl接口的声明是一致的,但在javascript语言中,参数传递都是值传递,所以参数是不能直接作为返回值的。这样用javascript写xpcom传入和传出参数时,就会有一些特殊的要求。我们举一个简单的例子,在idl中,我们的有getArray,setArray接口,用它来说明如何使用javascript编写含有数组参数的xpcom void getArray(out unsigned long count,[retval, array, size_is(count)] out string aArray); voi ...
最近做Firefox的开发,一直在用javascript写XPCOM组件,javascript这个东东来写XPCOM非常痛苦,有一点错误都无法注册成功,许多时候基本靠肉眼一个单词一个单词的找,当然也有一些技巧。Firefox开发最常用的工具有firebug,javascript Debug和XPCOMViewer,使用XPCOMViewer来查看已注册的组件。 常见的错误: 一、死活注册不上: 注释掉其他方法和成员变量,只保留QueryInterface方法,这样基本都会注册成功了,一旦注册成功,取消掉注释,就可以使用javascript Debug来调试了。 二、查看XPCOM Vi ...
2008-07-16

Eclipse3.4 Plug-in Spy

关键字: plug-in spy
在Eclipse插件开发中,我们经常"Monkey See Monkey Do",Eclipse3.4提供了和VC++ spy++一样强大的功能的:Plug-in Spy,现在你想模仿Eclipse已有的一个界面可以使用这个spy来探测它的实现类了,这样就省着我们每次都 先猜半天,然后在Search了。可以使用快捷键Shit+Option+F1 (Alt+Shift+F1 on Windows)来调用这个Spy。  
2008-07-14

解决nsIWebProgress addProgressListener失败的问题

关键字: nswebprogress addprogresslistener
给nsWebProgress addProgressListener每次都失败, [quote]Error: Component returned failure code: 0x80070057(NS_ERROR_ILLEGAL_VALUE) [nsIWebProgress.addProgressListener] [/quote]在google 一下发现很多人都遇到这个问题,在addProgressListener函数里面,首先需要从ProgressListener get WeakReference,添加的listener实际是WeakReference,所以ProgressList ...
2008-06-02

基于Eclipse开发初识(一)

关键字: eclipse, eclipse plug-in, jface, swt
           最近做基于Eclipse的开发,写写对基于Eclipse的开发一些体会。以前一直在用Eclipse,感觉到插件机制的强大和灵活性,但一直没有接触到Eclipse的开发。现在写代码基本上模仿+现学现卖,Eclipse Plugin开发首先就应该学会模仿(我老大常说的一句Monkey see monkey do,《Contributing to Eclipse》的一条rule),因为Eclipse除了Run-time Kernal外都是插件(Everything is a co ...
 今天在eclipse源码中发现了这个东东: 写道 transactionLock.new Access() {/*empty block*/}.transfer(owner); [org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl 814行]transactionLock是Lock类的一个实例   第一眼看上去相当诡异,用了很多的语法特性(内部类在外部实例化的方法,内部类的使用,抽象类等),顺便跟了进去,发现作者的真正用意: 让我们先看看Lock的代码吧: 代 ...
2008-04-28

EJB3感性认识

关键字: ejb
     面向对象方法课留了个作业,使用EJB实现一个简单的东东,从而更深刻的体会EJB组件。虽然J2EE学了不少,但正统的EJB一直没有怎么看。今天大体看了看EJB3.0,感觉EJB3.0在易用方面的确有很大的改进。曾经以极高的复杂性的EJB,现在和Spring、Hibernate这些轻量级的解决方案相比已经差不了哪去了,EJB在轻量化,所有的Bean都可以是POJO的,只需要使用注解表明是Entity bean,Stateless/Stateful Session bean,Message-driven bean,Remote/Local接口,不需要 ...
2008-04-24

Java开源搜索引擎[收藏]

关键字: java, 搜索引擎
 Egothor  Egothor是一个用Java编写的开源而高效的全文本搜索引擎。借助Java的跨平台特性,Egothor能应用于任何环境的应用,既可配置为单独的搜索引擎,又能用于你的应用作为全文检索之用。 更多Egothor信息  Nutch  Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。 更多Nutch信息  Lucene  Apache Lucene是一个基于Java全文搜索引擎,利用它 ...
前几天看了徐老师写的谈谈学习动态脚本语言对搞web mining研究的必要性,想起上次英语课话剧,使用ruby一行代码完成任务的事,深刻体会到动态语言的简洁强大之处,对处理文本的方便之处。开始剧本中是为了更好的理解剧情,中英文混在一起的,后来剧情比较熟了,为了看台词方便,希望把英语提取出来,我们这组幸好有我是计算机出身的,否则得花一晚上手工完成了。 格式类似如下: 引用 在一旁看的七濑美雪以被打败的表情说话:「都是因为阿一你擅自在滑雪练习场之外的地方下来,所以才会变成这样啊。」 That's all because you had to go beyond the training grou ...
fuliang
搜索本博客
我的相册
D6f3070c-8515-32e2-8add-644207eff61a-thumb
spy
共 7 张
存档
最新评论