W21_直播檢討


Posted by Christy on 2021-11-21

Q1: 為什麼 npx-create-app <檔案名稱>,這個檔案名稱不能有大寫?

A1: 可以 google 錯誤訊息 "name can no longer contain capital letters",參考 Why can't React project name contain capital letters?,結論就是統一小寫,才不會搞混。

Q2: 接案公司好嗎?看面試心得,學長姊都有特別問,感覺大家很在意這個

A2: 乙方會有一些時程壓力,也是要看案子,假設你要視覺方面的話,會比較適合;做公司自有的產品比較有技術面,也會有認同感。

Q3: 之後會開放把自己的每日報告下載下來呢功能嗎?想紀念一下

A3: 可以用網路爬蟲爬一下。

Q4: 履歷建議用 PDF 還是 個人網站 (履歷寫在上面) 呈現呢 ?

A4: 有時間是做個人網站,做得簡潔漂亮就有加分。有些學長姐是用個人網站列印成 PDF,也是一個辦法。沒時間就做 PDF。

Q5: 老師,建議專案測試用 heroku 建立一個資料庫,大家都連上去測試,新增資料,這樣會有問題嗎?(被收費之類的)

A5: 不會喔。不過現在heroku免費版改成一天最多醒來18小時,所以就設凌晨睡眠,其他時間來戳,這樣服務就不會停了。

Q6: CRA 裡面內建的 test 檔或 robot 檔刪了會影響什麼嗎?雖然知道用途,但目前階段還用不太到。 還有 .gitignore 可以怎麼做調整比較好,像 .php 之類的,不確定實際有沒有用到,還是就讓它那樣就好 (edited)

A6: 內建的 test 檔刪了不會怎樣。robot 檔第六周講過,是給機器看了,刪了對專案應該沒有影響,看你的專案是什麼啦。

Q7: 想問 map 跟 forEach 在 react 裡關係,因為說是 react 普遍用 map 來寫,但有時候不需要得到新數組(沒有那麼需要用到 map 方法的時候)也一樣寫 map 嗎?因為 ESlint 希望我寫 forEach

A7: 數組是陣列的意思,數組是中國用語。因為 map, filter 那些東西才會有回傳值。forEach 沒有回傳值。

Q8: 測試的部分可以多著墨嗎?還是說以後不太會遇到,但感覺又是蠻重要的一個環節?

A8: W24 會講更多一點,之後會提供給大家一個影片,參考我的筆記「淺談 React 測試」,對新手來說,確實會不太會碰到。

Q9: 老師可以聊聊以前爆炸的例子嗎,可小可大,像是 git 分支推錯、code 測試瘋狂報錯、不小心刪掉專案之類的,跟後續發展處理,也可以分公司和個人講~~

A9: 老師忘光了,要嘛沒什麼,要嘛忘記了

Q10: 公司會 code review 是好還是不好,好像很多公司沒有 code review

A10: code review 好,但花時間,是維持品質的一個蠻重要的方式。

Q11: seeders 本地測試後會需要推上去嗎,還是說本地測試應該要怎麼新增資料來做,另外 postman 可以再稍微講解一次嗎

A11: seeders 會需要推上去,但不執行,看你需不需要那些假資料。

Q12: 老師,可以請你再講一下,還是不太理解為甚麼 import 東西會有一個大括號 ? ex: import { ThemeProvider } from 'styled-components'

A12: a.js 檔案裡面有個東西為 export default m,在 b.js 檔案裡面引入的話,寫成 import m from "./a"

假設 a.js 檔案裡面有另一個 export 的東西叫做 m2,那在 b.js 檔案裡面引入,寫成 import { m2 } from "./a",像是把 m2 當作一個物件在輸出

Q13: 自己學完 styled-component 練習切版時發現,react 的圖片載入跟 iframe 會需要再額外安裝套件讓他跑起來 ? 是因為甚麼安全性考量嗎 ?

A13: 兩個都可以直接用,不用另外安裝套件

const Frame = styled.iframe
<Frame src="https://...."></Frame>

補充:補充個 因為react 301 class 版本裡面有教如何手工建置環境,但手動的環境載入圖片跟 iframe 還有換行有出現問題,所以問了上述的問題,並去下載套件 >< (edited)

答:可能是 webpack 要調整,主要看錯誤訊息是什麼。

Q14: jsx 裡面與 js 有關的東西都要用 { } 包起來,但是 {
} 是 html 標籤,為甚麼也要用 { } 包起來, 就沒有用 { } 包起來

A14: 其實 <br/> 包與不包都可以,可能剛好那樣做,沒有什麼特別的意義。

Q15: 目前進度剛開始學習react,自己覺得沒辦法兼顧兩邊沒有找分組。想問老師如果也是想要在時程內出去求職會怎麼推薦後續安排?1)上完w21-24 求職 or 2)w21 w22 + 加強自己的作業變成final project 求職 謝謝老師!

A15: 推薦選項 2,w24 可以看完但不用實作,稍微看一下知道概念。
redux 重要性變得低一點了,雖然蠻多公司還是會問。

Q16: 老師認為不特別學習 class component 會對後續整個掌握react 的能力嗎?目前看很多介紹都說去學習class component 可能會對學習hooks 比較混淆 目前有在考慮都看hook的部分就好 不曉得老師怎麼看

A16: 其實都可以,看個人,不看 class component 也沒關係,如果看了有更懂 React 就看。

Q17: 在react 開始崛起之前老師寫前端主要是用原生js嗎

A17: 原生加 jQuery

Q18: 除了目前課程教的內容,之後還建議學習什麼內容呢?

A18: 建議把作業全部重寫一次,把挑戰題做一做。
感覺有點像是高中畢業,到了大二就忘光了,如果高中基礎都還記得,其實蠻不錯的。
從工作上需要什麼開始學什麼比較好。

Q19: 之前有看到有人認為現在台灣前端會偏向要雙修的狀態,前端+設計 or 前端+ 一點後端 老師覺得是這樣嗎?

A19: 看能力,如果前端夠強無所謂,有些公司需要前端加後端,前端加設計比較少。

Q20: if (user) return await res.status(500).json("這個帳號有人用了,換一個吧~"); 老師想問這邊的 await 還有需要加嗎?如果已經沒有下一步,要直接 return 了,還需要嗎?

A20: res.status(500).json 是與不是一個 promise 都不需要用,不過如果要加 await 後面一定是要一個 promise。

後記:同學通靈了:「.json 會回傳 promise 的是 fetch 的 response,感覺剛剛問問題的同學是跟這個搞混了?」

Q21: 老師可以稍微講解一下 async await 嗎~

A21: 之前有講過,可以翻一下前面的影片。

Q22: 老師,想請問想走後端的人,如過跳過 21-24的課程。請問有建議補充的自學項目清單嗎 ? 感謝

A22: 把後端 14, 17, 18 的挑戰題都做一做,可以參考這個系列 成為看起來很像很強的後端

Q23: 對於期末會跟不同人合作的 Final Project,想要請教如果是以老師的角度,對於「合作」方面會比較著重在什麼重點上?謝謝老師。

A23: 技術上或人的相處,分工的方式,為什麼要用這個技術等等。

Q24: 看了 PJ 大大的鐵人文章裡面用了 @emotion,會推薦使用嗎?可以在作業中練習使用嗎@@

A24: 可以,跟 styled component 很像,老師更推薦用 emotion,因為更新比較頻繁,不過用哪一套都可以。

Q25: sqlMessage: "Unknown column 'Product.is_deleted' in 'where clause'", errno: 1054,,老師我們在使用 postman 編輯資料時,出現這個錯誤訊息,查了後發現是跟外鍵相關的問題

A25: 這個跟 postman 無關,可能是名字打錯,或者關聯下錯

Q26: 老師請問如果想走後端的話,學習上有哪些需要額外加強的呢?面試的時候有沒有需要特別準備的地方? (edited)

A26: 可以參考 Q22,資料庫、SQL 會不會下(sql having and group by)、join 要很熟,系統架構要多看一點。

Q27: User.hasMany(models.Product) ---> User.hasMany(models.Product,{foreignKey : 'user_id'}); 後面這樣寫跟課程中使用 include的區別是什麼

A27: 不要去動名稱,Sequelize 預設是什麼就是什麼,不然會很麻煩

Q28: 請問之後開始求職的話,會建議也投用 Vue 的公司嗎?看 104 感覺也蠻多公司在用 Vue,但又怕進公司才學,會不會到時候壓力很大

A28: 也可以投投看,蠻多人進公司才學 Vue,通常是說 Vue 比 React 簡單

Q29: 老師說 24周也會有 期末測驗。 react 會大概著重什麼部分呢

A29: 會有一題實作,概念或 debug 吧


講解 useMemo, useCallback, memo 47'45"

  1. React 就是多寫就會更熟悉,順便講一下 useMemo, useCallback 在幹嘛,這兩個影響的是效能,不是功能。

  2. re-render 有兩種意思:
    a. componenet render fn 被呼叫
    b. DOM 真的有被改變

只能針對 a 部分做優化

useCallback: 記住這個函式
useMemo: 記住函式回傳的東西


Q30: vue 跟 react 比較後的優缺點比較,也想知道為什麼 react 會成為近幾年主流

A30: React 比較早,是一個新的模式,Vue 有些東西是從 React 參考過來的

Q31: 要懂 useEffect 的話,是否就一定要懂 class component 的生命週期?

A31: 不用,搞不好懂 class component 才會搞混 useEffect

Q32: 以 todo list 來說,在輸入框用 onChange 去監聽再去 setValue,每打一個字就會 render 一次,是正確的嗎?

A32: 是正確的,雖然聽起來很奇怪










Related Posts

How to solve the perpetual loading issue in Evernote? Evernote 一直轉圈圈的解決辦法

How to solve the perpetual loading issue in Evernote? Evernote 一直轉圈圈的解決辦法

CH 11 類別(class)

CH 11 類別(class)

[ js 筆記 ] JS 中的 for ... in 和 for ... of

[ js 筆記 ] JS 中的 for ... in 和 for ... of


Comments