首先google了一下,什么ajax十大框架排名,找了幾個(gè)順眼的,prototype,dojo,ext,jquery。都不錯(cuò),dojo的示例真強(qiáng)呀,jquery也不錯(cuò),慢慢嘗試吧,慢點(diǎn)做個(gè)應(yīng)用,好好研究研究。哈哈
隨筆分類
隨筆檔案
文章分類
文章檔案
收藏夾
我的網(wǎng)站
- 很多flash小游戲,在線玩的
小鎮(zhèn)樹妖--住在樹上的妖To follow the path: look to the master, follow the master, walk with the master, see through the master, become the master. |
2005年12月23日 #
看了網(wǎng)上關(guān)于ajax的熱烈討論,終于按耐不住,嘗試了ajax的幾個(gè)框架,感覺(jué)還是不錯(cuò)的選擇,做網(wǎng)站好像不是很好,做應(yīng)用很不錯(cuò)的。以前自己用過(guò)xmlhttp,沒(méi)有用框架,只是簡(jiǎn)單的使用xmlhttp,返回text,然后把text放到頁(yè)面里顯示,僅此而已,不過(guò)已經(jīng)覺(jué)得夠用了,如果有多個(gè)可以使用xml,返回xml后用javascript解析一下,分別動(dòng)態(tài)的生成html元素,這個(gè)用起來(lái)比較舒服,因?yàn)槲移綍r(shí)都用ff來(lái)瀏覽,基本沒(méi)有什么問(wèn)題,IE就讓人頭痛了,要使用activex。所以就開始尋求框架的幫助。
首先google了一下,什么ajax十大框架排名,找了幾個(gè)順眼的,prototype,dojo,ext,jquery。都不錯(cuò),dojo的示例真強(qiáng)呀,jquery也不錯(cuò),慢慢嘗試吧,慢點(diǎn)做個(gè)應(yīng)用,好好研究研究。哈哈
做了幾年技術(shù),一路走來(lái),接觸了很多新事物,對(duì)各種語(yǔ)言工具也略有了解。記得剛接觸的時(shí)候?qū)W習(xí)的是Java,實(shí)習(xí)也做了java,記得當(dāng)時(shí)一次面試一家日資公司,因?yàn)槭莿偖厴I(yè)的小朋友,工資提的低,因此用人單位比較開心,硬讓我學(xué)習(xí)vb,還說(shuō)java沒(méi)前途,當(dāng)時(shí)覺(jué)得很不甘心,話說(shuō)畢業(yè)前夕我也看了很多資料,當(dāng)時(shí)就下定決心做java了(當(dāng)時(shí)是2003年),怎么會(huì)去vb呢,所以毅然放棄了,現(xiàn)在看來(lái)還是有點(diǎn)技術(shù)前瞻性的,呵呵。可是沒(méi)想到的是后來(lái)的工作歷程中,居然只有1年半左右時(shí)間在做JAVA,其余的都給asp,php了,特別是php,大概了3年了吧。因此也免不了俗,一直來(lái)比較比較。
空談沒(méi)什么意思,asp就不談了,這次空下來(lái)用OO的思想,javabean的形式,MVC的理念使用php做了個(gè)小應(yīng)用。OO的話以本人愚見,應(yīng)該都是對(duì)象操作,因此建好數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)操作的基類先寫好,據(jù)說(shuō)php5的類做的相當(dāng)好,速度要比php4的function都快,所以我在數(shù)據(jù)庫(kù)基類的構(gòu)造方法里進(jìn)行連接數(shù)據(jù)庫(kù),等著被繼承吧。 接下來(lái)是對(duì)對(duì)象的封裝,很小的應(yīng)用,只是對(duì)一個(gè)用戶數(shù)據(jù)庫(kù)的操作,因此寫了個(gè)user 類,對(duì)屬性進(jìn)行set/get封裝,用上標(biāo)志性的private 修飾符,感覺(jué)還不錯(cuò),只是覺(jué)得->這個(gè)符號(hào)比起.來(lái)多了一個(gè)符號(hào),誰(shuí)叫我是個(gè)懶人呢,這都計(jì)較。。。 數(shù)據(jù)模型簡(jiǎn)歷好了,進(jìn)行操作模型的編寫,增,刪,改都寫成類,繼承數(shù)據(jù)庫(kù)操作就好了,感謝繼承的偉大。然后搞個(gè)smarty,在頁(yè)面里面把操作類拿出來(lái)的數(shù)據(jù)庫(kù)塞進(jìn)template里。 總結(jié)一下,View相對(duì)簡(jiǎn)單,不談,M和C稍微有點(diǎn)混亂,如果我強(qiáng)悍點(diǎn),寫個(gè)apache的extension什么的,專門處理url,因此干脆就把頁(yè)面當(dāng)作C來(lái)做,每個(gè)C去調(diào)用操作Model(邏輯上的),然后處理的數(shù)據(jù)再給頁(yè)面,輸出到view。個(gè)人認(rèn)為使用url的傳值總不是那么回事,雖然可以使用apache來(lái)處理,但是。。。感覺(jué)一下,很花時(shí)間,不如function來(lái)的快,雖然到處都是sql,如果將來(lái)php也搞這種(下次研究一下zendframework,后臺(tái)是IBM,不知他怎么個(gè)思想),還是回到j(luò)ava吧,或者ruby也不錯(cuò)。
長(zhǎng)久以來(lái)一直使用fedora 6 ,我使用電腦主要還是為了開發(fā),偶爾還玩玩游戲,在癡迷魔獸的時(shí)間里只能使用雙系統(tǒng),嘗試過(guò)虛擬機(jī),不怎么樣,再說(shuō)我的機(jī)器也不是很好。
聽說(shuō)fedora 7出來(lái)了,一心想upgrade一下,找了半天下載源,都沒(méi)有看到cd的,官網(wǎng)的速度又太慢,沒(méi)辦法,下個(gè)DVD的吧,找人刻錄一下,2.8G的容量,想想也怕怕的,要下到什么時(shí)候,周末的時(shí)候騰出半天來(lái),用flashget慢慢拖,可是另人郁悶的事情發(fā)生了,下到1.3G的時(shí)候,重啟了一下電腦,再打開flashget,就傻眼了,不是號(hào)稱斷點(diǎn)續(xù)傳嘛~~~太郁悶了,怎么能這樣,居然不能繼續(xù)傳,那個(gè)叫郁悶啊 想了一下,心一橫,裝ubuntu吧,就一張cd,雖然以前試用過(guò),比較討厭不能使用root,隨便什么命令都要sudo,再用用也無(wú)妨啊,現(xiàn)階段主要還是學(xué)習(xí)bash,軟件安裝和編譯等方面的,所以就動(dòng)起手來(lái)。 這個(gè)Ubuntu的好處就是安裝簡(jiǎn)單,很快哦,而且服務(wù)器多,下載里邊的軟件也快,不像fedora,慢得不行,中文社區(qū)也沒(méi)多少人,Ubuntu的人就很多了,裝完系統(tǒng),在論壇里找些資料,沒(méi)多久就搞定了,編譯mysql,apache,順便把ror也裝上去,php 5和ror裝好后基本可以用了,接下來(lái)就是把系統(tǒng)優(yōu)化一下,就是把service關(guān)掉幾個(gè),換個(gè)Mac的皮膚,真漂亮。然后把home的文件權(quán)限和權(quán)限組改一下,方便工作嘛,這些文件都是老的fedora里面留下來(lái)的,裝Ubuntu的時(shí)候沒(méi)有格式化,沒(méi)辦法,我這個(gè)人懶啊。 接下來(lái)重點(diǎn)推薦一下2個(gè)網(wǎng)站,讓我的工作真是方便不少啊,也不完全是工作,呵呵。首先當(dāng)然是google,包括我的email,文檔管理,工作計(jì)劃,基本在google上完成,特別是工作計(jì)劃,感覺(jué)google的calendar真是棒啊,喜歡google,打算學(xué)習(xí)python,聽說(shuō)google招人需要這項(xiàng)技能的。呵呵。另外一個(gè)就是游戲 ,游戲中國(guó)www.game.com.cn ,可能是因?yàn)閘inux下游戲不多,突然喜歡上了flash游戲,游戲中國(guó) www.game.com.cn 這個(gè)網(wǎng)站不錯(cuò),速度蠻快的,找到了曾經(jīng)讓我癡迷的flash游戲 “魔塔”,呵呵,想當(dāng)年在公司里經(jīng)常玩的,哈哈 往下的工作是找?guī)讉€(gè)開發(fā)工具,還在尋覓中呢,哪位有好推薦的,告訴我一聲哦~~~
最近,一邊偷懶,一邊慢慢的學(xué)習(xí)新知識(shí),有時(shí)候覺(jué)得真累啊,還有麻煩的世事,搞得我像個(gè)無(wú)頭的蒼蠅,找不到平衡點(diǎn),誰(shuí)叫我情商低呢。。。
閑暇的時(shí)候接觸到了某門戶網(wǎng)站某頻道的維護(hù)工作。使用了一個(gè)開源系統(tǒng),稍微看了一下,還是滿不錯(cuò)的一個(gè)東西,最出彩的就是生成靜態(tài)文件,使用一個(gè)類完成所有操作,使用javascript顯示進(jìn)度,生成的靜態(tài)文件也不錯(cuò),頁(yè)面使用自定義標(biāo)簽和模板。另一個(gè)就是使用smarty模板,顯示產(chǎn)品頁(yè)面。看了一下代碼,覺(jué)得滿不錯(cuò)的,如果使用smarty,可能我的后臺(tái)管理系統(tǒng)只需要幾個(gè)tpl模板就可以了,稍微深入思考了一下,感覺(jué)可行,哪天下午正好公司的頭都不在,下載了smarty手冊(cè),順便下一個(gè)adodb手冊(cè),觀摩了一下,似有所悟,胡亂設(shè)計(jì)了一下數(shù)據(jù)庫(kù)、模板頁(yè)面,打算拿回去好好繼續(xù)研究。 玩轉(zhuǎn)了幾天smarty和adodb,邊看文檔邊做,demo版本的后臺(tái)管理終于差不多了,剩下的看了看文檔,似乎還有cache什么的東西,滿深厚的,需要日后再花時(shí)間研磨。 經(jīng)常查看TIOBE的排行,php的走向是最讓人看了舒服的,基本上是爬升的,雖然也是坎坷不平,但是看看其他的,包括java,都有個(gè)地方是大落大起的,我欣賞沒(méi)有大起大落,只有不斷前進(jìn),就像阿甘說(shuō)的,just run。
???? 很多時(shí)候我們都想開發(fā)一個(gè)萬(wàn)用的系統(tǒng),這樣面對(duì)客戶的需求就真的可以隨機(jī)應(yīng)變了,如果客戶要改變一個(gè)模塊,那按一個(gè)按鈕就可以輕松應(yīng)變,可惜要做到這個(gè)不知道要到什么時(shí)候了,像我們這個(gè)級(jí)別的程序員如果能夠最大程度上應(yīng)對(duì)客戶需求已經(jīng)相當(dāng)不錯(cuò)了,畢竟離一個(gè)合格的架構(gòu)師還很遠(yuǎn)呀。
???? 還是別扯太遠(yuǎn),解決眼前的問(wèn)題先。所以現(xiàn)在的問(wèn)題是如何編寫出可擴(kuò)展的或者說(shuō)是易于擴(kuò)展的代碼,從最原始的時(shí)代開始說(shuō)起顯然是個(gè)不明智的方法,或許可以從我本身的經(jīng)歷說(shuō)吧,最早以前,用asp做b/s系統(tǒng),一個(gè)頁(yè)面來(lái)顯示,例如list.php,顯示需要展示的內(nèi)容的列表,通常這個(gè)頁(yè)面會(huì)有一個(gè)按鈕,連接到insert.php,也就是需要用戶輸入表單,然后提交到insert_do.php,處理用戶的輸入,這樣一個(gè)輸入流算完成了,以前通常這樣做,但是當(dāng)現(xiàn)在回憶起來(lái)只能說(shuō),那是個(gè)多么累的方法,或許自己心里會(huì)辯解到至少頁(yè)面代碼很清晰。后來(lái)的想法是,把功能都放一個(gè)頁(yè)面,例如有l(wèi)ist.php和 list_do.php根據(jù)url上參數(shù)的不同實(shí)現(xiàn)不同的操作,例如inset,update,delete等等,可是,事情總是2面的,很多時(shí)候擔(dān)心客戶端可以使用參數(shù)來(lái)自定義提交,是不是安全性降低了很多嗎?偶然的機(jī)會(huì)為了奧林巴斯的網(wǎng)站,可以看出是韓國(guó)人寫的,居然在提交的時(shí)候自定義一個(gè)form,讓數(shù)據(jù)隱藏,開始覺(jué)得這個(gè)是個(gè)不錯(cuò)的注意,安全性高又靈活。后來(lái)仔細(xì)分析其實(shí)沒(méi)多大實(shí)際意義,其實(shí)一個(gè)懂得用url侵入的人也應(yīng)該知道自己寫個(gè)靜態(tài)頁(yè)面也一樣,所以很矛盾啊,后來(lái)干脆不管了,還是用url傳參數(shù),不同的是傳到自己本身頁(yè)面,所以最后只需要一個(gè)頁(yè)面就可以完成所有的工作。雖然一個(gè)頁(yè)面可能有幾千行(想起當(dāng)初大學(xué)老師在教c++的時(shí)候曾經(jīng)提過(guò)他看過(guò)800多行的代碼,但是同學(xué)們“哇”聲一片,自己那時(shí)候也發(fā)誓以后不搞這行當(dāng),這玩意傷腦子,可是結(jié)果。。。),只要注釋寫的好,維護(hù)就ok了,現(xiàn)在最喜歡做的事情就是寫注釋,劃類別,感覺(jué)越整齊越舒服。為了讓我的系統(tǒng)能夠活得長(zhǎng)久,盡量寫得濃縮,分類盡量詳細(xì),頁(yè)面名稱盡量好,所有功能都在一個(gè)頁(yè)面里面,甚至連圖片的名稱也要好,必須為gif或者png,我這樣的要求我的老婆,因?yàn)樗亲雒拦さ模琧ss寫得也要好,就是因?yàn)檫@個(gè)css,最近碰到好多難題哦,這個(gè)暫且不談,不管界面用什么技術(shù),反正程序編碼必須整齊,所有html元素都寫成function,數(shù)據(jù)庫(kù)操作也是,曾經(jīng)一度在function和class之間徘徊,現(xiàn)在決定php5.0以下用function,以上用class,大項(xiàng)目用ADODB,當(dāng)然要優(yōu)化一下,也就是改一改,討厭的就是那個(gè)GPL,改好了怎么發(fā)布呢?E文不好,吃大虧啊。其他就沒(méi)什么問(wèn)題了,前端顯示直接寫或者模板都可以,這個(gè)我不關(guān)心,現(xiàn)在主要攻克幾個(gè)開源的協(xié)同oa,還有ecommerce。 ????? 其實(shí)有時(shí)候想把公用的function和class寫進(jìn)include里面,某個(gè)模塊的function和class,或者干脆寫class,放在同級(jí)目錄下,每個(gè)頁(yè)面有一個(gè),舉例來(lái)說(shuō) list.php 有個(gè)list.inc.php,后者包括所有的函數(shù)和功能讓list.php使用,這也不外乎是個(gè)好方法,可是沒(méi)有仔細(xì)想過(guò),后來(lái)稍微研究.net了一下,有點(diǎn)異曲同工。 ????? 好了,以上是我的一些心得,不知道還有什么好的方法沒(méi)有,那要看廣大的網(wǎng)友了,毛主席說(shuō)過(guò)人多力量大。
??????信息分頁(yè)的問(wèn)題似乎不是很難,需要改變?cè)瓉?lái)信息的屬性,比如這條信息屬于無(wú)子頁(yè)的,如果有子頁(yè),另外加入子頁(yè)序號(hào)就可以了,顯示的時(shí)候沒(méi)有特別要求顯示無(wú)子頁(yè)的記錄,等讀到這條記錄是,查詢是否有子頁(yè),如果有就生成翻頁(yè)就可以了,應(yīng)該說(shuō)是滿簡(jiǎn)單的方法,或者干脆建立一張子頁(yè)信息的table,后者雖然開銷多一點(diǎn),可能速度會(huì)快點(diǎn),編碼也方便點(diǎn)。信息模塊基本就是這些重要的了,table方面,一張大類表,一張小類,一張信息,一張子信息,這樣應(yīng)該就可以了。上傳圖片也不難,編輯這塊,如果客戶懂html,最好就放一個(gè)textarea就可以了,這樣顯得專業(yè),而且,頁(yè)面不會(huì)太亂,不懂的話FCKeditor是個(gè)不錯(cuò)的選擇,類似word一樣。
??????2、產(chǎn)品模塊,這塊應(yīng)該很簡(jiǎn)單,類似呀,不過(guò)相對(duì)不同的產(chǎn)品可能有不同的參數(shù),如果追求速度,不可定制,專用性強(qiáng),那就把參數(shù)定死了,如果想做得通用些,那么需要多加幾張表,產(chǎn)品類別也做成無(wú)限級(jí)。如何讓系統(tǒng)定制參數(shù)呢,最簡(jiǎn)單的就是加table,把屬性值添加進(jìn)去,當(dāng)然是在正式運(yùn)營(yíng)之前,所以在這些之前必須有個(gè)良好的后臺(tái)管理系統(tǒng)(Backend Manager),鑒于這個(gè)比較難,還是最后考慮吧,先想好其他模塊,考慮周密一些,然后再考慮后臺(tái)參數(shù)等,也好在修改的時(shí)候有個(gè)比較啊。 ????????3、會(huì)員模塊,我想這塊對(duì)于用戶來(lái)說(shuō)越簡(jiǎn)單越好,可是后臺(tái)可不能馬虎,為了更多了解客戶,知道客戶的很多信息,難道只有讓他/她/它填寫很多資料嗎?當(dāng)然不,可能一些問(wèn)答、反饋、抽象、積分更加吸引客戶吧,所以,會(huì)員管理部分,除了有積分、等級(jí)、折扣等,還可以添加許多功能,當(dāng)然并不指望在編碼的時(shí)候能夠把所有功能加上去,最好就是有個(gè)擴(kuò)展的機(jī)制。 ?????????另外,會(huì)員的訂單(order )、購(gòu)買記錄(order list ,can search old order)、購(gòu)物車(cart)、收藏夾(wish list)等等功能,都是不能缺少的。 ?????????除了后臺(tái)管理,似乎一切都很完美,可是..... ?????? 寫這篇文字的時(shí)候,一直是在尋找一種自認(rèn)為比較合理的web開發(fā)模式,或者更確切說(shuō)是一種方法,一種潛意識(shí)的標(biāo)準(zhǔn),說(shuō)起標(biāo)準(zhǔn)來(lái),有人會(huì)說(shuō)壟斷,那我只能說(shuō)別把話題扯遠(yuǎn)了,因?yàn)槲乙涗浀氖窃谀骋画h(huán)境下,某個(gè)前提下所進(jìn)行的web開發(fā),因此,在一種或者幾種原則的框架下,自然要舍棄某些東西。那就是傳說(shuō)中的需求!我喜歡清晰的需求。 時(shí)隔半年多,繼續(xù)把機(jī)器上收集的文章發(fā)布下去,繼續(xù)把學(xué)習(xí)的熱情延續(xù)下去,不能在茫然無(wú)措下去,坐以待斃不如破釜沉舟,決定了.....哇哇哇
今天很早起來(lái)更新了一些文章,很多都是我機(jī)器上收藏的,都是非常有用的,這樣以后要查直接上來(lái)查,等東西多了就導(dǎo)出xml,就更方便了,省得我自己編輯,^_^
|