最开始是两个周之前帮同学写的一个小工具,一直没有完善和收尾,趁这次五一假期,终于弄了出来。开始时同学的要求是基于二进制Huffman编码,对bmp图片进行译码、解码,从而实现压缩和解压缩的功能。我在写的过程中对这份要求进行了大大的扩展,已经能够实现对任意大小(内存等硬件限制除外)的文件,并且任意格式的文件而不只限于bmp文件,进行压缩、解压缩。界面如下:
开发工具选的是Java,后来才感受到,如果换成c或者c++来写,在存储时,大概会省去许多麻烦。因为,Java毕竟是擅长开发一些比较大的应用的,对于比较底层的二进制位存储,是不支持的,只有自己花了点时间写了一个字节缓冲,来实现二进制存储。
Read the rest of this entry »
Posted by Leon
一个看起来并不怎么困难的小项目,结果花去了我总共大概50个小时左右的时间,记录一下写代码时的所感所想,以备后鉴。
首先,对于一门刚刚接手的语言,给我最大的学习助手除了google,还是google。相比较而言,我并不觉得那本被传的神乎其神的《Thinking in Java》比Google更优秀。当然,这句话的前提是针对“刚刚接手Java的初学者”,并且,我的意思是,与其总是单纯显耀自己手中有一本厚厚的经典之著而只翻看前面的简介几页,还不如务实的用Google多查几个实例认真研究一下。所以,谢谢你,Google。
然后,当一个客户(老师)提出的需求是一种模糊性的方向性需求,并且尽可能给你发挥的空间的时候,那么你就可以充分利用这个可以发挥的空间,进行想象、进行实现。我发现同学们之间各个最终成果的差距就是,除了代码实现的能力些许不同以外,更大的差距在于,你是不是能想象得到某种实现,你的视野是不是很开阔。比如,在存储结构中,既然我能用xml,为什么还要用c语言擅长的文本流?不是怕做不到,就怕想象不到。
项目的框架搭建和细节撰写同样重要。例如,整个项目如果能用多个有不同意义的java类来实现,并且界面操作和功能操作相分离,比只用一个庞大的java class,晕头转向的将滚动条拖来拖去要简洁明了的多,更重要的是,前者的做法远远提高了程序运行的时间和空间效率。因为,我不必在一开始就将所有的类都实例化成对象,仅仅这一点就大大降低了内存占用率。
注重用户界面(UI)和用户体验(UE)。对于开发者来说,应当把我们的用户都当作纯粹的傻瓜。这一点上,在Bingyan工作的经历给我相当大的帮助,每一个对用户友好的细节之处,也许都是最终结果赢得客户(老师)赞赏的原因之一。从模糊搜索、智能提示、到用户帮助文档,都是很容易考虑到的方面。
Read the rest of this entry »
Posted by Leon
之前,我一直以为,九州未来科技是一个不错的虚拟主机提供商。就在前几天,我甚至还收到了从推荐链接获得的推荐佣金。可是,如果还有人想从我的推荐链接去购买这个空间的服务,我现在的建议是,think it again。
2周内的莫名其妙的5次停机无法访问事件,让我一个曾经对九州未来科技很赞赏的Blogger非常伤心。客服对我提交的几次技术支持问题都回答得遮遮掩掩,让我不得不心生怀疑,难道他们的服务器就这么不稳定?
无间道言,欠下的债,总是要还的。你让我失去了信心,自己惹的祸,总是要还的。
Posted by Leon

江南小镇,烟雨缠绵。打湿了幽幽的远山,打湿了房上的青砖,打湿了翠绿的芭蕉。
那年,我正行至这如泼墨画一般的镇上。撑伞走在光滑的石板路上,静静地欣赏着春色。
远处,一袭纱衣,缥缥缈缈,随风轻扬。身姿婀娜,步履轻盈,撑伞向这边走来。远山,绿水,清秀的女子,一幅天然的山水画,而我就置身在这画里。我欣喜至极,这不正是追寻以久的意境吗?
正想着,那女子已由远处走近。口如朱丹,指如葱根,一对眸子明澈如水,雪白的肌肤犹如美玉。真可谓沉鱼落雁之容,闭花羞月之貌。我呆呆的望着眼前的女子,一时竟忘了躲闪。她似乎察觉到我的目光,转头向我嫣然的一笑,如含苞待放,脸颊泛起微微红晕,优雅的走开。
我欣赏着,直到她的背影消失了好久好久……
一连几天,邂逅在同一条街道。而我,始终不敢与她搭话,生怕破坏了这种安静的美。
Read the rest of this entry »
Posted by Leon
本来我们组看好的是“微功耗无线数字通信模块”,后来因为这个课题有三个组都希望做,所以最后抽签决定,结果运气差,没有抽到,于是分到一个“无感无刷电机调速器”的题目。在略微查了一些“无感无刷电机调速器”的资料之后,觉得同样可以做出很好的东西来。
前几个周先把需求分析做出来,虽然没有学习过软件工程,但是还是很清楚,在一个系统的设计过程中,需求分析是一个相当重要的环节,我们最后要做什么,能做什么,做到什么程度,经费如何分配,结果如何测试,有哪些可能的困难,都应该尽可能的考虑周全。
之后几个周来动手做,硬件考虑以单片机或者DSP处理器为主要实现,实验检测可以尽量充分用中心的设备。因为这次是硬件课设,所以软件的内容考虑相对少一些,程序控制方面初步预期以安静而强大的C语言加为主,可能辅以一点点汇编,目前不是很了解是否会涉及很多嵌入式的内容,如果有的话正好是自己的强项。板子的开发工具选择OrCAD和PowerPCB,很强大。
测试阶段可能会经常跑实验室,老师不一定跟随辅导,但是实验室的设备比空荡荡的寝室要强的多,而且经常的联系下指导老师总有它的益处。
目前来说资料的搜集、文档的草拟和撰写、任务分工都可以慢慢展开,恩,一定带我们组认认真真的把第一次课设做好。大家都加油!
Posted by Leon
昨天下午在寝室搜pdf文档,其中有一篇文章,只在Medline数据库中找到全文,而学校把Medline数据库的检索放在ISI Web of Knowledge平台上面。可是,虽然ISIKnowledge已经识别出来我的IP是学校的统一订购用户,也显示有全文下载权限,可是,点了全文下载后弹出的新窗口就是刷不出内容来,连试了几篇ISIKnowledge中的Medline全文下载,情况都是如此。
文章非常需要,所以有点着急,就趁当时还没到下班时间,打了图书馆的电话问情况。很礼貌的一个老师接的电话(确实很有礼貌,让我有点吃惊。因为,很多同学都抱怨,跟有其他校方老师或者领导交流的时候,他们几乎清一色的对学生漠不关心的官腔)。然后我跟老师简单说了下我遇到的困难,图书馆的老师记下了我的IP地址和电话,然后答应下班之前或者第二天让负责Medline数据库的老师给我回复。
第二天,果然接到图书馆另一位老师的电话,她告诉我学校把Medline挂在ISIKnowledge平台的原因,然后说她们那里办公网的全文下载是没有任何问题的,然后分析我点不开的原因可能是学校的教育网在宿舍比在办公网的出国权限低,所以有些链接无法访问。之后老师主动提出我可以把文章标题作者提供给她,然后她从办公网下到全文再用邮件发给我。呵呵,本来就感觉图书关的老师很认真负责,可是,却没有料想能够如此负责(跟院系和学校的某些领导老师真是有天壤之别啊)。
anyway,顺利拿到全文,赞学校图书馆的老师 ^_^
Posted by Leon
“对于我来说,vi是禅
使用vi是锻炼静坐与沉思
每条命令都引导你去深入的探索问题
对于使用者来说它是极其深奥的
对于未从接触过它的人来说它是难以理解的
每次使用它你都会发现真相。”
——reddy@lion.austin.com
可是,事实是,不论vi确实有多少优点,很多人都没有兴趣和耐性去使用vi这种古老的编辑器,他们唯一需要学习的命令就是——如何离开vi。可以在任何状态下依次按下键盘的【ESC】:q!【ENTER】五个键,从此vi与君别。
否则,就如reddy所说,每次使用vi都会发现事实的真相,厚着脸皮秀下我的vi cheat sheet,这回终于vi无敌。

Posted by Leon
本以为在一个小小的县城,不会像很多大城市那样有很多路由器被封的事情,可是,终于还是没有逃脱你的魔爪,网通。
看了下自动弹出的页面警告,是07年6月份出的公告,也就是说,我家路由器已经在打击和压迫之下坚强的生活了七八个月。至于那个自动跳转到的IP 61.156.12.58 ,对应的地址查询结果正是青岛市网通。
换下路由器,单机直连,一个小时后自动恢复。
截图为念。

Posted by Leon