2006年12月31日星期日

更新

这两天网络状况不怎么老好的。 几次企图更新都没有成功。

昨天,终于耐下心来把之前一直都没有搞清楚的正则表达式(regular expression)认真学习了一下,又做了一些小尝试,还是挺好用的。然后想一想,发现我有这么几个东西,都是很久以来没有搞得很明白,而每次又不愿去看的:Java Annotation,正则表达式,bash编程,还有个啥咋忽然想不起来了。

为了提高那个web qq的安全性,昨晚准备用javascript写一个RSA算法,来加密QQ密码,写了一半的时候,在网上一搜,发现已经有人做过了,是stanford的学生做的,还不错,就拿来直接用了。然后发现AES也有人做过了,是ucsd的人做的。

虽然上边说的都是技术相关的,其实这两天主要干了的,根本不是这些,只是觉得把技术的东西方在最上边会显得好看一些。
读了斯蒂芬.金的一个中篇《尸体》。
这个不是一部惊悚小说,但看得我很压抑,不知道为什么。评论界认为这是金最像自传的一部小说,缅因州某小镇上几个小孩去看尸体的那个夏天。

其他琐碎的事情干了很多。
步行n久吃了一家巴西烤肉。
把旅游目的地从三亚改到云南,最终基本被取消。(太失望了!)
和猫同学探讨人生理想,宇宙未来。

对了!昨晚听了郭德纲的《我是黑社会》,很不错。再改一改有望追上《西征梦》。

2006年12月29日星期五

神奇的短信事件

前天晚上迷迷糊糊 发出去的。

昨天早上收到了发送报告。

于是忐忑了一整天。

今天打电话过去,居然什么都没提,真神奇。

2006年12月27日星期三

WEB QQ ver 0.9.3

对web qq的面向对象重构做得差不多了。
发布一下。

地址:http://202.117.21.252:8088/

使用LumaQQ作为QQ Client连接QQ服务器。采用server push技术向客户端发数据。

使用java语言实现的HTTP server。

只具备最基本的QQ功能:
1、查看在线好友
2、发送消息(仅限于在线好友)
3、接受消息(仅限于在线好友)

存在问题:
有一些QQ号无法登陆,原因不明。
明文传输,无法保证安全。
当同时登陆的用户较多时,有时会出现自动断开的情况。

JAVA代码暂不公布
js代码可通过网页自己察看。

2006年12月26日星期二

OO的JS + web qq

OO的JS
下午,把GTALK的签名档改成了这个。小HL没看懂,host说“赞”。

啥意思呢?就是Object Oriented的Javascript。

前几天复习电子商务这门课的考试时,还在ppt上看到说javascript是一种基于对象(Object Based)的语言,而不是面向对象(Ojbect Oriented)的,当时觉得有点含糊,网上有人这样说: “Peter Wegner在一篇顶级论文中,将环境划分为对象结构(objected-structured)、基于对象(object—based)、基于类 (object—class)和面向对象(obJect—oriented)几个范畴。第一个范畴只具有封装和状态保持特性;第二个范畴增加了对象标识特 性:第三个范畴增加了类的概念;最后一个范畴增加了继承和本章提到的其它特性......”

心生怀疑,貌似js里也可以实现类、继承的概念,而且由于是弱类型的,在多态方面也很难界定。

在js里创建一个类的方法
function ClassName() //同时也是构造函数
{
this.field = somevalue; //成员
}
ClassName.staticFiled = somevalue; //静态成员
ClassName.prototype.foo = function() //方法
{
...
}
ClassName.bar = function() //静态方法
{
...
}
创建实例
var instanceName = new ClassName();
继承
function subClass()
{
...
}
subClass.prototype = new ClassName();

JS中的this对象
在prototype.foo这样的成员函数中,this指的是实例,没有this的,默认为全局的,或window的。

调用函数
调用某个对象的成员函数,直接通过obj.foo这样的形式就可以,但在有些情况下是很麻烦的。比如事件的注册,或者是传递函数指针,就需要在传递时,将对象一起传过去。一般来说,会把函数名作为字符串传递,然后用obj["methodName"]的形式调用函数。

从昨天起,我就开始使用OO的js重构我之前写过的一个web qq。但是进展比我想象的缓慢的多。主要就是因为在js中使用OO思想很不熟练(方法也比较奇怪)。今天就遇到了一个很头疼的问题,现在还没有很好地解决。就是在使用window.setTimeout时,需要传递一个对象的成员函数进去,如上所述,一般需要把对象也传过去,但是window的prototype我是不想修改的(也不知道能不能修改),所以就给函数中加了参数,用来传递对象,但是只要这么一做,setTimeout就会很抽风的运行——不管设置的时间是多长,都会不断的重复执行。现在我的解决办法是一段很丑陋的代码,就是加入了一个global的函数来不断调用setTimeout间歇重复执行自己,在函数体里执行obj.foo。当然,我也就给很丑陋的函数起了一个更丑陋的名称:“fuckTimer”。

今天还遇到一个巨SB的问题,我又一次把赋值的=写成==了!!

2006年12月25日星期一

今天太忙

事情太多,不想写了,有空明天再写.

2006年12月24日星期日

从ACM引发的

这里说的ACM,不是我所挚爱的ACMilan ,而是Association for Computing Machinery,更确切地说,是ACM搞的竞赛ICPC。

由于最近没有考试需要准备,回家也无事可做,每天大量的时间都泡在了BMY上。今天去学院版闲逛时发现这样一篇帖子,大概意思就是说xjtu没有人搞算法,没有人搞ACM,TC这些竞赛,而zju在这方面非常的强悍,我们应该努力之类的。

这个观点我很认同,以前我也曾想在这些竞赛中努力,取得些成绩,但后来发现我们学校确实鲜有人搞这个,完全没有这个氛围,就跟同时我们也没有上海那些学校那么浓厚出国氛围一样,然后逐渐放弃了,甚至淡忘了。

在一个师弟的回贴中,却很不以为然,认为这些都是浮云,软件工程才是王道。大概当时我也有些激动,就争辩了几句,同时表达了我对木讷的软件工程的不喜欢,然后继续和他争算法的重要性之类的东西。

可是当我说了几句之后,我发现我心虚了。因为我简直没有这样说话的资本,我的算法很好吗?绝对不是。我参加过这样的竞赛吗?绝对没有。甚至说我真的喜爱算法吗?我不知道!我在帖子里重复来重复去的,无外乎这么几句:算法是美妙的,算法对于程序的性能有极大的作用。但我说的有无疑是空洞的,简直就和我高中搞数学竞赛时跟人大谈数学之美一样。到后来我发现,其实我真正能说服自己的只有这么一句:“算法是公司招聘所要考的”!

NOD,zju的算法很是厉害,所以google出现了我可爱的host他们的浙大帮。

NOD,我是希望以后也能在公司看到一个(西)交大帮的形成。

BUT,仅仅靠这个我就向师弟们鼓吹我其实所并不擅长的算法吗?

下德不失德,是以无德。

冬至与冬至后的一天

(这篇本该是昨天发的)

很久以来,已经没有写过博了,每次都是坚持几天就不写,不知道这次能扛多长时间。


昨天是冬至,差点没吃上饺子。

昨天是小hl的生日,小hl,也就是hltz、sw、clare、zdn……总之一堆名字,很多都是我给起的。中午去和她上南大街吃了必胜客,她主要是奔着鱿鱼圈去的,然后我又发现了一种新出的鲑鱼pizza,很赞。

吃饭后做了一件挺傻的的事情,我说我想看《伤城》但是还没上映,然后我们各自就讨论着金城武和徐静蕾,一直走了两站路才坐车回学校,但是回来我上网一看,居然昨天就已经开始上映了。我为啥就没从电影院门口走过去看一下呢。

下午订了个蛋糕。半年后复出DOTA被蹂躏。

晚上被Applefly bg全班,在小肥羊吃的还行,我很自豪的是控制得很好,没有喝太多酒。吃了一个羊肉饺子,小肥羊送的。这样大概就不会冻耳朵了,但是西安这天气实在冻不到我的耳朵,就算是为回兰州做准备吧,兰州的风还是有点搞头的。

晚上可能靠着一点酒精作用,实况连续高进球率。

一天很愉快的情绪,主要原因可能还是来源于,我从此不用再考试了。当然,这几门都不能挂。

今天是冬至后的第一天,起来,收了骡子的短信,太想他们了。我想去上海看他们,又想等着陪小hl电面。

等下周再说吧,还要和学院和公司商量好下学期过去实习作毕设的事情。对了,那个三方协议怎么还不寄回来。

我以后得强制在博里写一点有关技术的东西,这样才能显得有文化是吧,当然,我可以偶尔在这里讲讲道。