# 2023 update Complete Web Developer ## Complete Web Developer in 2023: Zero to Mastery: 1. \*\*\**2023 Updated Statistics* 2. *ES2022* 1. 第177堂課 2. `array.at(-2)`可以取得arry倒數第二個item的值,這是學python的語法 3. *React 18 Update* 4. *Update: Latest Node.js and NPM* 5. *Why Update Packages?* 6. *Keeping Your Projects Up to Date* 7. *Snapshot Model of Learning* 1. 第266堂 2. 實際工作並不是只有build project,而是解決問題和maintain projcet,例如更新版本…等等。 3. Andrei的課就像snap shot,畫面、library或是api是停留在某個時間點,我們在做project時一定會不一樣,會遇到問題,這時不能卡住。因為我們在學的是如何解決問題,在學軟體工程是如何思考,所以要訓練我們的想像力,訓練我們解決問題的力能力,並且進步,這是這門課最刺激而另人興奮的部份。 4. 開發者最重要的能力,就是解決一種沒有明確解答的問題。 8. *Deliberate Practice* 刻意練習 1. 第267堂 2. Anders Ericsson: 1. 學習時暫時的遇到挫折是一件好事。 2. 攀岩、棋士等大師,都可以在事前「看到」未來每一個步驟是什麼,可以憑空在腦中建立親身經歷的感覺,他們能做到這樣,主要是做*Deliberate Practice*。 3. 學東西一開始會很快看到進步,但是一段時間會遇到撞牆期,看不到進步,會很挫折,因為我們會看不到以前是新手時的那種進步幅度。 4. 克服這種挫折的方式,是針對遇到挫折、不舒服的地方進行練習,不斷的突破撞牆期。 5. 重點: 1. 專心:一般的練習包含不專心的不斷重複,*Deliberate Practice*是必需專心的練習。 2. 立即的回饋,並修正 3. 目標 4. 脫離舒適圈: 1. 會讓人盡最大的力, 甚至把自己逼到極限,去達成,而讓人感到不舒服。 2. 在這個區域會很掙扎,會覺得自己不夠好 3. 要能區分舒適圈和不舒適的區域,也要區分出哪些是真得太難,遠超出自己能力 6. 雖然每個人的確先天上條件不同,不管是能力或是基因上,可能會有極限,但是克意練習仍然能讓人達到自己最大的潛能,把最大的潛能變為現實。 7. 好處:當愈來愈在行,會樂趣會愈來愈大 8. [不是所有的練習都可以讓自己完美](https://nautil.us/not-all-practice-makes-perfect-235890/) 1. 不論你學什麼,你都需要回饋,如此才能「準確」的辨別出自己的弱點,並針對這些地方刻意練習。 9. [由劍道的故事來看刻意練習](https://www.tofugu.com/japan/kendo/) 9. *DEVELOPER FUNDAMENTALS: Maintaining Your Codebase* 10. *Introduction To Node.js* 11. *fetch() in Node:第283課* 1. Node 17.5.0開始已內建fetch() 2. [fetch的歷史](https://blog.logrocket.com/fetch-api-node-js/) 12. *ES2022: Top Level Await* (第291堂課) 13. *Exercise: ES2022 Top Level Await* 1. 不需要再包在async裡了,可以直接用await了,瀏覽器已經支援了 2. 在node.js環境訲,最大的重點在於top leval await只能用在module的最外面,也就是一個檔案的最外面。 3. 意思是module有commonjs module和es module,就是import和export檔案的方法,top leval await只能在module最外面,如果要用在function裡,仍然要加async。 14. *ES2022: Await Import* 1. 可以async的import別的module進來 2. 原本是const script2 \= require(‘./script2‘),es module可以改成import { largeNumber } from ‘./script2‘。要async的import的時候,在module的top level的話可以改成const { largeNumber } \= await import ‘./script2‘。 3. 不過如果是在block裡,就不是在top level了,會噴錯,解決方式要有一點技巧: 1. 要把import改成function 2. 要宣告一個top level的變數來接這個值,例如: ``` let a; if(1===1){ const { largeNumber } = await import(‘./script2') a = largeNumber; } ``` 4. 要了解,這功能可以需要時才載入module,進行code spliting,威力非常強,可以增進效能。 15. *Quick Note: Cleaning Up* ## Junior to Senior Web Developer Roadmap: 1. \*\*IMPORTANT: Thinking Like A Senior Developer\* 2. *Angular vs React vs Vue* 3. *Setting Up Jest* 4. *Exercise: Updating to the Latest Version of Next.js* 5. *Redis Version Updates and Playground* 6. *Installing Redis* 7. ***\+ Updated code for the projects/course*** ## Complete NextJS Developer in 2023: Zero to Mastery Lots of new updates in this course to account for API changes, library changes as well as some big ones: 1. **Updated Project #1: Static Coffee Connoisseur *(15 new/updated lessons, approx. 1 hour of content)*** 2. **Source code added for entire course *(attached to respective lectures)*** Big shoutout to **@kulkarniankita** for these updates! Have any questions/want to share in the excitement? ## ***JavaScript: The Advanced Concepts:*** 1. *ES2022* 2. *ES2022: Private Class Fields \+ Methods* 3. *Optional: ES2022: Top Level Await* 4. *Optional: ES2022: Await Import* ***Master the Coding Interview: Data Structures \+ Algorithms*** 1. *Python, Java, C/C\+\+, C#, Golang, Swift, Kotlin, TypeScript, Scala, Perl Code* 2. *Optional Exercise: Github README*
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up