随笔 - 170  文章 - 536  trackbacks - 0
<2008年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用链接

我参与的团队

随笔分类(103)

搜索

  •  

积分与排名

  • 积分 - 410637
  • 排名 - 134

最新评论

阅读排行榜

IntelliJ IDEA 10.0 发布了,放出 IntelliJ IDEA 10.0 的注册机下载。点击下载
posted @ 2010-12-18 09:56 steady 阅读(5867) | 评论 (4)编辑 收藏
     摘要:   阅读全文
posted @ 2009-12-14 20:06 steady 阅读(10544) | 评论 (26)编辑 收藏

  开始并没有关注这么一个购物搜索的东西,以为只是上网按关键词查查东西,昨天无意中看了说明,发现它远远不是这么简单的东西。它有着一般购物搜索无法相提并论的强大功能,那就是——条形码搜索。

  摄像头对于强大的 Nokia S60 系列手机来说,早已成了标配,扫描条形码等功能,也早就成为手机很容易完成的功能了,但是却很少有人把条形码和网络进一步结合。有道购物搜索是我看到的第一个完成这样功能的软件。其实用起来很简单,手机有个能自动对焦的摄像头和能上网就行了,拿摄像头对准商品条形码处扫描一下,然后会自动上网搜索相关产品,甚至连拍照键都不用按了,一切都是自动完成的。产品数据库也比较丰富,拿身边的小东西随便扫了下,水溶C100,益达木糖醇,各种书籍(书籍的数据库应该是最全的,手边的书全部都能找到)。

  这是一个相当有创意的产品,当然,这个条形码数据库也不是容易得到的,但是这个数据库和后台有道搜索结合,就形成了一个非常完美的应用方式,这应该是我看到的让我眼前一亮的手机软件之一了。

posted @ 2009-08-17 17:26 steady 阅读(2056) | 评论 (0)编辑 收藏

   为了在家里唱K,去拷了个24000首的歌库,然后配置随盘送的后羿礼光卡拉OK软件。或许这个软件太专业了吧,以至于想随便配配就能玩不是件容易的事情。用我机子里装的 KMPlayer 是根本都放不出来的,音乐视频都是没有的,然后拿各种播放器一个个试。用了暴风影音(老版本的,新版是垃圾),完美解码,默认安装的情况下都是可以出视频的,声音是完全没有的。无奈,只得逐一试下各个选项了,最后发现只有 MPEG2 音频编码器设置成 SPDIF 的时候,才会有声音。之前在网上找的各种解决方案都要注册,注册后还没给你个有效的解决方案,要你重装系统什么的,还是靠自己吧。估计是做这套软件的人比较菜,初始化声音只用了默认的一种音频解码方案,而且你还得恰好装了这个解码器才行,否则,一个个试吧。

  用了软件以后,就和歌厅的选歌界面很像了,不然这么多歌曲,用手工选也是很痛苦的事了。

  另外,我用创新 Audigy ZS 声卡 + 得胜 TS-6310 无线麦克风 + 黑钻双子星XP 音箱 + 软件歌库,基本能做一个小小的家庭卡拉OK 中心来玩了。

posted @ 2009-08-17 17:23 steady 阅读(4283) | 评论 (0)编辑 收藏

  为了编译方便我把 servlet-api.jar 和 jsp-api.jar 和其他 jar 包都放在一起,在 ant build 的时候就会一并被拷到 Web 项目的 WEB-INF/lib 下,不过这次因此出现了一个 jsp 页面的编译错误,所有的 jsp 页面打开都会在页面上报编译错误,后台无任何信息。考虑到 jsp 页面的编译可能和 jsp-api.jar 有关,于是将 WEB-INF/lib 下的 servlet-api.jar 和 jsp-api.jar 移走,问题解决。

  后来发现放在里面的这两个包是 tomcat5.5 的,是 JSP 2.0 规范的,而部署的服务器是 tomcat 6.0 是 JSP 2.1 规范的,两者可能有一定的冲突,才导致这样的错误。

posted @ 2009-08-17 17:22 steady 阅读(2551) | 评论 (0)编辑 收藏

  在用 SVN 的时候出现了这样一个小问题,害得我折腾了半天,一个小小的 s 却是罪魁祸首。

  因为项目路径切换,需要从 https://server/trunk 切换到 https://server/tag/1, 不过在文档中后者写成了 http://server/tag/1,恰好 SVN server 用 HTTP 和 HTTPS 都是可以访问的,所以没觉得这个东西有什么错误。不过使用 SVN 做 switch 操作的时候却总是出现 https://server/trunk is not the same repository as http://server/tag/1,感觉很奇怪,问了一下相关负责人,当时也没有发现什么问题,不过还是没法操作,最后无意中把 http://server/tag/1 换成了 https://server/tag/1,一切 ok。

  被这个问题折磨的比较郁闷了,可能是 SVN repository 不能在 HTTPS 和 HTTP 之间切换吧。

posted @ 2009-08-17 17:21 steady 阅读(3002) | 评论 (0)编辑 收藏

  其实嘛,浏览器对大多数人来说,都是每天必用的软件了,不过在国内来说,其实也没啥悬念,IE 占据了绝大多数的份额,在加上个挑战者 Firefox 在占据着国内微不足道的份额,在加上 Google Chrome 以及其他份额更少的诸如 Opera 之类的,估计一百个人也找不到一个在用吧。

  不过嘛,国内倒是有个不大一样的地方,我们国人比较善于做壳,于是我们有很多“国产浏览器”可以用,最著名的或许要算 Maxthon 遨游了,当然这也是我最喜欢的浏览器,也是我上网闲逛必用的浏览器,当然了,Maxthon 这个东西嘛不是太稳定,有时候会出现一些莫名其妙的问题,于是换标准的 IE 来用。当然用 Maxthon 也有用 Maxthon 的道理,一个是同步收藏夹,一个是手势功能,当然还有若干细微的功能也挺不错,弥补了 IE 的不足吧。不过 Maxthon 不能用 IE 的 Toolbar 和 Plugin 之类的,而独创了直接的一套插件体系可谓是一大败笔,于是很多时候为了一些功能,不得不用回 IE,Maxthon 只能成为我瞎逛的首选了。

  说到后起之秀 Firefox 嘛,其实说实话,我对它并不感冒,因为它的速度实在不敢让人恭维,或许 Firefox 让我唯一感冒的东西是 Tor 和 Firebug 吧。更多时候我选择用 Chrome 来替代 Firefox,因为 Chrome 够快,不得不承认,Chrome 是最快的浏览器,特别是在对 JS 的处理上,大大优于前两者。而且启动还有个访问页面列表的大缩略图,对于我这种懒得输网址的人来说,可谓是大大的方便,于是 Chrome 成了我逛技术类网站的首选了。

posted @ 2009-07-07 11:19 steady 阅读(1929) | 评论 (0)编辑 收藏
上午看完变形金刚,这样的娱乐大片看了感觉就是很爽,不用为复杂的情节去思考,紧张刺激的情节中不乏幽默,最有意思是看到我们公司(Cisco Webex)在变形金刚2里做的远程恋爱系统的广告。

Cisco Webex Transformers2

Cisco Webex Transformers2

posted @ 2009-07-06 14:13 steady 阅读(1926) | 评论 (0)编辑 收藏

  在Java世界里打拼也好几年了,也看到了各种不同技术的浮浮沉沉,倒是发现了一个简单的规律,最简单的东西往往是最有用的,简单的软件也是种美。

  在 Java Web 领域,曾经有无数各种各样的框架,Struts1/2,JSF,Echo1/2,Tapestry,Wicket,等等等等了,这么多不同的框架代表了两个不同的方向,除了 Struts 这个是基于请求的,其他几个都是算是事件驱动的,但是后面几个在整个市场上所占的份额也赶不上 Struts 一家。HTTP 请求本来是很简单的,而 Struts 就是基于这样简单的概念,但是却有无数人希望重现 VB 时代的那种拖拖拉拉的编程方式,希望用事件驱动一切,但是大部分人都失败了。失败的原因也其实不那么复杂,有的是不够成熟,像 JSF 这样被 Sun 官方大力推崇的框架,但 Ajax 出现的时候,JSF 中想灵活的用 Ajax 都成了一种奢望,有的是资料太少了。像 Echo2 这样的框架资料,少的跟珍惜保护动物似的。

  当然也不是没有成功的,微软凭借其强大的开发实力,和开发工具的配合,加上没有给 ASP.net 用户更多选择余地,取得了无人匹敌的成功。但是这个成功在 Java 世界是不会拥有的,Java 世界没有微软这样的巨头,Java 世界中拿得出手的几个开发工具,Eclipse,Netbeans,IDEA,在所见即所得的开发上远远的落后于 Visual Studio。相比微软帝国,Java 世界多的是中小型的,开源的工具产品。规模上都远远落后于微软,Java 世界唯一可走的路便是简单了。对 Java 世界来说,简单不仅仅是种美,更是生存之道。

  起初作为 Java 世界 PK 微软产品的重头戏,EJB 在学院派的力捧下诞生了,EJB 似乎从来都不打算让人活的轻松,一个简单的东西非得搞的复杂无比才行。而且其持久层 Entity Bean,似乎连基本功能都没能实现,更别谈大规模使用了。EJB 1/2 的时代是开发人员永远无法忘却的噩梦。

  Java 世界也从来不缺活跃分子,Rod Johnson 这个有种音乐家气质的牛人凭借自己多年的积累,推出了 Springframework,这样一个基于 IoC 和 AOP 两个概念的简单易用的框架,完成了很多起初只有 EJB 才能完成的工作,Spring 也一夜成名,成为 Java 世界使用最为广泛的轻量级应用框架。

  几乎是同时,来自澳洲的小帅哥 Gavin King 也在用一种与众不同的方案去替代现有比较复杂的 Java 持久化方案,最后他的 Hibernate 也成为替代原有 EJB 持久化方案的选择。相对简单的 Hibernate 也取得了巨大的成功。

  其实这样的例子在 Java 世界也非常多,以至于后来来自于 Ruby 开发社区的 Ruby on Rails 的出现,给了 Java 开发者当头一棒,原来还有更简单的做法哦。于是 Java 世界慢慢的开始对多种脚本语言进行支持,包括 Ruby,以及后来自创的 Groovy。以此去打造类似 RoR 那样简单的开放方式。

  生活其实是很简单的,软件开发其实也是一样,用简单的方式,去打造简单的软件,Java 世界用无数失败的教训证明了这一点。像我呢,也喜欢用这样简单的方式去工作,最喜欢 IDEA 去写代码,最喜欢 Struts2 + Spring2 + Hibernate3 这套组合,最最喜欢的是简单,因为简单是最美的工作方式。

posted @ 2009-06-23 16:08 steady 阅读(3223) | 评论 (6)编辑 收藏

  为了实现工作流中对脚本的支持,简单的玩了一下 BeanShell,这个小小的嵌入式 Java 代码解释器可以将  Java 语言像动态脚本一样执行,几行命令,它就能把一段 Java 代码给玩转。

  工作流中有个这样的简单案例,当一笔单子金额大于 50万时,应该将任务分配给 Senior Agent 处理,否则交给 Junior Agent 处理,我们用 BeanShell 简单模拟这段脚本。

    public static void main(String[] args) throws Exception {
        Interpreter i = new Interpreter();
        i.set(”price”, 1000000);
        i.set(”user”, “”);
        i.eval(”if(price > 500000)\n” +
                “user = \”SeniorAgent\”;\n” +
                “else \n” +
                “user = \”JuniorAgent\”;”);
        System.out.println(i.get(”user”));
    } 

  运行结果是打印出了:SeniorAgent

  可以看出,BeanShell 用非常动态化的方式,完成了我们一个简单的案例的处理,这里,我们只需要将需要解析的 Java 语言的脚本交给 BeanShell 的 Interceptor,并把脚本中用到的参数值传入,就可以了,最后,我们把运算结果赋给一个变量,然后获取变量结果,就可以了。

  看到 Developer Works 网站上有一篇 BeanShell 实现公式管理的文章:http://www.ibm.com/developerworks/cn/java/l-formula/index.html,可以参考一下。

From:
http://www.steadyxp.com/archives/851.html

posted @ 2009-02-26 09:56 steady 阅读(3258) | 评论 (1)编辑 收藏

  服务器上用 HttpClient 远程调用另一台服务器的一些资源,但是用 netstat 查看经常出现了很多的 CLOSE_WAIT 的连接,最后追查原因,是因为 HttpClient 的 method.releaseConnection() 并不是强制释放连接,为了减小连接数,使用了如下解决方案。在 HttpClient 完成请求后的 finally 块里面这么写。

    } finally {

           if (method != null) {

              try {

                  method.releaseConnection();

              } catch (Exception e) {

                  logger.error("-------> Release HTTP connection exception:", e);

              }

           }

           if (client != null) {

              try {

                  ((SimpleHttpConnectionManager) client.getHttpConnectionManager()).shutdown();

              } catch (Exception e) {

                  logger.error("-------> Close HTTP connection exception:", e);

              }

              client = null;

           }

       }


原文:http://www.steadyxp.com/archives/832.html
posted @ 2009-02-23 13:49 steady 阅读(4369) | 评论 (0)编辑 收藏

前两天 IntelliJ IDEA 8.0 发布了,在第一时间放出 IntelliJ IDEA 8.0 的注册机下载。点击进入下载页面 原版下载

posted @ 2008-11-10 16:54 steady 阅读(15400) | 评论 (12)编辑 收藏

  从淘宝第一个开始屏蔽百度以来,国内很多主流的 SNS 网站和大型的内容性质的网站都开始或即将开始屏蔽百度了,这些网站包括校内网、海内网等国内主要SNS网站,以及搜狐博客、51.com等网站。从SNS社区的说法,他们屏蔽搜索引擎是为了保护用户的隐私,但更多的是在保护自己的利益,比如说淘宝是在保护其极为客观的商品信息,而SNS是在保护对其最有价值的用户信息,特别从搜狐博客来看,更多的是希望提高其搜狗搜索的内容价值,总的来说,东西绝非单纯,纯粹是一种商业上的运作了,淘宝网敢第一个站出来跟百度斗,其他预谋已久的各大SNS网站跟着后头就跟着杀出来了。

  这段时间百度又跟三鹿奶粉事件牵扯上了一些不清不楚的关系,搞的百度最近也疲于解释这些事,当然大家也不会真的相信这种解释了,因为百度在搜索结果人工干预上已经受到非常多的人的抱怨,我们也完全相信百度能干得出这样的事情,具体是因为这次风险大还是嫌钱少了没有去做,我们就不得而知了。

  附一些主要网站的 robots.txt 文件,证明一下百度是如何被屏蔽的。

http://www.xiaonei.com/robots.txt
# Robots.txt file from http://www.xiaonei.com
# All robots will spider the domain

User-agent:BaiduSpider
Disallow:/

http://blog.sohu.com/robots.txt
User-agent: Googlebot
Disallow:

User-agent: baiduspider
Disallow: /

User-agent: Nutch
Disallow:

User-agent: *
Disallow: /

http://www.taobao.com/robots.txt
User-agent: Baiduspider
Disallow: /

User-agent: baiduspider
Disallow: /

From: Steady Blog 国内主流SNS开始屏蔽百度

posted @ 2008-09-17 17:15 steady 阅读(3657) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2008-09-15 22:24 steady 阅读(2622) | 评论 (0)编辑 收藏

  看到在 DBA Notes 的文章(支付宝 + Firefox)说支付宝已经开始支持 Firefox 了。

  目前支付宝对 Firefox 支持的说明:
  1. 支持 Windows 平台的 Firefox ,支持版本:Firefox 1.5、2.0、3.x;届时还将提供自动安装功能,现在准备尝试的用户可以到 Mozilla 站点上
下载支付宝安全控件(AliPay Security Control)(也欢迎广大 Firefox 爱好者在留言中给我们提一些反馈意见);
  2. 目前在 Windows 平台下的 Firefox 下暂时还不提供对安全证书的支持,但是对安全证书的支持已经提上日程;
  3. 对 Linux 平台下 Firefox 的支持已经在内部测试中,预期近期内即可发布;

  可以说,这个是网银及电子支付业务的一大进步,支付宝可以说是第一个支持 Firefox 浏览器的支付解决方案,是第一个没有使用 ActiveX 实现的解决方案,同时,据支付宝方面的说法“我们目前所开发的 Firefox 插件,未做任何修改,就可以较正常运行在苹果的 Safari,和 Google 的 Chrome 浏览器上。经过分析发现,除了接口方案稍有区别,其大体的结构,还有页面的Embed 标签等都是兼容的,相信经过后续的改进,为 Firefox 所开发的安全控件和所修改的页面,只花很小的代价就可以运行在苹果和谷歌的浏览器上”,对于这方面技术的研究,不光是实现了一个功能,更重要的是,证明了在于非 IE 浏览器下同样可以实现类似 ActiveX 的功能,这样为 Firefox 和 Chrome 浏览器的后续发展提供了有力支持,虽然我用的最多的是 IE,但是 Firefox 和 Chrome 都有令我舍弃不得的好用功能,我想在多家浏览器竞争中,我们会得到更多更好的东西。阿里巴巴是一个重视技术,重视创新,有远见的好企业,赞一个,相反,在相同的电子支付领域,国内多数主流银行的网银服务在这方面几乎不做任何技术创新,改进现有蹩脚的产品,让用户长期忍着去用他们让人作呕的产品,相比较而言,阿里系的主要产品后面都有 UED 的工作,因为用户才是他们最重要的。

From: Steady Blog - 支付宝终于支持Firefox了
posted @ 2008-09-14 22:03 steady 阅读(3517) | 评论 (4)编辑 收藏

  在 Web 2.0 的概念被极度热炒,Ajax 这样旧瓶装新酒的技术的应用场景被极度放大,因为 Google 做 Ajax 大家都跟着做,但是这样大家往往忽略了另外一个更为简单有效的 Web 端应用平台 Flash,其实,很多应用场景下,我们可以用 Flash 轻松构建出非常漂亮的互联网应用。通过最近的一些爬网的使用,找到了一些国内外的一些优秀的 Flash 应用平台,来和大家做一些分享。

  首先要介绍的是Buzzword,它的前身是 buzzword.com,前几个月已经被 Adobe 收购,这是一个很炫很好用的在线版 Word,这个来自于 Flash 东家的东西还是相当的夺人眼球的。直接打开了他的 demo,我们可以看到下面这样的编辑效果。

  第一次使用 Buzzword 就被其几乎和 Word 相似的流畅的编辑操作,强大的表现效果所震惊,无论是文字编辑功能,还是非常灵活的图片自由布局,以及简单好用的表格编辑功能,包括批注等,用起来都是非常的顺手,丝毫感觉不出这是在 Web 上使用,在线编辑的文件可以自由的保存在网上或是共享给好友,甚至能方便的导出成 Word,PDF 等格式的文档,同样他还能导入我们在本地编辑的 Word 文件,继续在 Web 上编辑使用。

  当然美中不足的是,Buzzword 暂时还不支持中文,我们只能编辑英文的文档,另外它的编辑功能和 Google Doc 这样的前辈比起来,也是有一定差距的,它的在线协作功能,和 Google Doc 这样的强手比起来还是逊色不少。

  总体来说,buzzword 给我们一个全新的体验,原来我们在浏览器里也是可以如此流畅的使用和 Word 这样的应用,不得不说,在此方面,Flash 相对 JavaScript 是技高一筹。

  下面我们再来看看一个 Flash 版的在线视频系统,来自于 Webex,这个当今世界上最大的网络会议系统提供商,同样也是顶级的 SaaS 服务提供商,最近也在尝试着推出了几款基于 Flash 的网络会议系统,我介绍其中一个比较酷的,Video Room,是一个在线的多人视频聊天室。因为是 Flash 的,也就不需要下载客户端,也不要装 ActiveX 控件了。

  在 QQ 或者其他聊天工具上,我们也会看到同样的效果,但是,想想看我们其实是很幸福的,因为我们有 QQ,老外可就没这么爽了,MSN 或者 Skype 还没有这么强的多人在线视频呢,在网页上就能玩转视频聊天,还是个很酷的,特别是当你能即时接收到新的视频聊天请求时实时弹出的仿 MSN 的对话框,让你感觉不到这其实是一个网页。不过这个 Video Room 只提供给我们最基本的视频音频功能,不过拉一帮久未谋面的兄弟进来吵吵闹闹还是很适合的哦。

  看完了一些国外大公司做的 Flash 应用,我们再把视线集中到国内,让我们看看联想实验室给我们带来的一些有意思的东西,其中我们可以看到一个叫做 Best4c 的在线版绘图工具,可以说这就是一个在线版的 Visio。

  我们可以用像操作 Visio 一样拖一些组件到编辑区域,然后用线把他们连起来,拼成我们需要的图,如果这不是在浏览器里面进行的操作,我们或许真的会把他当成本地运行的软件呢。Best4c 另外还提供给我们一套在线版的 PowerPoint 工具,让我们可以在线的制作自己的 PPT。虽然总的来说,best4c 提供的东西不是很产品化,使用起来不是太人性化,但是他也向我们证明了,国内在这方面的开发也在进行中,我们也在努力的和世界一同进步。

  从以上一些应用我们可以看到,其实我们一直以来几乎可以说是赖以为生的 Office 系列软件,在线通讯软件,通过 Flash 强大的图形功能,让传统的单机应用变成了网络应用,无论是在效果上,还是开发成本,和纯的 HTML + JS + CSS 的传统 Web 应用架构相比,有了较大的改进。从 Flash 成为 Adobe 的一个重要成员,Flash 就开始一步步的蚕食互联网,前几年 Flash 携 FLV 几乎是将微软的 WMV 和 ReadNetworks 的 RMVB 两大流媒体从在线视频上彻底的赶了出去,而这几年,Flex 的推出,让企业应用的前端开发变得简单,去年推出的 AIR 则是更加深化了 Flash 平台在个人电脑中的影响。这一切我们可以看到,Flash 正以前所未有的速度改变着互联网。如果你现在在为企业应用的前端界面而头疼,Flex 可以帮你找回当年 VB 时代的感觉,如果你在做工作流平台的在线流程编辑器,或许你可以考虑一下 Flash,它或许能让你更简单的开发这样的图形应用。

posted @ 2008-09-08 15:44 steady 阅读(1880) | 评论 (1)编辑 收藏