Objective
由於TMDB資料實在過大,所以目標是抓取近五十年前100名熱門電影,但在調整PAGE時發現一個TMDB資料庫一頁只能提供20筆電影,且不能在 send request一次篩選兩個page以上,所以就透過for迴圈再加axios抓到前100筆。
第一次抓出來的結果怎麼前幾頁大多為2022年的電影,再去看官方文件各欄位的意思,原來使用的分類方法
popularity.desc ,其popularity是每天都會更新的資料,所以造成越熱門的電影越熱門。接下來透過
vote_average .desc,又發現怎麼前幾名有些是自己沒聽過的,且分數還為10分滿分,經思考後這個變數會受投票者的母體影響,分數可能不能完全反映熱門程度,後來則是用
revenue.desc ,就產生看似較合理的結果,然後發現<
>上映僅兩個月,其總收入就衝到近五年第八名,不愧是我除了<<刺激1995>>外,唯一看了兩次的電影呀,真的推薦沒看過的大朋友小朋友一定要去看!!!Objective
這周目標是練習先用虛擬碼嘗試寫下拆解問題的程式碼,特別喜歡AC在實作每個新功能前,會先引導我們如何拆解問題,並將「參考描述」先隱藏,讓我可以比較自己思考的邏輯與教材之差異,然後就發現自己的步驟都會跳的太快XDDD
第二個目標則是昨天完成所有課程才想到的,既然已經學會串接AC提供的API,何不自己嘗試用現在業界可能實際使用的Open API呢,於是我就申請了TMDB的帳號,並申請KEY思考如何使用其API串接最近五年最暢銷的電影資料。
取得KEY之後第一步就是看API Document學習如何使用,突然發現這完全是一塊新天地,可以找到演員、製片公司、電影類別等太多太多資料,後來仔細思考最主要應該就是把原本movies陣列換成新的資訊就好,及學習替換海報,所以第一步就是要搜尋自己想要的最近五年熱門電影。
嘗試使用搜尋時就有三種方法find、search、discover,但TMDB厲害在於他有個「try it out」的功能,可以讓我們知道這些方法有哪些搜尋參數可以使用,如下圖即為我使用最多的 movie discover
由於TMDB資料實在過大,所以目標是抓取近五十年前100名熱門電影,但在調整PAGE時發現一個TMDB資料庫一頁只能提供20筆電影,且不能在 send request一次篩選兩個page以上,所以就透過for迴圈再加axios抓到前100筆。
第一次抓出來的結果怎麼前幾頁大多為2022年的電影,再去看官方文件各欄位的意思,原來使用的分類方法 popularity.desc ,其popularity是每天都會更新的資料,所以造成越熱門的電影越熱門。接下來透過 vote_average .desc,又發現怎麼前幾名有些是自己沒聽過的,且分數還為10分滿分,經思考後這個變數會受投票者的母體影響,分數可能不能完全反映熱門程度,後來則是用 revenue.desc ,就產生看似較合理的結果,然後發現<>上映僅兩個月,其總收入就衝到近五年第八名,不愧是我除了<<刺激1995>>外,唯一看了兩次的電影呀,真的推薦沒看過的大朋友小朋友一定要去看!!!
Reflective
這周新的東西大概就是使用很多陣列的操作方法吧,有indexOf, find,filter,some, slice等,可說是族繁不及備載,並學到一些未來開發時可能使用的觀念,例如可在使用監聽器調用函式時,可盡量將函式命名,這樣之後debug也可較為快速。或是當我們在建立函式時,雖然已有目標的陣列,也可使用參數的方式帶入,這樣可以讓函式越獨立,降低所謂的「 耦合性 」,讓函式不會被特定一組資料綁死也更為強大。
Interpretive
事後回想對於這些新學到的東西,不知從何時開始的害怕已經慢慢轉為期待與興奮,因為這代表我學會越來越多功能,也在轉職的路上又往前邁進一點。例如這次跟以往較大的不同是可以利用localStorage將網站的資料暫時存在瀏覽器裡面,讓我們打開不同瀏覽器後還可使用,也對網頁的運作有了更多認識。
Decisional
在學習新的東西時大部分會感覺到很期待,但有時在看完AC提供的教材三次後還是對新概念有點似懂非懂,卻也難免感到挫折與焦慮,明明時間都快不夠用了,自己為什麼這麼爛還花很多時間在同一個概念呢。這個問題我想之後可以多看看其他網路文章、教學影片或是多觀察同學作業的寫法,並嘗試好好記錄一篇學習筆記。
另外這禮拜因為自己學習如何串接TMDB API,發現自己探索程式開發的過程也非常有趣,原本只是想更熟悉使用API,但不知不覺似乎也對日後如需要使用這些大型資料庫的API時有了更多需要注意的事項,雖然會花額外很多時間,下週的學習也期待可在社群名單或是電影清單的作品裡,可以自行優化一個教材沒有提到的功能,並持續跟大家分享。