OsChina.NET 這個域名是在去年 08年8月16日申請的,然後花了不足一個月的時候開發了第一個版本的OsChina,包含有項目展示、新聞、後臺管理、會員註冊等功能,以後的每次的改進就沒那麼集中,有空的話就完善完善一直到今天,當然了,還會一直完善下去。
OsChina.NET 是用 Java 開發的(一個朋友說,不是PHP就是ASP.NET,肯定不是Java,不幸猜錯了)。
目前整個工程的Java代碼行數是 1.5 萬包含註釋,其中真正的代碼行是 1 萬剛好,整個項目目錄不足十兆,包括所有的jar包。
Java 開發Web網站一般都有很多的框架可以選擇,但在OsChina中幾乎沒有用到什麼框架,除了:Lucene(搜索)、Velocity(頁面模板)、EhCache(緩存)。其中參考了 Struts 的 DispatchAction 的思路自己寫了一個只有一個 Java 文件的控制器(詳情),還有一個URL映射的(詳情)。之前的很多項目都用了 Hibernate 來訪問數據庫,但覺得配置太煩、jar包太大,於是決定在 OsChina 項目中嘗試不用 Hibernate,後來選擇了 DbUtils ,結果是:配置沒了、代碼比用 Hibernate 來得更少,程序更簡潔。例如:
/**
* 列出某人的好友
* @param user
* @return
*/
public static List ListFriendsOfUser(long user) {
String sql = "SELECT friend FROM osc_friends WHERE user=?";
return QueryHelper.query_cache(long.class, CACHE, user, sql, user);
}
其他方面:不在項目中啓動線程來自動構建索引,而是提供一個程序讓通過操作系統的crontab來定期調用。
OSChina 服務器硬件情況請看:http://www.oschina.net/question/32709_8800
服務器託管在廣州電信較場西機房!
OSChina 的部分源碼請看:http://www.oschina.net/code/tag/oschina
等等,想到再繼續補充。。。。。。