Day 120 (Week17), 2021/08/09 (Monday)

學習時數:7 hr

Done

  • [done] [BE201] 下
    • 2 超重要觀念:Middleware
    • 3 把留言板變得更完整
      #### To Do @ this week
  • [] w17 [BE201]

學習心得紀錄

Objective 客觀

把留言板變得更完整

就只有跟著影片作,還沒有將筆記寫在 HackMD 上,怕會拖延到太多時間加上自己也怕太專注於細節,沒有體會整個面向,所以對於index.jscontrollersviewsmodels 裡的相互傳遞還不太熟悉,所以就有了下面一個小主題的複習,希望可以跟 PHP 一樣,心中有一個大致上的概念。

複習:超重要觀念:Middleware

今天眼睛有點酸澀,把先前在 HackMD 抄寫的筆記,轉成用紙筆寫,再思考一下 index.jscontrollersviewsmodels裡路徑、指令、變數、參數的相互關聯性:像是在 controllersres.render 語法內要寫入參數,這樣才能傳到 .ejs 檔案,在頁面中渲染 data;還有共通使用的 session 登入、errorMessageconnect-flash 可以使用 res.locals 令成類似全域變數的概念,這樣就可以在 views/ 內使用這些參數;還有在 models 處理資料以及 controllers 取資料時的參數相關的想法,因為一開始這兩個都是分開寫,很少將他對照在一起(分成左右窗對照),所以就不太明白他的資料庫的資料是怎麼傳入 controllers,然後再拿給 views 渲染頁面時顯示資料;另外便是使用 app.post 提交表單之類的資料時使用的路徑,還有 .ejshtml 語法的 <form action=''> 路徑要指到哪裡,怎麼樣才會有一個送出表單的處理。
另外還把前面介紹幾個常用的 middleware,如:connect-flashsession,再想過一遍,需要引入 modules,然後再 app.use(),之後如何再應用到 code 裡面。

感受

假日有看一些進度,今天主要在複習跟看 sequelize
我發現跟上次的 PHP 一樣,都需要花一些時間來理解,不然跳來跳去的製作一個註冊功能,需要先寫路由、在 models將註冊資料放進資料庫、controllers 要連結上渲染的頁面、處理註冊後直接登入的 session、處理錯誤功能,其實滿多步驟要去想到,還有每個步驟內有一些細節要去考慮到,然後就穿插在index.jscontrollersviewsmodels,今天畫圖徒手寫 code,將這四個部分用線連結起來,就有一個架構。

Decisional 決定行動

今天稍稍快速略過 Sequelize,有一個印象大概要學什麼,明天希望可以理解這個部分,然後開始寫17週的作業!

#Express #Sequelize







Related Posts

r3:0 異世界網站挑戰 - 破關紀錄

r3:0 異世界網站挑戰 - 破關紀錄

C++ 教學(二) 輸入輸出&基本資料型態

C++ 教學(二) 輸入輸出&基本資料型態

Python Table Manners - 文件

Python Table Manners - 文件






Comments