[๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ] ๋ฉ‹์‚ฌ ํ”„๋ก ํŠธ์—”๋“œ ์Šค์ฟจ 5๊ธฐ 10์ฃผ์ฐจ 4LS ํšŒ๊ณ  (React Component, JSX, Props, Node.js, npm)

2023. 5. 10. 16:45ใ†๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ

๋ฐ˜์‘ํ˜•

[๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ] ๋ฉ‹์‚ฌ ํ”„๋ก ํŠธ์—”๋“œ ์Šค์ฟจ 5๊ธฐ 10์ฃผ์ฐจ 4LS ํšŒ๊ณ  ()

 โค๏ธ‍๐Ÿ”ฅ Liked
  • ๋ฐด๋”ฉ๋จธ์‹ ์„ JS Class๋กœ ๋งŒ๋“ค์–ด์„œ ๋ชจ๋“ˆํŒจํ„ด์„ ์ดํ•ดํ•ด ๋ณด๋Š” ์ˆ˜์—…์„ ํ–ˆ๋Š”๋ฐ ์ˆ˜์—… ์ž๋ฃŒ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ getter์™€ setter๋ฅผ ํ™œ์šฉํ•˜๋ฉด์„œ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ณด๊ณ  ํšŒ๊ณ ์กฐ์› ๋ถ„๊ณผ ๊ฐ™์ด ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค. ํšŒ๊ณ ์กฐ์› ๋ถ„์€ ํ•จ์ˆ˜ํ˜•์œผ๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋‹ค ์งœ์…จ๋Š”๋ฐ ๋ณด๋ฉด์„œ ๋ฌธ์ œํ•ด๊ฒฐ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์˜๊ฐ๋„ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๊ณ  ํฐ ๋„์›€์ด ๋๋‹ค. ๐Ÿ’™๐Ÿฉต
  • ์Šคํ„ฐ๋””์—์„œ ๊ฒŒ์ž„ ๋งŒ๋“ค๊ธฐ ์‹ค์Šต์„ ํ•˜๊ณ  ์žˆ์–ด์„œ ๊ฐ„๋‹จํ•œ ๊ฐ€์œ„๋ฐ”์œ„๋ณด ๊ฒŒ์ž„์„ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ฒŒ์ž„์„ ๋งŒ๋“œ๋Š” ๊ฒŒ ์‹ค๋ฌด์— ๊ผญ ๋„์›€์ด ๋œ๋‹ค๊ณ  ํ•  ์ˆ˜๋Š” ์—†๊ฒ ์ง€๋งŒ ์ด๋ก ์œผ๋กœ๋งŒ ๋ฐฐ์šด ๊ฐœ๋…์„ ์–ด๋–ป๊ฒŒ ์ ์šฉํ•ด ๋ณผ๊นŒ, ํ”Œ๋กœ์šฐ์ฐจํŠธ๋Š” ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค๊นŒ ๋กœ์ง์„ ๊ทธ๋ ค๋ณด๋Š” ํ›ˆ๋ จ์ด ๋˜๋Š” ๊ฑฐ ๊ฐ™๋‹ค. ์ตœ์ข…์ ์œผ๋กœ ๋ ˆํŠธ๋กœ ๋ฏธ๋‹ˆ๊ฒŒ์ž„ ๋ชจ์Œ์ง‘์„ ํ•˜๋‚˜ ํ† ์ดํ”„๋กœ์ ํŠธ๋กœ ์™„์„ฑํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค! :)
  • ๋ณธ๊ฒฉ ๋ฆฌ์•กํŠธ ์‹œ์ž‘! JS ์„œ๋ฒ„ api ํ†ต์‹ ์ด ๋„ˆ๋ฌด ์–ด๋ ค์›Œ์„œ ์˜คํžˆ๋ ค ๋ฆฌ์•กํŠธ ์‹œ์ž‘์ด ์ˆจํ†ต์ด ํŠธ์ด๋Š” ์ƒํ™ฉ...ใ… ใ… 
  • ๋ฆฌ์•กํŠธ.. ์ž์Šค๋ณด๋‹ค ์žฌ๋ฐŒ๋‹ค...!
 

GitHub - JAYCODE-git/minigame: ๋ ˆํŠธ๋กœ ๋ฏธ๋‹ˆ๊ฒŒ์ž„ ๋ชจ์Œ์ง‘

๋ ˆํŠธ๋กœ ๋ฏธ๋‹ˆ๊ฒŒ์ž„ ๋ชจ์Œ์ง‘. Contribute to JAYCODE-git/minigame development by creating an account on GitHub.

github.com

 
 
 

 ๐Ÿ’ฃ Lacked
  • ์ •๊ธฐ ํŽธ์„ฑ์— node.js ์˜จ๋ผ์ธ ๊ฐ•์˜๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ์˜ค์ „์— ๋“ฃ๊ณ  ๋„ˆ๋ฌด ์–ด๋ ค์›Œ์„œ ํฌ๊ธฐํ•˜๊ณ  ๊ทธ ์‹œ๊ฐ„์— ๊ธฐ์กด ์ˆ˜์—…์—์„œ ๋†“์ณค๋˜ ๊ฒƒ๋“ค์„ ๋ณต์Šตํ–ˆ๋‹ค. ํ•œ๋ฒˆ์— ๋ชจ๋“  ๊ฑธ ๋‹ค ์†Œํ™”ํ•˜๋Š” ๊ฑด ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— ์„ ํƒ๊ณผ ์ง‘์ค‘์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด์„œ๋„ node.js์™€ npm์˜ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ์ •๋„๋งŒ ์•Œ๊ณ  ๋„˜์–ด๊ฐ„ ๊ฒŒ ์•„์‰ฝ๊ธฐ๋„ ํ•˜๋‹ค. (๋‚ด๊ฐ€ ์ข€ ๋” ๋˜‘๋˜‘ํ–ˆ๋”๋ผ๋ฉด... ๋‚ด๊ฐ€ ์ง€๊ธˆ๋ณด๋‹ค ์Šต๋“๋ ฅ์ด ๋” ์ข‹์•˜๋‹ค๋ฉด....๐Ÿ˜ข)
  • ์žฌํ˜„๋‹˜์ด ๋ฆฌ์•กํŠธ ๊ฐ•์˜ ๋ฐฉ์‹์„ ๋ฐ˜๋ณตํ•™์Šต์œผ๋กœ ์ •ํ•˜์‹  ๊ฑฐ ๊ฐ™๋‹ค. ์ฒ˜์Œ๋ถ€ํ„ฐ hook, router์‚ฌ์šฉํ•˜์…”์„œ ๋ฉ˜๋ถ•...
    ์„œ๋ฒ„ ํ†ต์‹ ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ๋ถ€์กฑํ•ด์„œ ๊ณ„์† ์–ด๋ ค์›€์„ ๊ฒช๊ฒŒ๋˜๋Š” ๊ฑฐ ๊ฐ™๋‹ค. ์ง€๊ธˆ์€ ๋ฐ˜๋ณตํ•™์Šต ๋•๋ถ„์— ๋ฆฌ์•กํŠธ๊ฐ€ ์ ์  ์žฌ๋ฐŒ์–ด์ง€๊ณ  ์žˆ์ง€๋งŒ
    ๋ฆฌ์•กํŠธ ๋ฐฐ์šฐ๋˜ ์ฒซ ๋‚ ์˜ ์ถฉ๊ฒฉ์„ ์•„์ง๋„ ์žŠ์ง€ ๋ชปํ•ด...

 
 
 

 โœ๏ธ Learned
  • React๋Š” VirtualDOM ๋ฉ”๋ชจ๋ฆฌ์—๋งŒ ์กด์žฌํ•˜๋Š” ๊ฐ€์ƒ๋”์„ ๋งŒ๋“ค์–ด ์‚ฌ์šฉ์ž์˜ ๋ฐ˜์‘์œผ๋กœ ์ธํ•œ ๋ณ€ํ™”๋ฅผ ์ธ์‹ํ•ด์„œ ํ™”๋ฉด์„ ๋žœ๋”๋ง ํ•œ๋‹ค.
  • ๋ฆฌ์•กํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ชฉ์ ์€ ์œ ์ง€๋ณด์ˆ˜์™€ ์žฌ์‚ฌ์šฉ์„ฑ์„ ์œ„ํ•ด ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉ์ž ์ •์˜ ์š”์†Œ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ.
  • React์—์„œ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ•จ์ˆ˜๋ช…์€ ๋Œ€๋ฌธ์ž๋กœ!
  • React์—์„œ๋Š” props๋ผ๋Š” ์ธ์ž๋ฅผ ๊ฐ์ฒด์˜ ํ˜•ํƒœ๋กœ ์ „๋‹ฌ๋ฐ›๋Š”๋‹ค.
  • ReactDOM.createRoot Node.js๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฆฌ์•กํŠธ ์•ฑ์„ ๋ Œ๋”๋ง ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜.
  • JSX๋ž€ JavaScript XML์˜ ์•ฝ์ž๋กœ, React์˜ JavaScript์ฝ”๋“œ ๋‚ด๋ถ€์— HTML์˜ ๋ชจ์Šต๊ณผ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ํŠน์ˆ˜ํ•œ ๋ฌธ๋ฒ•. JSX ๋ฌธ๋ฒ•์€ JS์˜ template literal๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•˜๋‹ค.
  • NPM์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €์˜ ์•ฝ์ž๋กœ, Node.js ๋Ÿฐํƒ€์ž„์—์„œ ์‚ฌ์šฉ. ๊ฐœ๋ฐœ์ž๋“ค์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒจํ‚ค์ง€๋ฅผ ์‰ฝ๊ฒŒ ์„ค์น˜, ์—…๋ฐ์ดํŠธ, ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ.
  • Babel์€ ์ตœ์‹  ๋ฒ„์ „์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ตฌํ˜• ๋ฒ„์ „์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋ณ€ํ™˜ํ•ด ํ˜ธํ™˜์„ฑ์„ ๋†’์ด๋Š” trans compiler. React์— bebel์ด ๋‚ด์žฅ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— React JSX ๋ฌธ๋ฒ•์ด ์ˆœ์ˆ˜ JS๋กœ ๋ณ€ํ™˜๋˜์–ด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ชจ๋“ˆํŒจํ„ด์˜ ๋“ฑ์žฅ์œผ๋กœ ๋ถ„๋ฆฌ๋œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒŒ์ผ์—์„œ ์›ํ•˜๋Š” ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜๋“ค์„ export ํ•˜๋ฉด ํ•˜๋‚˜์˜ jsํŒŒ์ผ์—์„œ import ํ•ด์„œ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
  • ์ด ๋ชจ๋“ˆํŒจํ„ด์„ ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— React์—์„œ๋Š” ๋‚ด์žฅ๋˜์–ด ์žˆ๋Š” webpack์„ ํ†ตํ•ด ์„œ๋กœ ์˜์กดํ•˜๋Š” ํŒŒ์ผ๋“ค์„ ์ „๋ถ€ ๋ชจ์•„์„œ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ compileํ•œ๋‹ค.

 

 

 

 ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Longed For
  • 10km ๋Ÿฌ๋‹.
  • ๋ชจ๋˜ JavaScript ํŠœํ† ๋ฆฌ์–ผ, ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์ž๋ฃŒํ˜• 5 ๋‹จ๋ฝ ๋‚ด์šฉ ์ˆ™์ง€.
  • ํšŒ๊ณ ์กฐ React ๊ณต์‹๋ฌธ์„œ ์Šคํ„ฐ๋”” ์ฐธ์—ฌ.
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 0๋‹จ๊ณ„ ๋ฌธ์ œ ๋งค์ผ 1๊ฐœ์”ฉ ํ’€๊ธฐ. (๋‚œ์ด๋„๊ฐ€...๊ฐ‘์ž๊ธฐ ๋„ˆ๋ฌด ๋†’ใ…‡ใ…์กŒ๋‹ค..ใ…Ž)
  • ์นด๋“œ ๋’ค์ง‘๊ธฐ ๊ฒŒ์ž„ ๊ตฌํ˜„ 
  • ์„œ๋ฒ„ํ†ต์‹  async/await, promise, fetch ๋ณด์™„ํ•™์Šต

 
 
 
 

๋ฐ˜์‘ํ˜•