Day 138 (Week20), 2021/08/28 (Friday)

學習時數:7.5 hr

Done

  • [done] w17 hw2 餐廳網頁功能製作(抽獎、後台的刻版)

To Do @ this week

  • [ ]   w17 & w18 餐廳網頁改寫
  • [ ]   w17 HW1 部落格改寫(自我檢討)
  • [ ]   [INT101]

學習心得紀錄

Objective 客觀

餐廳網頁改寫(抽獎設計)

今天花了一早上在思考要怎麼設計資料庫的欄位,以及怎麼寫 JavaScript 隨機抽出獎項。

抽獎設計

查了一些資料,包括資料庫的欄位要怎麼設計、需要哪些欄位,結果查到了壹獎五位、二獎三位諸如此類的名額,然後就在思考:如果是這樣,那不就是抽到二獎的話,要把名額從三位減少一位,變成二位,然後還要紀錄 winning_userwinning_prize,那這樣會變得很複雜,還有好幾個 dataTable 相關聯。
但後來想了一下第八週的抽獎 API,好像就是隨機抽取,然後顯示結果,並沒有這麼複雜,所以後來想說還是先從最簡單的做起,後來的欄位我是設計:獎項次序(0、1、2等)、獎項名稱(如二獎)、獎項品名(如演唱會門票)、獎項敘述(市價 500 元)、圖片網址、權重、獎品數量。

抽獎的 JavaScript 思考

稍微使用 JS 試做了權重的隨機抽獎,有在思考到底要怎麼加權,後來想到的是將加權加總,然後再把這些壹獎二獎分別代表的值為 1、2,建立陣列,將獎項以元素在獎項裡的以數量的權重形式放在陣列裡面,再以亂數抽取數字,得到獎項。但後來又思考了一下,在後台修改機率,然後還有剩餘為尚未中獎,如此的話要怎麼安排。
如果單寫 JavaScript 測試 OK,那要連結上 Express、Sequelize 的資料庫取資料的話,還沒想到要怎麼取。

感受

今天真的是一個數學與邏輯在打架的一天QQ,真的是對於數學跟程式,需要花時間去思考跟理解,然後今天思考著思考著,從抽獎又想到了「統計」,好像想起以前的一些課程在寫程式、科學跟統計的探討,應該是統計與科學吧...。有空再回去複習一下,看這個跟機率、程式、數學有什麼關系...。


只做出了新增抽獎項目以及從資料庫抓出來的 data,明天繼續思考怎麼將抽獎放進去!

Decisional 決定行動

今天思考要怎麼呈現後台、資料庫欄位、不同機率的抽獎想了很久很久,希望明天可以將 JS 隨機抽獎的 code 及後端連結起來!








你可能感興趣的文章

[ week 1 ] Markdown 語法筆記

[ week 1 ] Markdown 語法筆記

Vim Editor Notes

Vim Editor Notes

用 JavaScript 學習資料結構和演算法:字典(Dictionary)和雜湊表(Hash Table)篇

用 JavaScript 學習資料結構和演算法:字典(Dictionary)和雜湊表(Hash Table)篇






留言討論