๐Ÿก ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ _ welcoming

Boriยท2022๋…„ 3์›” 20์ผ
4
post-thumbnail

ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

  • welcoming(feat. ์–ด์„œ์™€ ์šฐ๋ฆฌ์ง‘) ํ”„๋กœ์ ํŠธ๋Š” ์‡ผํ•‘๋ชฐ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ํ”„๋กœ์ ํŠธ ์ž…๋‹ˆ๋‹ค.
  • ๋ฐฐํฌ ๋งํฌ
  • Github link
  • ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ : 2022.01 ~ ์ง„ํ–‰์ค‘

๊ธฐ์ˆ  ์Šคํƒ

Next.js

  • ๋ฆฌ์•กํŠธ ํ”„๋ ˆ์ž„์›Œํฌ

  • ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR) ์ง€์›

    • ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(CSR) : ์ดˆ๊ธฐ์— ํŽ˜์ด์ง€๊ฐ€ ๋ Œ๋”๋œ ํ›„, ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋ฉฐ ๋‹ค์‹œ ๋ Œ๋”๋ง
    • SSR : ์ฒ˜์Œ ๋ Œ๋” ๋  ๋•Œ ์„œ๋ฒ„ ์ธก์—์„œ ๋ฐ์ดํ„ฐ๋„ ํ•จ๊ป˜ ๊ฐ€์ ธ์™€์„œ ๊ทธ๋ ค์ค€๋‹ค.
      โ‡’ ํ•œ ๋ฒˆ์— ๋ Œ๋”๋ง์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„๊ฐ€ ๋น ๋ฅด์ง€๋งŒ ํŽ˜์ด์ง€๋ฅผ ๋„˜๊ธธ ๋•Œ ๋งˆ๋‹ค ์ค‘๋ณต๋˜๋Š” ๋ฐ์ดํ„ฐ๋„ ์„œ๋ฒ„์ธก์—์„œ ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๋•Œ๋ฌธ์— ํŽ˜์ด์ง€ ๊ณผ๋ถ€ํ•˜์˜ ์œ„ํ—˜์„ฑ์ด CSR์— ๋น„ํ•ด ํฌ๋‹ค.
      โ‡’ ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , SSR๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋”ฉ๋  ๋•Œ ๋ฐ์ดํ„ฐ๋„ ๋™์‹œ์— ๋กœ๋“œ๋˜๋ฉฐ ๊ฒ€์ƒ‰์—”์ง„์— ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋“ค์ด ๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
      โ‡’ ์ดˆ๊ธฐ ํŽ˜์ด์ง€๊ฐ€ ๋น„์–ด์žˆ๋Š” ์ƒํƒœ์ธ CSR๊ณผ ๋‹ฌ๋ฆฌ ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”(SEO)์— ํšจ๊ณผ์ 
  • ์ฐธ๊ณ  ๋งํฌ : Next.js 100% ํ™œ์šฉํ•˜๊ธฐ

TypeScript

TypeScript๋Š” JavaScript๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •์  ํƒ€์ž… ๋ฌธ๋ฒ•์„ ์ถ”๊ฐ€ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

  • JavaScript : ๋™์  ํƒ€์ž…์˜ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด
    โ‡’ ๋Ÿฐํƒ€์ž„์—์„œ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋‹ค.

  • TypeScript : ์ •์  ํƒ€์ž…์˜ ์ปดํŒŒ์ผ ์–ธ์–ด

    • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ปดํŒŒ์ผ๋Ÿฌ ๋˜๋Š” ๋ฐ”๋ฒจ(Babel)์„ ํ†ตํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜
    • ์ฝ”๋“œ ์ž‘์„ฑ ๋‹จ๊ณ„์—์„œ ํƒ€์ž…์„ ์ฒดํฌํ•ด ์˜ค๋ฅ˜๋ฅผ ํ™•์ธ
    • ๋ฏธ๋ฆฌ ํƒ€์ž…์„ ๊ฒฐ์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰ ์†๋„๊ฐ€ ๋งค์šฐ ๋น ๋ฅด๋‹ค.
    • ๋‹จ์  : ์ฝ”๋“œ ์ž‘์„ฑ ์‹œ ๋งค๋ฒˆ ํƒ€์ž…์„ ๊ฒฐ์ •ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฒˆ๊ฑฐ๋กญ๊ณ  ์ฝ”๋“œ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•˜๋ฉฐ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.
  • ์ฐธ๊ณ  ๋งํฌ : ํ™œ์šฉ๋„๊ฐ€ ๋†’์•„์ง€๋Š” ์›น ํ”„๋ก ํŠธ์—”๋“œ ์–ธ์–ด, ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ(TypeScript)

SWR

  • ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ(get) ํŠนํ™”๋˜์–ด ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ/React Hooks
    โ‡’ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ ํŠนํ™”๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ 'post' ๋“ฑ์˜ ๋™์ž‘์— ์žˆ์–ด์„œ๋Š” ์ด์ ์ด ์—†๋‹ค.(๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒƒ์€ ์•„๋‹˜)

  • ์ฐธ๊ณ  ๋งํฌ : axios ์™ธ๊ธธ์ธ์ƒ, swr์„ ๋งŒ๋‚˜๋‹ค.

Emotion

ESLint, Prettier

์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์„ ์ค€์ˆ˜ํ•˜๋ฉด ๊ฐ€๋…์„ฑ์ด ์ข‹์•„์ง€๊ณ  ์•ˆํ‹ฐํŒจํ„ด์˜ ์ฝ”๋“œ๋ฅผ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์„ ์ž˜ ๋”ฐ๋ฅด๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์–ด๋ ค์šฐ๋ฏ€๋กœ ์ •์  ๋ถ„์„์„ ์ด์šฉํ•˜์—ฌ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์„ ์ž๋™์œผ๋กœ ๊ฒ€์ฆํ•˜๊ณ  ์ž ์žฌ์—๋Ÿฌ๋ฅผ ์ฐพ์•„๋‚ธ๋‹ค.

์ •์  ๋ถ„์„ : ์ฝ”๋“œ์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ๋ฒ„๊ทธ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์‹คํ–‰ ์ „์— ๋ฏธ๋ฆฌ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ESLint

    • ์ฝ”๋“œ์˜ ์ž ์žฌ์  ์—๋Ÿฌ๋‚˜ ์˜ค๋ฅ˜ ํƒ์ง€
    • Airbnb Style Guid๋ฅผ ๋งŽ์ด ์‚ฌ์šฉ
      โ‡’ ๊ทœ์น™์ด ์—„๊ฒฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์ ํŠธ์˜ ํŠน์„ฑ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•˜์—ฌ ์‚ฌ์šฉ
  • Prettier

    • ์ •ํ•ด์ง„ ๊ทœ์น™์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ์ •๋ฆฌํ•ด์ฃผ๋Š” ๋„๊ตฌ
    • ํฌ๋งทํŒ…๊ณผ ๊ด€๋ จ๋œ ๋ถ€๋ถ„๋งŒ ๋„์›€์ด ๋˜๋ฏ€๋กœ ์ฝ”๋“œ ํ’ˆ์งˆ ๊ทœ์น™๊ณผ ๊ด€๋ จํ•ด์„œ๋Š” ESLint์™€ ๊ฐ™์€ ๋„๊ตฌ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
  • ์ฐธ๊ณ  ๋งํฌ

Apollo

GraphQL์ด ์ ์šฉ๋œ ํ”„๋กœ์ ํŠธ๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” Node.js ํŒจํ‚ค์ง€

  • Apollo Client : GraphQL์„ ํ†ตํ•ด, ํด๋ผ์ด์–ธํŠธ์ƒ์˜ LocalState๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค์–ด์คŒ
  • Apollo Server : GraphQL์ด ์ ์šฉ๋œ ์„œ๋ฒ„๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์คŒ

GraphQL

Facebook์—์„œ ๊ฐœ๋ฐœํ•œ ์ฟผ๋ฆฌ ์–ธ์–ด


์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ

์ƒํ’ˆ ๋“ฑ๋ก

  • ํŠน์ • ๊ถŒํ•œ (Admin)์„ ๊ฐ€์ง„ ์œ ์ €๋Š” ์ƒํ’ˆ ๋“ฑ๋ก์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒํ’ˆ ๋“ฑ๋ก์—๋Š” Editor๋ฅผ ๋ถ™์ž…๋‹ˆ๋‹ค.(CKEditor ๋“ฑ)
  • ์ƒํ’ˆ์„ ๋“ฑ๋กํ•˜๋ฉด ๋ฐ”๋กœ ๋ชฉ๋ก์— ๋…ธ์ถœ๋ฉ๋‹ˆ๋‹ค.

์ƒํ’ˆ ๋ชฉ๋ก ๋…ธ์ถœ

  • ์ƒํ’ˆ์€ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ํ•„ํ„ฐ๊ฐ€ ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ์ƒํ’ˆ์˜ ์นดํ…Œ๊ณ ๋ฆฌ๋Š” 20๊ฐ€์ง€ ์ •๋„๋กœ ๊ตฌ์„ฑ (์„ธ๋ถ€ ์นดํ…Œ๊ณ ๋ฆฌ ํฌํ•จ)
    • ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์กฐํ•ฉํ–ˆ์„ ๋•Œ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒํ’ˆ์€ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ๊ฒ€์ƒ‰ํ–ˆ์„ ๋•Œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์— ๋งž๋Š” ์•„์ดํ…œ๋งŒ ๋ณด์—ฌ์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ๊ฒ€์ƒ‰์–ด์— ๋งž๋Š” ์•„์ดํ…œ์„ ๊ฐ•์กฐํ•ด์ฃผ์„ธ์š”.
  • ์ƒํ’ˆ์€ 25๊ฐœ์”ฉ ํ•œ๋ฒˆ์— ๋ณด์—ฌ์ฃผ๋ฉฐ ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ์ง€์›ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • (๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด) ์ƒํ’ˆ ๋ชฉ๋ก์„ ๋ฌดํ•œ ์Šคํฌ๋กค๋กœ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š”.

์ƒํ’ˆ ์ƒ์„ธ ๋…ธ์ถœ

์ƒํ’ˆ๋ณ„ ๋Œ“๊ธ€ ๋…ธ์ถœ

  • ๋Œ“๊ธ€์€ 25๊ฐœ์”ฉ ํ•œ๋ฒˆ์— ๋ณด์—ฌ์ฃผ๋ฉฐ ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ์ง€์›ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋Œ“๊ธ€์—๋Š” ๋Œ€๋Œ“๊ธ€์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋Œ€๋Œ“๊ธ€์€ ์ตœ๋Œ€ 1๋ฒˆ๊นŒ์ง€๋งŒ depth๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๋Œ“๊ธ€์—๋Š” ์ด๋ฏธ์ง€ ์‚ฝ์ž…์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํšŒ์›

  • ๋กœ๊ทธ์ธ๐Ÿ”ฅ / ๋กœ๊ทธ์•„์›ƒ๐Ÿ”ฅ
  • ํšŒ์›๊ฐ€์ž…๐Ÿ”ฅ / ํšŒ์›ํƒˆํ‡ด
  • ์•„์ด๋”” ์ฐพ๊ธฐ / ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ โ‡’ ๊ฐ€์ž…ํ•œ ์ด๋ฉ”์ผ๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌ์„ค์ •ํ•˜๊ธฐ๐Ÿ”ฅ

์œ„์‹œ๋ฆฌ์ŠคํŠธ

  • ์ƒํ’ˆ ์œ„์‹œ๋ฆฌ์ŠคํŠธ๊ฐ€ ์กด์žฌํ•˜์—ฌ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์œ„์‹œ๋ฆฌ์ŠคํŠธ์— ๋“ฑ๋ก ๊ฐ€๋Šฅํ•œ ๊ฐฏ์ˆ˜์— ์ œํ•œ์€ ์—†์Šต๋‹ˆ๋‹ค.

์žฅ๋ฐ”๊ตฌ๋‹ˆ

  • ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ์•„์ดํ…œ์„ 25๊ฐœ๊นŒ์ง€ ๋‹ด์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•ด๋‹น ๊ณ„์ •๊ณผ ์žฅ๋ฐ”๊ตฌ๋‹ˆ๋Š” ์—ฐ๋™๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ์ œ

  • ์ฃผ์†Œ ๋“ฑ์„ ์ž…๋ ฅ๋ฐ›์•„ ๊ฒฐ์ œ๋ฐ›๋Š” ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
    • ์ฃผ์†Œ ๊ฒ€์ƒ‰์—๋Š” ์ฃผ์†Œ ๊ฒ€์ƒ‰ API(๋‹ค์Œ)๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ์„ธ์š”.
  • ์ง€์—ญ๋ณ„๋กœ ๋ฐฐ์†ก๋น„ ์ฃผ๋ฌธ ๋กœ์ง์„ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.
    • ์ผ๋ฐ˜ ๋ฐฐ์†ก๋น„ : 2,500์›
    • ๋„์„œ์‚ฐ๊ฐ„์ง€๋ฐฉ(์ œ์ฃผ, ์šธ๋ฆ‰๋„) : 10,000์›
    • ์žฅ๋ฐ”๊ตฌ๋‹ˆ๊ฐ€ ํŠน์ • ๊ธˆ์•ก(50,000์›)์„ ๋„˜๋Š” ๊ฒฝ์šฐ, ๋ฌด๋ฃŒ๋ฐฐ์†ก
  • ๊ฒฐ์ œ๊ฐ€ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์„ ๊ฒฝ์šฐ, ์žฅ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ฒฐ์ œ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ, ๊ฒฐ์ œ์— ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ๋งŒ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

(๊ณตํ†ต) ๋„ค๋น„๊ฒŒ์ด์…˜

  • ๋„ค๋น„๊ฒŒ์ด์…˜์—๋Š” ํŽ˜์ด์ง€๊ฐ„ ์ด๋™, ์œ ์ € ์ •๋ณด ๋…ธ์ถœ ๋“ฑ์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐํš์ „

  • ์‡ผํ•‘๋ชฐ์—์„œ ์ž์ฃผ ์“ฐ์ด๋Š” ๊ธฐํš์ „ ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š”.
  • ๊ธฐํš์ „์€ ์ตœ๋Œ€ ๊ฐฏ์ˆ˜๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๊ณต์œ ํ•˜๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    (์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ, ํŽ˜์ด์Šค๋ถ ๊ณต์œ ํ•˜๊ธฐ, ๋„ค์ด๋ฒ„ ๊ณต์œ ํ•˜๊ธฐ ๋“ฑ)

๊ธฐ์ˆ  ์š”๊ตฌ์‚ฌํ•ญ

  • ๋ชจ๋“  ํŽ˜์ด์ง€๋Š” ๊ณต์œ ํ•˜๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋กœ๊ทธ์ธ์€ ์œ ์ €๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ข…๋ฃŒํ•ด๋„ ์œ ์ง€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.๐Ÿ”ฅ
  • ๋ชจ๋“  ํŽ˜์ด์ง€๋Š” ๋ฐ˜์‘ํ˜•์„ ์ง€์›ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ํŽ˜์ด์ง€๋Š” ์ ‘๊ทผ์„ฑ์„ ์ค€์ˆ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ํŽ˜์ด์ง€๋Š” ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.(SEO)
  • ๋ชจ๋“  Form์€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ฐ€ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.๐Ÿ”ฅ
  • ๋ฐฑ์—”๋“œ๋Š” strapi๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • ๋กœ์ปฌ์—์„œ๋งŒ ๋™์ž‘ํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

์ฑŒ๋ฆฐ์ง€

  • AWS๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐฐํฌํ•ด์ฃผ์„ธ์š”.
    (Azure๋‚˜ GCP๋ฅผ ์ด์šฉํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค.)
  • ํŒ€ ํ”„๋กœ์ ํŠธ๋กœ ํ•ด๋ณด์„ธ์š”.๐Ÿ”ฅ
  • ์šด์˜ ๋ชจ๋“œ(์œ ์ง€๋ณด์ˆ˜ ์ •์ฑ…)์„ ๊ณ ๋ฏผํ•ด์ฃผ์„ธ์š”
    • Admin์„ ๋งŒ๋“ค์–ด๋ณด๋ฉด ์–ด๋–จ๊นŒ์š”?(=== ๋ฐฑ์˜คํ”ผ์Šค)
    • CS๋ฅผ ๋ฐ›์„ ์ฐฝ๊ตฌ๋ฅผ ๋งˆ๋ จํ•ด์ฃผ์„ธ์š”.
    • GitHub ๋ฐฐํฌ ์ „๋žต์„ ์žก์•„์ฃผ์„ธ์š”.
    • GitHub Actions๋ฅผ ํ™œ์šฉํ•ด CI / CD๋ฅผ ๊ตฌ์ถ•ํ•ด์ฃผ์„ธ์š”.
    • ESLint ๋“ฑ๊ณผ ๊ด€๋ จ๋œ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.๐Ÿ”ฅ
  • ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ๋กœ ์งœ์ฃผ์„ธ์š”.
    • Jest๋ฅผ ์ด์šฉํ•ด ํ…Œ์ŠคํŠธ๋ฅผ ๊ตฌ์ถ•ํ•ด์ฃผ์„ธ์š”.

๋ง๋ถ™์ด๊ธฐ

  • ์กฐ์€๋‹˜ ์Šคํ„ฐ๋””์˜ ๋งˆ์ง€๋ง‰ ๊ณผ์ œ... ์ž…๋‹ˆ๋‹ค. ํ—คํ—ค
  • ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ–ˆ์œผ๋‚˜ ๊ทธ ๊ณผ์ •์€ ์ „ํ˜€ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
    โ‡’ ๊ทธ.. ๋‚˜๋ฆ„์˜ ํ•‘๊ณ„๋ฅผ ๋งํ•˜์ž๋ฉด.. ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๋ถ€์กฑํ•จ์„ ๋Š๊ปด ๊ณต๋ถ€๋ฅผ ํ•˜๊ณ  ์‹ถ์—ˆ์œผ๋‚˜ ์—ฌ์œ ๋กญ๊ฒŒ ๊ณต๋ถ€ํ•  ์ˆ˜ ์—†์—ˆ๊ณ (์™œ๋ƒ๋ฉด ์˜ค๋ž˜๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ), ๋‚˜์˜ ๋ถ€์กฑํ•จ์ด ์ž๊พธ ๋Š๊ปด์ ธ์„œ ๋ถˆ์•ˆํ–ˆ๊ณ  ์กฐ๊ธ‰ํ–ˆ๋‹ค.
    โ‡’ ๊ทธ๋ž˜์„œ ๋ฏธ๋ฃฐ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ๋ชจ๋‘ ๋ฏธ๋ค„๋ฒ„๋ฆฌ๊ธฐ๋ฅผ ์‹œ์ „ํ–ˆ๊ณ  ๋ฏธ๋ฃฐ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ์ค‘์— ๋ธ”๋กœ๊ทธ ๊ธ€ ์ž‘์„ฑ์ด ํฌํ•จ๋˜์–ด ์žˆ์—ˆ๋‹ค.
  • ๋Šฆ๊ฒŒ๋‚˜๋งˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๋‹ค๋ฃจ๊ณ  ์‹ถ์—ˆ๋˜ ์ฃผ์ œ๋“ค์— ๋Œ€ํ•ด ๊ธ€์„ ์ž‘์„ฑํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

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

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