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