完成老爸的私房錢作業
完成練習專案
你為何會選擇這個專案?
會選擇這個專案來做的原因有幾點
- 整個專案涉及了相當廣的且實用的功能,例如:最常見的CRUD(新增、讀取、修改、刪除資料等功能)和廣泛使用的RESTful架構風格,都是很實用且在市場上依然必要的技術。
你使用了什麼技術?
- 這個專案對自己來說使用了過去以往都沒有碰過的技術,例如:掛載passport及express-session來完成本地登入驗證工具,達到註冊、登入、登出等驗證功能、以及掛在bcrypt來對使用者的密碼加密保存,保障使用者的個資安全。另外再配合過去已熟知bootstrap加速版面開發,使用express框架系統配合handlebars樣板引擎來製作頁面,最後經由路由控制來達成CRUD功能。雖然專案不大,但是是一個涉及非常多廣泛使用的功能的專案。
哪部分你相對能掌握?哪裡花了最多時間?
- 相對能掌握的是在切版、路由控制資料庫撈資料,花最多時間的大概是在Passport登入驗證系統上,因為對於整個後端網頁資料傳遞的過程非常不熟悉,關於工具的掛載先後,資料傳遞進來後,經過哪些工具處理後又得到哪些新的資料,感覺資料的流動方向很複雜,花了許久的時間去思考內化。
過程中碰到什麼困難?又如何克服?
- 碰到最大的困難大概是在建立資料種子的部分,對於非同步處理上資料的流動性還是掌握的不太確實,Promise的寫法甚至最新的async await寫法都還不是太熟悉,不停的觀摩同學思考資料處理的方式,以及需要透過大量思考及練習,才稍微較上手。
過程中你有對哪個技術有特別深刻的學習?
- 對於驗證系統以及非同步處理這兩大塊技術有特別多花很多時間去思考及反覆練習,驗證系統算是有史以來掛在第三方工具資料流最複雜的一次,花了滿多時間思考資料的流動向;而非同步處理也是對資料流動順序的不熟悉,在加載種子時碰到了很多資料無法建立的問題,知道問題是出在非同步處理上,但卻無法在短時間內抓到是在哪裡出錯,花了不少時間不停的試錯。