-
Java profilor
2003-07-01
同事写的java程序执行很慢,但又找不出原因。我想起C程序可以通过profiler来检查时间耗在什么函数里面,java应该也有类似的工具。Google一把,找到以下几个软件:
- Mike's Java Profiler http://mjp.sourceforge.net/
- SD's Java profiler tool http://www.semdesigns.com/Products/Profilers/JavaProfiler.html
- ej-technologie's JProfiler
http://www.ej-technologies.com/products/jprofiler/overview.html
这是商业软件,从screenshot看功能很多,界面很漂亮,但只有试用版本 - JProbe Profiler http://java.quest.com/jprobe/profiler.shtml
这也是商业软件,JProbe还有一系列用于java测试的软件
在JAVA developer's journal的best java profiler/test tool投票中,JProfiler和JProbe名列第一和第三。
- Mike's Java Profiler http://mjp.sourceforge.net/
-
版本控制的软件
2003-06-11
网上找到一些版本控制的软件。
一个是TortoiseCVS(http://www.tortoisecvs.org),是CVS client as windows shell extension,能够直接在explorer里面用右键菜单来操作。它是基于WinCVS代码开发的,与WinCVS各有千秋吧,WinCVS的功能更全面些。
另外一个是TortoiseSVN(http://tortoisesvn.tigris.org/),是for subversion的。这个更另我感兴趣,因为我看好subversion,它比CVS更有技术优势。安装试用了,使用local repository时不需要安装subversion server,看来可以用它来管理自己的代码、网页等等了。
另一个是我也很关心的SVN-UP(http://svnup.tigris.org/): Java client gui for subversion and plugin for idea ide. 因为我喜欢用IDEA,不过这个软件还很不完善,要等以后的版本了。
-
在关系数据库中保存树状结构
2003-06-02
看了 Trees in SQL 这篇文章, 提出了一个巧妙的方法来在关系数据库中保存树状结构. 在记录中不是保存父子关系, 而是记录着树的遍历的编号, 通过利用编号可以在单个SQL语句中获取某个节点的所有子节点等操作.
据介绍, 著名论坛jive在2.5版本起增加了catalog, 就是用这种方法实现树状关系帖子的保存.
http://searchdatabase.techtarget.com/tip/1,289483,sid13_gci537290,00.html
需要注册一个帐号才能进入上面的连接. 本来想直接帖出来, 可是转贴后格式会乱 -
给WebCatcher作者的建议(个人开发软件的开发管理问题)
2003-05-28
WebCatcher是我非常喜欢的一个软件,作者很热情的在论坛中解答问题、了解意见。我觉得个人开发软件同样存在着软件开发管理的问题,这是我写给他的一个建议:
估计这段时间老魏也够烦的:)问题一个接一个,用户意见也不少。。。我对这个软件还是很欣赏的,作者的技术水平也不错。不过这次在版本升级的过程中暴露出了在开发管理中的问题,呵呵,一个人写程序也是要有开发管理的,因为随着软件规模增大、复杂性增加,遇到的问题也会越来越多。不知道作者有没有用版本管理软件来管理源代码,用版本管理软件的分支-合并功能可以做到同时维护旧版本的bug和增加新版本的功能,另可避免同样的bug重复出现。已发布版本可以不断出bug fix版本,但不包括新功能;开发中版本包含新功能,可以定时发布供测试。大多少用户还是希望软件把工作稳定放在第一位的,而不是当测试者。软件的发布的细节也不够细致,例如供下载的测试版本没有区分版本号,没有详细change log。无论修改得多还是少,只要是公开/半公开发布的,都必须要有不同的版本标识,小改动的发布可以只更改子版本号或者build序列号,但一定要能跟旧版本区分。change log是让用户(也是让开发者自己)知道各版本的区别的,也不应该省略。上次提过这个意见: http://211.92.136.88/~wsj/BBS/viewtopic.php?t=578
其实并不是说要让用户自己去添加bug信息,这个还是应该由作者(或者找一个专人)做的,将用户反馈收集整理后添加。用不用专门软件也不是很重要,专门软件用起来方便些,不过开始的安装配置和学习使用也麻烦,重要的是有这样的流程,并且能给用户反馈。例如,用户发现了问题,一查就可以知道这个问题是否意见被别人发现了,在哪个版本已经修正,或者是有什么临时的解决方法。作者与用户沟通的态度很令人赞赏,回答问题、接受建议都很认真诚恳。不过有些细节上还可以更进一步,例如用户发现一个bug,作者马上说“谢谢,我会尽快改进”,用户会很高兴,因为作者重视他的意见。可是,这个bug什么时候修改了,在哪个版本中?没有了下文。用户只好一个个版本下载试用,然后发现自己提到的bug还是存在,而且还多了一些新的问题,长久下去可能就会厌烦而放弃这个软件了。作为用户,关心的是软件是否能符合自己的需求,如果他某一天在新版本change log中看到自己提出的问题意见解决了,才是真正的心满意足。个人做软件比起大公司的优势也在于可以跟最终用户更加贴近,实际上,好的个人软件的用户忠诚度往往比大公司的软件更高。另外给个建议,作者的免费终生升级策略以后也许要考虑改改,否则你只能靠发展新用户来获得收入,而随着用户增加,支持的压力却越来越大。用适当的金钱来换取良好的服务、功能升级,对于用户来说也是很合理的。老实说,如果作者因为经济原因不能继续软件的开发维护,对于已有用户来说是更大的损失。 -
Garmin Rino 110 试用
2003-05-16
Garmin Rino 110 是一款GPS/对讲机二合一的产品。
我从朋友处借得一对,试用了一周时间,把感受说说。
【外形】
Rino的外形更象对讲机,而不是GPS。比起一般民用对讲机体积重量都要大一些,特别是天线比较夸张。相比起来eTrex系列的机型会更加轻巧些。不过Rino握在手里的手感还是相当不错的。
Rino的屏幕面积偏小,相应的象素也少了,我认为这是比较大的一个缺点。我用惯了GPS 76,这小屏幕让我很不习惯。对于Rino 110来说,这个象素值还算是够用的,但我估计对于带map的Rino 120就不够了,看地图时屏幕越大越好用。
与Garmin的大多数机型一样,都是符合IPX7防水标准,具体标准忘了,好像是1米水深多少分钟什么的。反正对于中小雨和意外落水都不会有问题,至于要拿着它游泳就难说了:) 不过也有用户评价中提到,他忘了把rino从衣服里取出来,放洗衣机里洗了,拿出来后一点问题都没有。
【操作】
我接触过的Garmin的民用手持GPS基本是两种风格的操作界面,一个是GPS系列,一个是eTrex系列。Rino应该是属于eTrex风格,这种风格使用了一些图标、动画,看来是与产品定位有关,定位为消费类电子产品,相对GPS系列的专业型较为人性化一点。具体喜欢哪个就见仁见智了,我就习惯GPS系列的界面,清晰明了;但也可能一些用户会喜欢eTrex系列的界面,亲切简单些。
Rino 110用于GPS操作的只有2个按钮和一个方向按钮,方向按钮可以向四个方向拨动,另外垂直按下的时候起确认的功能。这个方向按钮大大减少了体积,不过也有问题,垂直按下的时候很容易用力稍偏,变成了按下方向。GPS 76的功能键有7个按钮和一个方向按盘,在操作上便捷很多,Rino中需要在菜单中选择或者用按键组合的操作,在GPS 76中直接有专用按钮。
我用惯了GPS 76,感觉Rino的操作比较麻烦。在这方面,GPS 76比起eTrex/Rino系列是胜了一筹的(eTrex的按钮也没有GPS系列的齐备)。相比GPS 76,Rino的屏幕不够大,按键少,限制了它的操作的直接性。不过,Rino有个优越的地方是输入字母时屏幕显示一个键盘出来,比起GPS 76要从A、B、C、D一直按下去方便多了。
【GPS功能】
对着说明书一项项使用了Rino 110的GPS功能,感觉与GPS 76相差不大,基本上所有功能都齐备了,虽然有些功能的使用方法有所不同,或者能力上稍有差异,例如GPS 76的用户定制项更丰富些。我估计,相近档次、相同应用范围的机型,在功能上都不会有多大差别的,如果关心具体功能的,建议到Garmin网站上下载说明书来看。
从功能上可以看出,Rino是一个专门为户外活动而设计的产品。例如它有垂直上升速度的显示,可以看出当前平均每分钟上升或下降了多少米,这个功能在别的机型没有见过(可能带气压海拔表的Vista会有)。
Rino 110比起GPS 76多了日历、记事、闹钟、秒表、游戏等功能。GPS 76是航海、户外型的产品,多了些航海用的功能。在某些功能上,GPS 76稍为显得“专业”一点,但我觉得Rino 110的GPS功能对于户外活动来说是完全满足要求的。
Rino有数据线接口,可以与电脑连接,在电脑与GPS之间传输数据。数据线需要另外购买,如果要充分发挥GPS的功能,建议还是配上数据线,在电脑上用OziExplorer/MapSource之类的软件来做路线规划、路线分析非常方便。
【GPS性能】
Rino和GPS 76系列一样,都是采用螺旋天线的,据网上资料说螺旋天线比起eTrex系列的patch天线接收效果要好。根据我使用GPS 76的经验,对GPS 76的接收效果相当满意,这次粗略的比较了一下Rino 110和GPS 76的接收能力,感觉不相上下,不过具体效果还是要等在野外环境使用过才能有体会。eTrex系列我只用过最低档的普通eTrex,树林中接收效果不好,不知道高档些的Legend/Venture/Vista等是否有改进。
另外,在开机搜星时,锁定卫星信号的时间好像比GPS 76要稍长些,只是感觉,没有测定过。开机后的工作很正常,已经锁定的卫星信号在丢失后再次接收到时能立即锁定。建议在一个开阔地方开机,停留等待GPS接收锁定尽量多的卫星,这样在后面的数个小时行进过程中都能保证有效捕获卫星信号。这个方法对于任何GPS都适用。
【对讲功能】
对讲功能工作在FRS/GMRS频段。FRS频段发射功率0.5w,GMRS频段发射功率2w,但我在对比使用中感觉GMRS的发射功率可能达不到2w。它使用的频段与中国大陆的民用频段不同,不能与T6200c之类的对讲机通讯,但可以与国外带入的FRS对讲机通讯。
用一对Motorola T6200c(国内民用频段)与Rino 110(FRS频段)在市郊山野公园做对比测试,不知是否与地形、干扰等因素有关,两对对讲机的效果都不理想,但对比起来,Rino的对讲效果不如Motorola T6200c,Rino音质不够清晰显得较沉混,在距离远时Rino的通话断续现象要比Motorola更为严重。
我觉得Rino的通话效果不佳是它的另一大缺点,让它的价值打了折扣。
【座标传输】
出门时,你可以同时带一个GPS和一个对讲机,但有一点是做不到的:座标传输。
Rino可以在每次通话时发送自己的座标,其他机器接收到后就会在map上显示出对方所在的位置来,并且能够将每次座标变化连接为轨迹。用户可以设置自己的名字和图标。在户外活动中,这个功能极其好用,只要大家保持定时通话,在GPS上就能看到各人的位置、距离、行进路线。我认为这是Rino最有价值的一个功能。还有WayPoint发送功能,也是Rino所独有的。
只有在使用FRS频段时才能传输座标,使用GMRS频段时不行。这样使得GMRS频段没有什么使用价值了,因为座标传输非常有用。
根据FCC的规定,座标传输时间间隔必须大于30秒,如果离上次发送座标的时间不够30秒,即使按通话键,它也不会把座标发送出去。这样的限制带来了不便,例如通讯质量不好的时候可能对方不能成功接收座标,那就至少要等30秒才能再次传输,造成座标不能保持更新。不过FCC的规定硬件厂商只能按着执行了。
新的软件版本还增加了座标查询功能,也就是主动要求对方提供座标,而不是被动的接收。不过我测试的这两台都还没有升级软件。
【供电】
使用3节五号电池,可以使用NiMH充电电池。如果用充电电池,充电也许有些麻烦,因为大多数充电器都是要两节一起充的,而它用3节,如果能找到能对单个电池充电的充电器,对电池寿命也许有些好处。没有测试过耗电量,不过根据使用其他机型的经验,GPS和对讲机都是很耗电的,估计出门还是要多带电池才行。
【我的评价】
Rino的产品定位是面向“非技术型”用户,专门适应于户外活动用途的。基本上可以认为它是源自eTrex系列产品。
这款机型很适合于户外活动爱好者使用,提供了户外活动中需要的GPS功能(可以说是全部功能),接收效果应该不错。使用简便,不难学习,但是缺乏一些面向“技术型”用户的高级特性。带有FRS/GMRS对讲机功能,但是,对讲机部分的性能一般,通话效果比不上Motorolla的民用对讲机。要注意它使用的频段与中国大陆的民用频段不同,不能与T6200c之类的对讲机通讯,但可以与国外带入的FRS对讲机通讯。独特的传输座标功能,可以跟踪定位其他用户,确认位置、距离,对于在野外行进非常实用,适合户外活动中的团队内通讯。
此机优点在于GPS、对讲机二合为一,在户外活动中能少带一件东西,可以带来很多方便,而且两者结合的特有座标传输功能很有实用价值,起到了1+1>2的效果。但缺点是GPS、对讲机独立来看都达不到同类产品的优秀水平,特别是对讲部分。GPS部分Rino 110也许与eTrex Venture同一档次,Rino 110在功能、接收上略占优势,屏幕大小上占劣势。不过这个比较没有考虑价格因素,从价格角度考虑,它的市场价格还是相当实惠的,关键要看购买者在性/价之间如何权衡。
由于屏幕小,摆放也不方便(不知道是否有支架配件),不适合于用车载使用。不建议购买带地图功能的Rino 120。
本人拥有GPS 76,所以主要是用GPS 76与Rino 110作比较,但老实说这样对rino有点不公平,因为GPS系列是比eTrex、Rino系列要高一个档次的(从价钱就可以看出来)。
以上为试用过程中的个人感受,已尽量客观的描述,但也包含了个人观点。由于认识有限,不能保证内容的准确性,仅作为参考,选购产品时还是要根据自己的因素来判断。另外,未经本人同意,不得将本文全部或部分内容用于商业用途。
Garmin产品的参数比较可以查这个网址:http://www.garmin.com/outdoor/compare.jsp

