๐Ÿ‘‰4์›” 30์ผ ์ ํ•‘ FE ๊ฐœ๋ฐœํŠธ๋ Œ๋“œ ์˜คํ”„๋ผ์ธ/์˜จ๋ผ์ธ๊ต์œก

ingukยท2023๋…„ 4์›” 30์ผ
0

์˜ค๋Š˜์€ ๊ด‘๊ณ ๋กœ ๋ณด๊ฒŒ๋œ ์ ํ•‘์˜ FE๊ฐœ๋ฐœ ํŠธ๋ Œ๋“œ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ ์™”์–ด์š” !
์šฐ์—ฐํžˆ ์ง€๋‚˜๋‹ค ์‹ ์ฒญํ–ˆ๋Š”๋ฐ ์ทจ์ค€์ƒ์œผ๋กœ์จ ํ•œ๊ฐ€ํ•œ ์ผ์š”์ผ์— ๋†€๋ฉด๋ญํ•˜๋‚˜ ์‹ถ์–ด์„œ ๋ฐ”๋กœ ๋งํฌ์˜ ํด๋ฆญ๊ณผํ•จ๊ป˜ ์ˆ˜๊ฐ•ํ•ด๋ด„๋‹ˆ๋‹ค .. !
์ด๋Ÿฐ ํ˜•ํƒœ์˜ ๊ฐ•์˜๋Š” ์ฒ˜์Œ์ธ๋ฐ๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ •๋ง ์œ ์šฉํ•œ ๊ฐ•์˜์˜€๊ณ  ์ด์ œ ๊ด€๋ จ๊ฐ•์˜๋ฅผ ๋“ค์–ด๋„ ๋ฐ”๋กœ ์ดํ•ด๊ฐ€ ๋œ๋‹ค๋Š”๊ฒƒ์— ๊ทธ๋ž˜๋„ ์กฐ๊ธˆ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ฐ€์ง€์•Š์•˜๋‚˜ ์‹ถ์Šต๋‹ˆ๋‹ค !
์ฑ…์œผ๋กœ๋Š” ์™€๋‹ฟ์ง€ ์•Š๋˜ ํŠธ๋ Œ๋“œ์ค‘์š”์„ฑ์„ ์‹ค๋ฌด์ž๋“ค์ด ์ง์ ‘์ ์œผ๋กœ ์•Œ๋ ค์ฃผ๋‹ˆ
์ด๊ฐ™์€ ๊ฐ•์˜๋ฅผ ๊ณ„์†ํ•ด์„œ ์ฐพ์•„์„œ ๋“ค์–ด์•ผ๋˜๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋งŽ์ด๋“œ๋„ค์š”
๋‚ด์šฉ์„ ๋˜์ƒˆ๊ธฐ๊ธฐ๋„ ํ•˜๋ฉด์„œ ๊ธ€์“ฐ๋Š” ์—ฐ์Šต๋„ ํ• ๊ฒธ ์œ ์šฉํ•˜๋‹ค๊ณ  ๋Š๋‚€์ ๋“ค์„ ์ •๋ฆฌํ•ด๋ด„๋‹ˆ๋‹ค !

๐Ÿ’š1๋ถ€ : ์„ผ์Šค ์žˆ๊ฒŒ ์ผํ•˜๋Š” FE ๊ฐœ๋ฐœ์ž ๋˜๊ธฐ (13:30 - 15:00)
Session 1. FE ๊ฐœ๋ฐœ์ž์˜ ์†Œํ”„ํŠธ ์Šคํ‚ฌ๊ณผ ํ•˜๋“œ ์Šคํ‚ฌ - ๊น€ํƒœ๊ณค ๊ฐ•์—ฐ์ž๋‹˜
Session 2. ํ˜‘์—…?! ์ด๋ ‡๊ฒŒ ํ•œ ๋ฒˆ ํ•ด๋ด - FE ๊ฐœ๋ฐœ์ž๊ฐ€ ํƒ€ ์ง๊ตฐ๊ณผ ๋Œ€ํ™”๋ฅผ ์ž˜ ํ•ด์•ผํ•˜๋Š” ์ด์œ  - ์œ ๋™๊ท  ๊ฐ•์—ฐ์ž๋‹˜

๐Ÿ’š2๋ถ€ : Fitํ•œ ์ •๋ณด๋กœ ์„ฑ์žฅ ๋ถ€์ŠคํŠธ์—… (15:30 - 17:00)
Session 1. FE ๊ฐœ๋ฐœ ํŠธ๋ Œ๋“œ - ๋ฆฌ์•กํŠธ ๊ฐœ๋ฐœ ์ƒํƒœ๊ณ„์™€ Next.js๊นŒ์ง€ - ์ด์ธ์ œ(์†Œํ”Œ) ๊ฐ•์—ฐ์ž๋‹˜
Session 2. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋กœ FE ๊ฐœ๋ฐœ ๋ ˆ๋ฒจ์—… - ์žฅ๊ธฐํšจ(์บกํ‹ดํŒ๊ต) ๊ฐ•์—ฐ์ž๋‹˜

์–ธ์–ด

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(jsx) , ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ(tsx) -> ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ํƒ€์ž…์„ ์ถ”๊ฐ€ ์„ ์–ธ

ํ”„๋ ˆ์ž„์›Œํฌ

  • ๊ฐœ์ธ ๋น„js -> ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ์— ์‚ฌ์šฉํ•˜๊ธฐ ์œ ์šฉ
    ๐Ÿ‘‰์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ”„๋ ˆ์ž„์›Œํฌ SSG(Static Site Generator)
  • ๋„ฅ์ŠคํŠธJs -> SSR(Server Side Rendering์ด ํŠน์ง•

์Šคํƒ€์ผ๋ง ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • Sass -> Css๋ฅผ ๊ฐœ๋Ÿ‰ํ™” ์‚ฌ์šฉ๋Ÿ‰ 1์œ„ ๐Ÿ”ฅ
  • ์ด๋ชจ์…˜ ์Šคํƒ€์ผ๋ง(์ž๋ฐ”์—์„œ css์ ์šฉ ๊ฐ€๋Šฅํ•˜๊ฒŒํ•ด์คŒ)
  • ์Šคํƒ€์ผ๋“œ ์ปดํฌ๋„ŒํŠธ -> ๋งŽ์ด์‚ฌ์šฉ (์ถ”์„ธ๐Ÿ”ฅ +)
  • stitches(์Šคํ‹ฐ์น˜์Šค ์Šคํƒ€์ผ๋ง) -> ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์‚ฌ์šฉ ์ถ”์„ธ +
  • ํ…Œ์ผ์œˆ๋“œ(์ •์˜๋œ ํด๋ž˜์Šค๋„ค์ž„์œผ๋กœ ์‚ฌ์šฉ)

์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • ๋ฆฌ๋•์Šค ์ž…๋ฌธ๋‹จ๊ณ„์—์„œ ๊ผญ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ๋„˜์–ด๊ฐ€์•ผ๋จ๐Ÿ”ฅ
  • ๋ชจ๋ฒก์Šค (์ถ”์„ธ - )
  • ๋ฆฌ์ฝ”์ผ (์ถ”์„ธ๐Ÿ”ฅ +)
  • ์ €์Šคํƒ ๋“œ(์ถ”์„ธ๐Ÿ”ฅ +)

๋ฐ์ดํ„ฐ ํŒจ์นญ ์•ค ์บ์‹ฑ(์‚ฌ์šฉ๋Ÿ‰ ๋น„์Šท)
(์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๊ณ  ์บ์‹ฑ ๋ฐ ๊ด€๋ฆฌ๋„๊ตฌ)

  • ๋ฆฌ์•กํŠธ์ฟผ๋ฆฌ(ํ…์Šคํƒ ์ œ์ž‘) -> ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด์— ๋น„๋™๊ธฐ ๊ด€๋ฆฌ
  • swr -> ๊ฐ™์€ ๋ฒ„์…€ ์ œ์ž‘ next.js๋ž‘ (์‚ฌ์šฉ์„ฑ +)

Ui ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • Mui(๊ตฌ๊ธ€์ œ์ž‘) ์‚ฌ์šฉ๋Ÿ‰ 1์œ„๐Ÿ”ฅ -> ์˜ค๋žœ๊ธฐ๊ฐ„ ,๋งŽ์€ํšŒ์‚ฌ์—์„œ ์‚ฌ์šฉ
  • ์—”ํŠธ๋””์ž์ธ(์ž์ฒด์ƒํƒœ๊ณ„ ๊ตฌ์ถ• ) ,
  • ์ฐจํฌ๋ผ(๐Ÿ”ฅ) Mui ๋ฌด๊ฑฐ์›€์„ ๋Œ€์ฒดํ•œ ๊ฐ€๋ฒผ์›€
  • ๋ฆฌ์•กํŠธ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ -> ์‚ฌ์šฉ๋Ÿ‰ 2์œ„
  • ์‹œ๋งจํ‹ฑ-๋ฆฌ์•กํŠธ -> ์• ๋‹ˆ๋ฉ”์ด์…˜ ์‚ฌ์šฉ์‰ฌ์›€
  • ๋ธ”๋ฃจํ”„๋ฆฐํŠธ(๋ฐ์Šคํฌํƒ‘ ์ตœ์ ํ™”)
  • ๋ ˆ๋”•์Šค -> ๊ธฐ๋ณธ ์ปดํฌ๋„ŒํŠธ์— ์Šคํƒ€์ผ ์ž‘์—…์ด ์•ˆ๋˜์žˆ์Œ

๋„ฅ์ŠคํŠธ.js ( ์ œ์ž‘ : ๋ฒ„์…€ )

ํ•ต์‹ฌ๊ธฐ๋Šฅ

  • ํŽ˜์ด์ง€์Šค ๋ผ์šฐํ„ฐ๋‚ด์žฅ -> ํด๋”๋ฐฐ์น˜๋งŒ ํ•ด์ฃผ๋ฉด ์ž๋™ ๋ผ์šฐํŒ…
  • ๋ฐ์ดํ„ฐ ํŒจ์นญ ์šฐ์„ธ
  • SSR (Server Side Rendering)

  • SSG (Static Site Generator)

  • CSR (Client Side Rendering)

  • Built-In Css Support ๊ธฐ๋Šฅ -> Css ๋ฐ”๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅ
  • Optimization ์˜ตํ‹ฐ๋งˆ์ด์ œ์ด์…˜ ( ์ด๋ฏธ์ง€ ์••์ถ•๊ธฐ๋Šฅ )
  • Static File Serving (์ •์ ํŒŒ์ผ์ œ๊ณต)
  • Fast Refresh (์ฝ”๋“œ ๋ณ€๊ฒฝ์‹œ ์ž๋™๋ฆฌํ”„๋ ˆ์‰ฌ)
  • ESLint
  • Dynamic Import (์ปดํฌ๋„ŒํŠธ ๋™์ ์ ์šฉ)
  • API Routes(ํ™œ์šฉ์‹œ ๋ฐฑ์—”๋“œ ์ฝ”๋“œ๋„ ์ œ์ž‘๊ฐ€๋Šฅ) ->ํ’€์Šคํ… ์ œ์ž‘(AWS ๋žŒ๋‹ค ๋ฐฐํฌ๊ฐ€๋Šฅ)
  • next.config.js
  • Rewrites- >. cors ์—๋Ÿฌ๋ฐฉ์ง€ ์œ ์šฉ

  • redirects

ํ•„์š”์„ฑ

  • ๋ฆฌ์•กํŠธ์˜ ์„ค์ •์„ ๊ฐ€๋ณ๊ฒŒ ํ•ด์คŒ
  • ํ”„๋ก ํŠธ/๋ฐฑ ๋‘˜๋‹ค ์ œ์ž‘๊ฐ€๋Šฅ
  • ๋„ฅ์ŠคํŠธjs ๋นจ๋ฆฌ ๋ฐฐ์šฐ์„ธ์š”!!
profile
Frontend

0๊ฐœ์˜ ๋Œ“๊ธ€