W12_檢討直播


Posted by Christy on 2021-08-30

Q1: 熟悉Bootstrap在前端業界來說是必備技能嗎?
A1: 不算是,快速上手新工具比較重要。

Q2: 在做 week11 hw 的時候,因為 bug 建立了重複的 帳號密碼,全部都是相同的,可是資料庫中 hash 過後的 password 為什麼會長的不一樣,不是應該一樣嗎?
A2: 加鹽,If omitted, a random salt will be created and the default cost will be used.

所以一定要用 password_verify 才有辦法驗證。

參考資料

Q3: 認為 junior 程度必須涵蓋哪些?
A3: 涵蓋課綱的東西,外加 紮實的網頁前端學習路線與資源推薦 裡面提到的東西。

Q4: 真正工作時,從零到一寫 code 的比例多嗎?感覺許多地方用套件的效率大很多,而有些性質又偏維護,所以實際上應該是除錯佔大部分?
A4: 真正工作時,從零到一寫扣的比例應該不太多了,很難有東西從頭開始做了,一開始應該是維護、debug、加新功能等等。
除錯就是看扣跟加扣的功力很重要。

Q5: 工具要不要全域下載完全看個人習慣使用嗎?上網查是說怕污染環境,什麼情況下會污染環境~?
A5: 不一定看個人習慣使用,主要是在不同地方會不會用到不同工具。例如某專案,要用的是 v2,但環境裡面用的是 v3,這樣就要小心使用了。

Q6: 老師經歷過 app 蓬勃發展的時代,為什麼沒有跑去寫 ios 或是 andriod app 而是繼續在網頁端呢?
A6: 第一份工作有寫過,沒有很喜歡 andriod app,因為有點麻煩,需要考慮的尺寸很多種,比起網頁很容易壞掉,狀態保存也很麻煩。

Q7: 老師請問第十一周的 BLOG 作業檢討中對於經由 GET 得到的 id 再使用 intval() 處理的用意是什麼? 也是為了資訊安全嗎?因為不用的話自己 DEMO 功能是沒有差別,不知道會有哪些情況需要使用,謝謝老師! ❤
A7: 這是一個好習慣,資料庫裡面存的文章 id 就是數字,但用 $_GET 接的東西都是字串,所以轉成數字比較好。知道每個變數的型態,什麼是自己想要的,比較不會有問題。

Q8: 想請問老師~在目前有跟上課程進度狀況下,若之後求職薪資以超過45k為目標,於跟課上老師覺得我們可以往哪方面做努力 謝謝老師
A8: final project 做的比較吸引人的話,會有比較多機會。簡答題如果答的不錯也比較有機會;第十六周的東西面試很常考;挑戰題也可以看一下;觀念是一個很重要的東西。

Q9: 偷偷問 12週環境問題,使用 gulp webpack 這些工具,是每一個有用到的專案資料夾都要分別安裝並設定嗎
A9: 老師推薦每個資料夾個別安裝,才不會污染全域。

Q10: jQuery ajax 的錯誤處理上有哪些是比較需要做的
A10: 其實不太有差別,原本用 XHR 要處理的錯誤都要處理。

Q11: 請問el.childNodes el.children 的區別? https://www.geeksforgeeks.org/what-is-the-difference-between-children-and-childnodes-in-javascript/
A11: 問題可以改進一下,例如說「我有看過以上連結,但沒有很懂之類的」

Node.childNodes

重點在 ParentNode.children 的 polyfill 裡面,有些瀏覽器不支援某些功能的話,就幫它用其他功能來試做這個功能。

看 polyfill 裡面的 code 很明顯,childNodes 跟 children 主要差別在於 nodeType;用 childNodes 找到的東西,就是全部的東西;用 children 找到的東西,是 childNodes 找到的東西裡面 nodeType 是 1 的,接下來就要看什麼情況下 nodeType 是 1?

因此 childNodes 拿到的東西,一定不會少於 children。

可以看下面連結裡面的 "Constant" 例子:
Node.nodeType

Q12: 可以請老師講一下 編碼、加密、雜湊的差異跟運用嗎?
A12: 加密就是 W11 的內容,可以加密就可以解密,運用在加密檔案,例如銀行寄來的 pdf 檔案,解密之後還原結果

雜湊是一個單向的東西,一樣的輸入會產生一樣的輸出,但一樣的輸出無法倒回去推算輸入,不可能逆向推算答案。應用在密碼上面,最理想的儲存就是只有你自己這到密碼。如果不同密碼,雜湊出一樣結果,就叫做碰撞,但一個好的雜湊演算法應該極少碰撞。

編碼: base 64 就是一系列的編碼組合,js 有支援,可在 chrome dev 試試看;或者 encodeURIComponent();用在轉換格式,但不破壞原來的東西。例如 URL 網址列後面的編碼格式

base 64 可以把任何 binary 的檔案變成文字

加密:隱藏內容
雜湊:便是原始內容是否一致
編碼:轉換內容

Q13: 很常在程式碼中看到 this. 像是request.onload = function() {if (this.status >= 200 && this.status < 400) {var resp = this.response;}}; 裡面的 this. 是什麼意思呢?
A13: W16 會講到,放在不同地方,不同意思。在這裡 this => request

Q14: 有看過前後端分離的文章了,但對前端 MVC 跟後端 MVC 的差異跟 MVC 還是有點不清楚,可以再請老師講解一次嗎?
A14: 這個等 W20 如果還不懂再問一次。W21, W22 也會有提。

Q15: 那通常我們要把內容丟到網址上是不是就要先 encodeURL,使用 $_GET['id'] 才不會出錯?
A15: 是的沒錯。










Related Posts

Google Chrome開發者工具教學 - Console

Google Chrome開發者工具教學 - Console

動態規劃(Dynamic Programming)

動態規劃(Dynamic Programming)

HTML學習日記02

HTML學習日記02


Comments