近段时间,虚拟现实是个很火的话题,很多公司都在搞这个方向。最有影响力应该是网络游戏secondlife,这是一款通过3D环境构建的新一代的社区,今天试了一下,确实不错,完全超越了现在的blog,forum等,在上面你可以随意的行走,与他人交谈,更厉害的是,你可以通过虚拟世界进行交易和买卖,你得到的不光是娱乐,更是赚钱的一种方式。今天创建了一个帐号,配置好一个虚拟人物后,就开始了我的second life,感觉还不错,一个好心的MM给了我很多帮助,教我怎么在虚拟世界里生存,只怪我英语不好,交流起来有些费劲。 IBM也注意到这个方向,最近推出了Innov8,这是一款模拟Bussiness的3D虚 ...
开源项目已阅读了不少,总结下来按照下面的steps来操作比较恰当: 1)阅读features。以此来搞清楚该项目有哪些特性 2)思考。想想如果自己来做有这些features的项目该如何构架 3)下载并安装demo或sample。通过demo或sample直观地感受这个项目 4)搜集能得到的doc,尽快地掌握如何使用这个项目 5)如果有介绍项目架构的文档,通过它了解项目的总体架构,如果没有,通过api-doc了解源码包的结构 6)分两遍来阅读源码。第一遍以应用为线索,以总体结构为基础,阅读在应用中使用到的类和方法,但不用过深挖掘细节,对于嵌套调用,只用通过函数名了解最上层函数的意义,这一遍的目的 ...
Filter是Web编程里一把利器,它本质上就是一个拦截器,但实际应用中很灵活,用途也很广,下面是本人在开发中对filter应用的一个小结: 1)转换字符编码 中文网页编码常用的就是gb2312或是UTF-8,但TOMCAT会默认用编码iso-8859-1,所以需要把所有经过TOMCAT的中文字符进行转换,如果手动在request里改很麻烦,可以用一个filter对所有的request进行拦截,进行编码转换,一劳永逸 2)管理Hibernate的session 在Web 里用Hibernate常常是把session绑定到线程,但往往要求一个session在一个请求的活动中都有效,这样可以保证同 ...
当用惯了eclipse, vs.net, netbeans等强大开发工具后,再用vi编写shell script时顿有一种清新的感觉。免去了漫长的启动的时间,免去了一堆堆的插件,免去了所见即所得的操作,vi给我来了是一种重归原始的感觉。但这种感觉非常的爽,最能展现程序员的内功。当大家都还在无休止地讨论J2EE和.net的优劣,讨论eclipse和vs.net的谁更强大的时候,我非常诚恳告诫所有程序员,若真的想在技术上再登一个台阶,多搞些这些底层,朴素的东西,有另一种风味哦
得知是去IBM搞测试的时候,我并不太情愿,因为在中国程序员心目中,测试都是些很低等的工作。但当我真正深入项目的时候才发现了工作的价值,我越发喜欢上我的工作。 项目主要的工作就是对IBM的几个核心系统进行集成测试,主要测试产品集成在一起使用的时候产生的各种问题。我们先要和北美开发团队沟通,确定测试用例,然后我们去搭建scenario,用shell,Jacl,Jython,RFT开发测试用例,然后使用各种自动测试工具进行测试。工作看上去很简单,但做起来并不容易,光那些产品就不好使用,IBM的产品是出了名的不好用,我们要把Webshpere,Portal,DB2,Process Serv ...
   因项目需求,需要一个用户可定制的报表系统,本以为是个很轻松的工作,因为开源社区中有很多很强的开源框架,如JasperReport,openReport,birt等等,但仔细研究以后都很难满足我的需求,关键不是它们的功能不行,主要是他们都基于配置模板文件,虽然都提供了很好的Gui工具,可以很轻松绘制报表,但这都是基于给用户定制报表,如果想让用户定制报表该怎么办?我所说的定制包括,报表样式,group,列,实体,排列规则,筛选规则,及输出格式(html,word,excel,pdf).刚开始我的想法是先让用户提供各种定制参数,然后根据这些构建模板文件(大多是xml格式) ...
   本来有个老师找一帮学生,想搞一个web项目,想法很好,我也参与其中,结果那帮学生今天突然罢工,说什么没动力,真是有点心酸,并且有了些关于在学校搞项目的一些想法    起初,我总以为以学校学生为班底的团队是一个很有竞争力的团队,因为都是大学生,并且还有很多研究生和博士生,人员素质应该是没话说,学校又提供了很好的机器,这样的团队拉到外面去应该有得一比。后来,通过参与了几个项目才发现,这样的团队最没竞争力,不但效率低,就连是否能完成项目都没有保障。其原因有这么几点:1)学校项目管理比较松散,没有集中的开发环境,难以对人员进行管理。2)多数学生达不到 ...
   着手开发报表框架已有一个星期,总的来说还比较顺利,现在可以定制基本参数,包括组,相关实体,列,签名,时间等。可以输出为网页格式,马上就可以支持excel和pdf格式的输出,因为接口都已定义好,所以就简单支持多种格式输出应该难度不大,但今天在看poi文档时,猛然发现有个重要问题没有考虑,就是关于打印。要想让用户在输出报表后不用调整直接打印,难度可不小,关键一个是页码分页,还有一个页码匹配,这些都是原来没有思考过的问题。除此之外还有很多细致问题没有处理,比如,让用户定制样式,调整列顺序,定制统计规则,定制查询参数。晕,真有点不简单。不过这个确实蛮值得搞一下,一个是像这样 ...
   通过几次的项目经历,我发现了自己一个很大的毛病,缺乏测试意识。往往会发生这样一种状况,对于开发完的模块自己用得没问题,但经不起别人的测试。给刘老师做的citytone是这样,给夏老师做的datastruct也是这样。仔细分析起来原因有这么几点:1)自己太浮躁。完成了一点东西就有些自满,2)缺乏专牛角尖的素质。很多时候没有深入进去。3)自己测试时数据过于理想。没有考虑多种数据情况。4)缺乏有效的测试和调试手段。多数时候就已看到结果为准,没有考虑效率,安全等其他问题。所以,测试确实是一个很深的学问,决不是可有可无的玩意,没有完善的测试,软件就是一堆内含火星的垃圾,没人愿 ...
     现在市面上的程序员大致可以分为两派,微软一派,开源一派。微软一派有这样一些大致属性:比较依赖编程环境,喜欢环境一体化(操作系统+IDE+数据库+服务器),喜欢所见既所得,喜欢破解和注册码,喜欢n个x组件,喜欢拿来就用,排斥非微软的东西。开源一派以linux,java,php程序员为主,有这样一些大致属性:有合作欲望,喜欢有n种选择,喜欢免费非破解,喜欢探究其本质,喜欢把所有程序都做成公共组件并开源给他人共享,喜欢别人对自己东西作出评价并做n次修改,喜欢不断重构并以此为乐,厌恶依赖与某件事物,厌恶使用那些不能查看源代码的东西,害怕失去控制力。 ...
   最近终于体会到为什么提高编程技术必须参与实际项目了。如果一个程序员成天浸没在书本中,没有接触到客户最真实的需求,他的程序也失去了生命力,禁不起实际应用中的考验。对于那些看了很多书的人来说,struts很简单,spring很简单,ajax很简单,但若要真的想让用户用起软件来很舒服就不简单了。昨天把报表框架初始版本搞完,开始准备集中处理客户的反馈问题,这时才意识到自己所构想的软件和客户需要的软件的差距。自己构想的软件是理想化的,大多是是符合自己编程习惯但不是面向客户的。客户的那些要求看似很简单,但真正要满足这些难度可不小。比如,客户要求在所有的添加信息的页面中的保存按钮 ...
    前天去老刘那儿处理手机程序,顺便看看他又在搞什么新玩意(他总是有新的东西),结果被他的ubuntu的3D桌面给吸引了。结合了vista和apple特点的桌面就是他妈的炫。想来也惭愧,几次决心摒弃Windows,几次又放弃了,关键还是在于自己没有那个耐心,也怪自己不具备那种将技术钻研到底的精神。     回到家后又开始捡起我的ubuntu系统,花了一晚上时间,把该装的装了,包括那个酷毕了的beryl桌面系统,感觉还真不错,娱乐,编程,办公,网络等等一整套都具全。并且我也决定把salesup项目改在ubuntu系统中开发,反 ...
    最近在学习算法和写代码的时候,会时常看看jdk api源代码(在eclipse只用ctrl+左键),看多了后发现很有益处,不仅可以更清楚你调用函数的用法,并且你可以学习到大师们的编程规范和思想。看BufferedInputStream时可以学习到该怎样构建缓存,看Stack,quene,List,Map时可以学习到很多数据结构知识,等等。所以,对于学习技术一定要耐心,一定要更进一步,不光是要学api的用法,更是要学它是怎样构建的。这也是Java和开源的魅力!(微软一族的朋友可没这么享福了,呵呵)
cutesource
搜索本博客
最近加入圈子
存档
最新评论