Published at: 08:12 pm - Thursday December 31 2009
好久没有用这么不着边际的标题了,其实这种做法是我的偏好。你要是觉着它顺口的话它确确实实是一句歌词,WG的这篇文章不推荐实在太可惜了。 这本来应该是一篇2009年的总结来着,早上上班的路上我一直在过滤哪些要说哪些值得说哪些能说。不用我说,认识我的人都知道我今年可说的事情太多了。鉴于太多太碎,就不一件一件地说了。另一方面,也正好是过去的已经远去,开始的才刚刚开始,不是作总结的时候。这个年关是客观上的一个坎,于个人的生活和进度,他还不是什么milestone,远不及9号要交房租的重要。 紧接着是老生常谈感叹时光的话,Lightory在twitter上说的这句我很有共鸣——“马上 2010 年了,总觉得这个数字没现实感,是只属于科幻小说里的年代。” 分明是快要到了何勇唱的“宇宙飞船没找到天堂”的时候了。不过前几天鲜果联播上看到有人发的一句话很好地解释了日子越过越快的原因:“对于一个10岁的人来说,每长一岁,意味着他复制新增了自己十分之一;而对一个30岁的人来说,每长一岁,意味着他只复制新增了自己过往经历的三十分之一”。他明白了,你呢? 说总结就要定计划(说这句话的时候我猛然想起这周项目周报又忘填了),不过Tim大牛半开玩笑地说,计划定得越多,洋相出得越大。需求变化那么快,闹不好项目中途都被cut了,所以细节上还是短周期迭代。大局上,还是给自己一直以来的要求,不要随波逐流,注意自己的言行,努力学习技术,认真工作积累经验。 今天晚上找一找Yan的bug,没有什么问题的话,0.4的tag就可以打了。
Published at: 10:12 pm - Wednesday December 30 2009
长期苦于桌上没有照明设备,上周末买了一盏灯。之所以选择Esc版的,因为咱是VI用户。
Published at: 10:12 pm - Wednesday December 30 2009
This is a feature introduced in NetBeans 6.7. Set environment variables for specified life-cycle phases: Open project properties dialog, select action category. Select actions which depend on the variable, click add button to add such an environment variable. However, this method doesn’t work with Glassfish spawned the IDE. If you want use environment variables in [...]
Published at: 10:12 pm - Tuesday December 29 2009
After you test and build your application in NetBeans, you deploy it to Glassfish, but the environment variables are invalid again. In such situation, you should set these variable in glassfish configuration file which is supposed to located at: $GLASSFISH_HOME/glassfish/config/asenv.conf Append your variables to the file, and restart the server. It works.
Published at: 10:12 pm - Monday December 28 2009
If you use NetBeans IDE to build an application which reads environment variable, you will have to do these settings in your IDE. There is no GUI to set such variables in NetBeans while Eclipse provides you a “Run Configuration Dialog”. So just add the declaration in your netbeans.conf. It is highly recommended to copy [...]
Published at: 07:12 pm - Saturday December 26 2009
今天新增的拼图验证码的可配置性非常强,你只要替换资源文件,在配置文件中修改提问的模版,指定图片的大小、行数、列数,就可以创造一套全新的验证码。他的简单程度实在超出你的想象。
Published at: 03:12 pm - Saturday December 26 2009
Yan 新增了一种验证码类型,Web 2.0 图标验证码。用户根据图标的内容和提示的信息,提交验证码。验证码图片如下: 提示文字: Please figure out twitter icons. 用户输入Twitter图标左上角上的字母,即可进行验证。在Yan的测试界面上使用如图: Web2.0 Icon实际上是Yan中新增的拼图验证码的一个实例,利用拼图验证码可以生成相似的更有创意的验证码。在我的开发环境中生成这样一张图片大约需要80ms。 项目中使用的图标均从互联网收集,遵循CC等协议或经作者授权,详情参考项目中README文件。 祝DAF同学生日快乐。
Published at: 12:12 pm - Friday December 25 2009
给Yan的验证码图片服务做了压力测试。测试环境: Intel Xeon 3.00GHz 4核 内存2G Red Hat Enterprise Linux AS release 4 (Nahant Update 7) Jetty 6 / JDK 6 Jetty采用默认配置 maxThreads 200。 测试工具:ab (Apache Bench) 分别用10/50/100/200/500/1000并发用户,每个用户请求100次进行测试。结果如下: 10 50 100 200 500 1000 Requests per second 487.11 472.09 442.74 421.63 408.11 326.12 Time per request 2.05 2.12 2.26 2.37 2.45 3.07 Transfer rate 987.91 [...]
Published at: 07:12 pm - Thursday December 24 2009
今天下班骑车到高斯路时,突然路边奔出一只小狗跟着我的自行车一起跑。小狗挺干净,出现在这种工业区人不多的路上倒是挺让人诧异。我开始放慢速度,让它跟着我不至于太辛苦。可是它还足够顽皮,一会跑在左边,一会在右边,好像是知道今天过节一样,欢实得很。不过我对路中间不时经过的汽车有所顾虑,有意得向路边靠,打算把它挤到路涯边,这样安全一些。 大约是嫌我速度太慢了,一会后面又上来一个骑自行车的人,小狗顿时起了劲,蹦达蹦达地追了上去。那速度大概是它向往的吧,我在后面看着,直到他们一前一后,过了马路,我从另一个方向回家了。
Published at: 04:12 pm - Thursday December 24 2009
Yan的APIKEY一直是用嵌入式的数据库存储的,最初使用的是hsqldb,最近又添加了H2和Derby的支持,基本上囊括了所有开源的Java嵌入式数据库。实现多了自然需要挑选、比较一下。 数据库特性的比较,H2的网站上有很好的Matrix,一目了然 http://www.h2database.com/html/features.html#comparison 关于速度的比较,今天做了一个简单的测试。 分别从derby / H2 / hsqldb中取出10 、100、1000条数据,循环100000次,比较耗时,如下: 三者的速度差距非常明显,hsqldb远快于其他两个。 而在10、100、1000条记录的索引上查询,并取出指定记录呢,同样是100000次,如下: 再索引上查询,速度受记录数量的影响非常微弱了。但是hsqldb还是远快于其他二者,有趣的是derby的速度要略微快于H2. 根据这样的结果,在Yan的应用中,hsqldb还是最理想的实现。