该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-11-18
最后修改:2009-11-18
rich 写道 其他一些看法:
1.框架和平台不是设计出来的,是最佳实践真刀真枪拼出来的 Douyu要得到更好的发展,必须将Douyu立即应用到一个实际项目中,正如 ROR 的发展过程那样。 如果没有一个特别真实的项目,那可以基于 Douyu ,开发一个 Douyu的官方博客或者论坛。 这个是个好建议,我会一边完善Douyu,一边用Douyu重写以前的项目, 我之所以在Douyu中加入权限,是因为我以前的项目经验告诉我权限这一块是很常用的, 还是有挑战性的,我都还有以前的项目的代码,因为很多都是我单独完成的, 重写以前的项目比官方博客或者论坛更有挑战性,因为需求种类更大, 比如有这么个需求:要做一个能让用户自由定义查询字段、自由定义查询结果的通用多表查询模块怎么实现? 还有数据库表格多到两三百个,但是大多数都只是CRUD,只是界面不同, 你怎么用最少代码实现它,同时每个表格的界面又不能是脚手架生成的那种死板样, 很多像这些都是真实项目中遇到的普通需求,比那种号称20分钟完成一个博客的玩具例子有意义得多。 我想你可能是网络应用的经验比较多, 而我个人倒是那种普通的企业应用项目熟悉点,这类应用对大并发量并不苛刻, 所以Douyu的定位不可避免有我个人的主观意识。 rich 写道 2.不是够不够强,够不够复杂的问题,而是有没有强的需要,有没有复杂的必要的问题 3.技术本身是否有用,跟是否适用是两回事 纯粹个人感觉,LZ有些地方是为了应用新技术或者复杂的技术而应用。 象流行设计模式的时期,初学者恨不得将所有模式全部用在新项目中。 你可能误会了,是不是看到分布式事务那种就认为是复杂的技术, 分布式事务只是一些高级功能。 不过,以前在我做的项目中也常常碰到同时操作多个数据库的情况, 我以前是做移动行业的项目,虽然多数是用Oracle但SQL Server也有, 所以分存式事务也是存在需求的。 rich 写道 4.使用第三方库未必是坏事,如果有适合的还可能是好事 纯粹个人感觉,LZ严重排斥第三方库,无论其是否合适,是否做得比 Douyu中相应部分更好。 例如: =========================== Play!framework我今天看了大半天,它也是用了编译器,只不过不是Javac,而是JDT, 还用了无数的第三方jar库,连VIEW层都是使用其他实现的, Douyu目前很小,加Javac一起才1M多点,Play!framework解压后80多M了, Douyu的VIEW层也是由Javac编译,只是语法没Play!framework强大 =========================== 这点我还是坚持我的原则,尽量让Douyu不要像Play!framework引入那么多库, 不但增加其他人的学习难度,还可能遇到不可控的问题。 当然好的我肯定会加,比如junit这种单元测试之类的我不会重复开发, 像javassist、groovy-all-1.6.1这种肯定不会加, Play!framework其实只是使用了eclipse-JDT编译器而已, 根本就没深入编译器,所以你会看到Play!framework还是用javassist、groovy-all-1.6.1这些东西, 如果真深入了编译器了,VIEW层的语法再难也比不过Java, javassist再对字节码有多了解也没有javac了解,因为字节码是javac编译器生成的。 rich 写道 5.PHP、JAVA、C/C++ 都有自己的特性 这个我同意 rich 写道 6.源代码写和看是两个不同但相辅相成的方面,既要写也要看,最重要是有思考 我意思是说看懂别人的代码比自已写代码要难上10倍, 看懂之后要修改又要扩充别人的代码又要保证不出错更难。 当然,如果你认为我写代码写得少,我没什么好反驳的,呵呵, 因为我没跟你一起做过项目,没一起上过班,我说我写过多少行代码都是没意义的。 |
|
返回顶楼 | |
发表时间:2009-11-18
Laynepeng 写道 前两天在新闻看到这个框架,当时觉得很像Play!
今天把前面的算是User Guide读了一遍,嗯,想法蛮不错的,楼主毅力我是很敬佩。读过javac的源代码;为Play!贡献过一点点,算是通读他的代码。也挺期待拜读下作者这个框架的代码。。。 Code for fun的心态很好~ 如果你也读过javac的源代码,那么看Douyu时会很轻松, Douyu对Javac修改的地方不多,其实用Javac用得最多的就是com\sun\tools\javac\code包中的类, 主要是用Javac的类型系统在编译期间推断类型信息, 你对Play!贡献过一点点,如果你回过头去看Douyu的话,Douyu的动态编译比Play!的简单多了, Douyu和Play!都有自定义的ClassLoader, 但是Play!用了javassist,还用了java.lang.instrument包, 这两者Douyu都没用到,仅仅是在内存中直接编译源代码生成字节码,然后调用ClassLoader的defineClass。 |
|
返回顶楼 | |
发表时间:2009-11-18
mycybyb 写道 多数据库事务,半道出错了怎么办?
自动撤消事务啊,如果有保存点,撤消到保存点,保存点之前的正常提交。 |
|
返回顶楼 | |
发表时间:2009-11-19
ZHH2009 写道 Arden 写道 可惜douyu.com/net/cn的域名都被注册完了~~~
这个我早知道了,在起Douyu这个名字前我就专门去查了很多非技术问题(比如商标或域名等) 不过,无所谓,我更多的是喜欢技术。 我太喜欢这个名字了,所以就这么叫了。 要什么com域名,最合适的应该是org 查了下,没被注册 douyu.org douyu.org.cn |
|
返回顶楼 | |
发表时间:2009-11-19
ZHH2009 写道 mycybyb 写道 多数据库事务,半道出错了怎么办?
自动撤消事务啊,如果有保存点,撤消到保存点,保存点之前的正常提交。 我说的是多个数据库,前几个数据库已经提交了,后面的一个出错了。如果保持一致性? |
|
返回顶楼 | |
发表时间:2009-11-19
mycybyb 写道 ZHH2009 写道 mycybyb 写道 多数据库事务,半道出错了怎么办?
自动撤消事务啊,如果有保存点,撤消到保存点,保存点之前的正常提交。 我说的是多个数据库,前几个数据库已经提交了,后面的一个出错了。如果保持一致性? 可能楼主自己实现了个两段提交吧。 |
|
返回顶楼 | |
发表时间:2009-11-19
我把我的第一贴给你,时间有限,我只粗粗的看了第一页,我刚开始做开发的时候也一直郁闷非得困在J2EE的条条框框内,你让我看到了WEB的另一种思路。
|
|
返回顶楼 | |
发表时间:2009-11-19
helian 写道 mycybyb 写道 ZHH2009 写道 mycybyb 写道 多数据库事务,半道出错了怎么办?
自动撤消事务啊,如果有保存点,撤消到保存点,保存点之前的正常提交。 我说的是多个数据库,前几个数据库已经提交了,后面的一个出错了。如果保持一致性? 可能楼主自己实现了个两段提交吧。 我认为,这个不可能实现。 |
|
返回顶楼 | |
发表时间:2009-11-19
helian 写道 mycybyb 写道 ZHH2009 写道 mycybyb 写道 多数据库事务,半道出错了怎么办?
自动撤消事务啊,如果有保存点,撤消到保存点,保存点之前的正常提交。 我说的是多个数据库,前几个数据库已经提交了,后面的一个出错了。如果保持一致性? 可能楼主自己实现了个两段提交吧。 问这个问题显然动机有问题 |
|
返回顶楼 | |
发表时间:2009-11-19
支持你 相信你会成功的
|
|
返回顶楼 | |