摘要:迄今為止我的那個小網(wǎng)站已經(jīng)發(fā)布到網(wǎng)上了,然而功能還在迭代中,真的說起來的話,現(xiàn)在距離版本的發(fā)布,還差。于是改為了,接收,然后把通用的體扔給的形式。每個頁面進入時需要調(diào)用檢查。以方便錯誤處理。包的連接池,不關(guān)閉,最多個連接,多了會爆掉。
迄今為止我的那個小網(wǎng)站已經(jīng)發(fā)布到網(wǎng)上了,然而功能還在迭代中,真的說起來的話,現(xiàn)在距離1.0版本的發(fā)布,還差50%?,F(xiàn)在記錄一下之前做的一些內(nèi)容,以及一些技術(shù)路線方面的改進吧:
首先,這是一個用于我個人統(tǒng)計研究和展示的網(wǎng)站,當前的核心是一個CMS系統(tǒng),想要統(tǒng)計用戶發(fā)布信息的關(guān)鍵詞與情感趨勢
最初的想法是在zuiwan.org的基礎(chǔ)上,做一個二級網(wǎng)站。所以在服務(wù)端技術(shù)架構(gòu)上,依然沿用主站的NODE+EXPRESS的方法,服務(wù)器沒有采用一直使用的MongoDB,而是換成了MySQL,也方便后期上Java或者PHP。
前端架構(gòu)上,也沒有采用主站的VUE,而是沿用了我更加熟練的NG1.5。
服務(wù)端結(jié)構(gòu):
Index->Router->Model->DAO->MySQL => HTTP型api訪問流
Index->static => 靜態(tài)頁面訪問流
Index->socket.io Handler->Model->DAO->MySQL => socket接口訪問流
最初是沒有socket.io的,當時試圖直接用普通的HTTP接口來實現(xiàn),但是實時性需要用計時器來輪訓,后來考慮到后期擴展,直接使用了socket.io。
model層最初被用來做黏合,接收的是req,res,然后直接在model層做了res.end()。但是后期在擴展socket的時候發(fā)現(xiàn),這樣會導致耦合度激增。于是改為了,接收data,cb,然后把通用的response體扔給cb的形式。
在之前的設(shè)計里,我一直不知道m(xù)odel層該如何設(shè)計,為何router不能直接與dao進行調(diào)度和數(shù)據(jù)交換。然后看到他們的java實體類——天了嚕,為何一個Model要對應(yīng)一個dao,這豈不是更沒有道理了。
后來我真正開始自己的寫法的時候,就找到了一點點思路——比如用戶模塊,一方面對上層接受的是路由過來的各種相關(guān)方法,一方面,并不只是對應(yīng)一個user的Dao方法,其實涉及到很多個dao,比如token、relation等等。而token這個dao,也不可能多帶帶拿一個Model去對應(yīng)?!@是我的思路。
這么說來,其實我是少了Controller層。感覺java里Model封裝了dao之后,在Controller里調(diào)用了各個Model。但是我暫時還沒有找到這樣的優(yōu)勢。所以還是沿用自己的思路吧。
另外,在與MySQL交互的時候,我抽取了一個dao的封裝,暴露了一個query方法,作為各個dao的根基,上面的dao就只需要寫dao.query(str, cb)就好了。
前端:
標準的NG1.5+UI-Router,BS做了上層樣式展現(xiàn)。只是我一直用不慣UI.BootStrap。導致我現(xiàn)在還在用BS苦苦支撐。
Socket對接沿用了之前的代碼、service用來存儲全局變量。每個頁面進入時需要調(diào)用session檢查。
其他的無甚好說了。
經(jīng)驗教訓:
1.NodeJS編程中,接口的回調(diào)參數(shù),默認是err, data。以方便錯誤處理。
2.NG-repeat是支持子變量過濾的,自動的。
3.新學了express-session。
4.mysql包的連接池,不關(guān)閉,最多10個連接,多了會爆掉。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/86684.html
摘要:什么是數(shù)組數(shù)組是值的有序集合。這個位置用數(shù)字表示叫索引數(shù)組用字符串表示叫關(guān)聯(lián)數(shù)組。 什么是數(shù)組 數(shù)組是值的有序集合。數(shù)組中的每個值叫一個元素,每個元素在數(shù)組中都有一個唯一的位置。這個位置用數(shù)字表示叫索引數(shù)組;用字符串表示叫關(guān)聯(lián)數(shù)組。數(shù)組的元素可以是不同的類型可以動態(tài)的向數(shù)組差人新元素,或者刪除指定元素 一維數(shù)組 定義數(shù)組 定義數(shù)組的方式有三種 /*數(shù)組字面量方式定義數(shù)組*/ var a...
摘要:,是一個輕量級開源接口文檔管理系統(tǒng),致力于減少前后端溝通成本,提高團隊協(xié)作開發(fā)效率,打造版的。官方網(wǎng)站演示網(wǎng)站作者博客官方群 PHPRAP,是一個PHP輕量級開源API接口文檔管理系統(tǒng),致力于減少前后端溝通成本,提高團隊協(xié)作開發(fā)效率,打造PHP版的RAP。 更新記錄 【修復(fù)】修復(fù)PHP7.1下報db()函數(shù)缺少默認參數(shù)的BUG 【修復(fù)】修復(fù)未登錄狀態(tài)下注冊頁不斷彈出修改默認密碼的BU...
摘要:,是一個輕量級開源接口文檔管理系統(tǒng),致力于減少前后端溝通成本,提高團隊協(xié)作開發(fā)效率,打造版的。官方網(wǎng)站演示網(wǎng)站作者博客官方群 PHPRAP,是一個PHP輕量級開源API接口文檔管理系統(tǒng),致力于減少前后端溝通成本,提高團隊協(xié)作開發(fā)效率,打造PHP版的RAP。 更新記錄 【修復(fù)】修復(fù)PHP7.1下報db()函數(shù)缺少默認參數(shù)的BUG 【修復(fù)】修復(fù)未登錄狀態(tài)下注冊頁不斷彈出修改默認密碼的BU...
摘要:,是一個輕量級開源接口文檔管理系統(tǒng),致力于減少前后端溝通成本,提高團隊協(xié)作開發(fā)效率,打造版的。官方網(wǎng)站演示網(wǎng)站作者博客官方群 PHPRAP,是一個PHP輕量級開源API接口文檔管理系統(tǒng),致力于減少前后端溝通成本,提高團隊協(xié)作開發(fā)效率,打造PHP版的RAP。 更新記錄 【修復(fù)】修復(fù)PHP7.1下報db()函數(shù)缺少默認參數(shù)的BUG 【修復(fù)】修復(fù)未登錄狀態(tài)下注冊頁不斷彈出修改默認密碼的BU...
閱讀 1568·2021-09-22 15:52
閱讀 3473·2021-09-22 14:59
閱讀 2855·2021-09-02 15:12
閱讀 981·2021-08-20 09:35
閱讀 1588·2019-08-30 14:09
閱讀 2718·2019-08-30 13:56
閱讀 1661·2019-08-26 18:27
閱讀 3372·2019-08-26 13:37