posts - 59,  comments - 323,  trackbacks - 0
          決定不再玩連載的把戲了,總共就這么點(diǎn)文字,還不如一口氣放出來(lái)算了。
          ?
          這是以前寫(xiě)的書(shū)的初稿,后來(lái)因?yàn)榇蛩闳客品貙?xiě),所以將過(guò)去寫(xiě)的內(nèi)容,作為Open Doc放出。
          ?

          歡迎下載: AJAX——新手快車(chē)道

          posted @ 2006-03-27 22:39 讀書(shū)、思考、生活 閱讀(6228) | 評(píng)論 (24)編輯 收藏
          Crmky 獨(dú)立開(kāi)發(fā)Cindy,已經(jīng)很久了~~~至今只有他一個(gè)人。
          ?
          這是一個(gè)Java的NIO開(kāi)發(fā)框架,我在上一家公司,和現(xiàn)在所在的這家公司,都已經(jīng)使用了這個(gè)框架。但是,開(kāi)發(fā)人員始終只有他一個(gè)人。
          ?
          前天他寫(xiě)了一篇Blog:《目標(biāo)》,對(duì)我有很大的觸動(dòng)。我也一直存在這樣的疑慮,為什么我們要用Java開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用?或者說(shuō),使用java開(kāi)發(fā)的網(wǎng)絡(luò)應(yīng)用,難道注定只是一個(gè)快速原型,就像當(dāng)年用VB開(kāi)發(fā)桌面應(yīng)用?一旦需要面對(duì)性能需求時(shí),就得推翻過(guò)去的工作,用C/C++重新實(shí)現(xiàn)一遍?
          ?
          現(xiàn)在,目標(biāo)已經(jīng)很明確了——“無(wú)限接近于C/C++效率的java網(wǎng)絡(luò)框架”。這是Cindy的終極目標(biāo),而我則相當(dāng)確信,我一定要為這個(gè)目標(biāo),做出貢獻(xiàn)!現(xiàn)在,我已經(jīng)是Cindy項(xiàng)目的第二名成員了

          正好今天看到一篇Leal的blog。我能為開(kāi)源社區(qū)做些什么?

          zoomq在woodpecker上寫(xiě)道:

          每日至少抽一刻鐘解答列表中初學(xué)者的問(wèn)題,
          每周至少抽兩小時(shí)整理新學(xué)知識(shí),用Blog/Wiki/mail將體驗(yàn)發(fā)表/分享出去,
          每周至少抽四個(gè)小時(shí)來(lái)翻譯自個(gè)兒喜愛(ài)的自由軟件的文檔,
          每月至少抽八小時(shí)編程,推進(jìn)自個(gè)兒的項(xiàng)目,
          每年至少參加一次自由軟件的活動(dòng),傳播自由軟件思想,發(fā)展一名“自由人”……

          只要我們每個(gè)人都堅(jiān)持下去……
          10年!就足以改變中國(guó)軟件的整體風(fēng)貌!

          自接觸電腦以來(lái),自由/開(kāi)源軟件也一直給我諸多幫助和樂(lè)趣,Linux、Python、Vim凡此種種。當(dāng)我有些業(yè)余時(shí)間,有些體會(huì)和收獲時(shí),又該為自由/開(kāi)源社區(qū)做何回饋呢?


            我的思考是:參加一個(gè)項(xiàng)目,或者發(fā)起一個(gè)項(xiàng)目,使用一個(gè)項(xiàng)目并且提交反饋,宣傳一個(gè)項(xiàng)目。不要僅僅是感嘆中國(guó)開(kāi)源項(xiàng)目的水平。如果你是一個(gè)程序員,那么,你也可以為之做點(diǎn)什么。

          posted @ 2006-03-27 13:53 讀書(shū)、思考、生活 閱讀(3167) | 評(píng)論 (16)編輯 收藏
          本來(lái)拿到的是一個(gè)20多M的MP3文件,還好找到一個(gè)工具,轉(zhuǎn)了一下。還是微軟的格式牛啊。
          ?
          下載地址:
          posted @ 2006-03-22 15:55 讀書(shū)、思考、生活 閱讀(3228) | 評(píng)論 (7)編輯 收藏

            我有很濃厚的“地圖情結(jié)”,以前我寫(xiě)過(guò)一篇《我的信仰地圖》,最近又做了一次關(guān)于Ajax的演講,名字叫做《Ajax技術(shù)地圖》。我一直以來(lái)的觀(guān)點(diǎn)是,世界是一個(gè)整體,在這個(gè)巨大的世界之中,任何事物、任何知識(shí),任何觀(guān)點(diǎn),都有其合理、自然的位置。理解這個(gè)世界的過(guò)程,就是逐步將需要了解的各種事物,在作為整體的一個(gè)世界中,找到其位置。了解這個(gè)位置的前后左右,相互關(guān)系,相互影響。這樣的理解世界的學(xué)習(xí)方式,我認(rèn)為是最為有效的。所以當(dāng)我在JavaEye看到關(guān)于《代碼大全》的廣告時(shí),我的第一反應(yīng)就是:這不是世界地圖嗎?
          ?
            看了看他的目錄,竟然有35章之多?架構(gòu)、分析、設(shè)計(jì)、編程、測(cè)試、重構(gòu)、面向?qū)ο蟆⒄{(diào)試、規(guī)范、管理、軟件質(zhì)量控制、協(xié)作、優(yōu)化、開(kāi)發(fā)工具、注釋、甚至個(gè)性、開(kāi)發(fā)藝術(shù)等等等等,只要是與軟件有關(guān)的,基本上他都寫(xiě)到了。
          ?
            說(shuō)實(shí)話(huà),我當(dāng)時(shí)相當(dāng)?shù)牟恍?.....可能嗎?居然有這么一個(gè)家伙,能夠像當(dāng)年的托馬斯?阿奎那一樣,以一己之力,寫(xiě)出《神學(xué)大全》?CSDN的網(wǎng)站上介紹這個(gè)Steve McConnell,在1998年的時(shí)候,被Software Development雜志的讀者評(píng)為軟件業(yè)最具影響力的三大人物之一,與Bill Gates、Linus Torvalds齊名。一個(gè)寫(xiě)書(shū)的,能和兩個(gè)寫(xiě)代碼的天才齊名?網(wǎng)站上的那些推薦的話(huà),個(gè)個(gè)都是大名鼎鼎,個(gè)個(gè)都是推崇備至。作為我這樣一個(gè)有逆反心里的家伙來(lái)說(shuō),直覺(jué)上就是:“會(huì)不會(huì)呀,有這么牛嗎?”

          ?

            當(dāng)然了,我也不好多說(shuō)什么,畢竟沒(méi)有看過(guò)書(shū)~~~

          ?

            沒(méi)想到好事居然找上門(mén)來(lái)了,博文視點(diǎn)的魏泉是我要寫(xiě)的那本Ajax書(shū)的責(zé)任編輯。而《代碼大全》也是他們負(fù)責(zé)出版的。那天他找到我,說(shuō)是讓我看看這本書(shū)的書(shū)稿……看看能不能寫(xiě)一篇書(shū)評(píng)。這等美差,我很爽快的就答應(yīng)下來(lái)了。

          ?

            一看之下,果然是很喜歡,作者的思考問(wèn)題的方式,與我的方式相當(dāng)?shù)慕咏际潜M可能將多種、甚至矛盾的事物,放在一個(gè)整體的環(huán)境中來(lái)理解。比如對(duì)于隱喻,用于描述軟件開(kāi)發(fā)的特征的各種各樣的隱喻,其實(shí)各有其價(jià)值,如果能夠組合運(yùn)用,自然能夠獲得一種平衡。正如作者所說(shuō):“使用隱喻又是件說(shuō)不清楚的事情(fuzzy business)。你需要適當(dāng)?shù)匾晁暮x,才能從其中蘊(yùn)含的深刻啟發(fā)中受益。但若你過(guò)分地或者在錯(cuò)誤的方向上引申了它的含義,它也會(huì)誤導(dǎo)你。正如人們會(huì)誤用任何強(qiáng)大的工具一樣,你也可能誤用隱喻,但它的強(qiáng)大的功效,還是會(huì)成為你智慧工具箱中的一個(gè)寶貴部分。”

          ?

            這樣的一種看法,可以說(shuō)“中正平和、深具智慧”,這是我們?cè)诖蠖鄶?shù)關(guān)于軟件開(kāi)發(fā)的論述中,很難看到的。

          ?

            再比如說(shuō),作者在第三章時(shí)給出的一個(gè)表格:三種常見(jiàn)的軟件項(xiàng)目種類(lèi),及其典型的良好實(shí)踐。就將軟件分為商業(yè)系統(tǒng)、性命攸關(guān)的系統(tǒng)以及性命攸關(guān)的嵌入式系統(tǒng)。然后指出對(duì)于這三類(lèi)不同的應(yīng)用,在開(kāi)發(fā)手段、管理強(qiáng)度、設(shè)計(jì)、構(gòu)建、測(cè)試、部署等等方面的差別化策略。這樣的分類(lèi),自然就避免了將各種開(kāi)發(fā)手段,簡(jiǎn)單的對(duì)立起來(lái)比較的方法,顯得更加具有說(shuō)服力。

          ?

            再比如說(shuō),全書(shū)給出了相當(dāng)多的Check List,這樣的表格,實(shí)在是大有益處,借用地圖的隱喻來(lái)書(shū),這樣的CheckList,就是一個(gè)一個(gè)的定位器,它能夠幫助你認(rèn)清自己的位置,了解問(wèn)題所屬的范疇,了解應(yīng)該努力的大致方向。這樣的“開(kāi)發(fā)工具”,真是獨(dú)一無(wú)二。

          ?

            這本書(shū)我目前只看了前面的5~6章,實(shí)在沒(méi)有太多的發(fā)言權(quán),不過(guò)我現(xiàn)在已經(jīng)可以肯定,這是一本非常有價(jià)值的好書(shū),我推薦所有沒(méi)有看過(guò)的朋友去看看這本名副其實(shí)的經(jīng)典之作。

          ?

            說(shuō)實(shí)話(huà),天下沒(méi)有免費(fèi)的午餐,我這篇書(shū)評(píng),也是屬于交差之作。人家出版社把樣書(shū)給你看,請(qǐng)你寫(xiě)書(shū)評(píng),當(dāng)然希望你能說(shuō)些好話(huà)?幸運(yùn)的是,這些好話(huà),的確都是我自己愿意說(shuō)的。

          posted @ 2006-03-22 15:53 讀書(shū)、思考、生活 閱讀(5646) | 評(píng)論 (5)編輯 收藏
          廣州之行,真是匆匆又匆匆,在廣州呆的時(shí)間,算上在飛機(jī)場(chǎng)的時(shí)間,都還不到24個(gè)小時(shí)。

          個(gè)中甘苦,就不在這里說(shuō)了,還是把PPT傳上來(lái)吧。

          之所以叫處女秀,是因?yàn)檫@是我第一次上臺(tái)做技術(shù)演講,但是這句話(huà)卻不是我自己想到的,而是江南白衣說(shuō)出來(lái)的。

          PPT的標(biāo)題是《Ajax技術(shù)地圖》,基本上是一個(gè)純粹空對(duì)空的理論探索,不出現(xiàn)一行代碼。還好隨后曹曉鋼的演講,同樣是講Ajax,充斥了無(wú)數(shù)的代碼,相信廣州的朋友們,一定爽到了。

           

          PPT的下載地址是:
          http://www.ajaxcn.org/space/start/2006-03-13/1/Ajax%E6%8A%80%E6%9C%AF%E5%9C%B0%E5%9B%BE.pps

           

          廣州游記和其他感想,就明天再補(bǔ)吧。

          posted @ 2006-03-13 22:47 讀書(shū)、思考、生活 閱讀(2979) | 評(píng)論 (8)編輯 收藏
          去廣州參加BEA的User Group活動(dòng)。
          演講題目是:《Ajax技術(shù)地圖》
          副標(biāo)題是:為即將到來(lái)的技術(shù)變革做好準(zhǔn)備。
           
          11日晚19:45起飛,22:25到達(dá)白云機(jī)場(chǎng)。
          12日晚19:25起飛,21:20回到上海。
           
          奇怪啊,去要2小時(shí)20分,回來(lái)只要1小時(shí)55分。順風(fēng)、逆風(fēng)嗎?
           
          得抓緊時(shí)間寫(xiě)PPT了
          posted @ 2006-03-10 22:34 讀書(shū)、思考、生活 閱讀(1834) | 評(píng)論 (7)編輯 收藏

          莊表偉 說(shuō):

          JSVM,我覺(jué)得有一個(gè)方向可以嘗試去發(fā)展,就是瀏覽器中的對(duì)象管理,起到一個(gè)VM的作用

          dlee 說(shuō):

          問(wèn)題就是你敢不敢去做小白鼠,或者叫做生活在剃刀邊上。對(duì)于一個(gè)嚴(yán)肅的項(xiàng)目,我做項(xiàng)目經(jīng)理,是不會(huì)采用jsvm的。

          莊表偉 說(shuō):

          那為什么你就會(huì)采用prototype呢?

          dlee 說(shuō):

          prototype背后有強(qiáng)大的支持,而不是像jsvm那樣只有萬(wàn)春華同志等很少的幾個(gè)鐵桿。

          莊表偉 說(shuō):

          為什么?你是看著哪邊人多去哪邊的嗎?

          dlee 說(shuō):

          你看那些叫喊"""支持"""的人會(huì)不會(huì)貢獻(xiàn)一行代碼。你太容易非黑即白了。當(dāng)然不完全是這樣,不過(guò)支持能力是一個(gè)非常重要的考慮因素。

          莊表偉 說(shuō):

          我的意思是,JSVM,該不該用他,只能由我們看過(guò)他的代碼以后,來(lái)決定?

          dlee 說(shuō):

          你有能力維護(hù)所有的代碼嗎?

          莊表偉 說(shuō):

          我只是用他呀,又不是要改他

          dlee 說(shuō):

          我的意思是說(shuō),如果你在項(xiàng)目中使用了SpringRod Johnson玩累了,明天就宣布解散這個(gè)項(xiàng)目。你自己獨(dú)立去維護(hù)Spring的代碼。你去用什么啊,它只有很少的UI組件,其中還有問(wèn)題。 你不要夸口這些自己都能開(kāi)發(fā)好,我兩年前開(kāi)發(fā)了一個(gè)比較好用的Grid,花費(fèi)了一周多的時(shí)間。你自己去實(shí)現(xiàn)這樣一個(gè)組件后再說(shuō)話(huà)。

          莊表偉 說(shuō):

          我不是用他的UI呀,而是用他的這個(gè)框架,來(lái)組織自己的代碼。

          dlee 說(shuō):

          你不用它的UI,有什么必要使用這個(gè)框架呢?dojo/prototype一樣可以做到啊,我是認(rèn)為你這樣做引入了不必要的成本。況且你如何判定使用的UI庫(kù)在設(shè)計(jì)理念上與jsvm完全沒(méi)有沖突?

          莊表偉 說(shuō):

          OK,你現(xiàn)在已經(jīng)有結(jié)論了,但是我還沒(méi)有仔細(xì)看過(guò)他的代碼呢,所以我現(xiàn)在還沒(méi)有結(jié)論,等我看過(guò)以后,自然會(huì)有一個(gè)結(jié)論的。

          dlee 說(shuō):

          Ajax庫(kù)這方面,大部分人都跟我希望的一樣,需要一個(gè)全面的解決方案。你說(shuō)的jsvm專(zhuān)精于做某個(gè)領(lǐng)域,我認(rèn)為是行不通的。任何運(yùn)行于瀏覽器的js框架都應(yīng)該是為UI服務(wù)的。沒(méi)有實(shí)現(xiàn)過(guò)很多UI組件,如何檢驗(yàn)它的這個(gè)架構(gòu)設(shè)計(jì)的合理性?

          莊表偉 說(shuō):

          目前看來(lái),prototype,也只是專(zhuān)精于基礎(chǔ)領(lǐng)域的,在它之上,另有script.aculo.usRicoBehaviour這樣的lib

          dlee 說(shuō):

          你喜歡擺擂臺(tái),那么就擺個(gè)擂臺(tái),大家都實(shí)現(xiàn)Grid組件,看看誰(shuí)做得好。

          莊表偉 說(shuō):

          呵呵,這倒是個(gè)好辦法

          dlee 說(shuō):

          你可以跟醒來(lái)來(lái)詳細(xì)討論,問(wèn)題不是你想想得那么簡(jiǎn)單。做小白鼠也有好處,曉鋼就經(jīng)常偷偷練習(xí)一些自己的獨(dú)門(mén)絕技。

          莊表偉 說(shuō):

          呵呵

          dlee 說(shuō):

          你可以將我跟他的沖突理解為主要在一個(gè)領(lǐng)域,就是我不認(rèn)為解決他所說(shuō)的兩個(gè)問(wèn)題,需要這么重的方案。而且他的解決方案從JS開(kāi)發(fā)者的角度看來(lái)也不是很優(yōu)雅。

          莊表偉 說(shuō):

          嗯,這兩點(diǎn),我基本上是同意的

          dlee 說(shuō):

          萬(wàn)春華同志的興趣不在UI組件方面,這使得他偏離了瀏覽器JS誕生的使命。今天我跟醒來(lái)說(shuō)過(guò)類(lèi)似的意思。 我們的分歧不完全在技術(shù)本身上面。因?yàn)槲覀兯伎紗?wèn)題的思路差別很大,所以沒(méi)有出現(xiàn)很大的交集

          莊表偉 說(shuō):

          嗯,我比較理解你的意思了,但是,我不是很同意...

          dlee 說(shuō):

          你看過(guò)他們的代碼了嗎?

          莊表偉 說(shuō):

          看了一些

          dlee 說(shuō):

          代碼的模塊程度如何?有沒(méi)有可能將醒來(lái)說(shuō)的一些部分完全去掉?

          莊表偉 說(shuō):

          哪些部分?

          dlee 說(shuō):

          我覺(jué)得他們?nèi)绻鲆恍└忧逦膭澐郑瑒澐殖鲆粋€(gè)最小的core部分,而且像Spring那樣劃分成很多不同的jar,這樣會(huì)更好一些。最糟的情況是要么全有要么全無(wú)

           

            醒來(lái) 已經(jīng)添加到此對(duì)話(huà)中。

           

          dlee 說(shuō):

          你既然對(duì)jsvm非常感興趣,就和醒來(lái)先詳細(xì)談?wù)劇N易鳛榕月?tīng)好了。

          莊表偉 說(shuō):

          呵呵,好的呀

          醒來(lái) 說(shuō):

          好啊,我 最近剛看了jsvm的源碼

          莊,你覺(jué)得jsvm怎么樣

          莊表偉 說(shuō):

          我剛開(kāi)始看他的代碼。說(shuō)實(shí)話(huà),我覺(jué)得他的js代碼寫(xiě)得非常好,也很干凈、清楚。因此,這樣的一個(gè)人,寫(xiě)出這樣水平的代碼的人,對(duì)于js的理解,肯定是相當(dāng)深入的。

          醒來(lái) 說(shuō):

          代碼寫(xiě)的是真不錯(cuò)

          莊表偉 說(shuō):

          我以前曾經(jīng)想當(dāng)然的認(rèn)為,他不了解js,只喜歡java,所以才會(huì)把js,扭曲成java的樣子這樣的想法,肯定是偏見(jiàn)。那么,在承認(rèn)對(duì)方有足夠的智力與經(jīng)驗(yàn)的前提下,再來(lái)看他的代碼,我覺(jué)得更不該"斷然否定",說(shuō)他"一無(wú)是處"

          醒來(lái) 說(shuō):

          我在javaeye 上提出了我的意見(jiàn),我也認(rèn)為他的代碼寫(xiě)得很不錯(cuò),但是側(cè)重點(diǎn)有點(diǎn)不合時(shí)宜。現(xiàn)在真是有些像java虛擬機(jī)了,基本是一個(gè)classloader + class cache 的實(shí)現(xiàn)

          莊表偉 說(shuō):

          還有這個(gè):

          a) 獨(dú)立模式:standalone, 該模式下,當(dāng)前頁(yè)面的jsvm獨(dú)立加載,不和系統(tǒng)中其他頁(yè)面的JSVM發(fā)生關(guān)聯(lián)。

          b) 應(yīng)用程序模式:application, 應(yīng)用程序模式下的頁(yè)面會(huì)除了加載jsvm以外,還將構(gòu)造一個(gè)Application的環(huán)境。其他模塊模式的頁(yè)面會(huì)共享Application的資源。

          c) 模塊模式:module, 模塊模式的頁(yè)面必須運(yùn)行在一個(gè)Application模式的頁(yè)面下。該頁(yè)面可以通過(guò)application框架共享資源以及訪(fǎng)問(wèn)全局變量。

          d) 自動(dòng)模式:auto, 頁(yè)面根據(jù)環(huán)境自動(dòng)選擇是獨(dú)立模式還是模塊模式。

          我覺(jué)得很有點(diǎn)意思

          醒來(lái) 說(shuō):

          從名字上來(lái)講,jsvm倒是符合本意。但是java的成功不是只靠一個(gè)jvm的,我覺(jué)得 jdk 更關(guān)鍵

          莊表偉 說(shuō):

          現(xiàn)在的js庫(kù),除了jsvm,都是以一個(gè)Page為單位運(yùn)行的,鮮有"Application"的概念。而VM的提出,我認(rèn)為,為將來(lái)合理的Browser Object Cache Layer,提供了可能

          醒來(lái) 說(shuō):

          我有點(diǎn)懷疑,這樣帶來(lái)的復(fù)雜性有沒(méi)有必要

          莊表偉 說(shuō):

          而且我還希望將來(lái)JSVM,能夠更好的支持請(qǐng)求任務(wù)隊(duì)列的管理,這樣的機(jī)制,JS的語(yǔ)法本身提供得并不夠好。還有多線(xiàn)程的管理,JS也沒(méi)有像Java那樣的,語(yǔ)法級(jí)的支持。

          dlee 說(shuō):

          我不大相信瀏覽器中的JS將來(lái)會(huì)被用在這樣的目的

          醒來(lái) 說(shuō):

          其實(shí)我覺(jué)得,這些應(yīng)該是瀏覽器提供的功能,在瀏覽器未發(fā)展到這個(gè)程度之前,強(qiáng)迫javascript畸形的實(shí)現(xiàn),不一定值得

          莊表偉 說(shuō):

          嗯,這是問(wèn)題的關(guān)鍵...我前面的暢想,的確是我希望將來(lái)的JS,能夠支持的一部分

          dlee 說(shuō):

          是的,我們希望將來(lái)的JS引擎來(lái)提供這些基礎(chǔ)設(shè)施

          莊表偉 說(shuō):

          現(xiàn)在JSVM,也許能夠支持一部分,也許還不能夠,所以,說(shuō)不定哪天JS 2.0出來(lái),JSVM就沒(méi)有意義了

          醒來(lái) 說(shuō):

          所以對(duì)于jsvm的模式,應(yīng)用程序模式還可以理解,模塊模式很難讓人明白有什么用

          莊表偉 說(shuō):

          這是一個(gè)思考模式的問(wèn)題

          假設(shè)你對(duì)于js本身不熟悉,要讓你合理、自然的劃分多個(gè)js文件,合理、自然的在該load的時(shí)候才去load,這就相當(dāng)?shù)馁M(fèi)力

          醒來(lái) 說(shuō):

          所以我的意見(jiàn)就是,jsvm 希望吸引人來(lái)開(kāi)發(fā),應(yīng)該要給出jsdk 差不多,一個(gè)jsvm 吸引不了人

          莊表偉 說(shuō):

          當(dāng)然,更加正確的道路,當(dāng)然是按照js的本性來(lái)做,提出某種"js loading design pattener"。但是,在經(jīng)驗(yàn)還沒(méi)有被總結(jié)成模式之前,模仿java式的代碼組織,不失為一種方案

          醒來(lái) 說(shuō):

          load js 的模式其實(shí)現(xiàn)在都是 用一個(gè)同步的xmlhttprequest 去加載js,然后eval。這個(gè) dojo prototype 都有提供基礎(chǔ)支持

          莊表偉 說(shuō):

          不是如何loading。而是,我現(xiàn)在有幾百Kjs文件,如何切分成合理的大小,然后在需要的時(shí)候去調(diào)用他們

          醒來(lái) 說(shuō):

          這個(gè)想法是對(duì)的,也是jsvm值得肯定的地方

          我的主要意見(jiàn)是說(shuō)它提供的 jsc 的形式有點(diǎn)雞肋,同時(shí)缺乏簡(jiǎn)單高效的工具類(lèi),所以吸引不了開(kāi)發(fā)人員。jsvm2 的代碼里有 1/3 就是為了支持這個(gè)自創(chuàng)的jsc語(yǔ)法

          莊表偉 說(shuō):

          這是...敗筆...jsc我也不喜歡,混雜了部分js語(yǔ)法和部分java語(yǔ)法...還不如僅僅規(guī)定一個(gè)必須的頭部,其他的完全采用js語(yǔ)法呢。還有一點(diǎn)我覺(jué)得是這個(gè)萬(wàn)兄在那里暢想,就是JSVM打算支持多種語(yǔ)法的設(shè)想,工作量太大了。

          dlee 說(shuō):

          不過(guò)萬(wàn)春來(lái)同志說(shuō)這個(gè)可以不用

          醒來(lái) 說(shuō):

          所以我建議索性?huà)仐?/SPAN>jsc,以萬(wàn)兄的javascript功力,寫(xiě)一部分有用的工具類(lèi),我覺(jué)得不會(huì)有人真的愿意用 var map = new HashMap(), map.put(k, v); 這樣的方式寫(xiě)js

          莊表偉 說(shuō):

          對(duì)的

          dlee 說(shuō):

          所以我剛才說(shuō):

          我覺(jué)得他們?nèi)绻鲆恍└忧逦膭澐郑瑒澐殖鲆粋€(gè)最小的core部分,而且像Spring那樣劃分成很多不同的jar,這樣會(huì)更好一些。最糟的情況是要么全有要么全無(wú)。

          醒來(lái) 說(shuō):

          jsc 是可以不用,但jsvm 加載了接近80kjs就為了支持jsc, 沒(méi)有意義啊

          莊表偉 說(shuō):

          他現(xiàn)在是有多個(gè)js的,只是他core的部分太大了

          醒來(lái) 說(shuō):

          莊,如果你去看runtime.js 就知道了,jsvm2其實(shí)把jsc都預(yù)先編譯了,否則效率一定太低

          現(xiàn)在甚至還有一些觀(guān)點(diǎn),不要把js分得太多,因?yàn)橐ぐl(fā)太多的http連接,反而響應(yīng)性更不好。畢竟js的加載是同步的 ,這各ajax的異步核心思想有沖突。

          dlee 說(shuō):

          這個(gè)考慮也是很有道理的

          莊表偉 說(shuō):

          激發(fā)太多的http連接?還是激發(fā)太多的同步http連接?

          dlee 說(shuō):

          那個(gè)所謂的classloader就是向服務(wù)器請(qǐng)求一個(gè)包含js類(lèi)的文件,然后evaluate。而且也要考慮evaluate的執(zhí)行效率

          醒來(lái) 說(shuō):

          每一個(gè)import 就是一個(gè)http 連接。當(dāng)然,jsvm 考慮到了cache

          dlee 說(shuō):

          對(duì)的,就是發(fā)出一個(gè)xmlhttp請(qǐng)求

          莊表偉 說(shuō):

          其實(shí),他完全可以將自己的jsdk,做成一個(gè)jsc文件,一口氣load進(jìn)來(lái)

          dlee 說(shuō):

          不是多個(gè)連接,這個(gè)要看服務(wù)器怎么配置。其實(shí)支持http1.1的瀏覽器和服務(wù)器都是保持長(zhǎng)連接

          醒來(lái) 說(shuō):

          jsvmcache 也有些問(wèn)題,他所謂的application模式,在不同的瀏覽器上實(shí)現(xiàn)各不相同,iejs源碼用iehtc 技術(shù)保存的,ff 是存cookiecookie 的容量是有限制的,所以cache 主要是針對(duì) ie

          dlee 說(shuō):

          可能是在同一個(gè)http連接上發(fā)送多個(gè)http請(qǐng)求,這些請(qǐng)求需要排隊(duì)

          莊表偉 說(shuō):

          OK,我提一個(gè)方案,你們看是不是可以作為"最佳實(shí)踐"之一:

          對(duì)于多個(gè)異步請(qǐng)求,可以讓他分次異步提交。

          對(duì)于多個(gè)同步請(qǐng)求,應(yīng)該將多個(gè)請(qǐng)求打包以后一次提交。

          這個(gè)作為"請(qǐng)求隊(duì)列管理"的一部分

          醒來(lái) 說(shuō):

          道理應(yīng)該是這樣,jsvm里好像沒(méi)有這樣的控制,import語(yǔ)句也沒(méi)有這么智能

          莊表偉 說(shuō):

          其實(shí)jsvm應(yīng)該這么做,比如他load一個(gè)jsc文件進(jìn)來(lái),里面的import語(yǔ)句可能有一堆,就應(yīng)該是一口氣load其他的jsc,不該再分多次了

          醒來(lái) 說(shuō):

          我總覺(jué)得 線(xiàn)程/隊(duì)列 這些該是瀏覽器的事情,用js開(kāi)發(fā)很不保險(xiǎn)

          莊表偉 說(shuō):

          你看過(guò)我寫(xiě)的那個(gè)RSSReader的代碼嗎?里面就有一個(gè)請(qǐng)求隊(duì)列的

          醒來(lái) 說(shuō):

          jsvm做不到,因?yàn)?/SPAN>loadjsc里又有import 語(yǔ)句,這是遞歸的

          莊表偉 說(shuō):

          不是遞歸,是分層的

          醒來(lái) 說(shuō):

          要么js語(yǔ)言升級(jí),要么瀏覽器升級(jí),我總覺(jué)得現(xiàn)階段就想讓ajax完全達(dá)到替代桌面應(yīng)用的程度是不可能的

          莊表偉 說(shuō):

          這個(gè)當(dāng)然是不可能的...

          醒來(lái) 說(shuō):

          所以在現(xiàn)階段,還是不要搞復(fù)雜了,多線(xiàn)程和隊(duì)列能用到的地方畢竟不多

          我覺(jué)得dlee強(qiáng)調(diào)的對(duì)的,現(xiàn)在需要的是組件

          語(yǔ)言級(jí)別的東西,就讓js語(yǔ)言和瀏覽器標(biāo)準(zhǔn)去慢慢支持吧

          莊表偉 說(shuō):

          我理解你們所認(rèn)為的"輕重緩急"了。根本的觀(guān)點(diǎn)在于:"急于將瀏覽器中應(yīng)用,推向完全的桌面應(yīng)用,并不現(xiàn)實(shí)"。立足于"更好的瀏覽器端應(yīng)用",而非"盡可能像桌面應(yīng)用的瀏覽器端應(yīng)用",這么說(shuō)來(lái),當(dāng)務(wù)之急自然是UI控件的完善與豐富

          dlee 說(shuō):

          我覺(jué)得瀏覽器中js誕生的使命就是改善交互和UI

          醒來(lái) 說(shuō):

          對(duì),就是這個(gè)意思

          dlee 說(shuō):

          而且我從項(xiàng)目開(kāi)發(fā)負(fù)責(zé)人的角度,更希望一個(gè)全面的解決方案。不是什么都需要我去做集成

          莊表偉 說(shuō):

          JSVM的問(wèn)題,不在于他語(yǔ)法上像Java,而在于他的目標(biāo)上像Java

          dlee 說(shuō):

          也可以這樣來(lái)理解

          醒來(lái) 說(shuō):

          ajax 里的cache 應(yīng)該是去cache 數(shù)據(jù),用來(lái)cache js代碼,意義多大呢,所以jsvm太技術(shù)化了

          dlee 說(shuō):

          Ajax in Action中,提出了一種獨(dú)占式應(yīng)用。就是像Word一樣,可能每天都要用上幾個(gè)小時(shí)。目前的Ajax技術(shù),包括一些基礎(chǔ)框架,還很難達(dá)到這個(gè)要求。所以確實(shí)需要這樣一類(lèi)基礎(chǔ)架構(gòu),但是我們認(rèn)為這些支持最好由瀏覽器和JS引擎來(lái)提供。

          莊表偉 說(shuō):

          看來(lái)我們已經(jīng)初步達(dá)成共識(shí)了

          醒來(lái) 說(shuō):

          js 就是用來(lái)操作DOM的,不要讓它承擔(dān)太多重任,xmlhttp本來(lái)也不是 js的一部分,瀏覽器的擴(kuò)展而以

          dlee 說(shuō):

          我發(fā)現(xiàn)現(xiàn)在很多人有一個(gè)通病。就跟我在那個(gè)ajaxmodel2框架的討論中說(shuō)的那樣。毫不思考地就將一種技術(shù)或者架構(gòu)用于設(shè)計(jì)意圖之外的場(chǎng)合。其實(shí)把IFrame用于異步請(qǐng)求也是這個(gè)情況

          醒來(lái) 說(shuō):

          對(duì)jsvm 的建議就是拋棄jsc,完善它自己的面向?qū)ο蠹軜?gòu),并提供工具類(lèi)支持,這樣才有可能和 dojo 有競(jìng)爭(zhēng)。所以在國(guó)外是稱(chēng)為  tricks,  是有貶義的意思,但翻譯成中文,變成竅門(mén),反而有了褒義了

          dlee 說(shuō):

          Ajax in Action的作者稱(chēng)作hacky的做法,帶有貶義

          dlee 說(shuō):

          Ajax顯得與眾不同的地方不是它所使用的技術(shù)本身,而是通過(guò)使用這些技術(shù)所帶來(lái)的新的交互模式。我們所習(xí)慣的傳統(tǒng)的Web交互模型并不適合于獨(dú)占式的應(yīng)用,只有打破了這種交互模型,新的可能性才會(huì)慢慢浮現(xiàn)出來(lái)。

          這是Ajax in Action的一句話(huà),說(shuō)得非常有道理。我們看到如此眾多的人都對(duì)Ajax感興趣不是偶然的。現(xiàn)在我們處在web app發(fā)生革命性變化的前夕

          莊表偉 說(shuō):

          嗯,我更關(guān)注:慢慢浮現(xiàn)出來(lái)的這些可能性中,哪些是正道,哪些是邪道

          醒來(lái) 說(shuō):

          我是覺(jué)得一定要擦亮眼睛,多從用戶(hù)的角度想問(wèn)題

          莊表偉 說(shuō):

          這是對(duì)的

          posted @ 2006-03-02 22:05 讀書(shū)、思考、生活 閱讀(1883) | 評(píng)論 (1)編輯 收藏
          1、今天,我到新的單位去上班了,地點(diǎn)在張江,是一家做手機(jī)游戲的公司。從我們家這里過(guò)去,要花1.5~2個(gè)小時(shí)。還好我在搭車(chē)網(wǎng)上找到了一部同去張江的車(chē),每天來(lái)回15塊,很不錯(cuò)。
           
          2、到這家公司,我的工作是Server端架構(gòu)設(shè)計(jì),所以我最近急需補(bǔ)充很多Server端架構(gòu)方面的知識(shí)。所我再一次看起了《POSA 2》,又在網(wǎng)上訂了《POSA 3》、《Java并發(fā)編程—設(shè)計(jì)原則與模式(第二版)》、《Effective Java中文版》與《Practical Java(中文版)》。這下又有得要看了。
           
          另外我還加入了一個(gè)Google Groups,叫做:高性能網(wǎng)絡(luò)編程郵件列表
           
          3、3月12日,我很有可能會(huì)到廣州,參加那里的BEA User Group。
          初步的題目是:《Ajax技術(shù)地圖》

          一、  技術(shù)地圖概覽

          初步介紹一下,要研究Ajax技術(shù),需要了解的相關(guān)技術(shù)的范圍。

          二、  結(jié)構(gòu)(Structure)、表現(xiàn)(Presentation)與行為(Behavior)

          介紹正統(tǒng)Web標(biāo)準(zhǔn)中的三大要素。

          三、  模型(Model)、視圖(View)與控制(Controller)

          介紹正統(tǒng)表現(xiàn)層MVC模式。

          四、  思考一:瀏覽器端的MVC

          隨著Ajax應(yīng)用越來(lái)越復(fù)雜,瀏覽器端是否需要引入MVC模式呢?

          五、  難題一:SPB與瀏覽器端MVC的關(guān)系

          SPBMVC之間,應(yīng)該是一種什么關(guān)系,需要有一個(gè)概念上的梳理。

          六、  難題二:瀏覽器端MVC與服務(wù)器端MVC的關(guān)系

          如果在瀏覽器端與服務(wù)器端,都定義出MVC結(jié)構(gòu),顯然存在著沖突,這樣的沖突,該如何調(diào)和。

          七、  思考二:Web服務(wù)器的角色演變

          提出一個(gè)思路,Web Server --> Web Service,也就是在瀏覽器端實(shí)現(xiàn)MVC模式,而在服務(wù)器端,分別實(shí)現(xiàn)Model ServiceView SerivceController Service

          八、  一個(gè)三維的世界

          一個(gè)地圖,并非一個(gè)簡(jiǎn)單的平面,作為一個(gè)三維的世界,我們對(duì)于技術(shù)的理解,又可以分為三個(gè)層次:理論的層面、真實(shí)世界的層面以及作為整理世界一部分的層面。

          九、  在真實(shí)世界中的難題

          介紹一些目前Ajax應(yīng)用開(kāi)發(fā)中,真正存在的困難,困惑,苦惱,陷阱......

          十、  思考三:對(duì)于整合世界的向往

          C/SB/S能否融為一體?

          開(kāi)發(fā)工具能否一站購(gòu)齊?

          開(kāi)發(fā)效率能否更快更輕松?

          十一、          難題三:Ajax的能力限制

          主要談一談Web應(yīng)用無(wú)法跨越或者目前無(wú)法跨越的一些障礙,比如網(wǎng)絡(luò)編程;比如線(xiàn)程控制;比如UI表現(xiàn)能力等等。同時(shí)也介紹一些前沿的進(jìn)展。

          十二、          難題四:開(kāi)發(fā)工具的功能整合

          簡(jiǎn)單介紹一下目前各家IDE對(duì)于Ajax的支持。

          十三、          難題五:UI控件的重用與整合

          自己從頭做UI,實(shí)在是太麻煩了,用人家的,又有整個(gè)的麻煩,但是從提升開(kāi)發(fā)效率來(lái)說(shuō),控件化開(kāi)發(fā),又是必由之路……

          十四、          暢想未來(lái)

          關(guān)于Ajax技術(shù)的一些暢想。

          因?yàn)榘l(fā)現(xiàn)與曹曉鋼的Topic嚴(yán)重撞車(chē),所以可能還會(huì)做一些修改~~~
          posted @ 2006-03-01 21:58 讀書(shū)、思考、生活 閱讀(957) | 評(píng)論 (2)編輯 收藏

          AJAX——新手快車(chē)道

           

          前言

           

          AJAX是什么?

           

          首先、AJAX是一種很酷的技術(shù),一旦采用了AJAX,就能讓你的Web頁(yè)面,你的網(wǎng)站,甚至連同你們公司,都變得很酷。在Web2.0的時(shí)代里,不使用一點(diǎn)AJAX技術(shù)的網(wǎng)站,就會(huì)顯得很老土,很落伍。

           

          但是,這樣的理解,其實(shí)是很膚淺的。僅僅是從一個(gè)外行,從一個(gè)使用者的角度出發(fā),來(lái)理解AJAX,就像我在本書(shū)的第一章AJAX我也行中那樣,開(kāi)發(fā)出很愚蠢,甚至都沒(méi)有資格被稱(chēng)之為AJAX應(yīng)用的純IEXMLHTTP應(yīng)用。

           

          AJAX更酷的一點(diǎn)在于,對(duì)于傳統(tǒng)的Web開(kāi)發(fā)人員來(lái)說(shuō),AJAX所運(yùn)用的,是更加先進(jìn)的,更加標(biāo)準(zhǔn)化的,更加和諧高效的,完整的Web開(kāi)發(fā)技術(shù)體系。遵循這樣的體系開(kāi)發(fā)Web應(yīng)用,能讓你的開(kāi)發(fā)過(guò)程變得更加輕松,也能使你們的開(kāi)發(fā)團(tuán)隊(duì),顯得很酷。在Web2.0的時(shí)代里,還在采用過(guò)時(shí)的技術(shù)來(lái)開(kāi)發(fā)Web,會(huì)顯得很老土,很落伍。

           

          AJAX的相關(guān)組成技術(shù),每一個(gè)都已經(jīng)出現(xiàn)了N年以上了,對(duì)這些技術(shù)的組合運(yùn)用,也遠(yuǎn)遠(yuǎn)早于AJAX這個(gè)名詞出現(xiàn)之前。所以,我真正敬佩的,并非提出
          AJAX
          這個(gè)縮寫(xiě)的Jesse James Garrett。而是那些早在N年以前,就已經(jīng)在探索、實(shí)踐的先行者,他們始終在追求的:是更好的用戶(hù)體驗(yàn),以及更好的開(kāi)發(fā)體驗(yàn)。這樣的精神,才是最可寶貴的,也是最值得我們學(xué)習(xí)的。許多年過(guò)去以后,當(dāng)我們?cè)倩仡^來(lái)看當(dāng)年的這些熱門(mén)技術(shù),也許早已經(jīng)變得老土,變得落伍了。在這樣的歷程中,哪些人會(huì)成長(zhǎng)為高手?會(huì)成長(zhǎng)為大師呢?就是那些永不滿(mǎn)足,永遠(yuǎn)在追求更好的用戶(hù)體驗(yàn),永遠(yuǎn)在追求更好的開(kāi)發(fā)體驗(yàn)的人!

           

          新手如何上路

           

          軟件開(kāi)發(fā)這個(gè)領(lǐng)域,永遠(yuǎn)都在飛速發(fā)展,大家都必須不斷的學(xué)習(xí)新的知識(shí)、技能、框架、IDE、甚至新的語(yǔ)言。傳說(shuō)中的骨灰級(jí)高手們,就像傳說(shuō)中的大俠,任何武器、哪怕是一塊木頭到了他們手里,也能發(fā)揮驚人的威力,人家練了幾十年的看家本領(lǐng),他們隨手使來(lái),也竟然像是打娘胎里就開(kāi)始練了一樣。為什么?

           

          就算不吹那么玄的,平常我們能夠碰到的那些老手,在學(xué)新東西的時(shí)候,也比那些新手學(xué)得更快,理解得更深,運(yùn)用得更熟練。而新手們呢?往往就會(huì)漫無(wú)頭緒,焦頭爛額,以一副張著茫然的大眼睛的經(jīng)典表情,出現(xiàn)在各大論壇的新手求助區(qū)里。他們欠缺的,究竟是什么呢?為什么老手學(xué)新東西,就沒(méi)遇到那么多困難呢?

           

          泛泛地說(shuō),自然是經(jīng)驗(yàn)上的欠缺。仔細(xì)地說(shuō)來(lái),又可以分為三個(gè)方面:

           

          一、本質(zhì),一種技術(shù)與另一種技術(shù)之間,往往會(huì)有本質(zhì)上的相通之處,當(dāng)你對(duì)一種技術(shù)的理解與思考越來(lái)越深入時(shí),學(xué)習(xí)一種新技術(shù)也會(huì)更加容易。觸類(lèi)旁通,舉一反三的能力,就是來(lái)自于對(duì)于技術(shù)本質(zhì)的追尋。

           

          二、地圖,本質(zhì)上或多或少的相通,也提示著我們技術(shù)之間的相互關(guān)聯(lián),當(dāng)你了解的技術(shù)越多,了解得越是深入,在你的內(nèi)心,就能建立起越發(fā)清晰的技術(shù)地圖。各種知識(shí)都有一個(gè)自然、合理的位置。那么當(dāng)一個(gè)老手要學(xué)習(xí)一門(mén)新技術(shù)的時(shí)候,他其實(shí)并非在探索一個(gè)全新的、未知的領(lǐng)域,而是有很多脈絡(luò)可尋,也很多已知可以幫助他們快速了解未知。

           

          三、技巧,面對(duì)同樣的未知,面對(duì)同樣的難題,新手們一籌莫展,而老手們卻掌握著更多的技巧和手段,幫助他們?cè)囂娇赡苄浴⒖s小問(wèn)題的范圍、迅速定位問(wèn)題、不犯明顯愚蠢的錯(cuò)誤、甚至能夠列舉出更具命中力的搜索關(guān)鍵詞,而這些技巧,都幫助老手在前進(jìn)的道路上,更少跌倒,即使跌倒,也能更快的爬起來(lái)。

           

          作為一本寫(xiě)給新手的入門(mén)書(shū)籍,我們希望展現(xiàn)給讀者的,是一個(gè)老手如何學(xué)習(xí)新技術(shù)的過(guò)程。我們相信,這樣的一個(gè)學(xué)習(xí)過(guò)程,對(duì)于新手來(lái)說(shuō),是更具有價(jià)值的。

           

          何謂快車(chē)道

           

          必須老老實(shí)實(shí)的承認(rèn),我吹牛了!老手雖然會(huì)比新手學(xué)習(xí)得更快一些,但是也同樣會(huì)碰到麻煩,遇到障礙,感覺(jué)頭痛。如果沒(méi)有真正的專(zhuān)家的指導(dǎo),我不可能如此迅速地將AJAX掌握到目前這樣的程度,要真是讓我自學(xué)三個(gè)月,然后就寫(xiě)出書(shū)來(lái)的話(huà),那真是在騙錢(qián)了。

           

          老手能夠快速學(xué)習(xí)的另一個(gè)重要的訣竅是:認(rèn)識(shí)很多牛人朋友J

           

          如果沒(méi)有李錕與趙澤欣的專(zhuān)家級(jí)指導(dǎo)與幫助,如果沒(méi)有與李錕AJAX結(jié)對(duì)編程的體驗(yàn),如果沒(méi)有三個(gè)人在MSN上無(wú)數(shù)次的長(zhǎng)聊,我想要在短期內(nèi)建立起:

           

          對(duì)于AJAX本質(zhì)的理解;

          對(duì)于整個(gè)AJAX以及相關(guān)技術(shù)地圖的理解;

          對(duì)于AJAX編程開(kāi)發(fā)所需要的很多技巧、手段的掌握;

          幾乎是不可能的。

           

          如果沒(méi)有(N多需要感謝的人)的(N多方面的幫助),我們這本書(shū),也不可能以現(xiàn)在這樣的深度,以(N個(gè)月)內(nèi)完成的速度,送到讀者的面前。

           

          希望這本書(shū),能夠?qū)Υ蠹铱焖賹W(xué)習(xí)AJAX,有所幫助。

           

          這是我原來(lái)寫(xiě)的前言,自我感覺(jué),寫(xiě)得還是不錯(cuò)的。可惜啊,這最后幾段,現(xiàn)在看來(lái)是用不上了。

          posted @ 2006-03-01 21:57 讀書(shū)、思考、生活 閱讀(4713) | 評(píng)論 (39)編輯 收藏
            最近MyEclipse推出了支持Ajax的最新版本,Eclipse也有了一個(gè)The AJAX Toolkit Framework (ATF) Project。再加上Sun正式發(fā)布Java Studio Creator 2,其中提供了對(duì)Ajax的支持并且提供了一組易用,易部署的基于Ajax的UI組件。可以想象,支持更加方便的IDE的Web開(kāi)發(fā)工具的時(shí)代,即將到來(lái)。我也來(lái)設(shè)想一下,我理想中的Ajax IDE吧。
           
            1、可視化,但不是直接編輯。類(lèi)似于Dreamweaver,但是應(yīng)該再增加一個(gè)獨(dú)立的DOM Tree。任意選擇一個(gè)DOM節(jié)點(diǎn),就能夠高亮相關(guān)的CSS規(guī)則。任意選擇一個(gè)CSS規(guī)則,就能夠高亮受影響的DOM節(jié)點(diǎn)。開(kāi)發(fā)工作,是對(duì)于DOM Tree的操作+對(duì)CSS規(guī)則集的管理。而不是直接手動(dòng)去拖拽頁(yè)面元素。
           
            2、智能的CSS優(yōu)化。那么多CSS規(guī)則,甚至是跨頁(yè)面的CSS規(guī)則,有多少是可以重用的,有多少是可以歸并的,有沒(méi)有可能設(shè)計(jì)出一個(gè)CSS優(yōu)化算法,鼠標(biāo)一個(gè)Click,一切就完美了。
           
            3、JavaScript的Debug。基本上能夠做到MyEclipse那樣,就非常棒了。
           
            4、代碼智能感知。MyEclipse似乎也能做出這個(gè)效果,就是不知道準(zhǔn)確性是多少。
           
            5、代碼重構(gòu)支持。不止是JavaScript的重構(gòu),還有XHTML、CSS的重構(gòu)......
           
            6、JavaScript基礎(chǔ)庫(kù)生成。如果有這樣一個(gè)Wizard,我能夠選擇針對(duì)的瀏覽器平臺(tái)、版本、想要用到的功能......N多選項(xiàng),然后它就幫我匯集眾家之長(zhǎng),去掉無(wú)關(guān)的代碼,在生成一個(gè)我需要的JS文件。這個(gè)世界就近乎完美了。
           
            7、集成各種UI組件庫(kù)。各種好的UI,在線(xiàn)Update,拿來(lái)就用。
           
            8、UnitTest的完善支持......
           
          差不多了,就遐想到這里吧...
          posted @ 2006-02-05 22:53 讀書(shū)、思考、生活 閱讀(1505) | 評(píng)論 (1)編輯 收藏
          僅列出標(biāo)題
          共6頁(yè): 上一頁(yè) 1 2 3 4 5 6 下一頁(yè) 
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(20)

          隨筆檔案

          友情BLOG

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 西城区| 郯城县| 育儿| 大竹县| 永德县| 蓬安县| 伊吾县| 通化县| 仲巴县| 天气| 伊春市| 德兴市| 北碚区| 靖州| 土默特左旗| 大邑县| 永德县| 和田县| 黔南| 瑞丽市| 嘉鱼县| 西华县| 建阳市| 前郭尔| 库车县| 岳池县| 虎林市| 县级市| 南江县| 凌海市| 阿勒泰市| 新乡市| 青龙| 湘潭市| 太保市| 韶关市| 陇西县| 宁武县| 长葛市| 许昌市| 鹿邑县|