BMTD 's Yard of Fun

Technology, Sports, Music, Chinese Essays

Browsing Posts in Technology

w.bloggar supports writting and publishing blogs from desktop for many blog sites and blog tools such as blogger, movableType, B2, WordPress, .Text etc.

This post was created nad published by w.bloggar.

谢老蔡:)

关于大文件共享,我刚想起一个更好的办法: 用 gmail + roamdrive. roamdrive是一个可以把一个hotmail或gmail账户当成你的网上硬盘的软件–原理是把大的文件切割成小块,每块变成一个email,这样就能突破gmail每个邮件10MB的限制。

我建立了一个新的gmail账号,pku8808@gmail.com ;需要上载或下载文件的同学去http://www.roamdrive.com 当漏一个最新的roamdrive软件,然后就可以直接从windows 把文件拖动到gmail里去,或者从gmail拖动到本地硬盘。

After extensive search, reading, comparing and trying, finally I limited my choices to the following three:

– exo platform
– Liferay
– uportal

All of them have JSR 168 support, which is my basic choosing criteria. Still they all have pros and cons:

– exo platform: the most technically advanced; has all the buzz words like JSR 168, JSR 170, WSRP, IOC, JSF etc; it uses PICO, the light-weight IOC framework; it also uses JSF as the portal presentation technology and has an eclipse plug in for developing (and hot deploy?) portlets. This is a combination of portal server and CMS. The cons is that it’s still not quite mature yet (in release 1.0 RC phase), and it’s difficult to find documentation on their web site. Another thing I am concerning about exo is the scalability– based on somebody’s load testing the result is not as good as liferay or UPortal when load increases– the reason is perhaps to do with use of EJB, caching, and so on.

–Liferay: I like their new architecture with integration of the spring framwework, hibernate etc, so that you have the benefits of Spring IOC and AOP, and can decouple the business logic from the deployment architecture– whether running in a servlet container or delegated by session EJBs. Also they have the biggest collection of ready-to-use portlets among the three, which can reduce lots of work on developing custom portlets. Liferay is a 6-year project , pretty mature and realworld-proved now. Their license model is business-friendly. The downside is that the JSR168 support has just been added recently , and there is no good JSR 170, WSRP support yet… Also I was told that the layout mechanism is not as flexible as exo’s.

– JASIG-Uportal: I don’t quite like the current “channel” concept which is to be replaced by JSR-168 compliant portlets. Uportal is designed for universities, this may help us a lot. Need to look at the design and avalable features to see how well it can be reused on pre-college school education. Their documetation is quite complete.

It’s difficult to decide at this moment. still need to download and try each of them one by one, and look into the source code, the supporting community etc.

I may also take a second look at openuss , which is integrated with liferay but seem to tie to JOnAs and Enthydra. Personally I prefer Tomcat+JBoss for Application servers.

One of my old posts, with some thoughts apparently not true or outdated in today’s view; just put it here to fill the space 😉

— The technical platform selection first is determined by what kinds of resources/expertise the developemnt team have.

— Language by itself: PHP is a scripting language, like VB script used in ASP. whileas Jsp and asp.net are pre-compiled when serving the request, Java and ASP.NET(whether C# , VB.net, J# or others) are full-fledged object-oriented language; PHP is still not full OO before version 5 . Traditional COM based ASP mainly uses VB/VBscript, which sucks.

— Enterprise level Services: J2EE and .NET and the traditional ASP (with microsoft DNA architecture built around COM/DCOM and MTS/COM+) provides enterprise level services such as component services, security, transaction management, object pooling, O/R amapping, clustering etc so that the application developer can focus on the application logic, and they are proven technologies in large-scale applications of various industries. PHP is weak at this area: You probably need to build the frameworks by yourself in a large scale/complex distributed system.

— About Software Design: Java/C# etc are good OOP languages and suitable of applying OO design patterns. Among the two, Java community is more design-patterns aware, with J2EE spec requesting developers having design patterns in mind when deisgning applications. Microsoft’s development tools, especially Visual Studio for ASP.NET emphersise on the usability and simplicity for the developer and don’t require advanced design knowledge. There are pros and cons of both approaches. J2EE’s approach makes it difficult for beginners, also the lacking of good IDE support (hopefully new IDEs with good JSF support will catch up) makes even very simple application development a complicated process. ASP.NET approach makes it easy for simple apps and beginners, but has more retrictions when you want to go more advanced steps.

There are lots of open source frameworks in J2EE to improve productivity and enforce design patterns, such as MVC frameworks like struts, webwork or JSF/ASP.NET types framework such as echo. ASP.NET basically is a page-level MVC framework. The use of framework can enforce the design pattern but on the other hand the developer is restricted by the framework’s own limitations.

AOP (Aspect-oriented programming) is one of the most hyped software engineering methdologies. There are lots of projects provides AOP in Java now, either through a language enhancement (aspectJ) or through frameworks utlizing bytecode enhancing or runtime reflection/Dynamic proxy(Spring, AspectWerkz, JBossAop etc). MS .Net currently does not have any of this, but probably will eventaully have similar features.

— tradional COM based ASP (asp 3.0) is currently widely used, but there are lots of issues with the technology and that’s why MS is discarding it and come up with .net.

— Lots of J2EE features are now being ported into .NET– for example in the up-coming asp.net 2.0, things like JDO or Hibernate type of O/R mapping is being added; The new “MS build” concept is stolen from the Apache Ant project; And because of the similarity between Java and C# languages, actually there are lots of open source Java frameworks are being ported to .NET: ant, junit, hibernate …; It’s similar vice versa: The Sun JSF specification is about the same concept as the ASP.NET web forms.

— When it comes to a web application, it is much faster to prototype it in PHP and ASP.NET than in Java without WYSIWYG IDE support.

— About backend Database systems: Although APache+PHP+MySQL is popular in building web apps, MySQL is not yet matured for complex systems, since up till now it still lacks some important features in a RDBMS: subselects, stored procedures, triggers, views, foreign key referential integrity etc. It just recently added transaction support with the help of innoDB
engine. All major commercial DBMS beat it in terms of features and performace under heavy multiple users, complex queries, and read/write query load. MySQL is faster for simple SELECT queries. If going for Open source DBMS, then Postgres SQL is a better choice both in features and licenses(truly open source ).

–Scalability: There is an never-ending argument between different camps. But I think the most important factor is the application architecture . If you build something that does not scale, it’s more of the design, not the language itself.

— vendor lock-in etc.

PHP and J2EE does not have the vendor lock-in problem.

At this moment ASP.NET do have the this issue. simply look at what MS did for Office users.

However, in the long run, .NET platform may not be a big problem for vendor lock-in. With (hopefully) the rise of open souce .NET implementations like MONO, we may not rely on MS for the .NET technology. but that’s not ture at this moment and quite possibly will never happen.

--Integration with other systems/platform:

traditional MOM middleware is well supported in java and MS technologies. they also support web services well. PHP also has some existing library supporting XML web services. PHP also supports calling other languages such as java.

1)国内的网络游戏开发:

–最早流行的都是一些MUD–泥巴游戏,著名的有笑傲江湖,金庸群侠传等,到现在还有大量玩家。早期的MUD都是纯字符的RPG类养成游戏,现在的新版本已有图形版。

–网上棋牌类游戏:四五年前开始兴起,打牌下棋等,国内有许多这类网站/游戏中心,如联众。

–这两年开发的新游戏,及搬上网的老RPG游戏等。受韩国网游鼓舞,国内开始大量投入游戏开发,如网易的大话西游。金山也将以前的剑侠情缘搬上网。台湾的老牌游戏商如大宇、智冠,华义等也都以进军大陆。

但总的来说市场是韩国游戏的天下。另外国内全是电脑网游,没有online console game.

(2)美国的网游

其实美国网络游戏也很热,从游戏种类/数目上要比国内多得多。70年代开始美国已有许多mud games. 现在最流行的网游包括sony的EverQuest, EA的’Ultima Online等。quake/doom类的战斗游戏也较流行,但subscriber人数总的来说与亚洲相较不多。我想其中一个原因是可供选择的游戏太多,而且许多不用付费。

另外大多是RPG类游戏,容易厌倦,难以普及到大众。至少本人是这样感觉。

美国另一个特点是电视游戏(包括online console game)占了游戏市场大头。电脑游戏相对市场不大。