Author Archives: nanzt

这两天写了个小玩意citationSearch v0.1

目的:
从http://sdb.csdl.ac.cn 输入文章标题和作者名,获取该文章的引用次数,以及所属
的单位名
这个小玩意初步实现了批处理的功能,比如手上有1万个文章标题和对应的作者,就可
以用这个很容易的得到引用次数等信息
技术:
Qt 4.1,
当前版本,v0.1,由于这两天 sdb.csdl.ac.cn网络有问题,所以完成界面后没有来得
及测试;几个重要类是2天前在console模式下测试通过。不过最主要的难点都已经解
决,其余的就是如何做的更好的事情了。
可以学到:
* 大量的使用了qt的signal/slot机制,这种机制对写的人很方便,但对阅读的人估计
就感觉比较乱了
* QHttp的异步机制,在http返回前,QHttp对象一定不能已经销毁
* 由于QHttp的异步机制,所以程序里 顺序的渠道是无法知道什么时候http返回信息,
这样对由几个页面组织在一起,即第二页面必须在第一页面完成后才能执行,第三个页
面,又只能在第二个页面完成后执行,必须也要通过signal来通知。即第一个页面完成
任务后,通知第二页面开始工作。
* 学到了一点新知识:一个对象发出了 signal,联结到一个对象的slot,这个slot如
果企图要删除发出signal的对象时,会出错。 这种情况在此程序里出现,即我给定一
对文章标题和作者,要求执行三个页面,得到引用次数,,在得到引用次数后,这个对
象发出signal,要求联系的slot,继续给出下一对标题和作者 ,重新开始;由于异步
机制,这个对象必须是以指针的形式给出(如果是局部变量,可能会在异步返回前,这
个对象已经销毁),所以 在重新new一个对象时,必须要删除前一个已经存在的该对
象,在slot里直接删除会出错,提示QMutex共享冲突。 试了很长时间,找到一个折衷
的解决方案:
即在重新new一个对象前,将前一个对象指针先保存起来,这样就是说 在当前的slot里
不去删除该对象,但在经过一次循环后,在下一次,可以将该对象指针完全删除,而不
引用异常。
描述的比较抽象,看一些示例代码:
entry point:

aQuery=new queryCitation(author, title, this);

aQuery->setTimeout(timeout);
connect(aQuery, SIGNAL(stopped(QString)), this,
      SLOT(saveResultsAndNextQuery(QString)));
aQuery->query();

saveResultsAndNextQuery(QString):

delete preQuery; //即在下一次调用里 删除上一次的instance
preQuery=aQuery;

aQuery=new queryCitation(author, title, this);
aQuery->setTimeout(timeout);
connect(aQuery, SIGNAL(stopped(QString)), this,
     SLOT(saveResultsAndNextQuery(QString)));
aQuery->query();

* 要形成post data,看源网页的代码,很费劲,这时可以用sniffer pro等来capture
这些post data
* 正则表达式的应用,用于抓取html文件里的需要的信息

下面给出page的基础类,供具备 post data功能的页面继承
web page页的abstract class 附下,

#pragma once
#include <QObject>
#include <QFile>
#include <QHttp>

class QTimer;

class page :
public QObject
{
    Q_OBJECT
public:
page(QString output_filename, int timeout=300);
virtual ~page(void);
virtual void PostData(); //提交数据
void setTimeOut(int secs);
public slots:
virtual void abort(); //强行取消,如超时
private:
virtual QString formatPostData()=0; //根据必要参数形成post数据,保存
                                             //在 postData里,返回值没经过url 编码
private slots:
virtual void on_postFinished(int id, bool error)=0;
/*
与QHttp.requestFinished相连
注意不要与 QHttp.done相连,Qhttp.done在
QHttp.abort或delete http时都会发生
*/
signals:
void done(bool error, QString msg); //http response 结束时发生, 无论
                                                  //有无错误
protected:
QByteArray postData;
QFile receivedHtml;
QHttp http;
QTimer* timer;
};

附界面截图

Citation Search v0.1
About screenshot

ArcIMS 9 with Tomcat 5 安装的一个补充

作为对以前那个ArcIMS 9安装的一个补充,
按以上步骤完成后,执行诊断不能通过(提示找不到页),别担心,
在tomcat菜单下找到 tomcat manager,进去后,点击  application list,看/servlet是否已经起来,如果起来就是正确的。另一个检查的法子是,在ie里键入 http://localhost:8080/servlet/是否好用,如果好用证明tomcat安装正确了,只是redirector没有起作用。
 
打开 redirector下的conf (我的位置是 C:Program FilesApacheJakarta Isapi Redirectorconf),找到 uriworkermap.properties,打开,添加 /servlet/*=wlb
保存,重启 tomcat (?,可能不是必需),重启 iis admin service,和www publishing service
再试你的diagnoise,看test 1和2是否好了!

网上南氏宗祠

趁午休期间,在网上瞎逛,先是有老乡告诉我网上现在有一个叫柳市论坛的,让我去看
看。不过人不多,没啥新玩意,不到在里面看到有人帖了个南氏网上宗祠的地址,原地
址失效了,在google里搜索,是以下地址,
http://mem.netor.com/m/zc/zc.asp?bID=38040
在留言里看到很多同姓人的留言,才发现原来这个姓在全国很多地方都有分布(河南省许昌市鄢陵县, 河南濮阳,河南舞钢,山东济南市历城区,山东莱州,山东菏泽,山东临沂,山东潍坊,山东高唐县南王庄, 安徽淮北黄里村, 湖北黄冈浠水, 山西省洪桐县大槐树, 江苏淮阴, 河北保定,河北廊坊,河北沧州南皮, 上海, 温州乐清, 黑龙江省密山市,江西省樟树市,……)。山西大槐树估计是个比较重要的来源,河北等很多地方的朋友说自己祖上是从那儿搬迁来的。此外,河南好象也有重要的一支。回顾上一个关于姓氏的帖子,发现自己对这个姓的了解很是浅薄,据说全国有2万人这个姓的人,不过我也怀疑这个数据有多少说服力。再向前翻留言,居然看到一位跟我妹同名的上海女孩。这个世界真是很有意思!
兰州〇六年的第三次雪了,不过小,落到地上很快就化掉了。
工作千头万绪,感觉茫乱。
W向我打听结婚的手续,估计他们要结婚了,先恭喜一把!

五一和朵朵

这两天不小的雪(2006年的第一场雪?),整个城市都被白雪覆盖,看着树枝头压着雪
绒,才发现这个城市,如果没有污染的话,会是怎么的漂亮。
昨天到小W家吃火锅,两个小孩,五一和朵朵玩的很高兴,朵朵就一直跟着五一后面,
模仿五一的动作,然后两人一起在床上蹦跳,很少见着玩的这么开心的。小孩好象有他
们自己的语言,他们讲的话,我们未必每句都懂,但好象并不妨碍他们间的交流。最后
小帅哥小美女趴在窗台上面,冲着窗外街道上的行人大叫“小姐”。小W夫妻直叫五一
被朵朵带坏了。给他们拍了一小段录像,作为留念。

春节快乐

今天是狗年第一天上班。总的讲,这是个愉快的春节,一家三口在一起,过的很高兴,
朵朵也越来越好玩了。
中间一个小插曲,某天晚上,朵朵将葵花籽塞到鼻子,弄不出来了,吓得我们跑了一趟
急诊,好在医生用专业的工具,很顺利就取出来了,而朵朵居然已经睡着了。笑着跟媳
妇说,朵朵第二天一早醒来,会不会以为睡一觉,鼻子就顺畅了,下次塞住了,就睡觉
好了。次日问朵朵,果然她又玩开了,全忘了昨日鼻子不舒服的事了。

写了几个字,大家看看如何

跟在下面,“集思学院” for cngis.org,大家看看如何,有没有一点点书法的味道
 
——真是很不错,不是吗? 但正如大家所想的,这是经过处理的。要给大家推荐的一个软件叫Ougishi,来自一个日本作者,可以将自己写的字处理成各成不同风格的毛笔字,如王羲之体,黄庭坚体,以及很多可以定制的选项。试试吧,我估计你也不敢认自己写的字了!
不能不感慨的是,中国人现在是普遍不会写毛笔了,日本人却在那里发扬光大!

在网上看到一则关于我们老家和温州南姓的短文

从来没有真正关心过自己的姓的来源,以及这个大家族里的所谓“名人”们,如果真说
起来,也就知道有个很有学问的老头(我床边还搁了几本他的书),和一个南姓暴发
户。一直以来,总以为这个小姓没啥名堂在里面。得见这位据说是同村的作家(抱歉,
此前我也没有听说过这位作家)的短文,才知这里面还有这么多学问在里面,惭愧呀。

很少人知道,南氏家族的文化香火已经足足传承了八百多年,名人辈出。南氏,因而成为乐清一大望族;南宅,因此被《浙江通志》《浙江省名村志》皆列为“浙江名村”。
漫游在南宅整洁的长街小巷间,摩挲着古老建筑的青砖黛瓦,在这个面朝大海的淡雅村落里,南氏家族八百多年来的文化香火至今还在冥冥中静静燃着。
(南航,文化香火八百年) 

某天我在电视上看到周庄的广告片,告诉媳妇说十来年前我们那儿就是这样的,只是现
在已经全部变味了,全是拙劣的水泥建筑,发臭的河水,和到处都可闻到的铜钱味道。我在那里生活了至少十几年,却丝毫没有感受到任何的文化气息。这位作者的文章写于2004
年,但估计作者已经几十年没回家看看了。大家都忙着要挣钱 实现现代化,只是可怜
的只填充了小学文化的头脑根本不知道什么是现代化,以为现代化就等于水泥和玻璃,
以为现代化就是大家都要买车,和得没完没了的“富贵”病。。。
其实我在西北还碰着几个同姓的朋友,我们单位就有一位是来自河南的,另有来自天水
的。据他们讲,他们那儿也都有这么一些人,很集中的,姓南。那位南姓教授有次在酒
席上跟我讲,找时间考证一下,也许温州的南姓来源于河南。不过河南的名声不好,不
考证也罢,哈哈。温州人的名声也好不到那去,都是以狡猾出名的。
其实我是看过南氏族谱的,好几十本,就放在我家邻居的一个老人的破屋里,我一直担
心哪天走火就全烧掉了。前些年回家的时候,当然还有兴趣说是否可以做个族谱的电子
软件,现在忙了,自然是没有时间了。忽然又想到那位老人,很好的老人,每年回去都
是拉着我一定要聊上几个小时,可怜我对历史又不感兴趣,只有听他上下五千年海阅天
空地讲,不过看到老人高兴,反正过年回去是玩的,也舍时间奉陪到底了。
给个链接吧,有兴趣可以看看我们这个姓的“伟大光荣的过去”
http://www.nanhang.net/08.htm

这个space的名字和我的qq名都叫“苦楝树”,是因为某时突然记起以前老房子前面有很多的树,主要是桉树和苦楝树,后者很瘦小,果苦可入药,我一直都很喜欢这种树,以前小学好象学着写说明文的时候,我就写过苦楝树。大概在我上初二后全部的树都被砍掉了,河水也开始变臭了。特别怀念以前一到夏天孩子们就钻进不远的小河里畅游的情景,只是时光不再,不说现在的朵朵是再没有机会了,早在我几个堂弟堂妹小时候就已经没得游泳了。以前特别羡慕住在河边的人家,现在就听到这些人家的抱怨,特别是一到夏天,河水就臭的不成了。

南宅人按“嗣元应德光,常存君子道,孝友启贤良”的辈份字取名

(最近又找到一个完整的辈份排行:智仁聖伯端肅恭謙寬正禮義傳忠宗大世承守嗣元應德光常存君子道孝友啟循良,02/08/06)

我都记不清这个辈分的次序了,:),父辈以上都严格按照这个辈份取名,到我们这一代就不再遵照了,我应该是“子”辈的

word 2003的acrobat菜单丢失,word文件上下文内容的convert to acrobat pdf错误

昨天在修改一个word文档的时候,出现了错误。今天想将一个word文档转成pdf,在资
源管理器里右键点击该word文档,执行convert to Acrobat PDF,提示missing
PDFMaker files,询问是否repair;repair后该问题仍然存在。
运行appwiz.cpl,找到acrobat 7 professional,在modify选项里,确认 pdfmaker
for office已经存在;同时也安装了pdfmaker for internet explorer。在ie里测试,
可以正常转换。
运行word,打开某word文档,用工具栏上的convert to acrobat pdf图标,同样问题存
在,但打印到acrobat pdf,是正常的。
解决方案:
打开word,help | about,点“禁用项目…”,里面发现 有该acrobat pdf addin被禁
用,启用之,上述问题解决。

Qt, asp.net项目内交流

由于项目内新进了一些人员,前面给大家布置了一些任务,前后也有一个月了,今天让
大家做了一下自己的学习报告。很高兴大家都还是花了力气去做这件事情了,但从心底
讲,都没有达到期望值,也许是对大家的基础没有把握,期望过高了些。
不过希望大家能齐心协力将布置的事情做好,学生还是处在能力培养的阶段,尽管说现
在的工作形势比较严竣,但我相信那是对一般的学生,对有能力的学生,我想不出应聘
单位不要的理由。毕竟现在已经不是以前靠拍马屁就可以过的很好的时代,特别在公司
或科研单位,当然如果有能力嘴巴又比较甜的就更好,但有本事是最重要的,谁也不会
要一个不能干活的人。
其实呢,在整个项目里,Qt和asp.net还只是工具。就是种田,也要会用锄头吧,Qt和
asp.net就是锄头。大家还没有真正接触到项目呢,我的意思是说,大家要学的东西真
还是很多。我本人喜欢做技术,也很喜欢和尊敬能踏实做技术的人。我希望通过培养,
能形成一个真正的具备足够技术水平的团队,这也是大家所乐意见着的,但需要大伙一
起的努力。
我相信大家都会做的很好。