2009年3月26日星期四

说说XSD和XML

最近的项目需要使用xml编写规则已支持自动化文本分析, 但是为了避免运行时出错, 需要有XML验证的功能, 以前一直用DTD, 后来慢慢的看到xsd多起来, 知道其有很大的优势, 但是也没有好好去研究过, 这次要用, 就好好学习了一下, 看了w3cschool上的教程之后, 基本上明确了写法, 但是写起来还是有些费劲, 可能是初学的原因吧, xml已经写出来了, 能否根据给出的xml生成xsd呢? 用visual studio 2008就可以了, 在xml菜单-生成架构里面 原来写xml规则的时候, 充分考虑了各种可选和必须参数出现的情况, 用visual studio生成xsd文件要改动的地方居然非常少, 只要自己加几个restriction就完全和我想要的一样了, 真是非常的不错! 另外, 强烈推荐jdom作为java xml api, 非常好用!

2009年3月25日星期三

Netbeans就是一块广告纸上看起来巨漂亮的鸡肋

(1) 用过很多次了, 每个版本都安装更新, 甚至很多项目故意优先考虑Netbeans开发而不用熟悉的Eclipse, 但是目前为止除了编Java Swing图形界面觉得它很方便之外, 其他的都是装了几个月不动它的主, 即使那次, 还是最后用着用着不习惯, 用了eclipse调试完成的.
(2) 你要在Netbeans里面管理库还有库关联的源代码, 郁闷死你! 给库绑定了源代码非要重启重新项目扫描之后才会生效, 但是重启一下, 我双核扣肉二代, 2G Mem, 等三分钟以上, 郁闷死你. 有些人说要把那些项目关闭掉好一点, 是的, 关闭掉了, 下次我要用再去一路一路点开, 重新打开? 这也就算了, 第三方库源代码即使绑定好了, 如果之间互相依赖, 居然不能互相识别? 比如我给cas绑定了源代码, 因为我需要重载其中的一些类, 所以要看到中间的代码程序结构, 那么cas是依赖spring的, 好, 折腾把spring源代码也绑定好, cas源代码打开了, 晕死, 说找不到spring的类? 一个巨大的Glassfish运行库在那里, 找不到javax.http.*包, 难道也用eclipse先代码浏览完来做开发?
(3) 再说代码浏览, 在java开发领域里面研究别人的代码是非常普遍的事, 无论是学习, 还是尝试看清楚别人的代码结构, 来重载完善适合自己需要. 要用netbeans, 你还不如自己用Editplus一个一个去找好了, 省计算机资源; 如果代码包中有可运行的文件, 比如测试, 你在Netbeans中就找不到一个直接运行库中的class的办法, 而用eclipse右键即可!
(4) 宣传很美吧, 支持动态语言开发, php试过不怎么样, ruby on rails我不用, 新花样很多,但是最基本的java, java ee开发也不能从竞争对手那里学点东西完善起来. 总体感觉就是离它所宣传的the only IDE you need, 差了十万八千里. 吃鸡肋, 把肉剔下来吃, 别咬着骨头不爽!

2009年3月23日星期一

我也大二开始写程序, 为什么我就没有成为千万富翁?

最近临时抽调给公司内部网架设一个论坛, 由于需要和公司的单点认证系统, 进行整合还要改风格支持网站的统一风格视图, 所以需要选择一个易于进行二次开发, 且架构比较好的程序, 最好是开源License的, 最终的选择放在了Discuz!和phpBB上了. 查找了相关资料, 由此也了解了Discuz!的一些历史, 说实在的尽管我最后选择倾向于phpBB, 但是我还是挺佩服戴康志的, 我自认为自己在编程方面应该还不错, 但是我似乎缺乏商业头脑, 有些读书人的偏执, 如果我不改变的话, 也许我很难得在商业方面有所成就了, 甭管俗否, 有成就绝非是技术牛逼, 而赚钱是第一要务!
说说我不太喜欢Discuz!的方面吧
(1) 对于普通用户Discuz!很方便, 但是由于license的原因, 我的使用就是受限的, 我既不能自己使用于盈利目的, 又不能提交我的patch, mod等, 所以我学习的投资就要白费了.
(2) 缺乏多语系特别是英语的支持.
(3) 程序代码里面, 过程式架构的, 这不对我的胃口和设计风格, 所以潜意识里有点抵触
(4) 程序代码里面唯一的注释就是" This is NOT a freeware, use is subject to license terms", 我不知道是放出源代码时为了减缓用户读懂代码的步调故意用程序把注释去掉了还是怎么的, 要么就是这个公司编码人员的风格不好, 不过这一点也不决定, 其实php代码挺好懂的, 要不要注释无所谓, 不过没有一行注释真是让我感到奇怪.
(5) 代码大小比phpBB大了一倍.
值得学习的地方:
(1) 目前它号称是最快的性能最好论坛程序, 也有人说这是由于它减少了安全性上的限制来换取速度的提升, 或者说php在面向对象架构方面确实性能不高, 过程式代码性能更高, 具体没有研究, 但是在高性能方面的优化策略, 确实值得有时间来学习和研究.
(2) 用户支持, 文档完善性, 创业模式上, 它是一个成功的商业案例!

2009年3月9日星期一

我的修炼之道

(1) 用好IDE = 用好Eclipse, 如果开发DotNet, 用好Visual Studio
(2) 用好编辑器 = 用好VIM
(3) 尝试新的开发环境 = 使用windows, 用DotNet开发
=========
最近一直在windows下做开发, GVIM顺利成为我在windows上最顺手的编辑器, 做了一段时间的DotNet开发工作, 确实发现VS2008不是盖的, 即使是Express版本都很好用, 并且开始喜欢上C#语言了; ASP.NET MVC很对胃口, 至少觉得比Struts对我胃口;
还有一个组件是用C语言来写的, 发现GCC还是我的最爱, GCC的特性比在Visual Studio中编c语言爽多了, 变量可以什么时候想用再申明, 数组的size可以当参数传入;
用Gvim做开发挺好, 但是看着GVim和gdb集成的文章还要自己编译GVIM,自己补丁我就没有兴趣了, 想起了两年前使用过CDT,当时感觉不错, 遂使用Eclipse做c开发的IDE, 调试功能和gdb相比, 那是暴爽无比!