Skip to content

๐Ÿ‘Ÿ ๐ŸŽฅ ์ฃผ์ฐจ๋ณ„ ์Šคํ”„๋ฆฐํŠธ ๊ณ„ํš & ๋ฐ๋ชจ ์‚ฌ์ดํŠธ

๊น€๊ด€๊ฒฝ edited this page Nov 17, 2022 · 13 revisions

2์ฃผ์ฐจ : ์ธํ”„๋ผ ์ž‘์—… & ํ…Œ์ŠคํŠธ API ์ˆ˜์‹  ํ™•์ธ

2์ฃผ์ฐจ ๋ฐ๋ชจ ์‹œ๋‚˜๋ฆฌ์˜ค

ํ…Œ์ŠคํŠธ ๋ชฉ์ ๊ณผ ์ƒํ™ฉ

  • ์„œ๋ฒ„ ๊ตฌ์„ฑ, CI / CD ๊ฐ™์€ ์ธํ”„๋ผ, API, DB ๋“ฑ ์„ค๊ณ„๋ฅผ ๋ณด์—ฌ์ฃผ๋ฉด ์–ด๋–จ๊นŒ? + ๊ณ๋“ค์—ฌ์„œ ๋””์ž์ธ ์ •๋„ (๋ ˆ์ด์•„์›ƒ ๋๋‚œ๋‹ค๋ฉด)
  • API ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ์„œ๋ฒ„๊ฐ€ ํ†ต์‹ ์ด ๋œ๋‹ค.

์‹œ๋‚˜๋ฆฌ์˜ค ์ง„ํ–‰์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ

  • API ๋ช…์„ธ
  • DB ERD
  • CI / CD ํŒŒ์ดํ”„๋ผ์ธ
  • ์„œ๋ฒ„ ์ธํ”„๋ผ ์‹œ๊ฐํ™” ์ž๋ฃŒ
  • ์•„๋ฌด๊ฑฐ๋‚˜ Mock API (CORS๋ž‘ ๊ด€๋ จ๋˜๋ฉด ์ข‹๊ฒ ๋‹ค.)
  • (๋ ˆ์ด์•„์›ƒ)

์‹œ๋‚˜๋ฆฌ์˜ค ์ง„ํ–‰์— ํ•„์š”ํ•œ ์กฐ๊ฑด

  • API ๋ช…์„ธ ์ž‘์„ฑ
  • DB ERD ์„ค๊ณ„
  • CI / CD ํŒŒ์ดํ”„๋ผ์ธ ์„ค๊ณ„
  • ์„œ๋ฒ„ ์ธํ”„๋ผ ๊ตฌ์ถ•
  • ์•„๋ฌด๊ฑฐ๋‚˜ Mock API ๊ตฌํ˜„
  • (๋ ˆ์ด์•„์›ƒ ๊ตฌํ˜„)

์‹œ๋‚˜๋ฆฌ์˜ค ์™„๋ฃŒ ์‹œ ๋ณด์žฅํ•˜๋Š” ๊ฒฐ๊ณผ

  • API ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ HTTP ํ†ต์‹ ์— ์„ฑ๊ณตํ•œ๋‹ค
  • MySQL ๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ
  • ์ธํ”„๋ผ ์„œ๋ฒ„๋“ค (CI / CD)
  • (ํด๋ผ์ด์–ธํŠธ ํ™”๋ฉด)

2์ฃผ์ฐจ ์ž‘์—…๋‚ด์šฉ

๋ฐฑ์—”๋“œ

  • ๋ฐฑ์—”๋“œ : DB ์„ค๊ณ„
  • API ๋ช…์„ธ ์ž‘์„ฑ
  • API ์„œ๋ฒ„ ๋ฐฐํฌ
  • API ์„œ๋ฒ„ CI / CD
  • DB ์„œ๋ฒ„ ๋ฐฐํฌ
  • DB ์„œ๋ฒ„ CI / CD
  • ํ…Œ์ŠคํŠธ์šฉ API ๊ตฌํ˜„

ํ”„๋ก ํŠธ์—”๋“œ

  • ํŽ˜์ด์ง€ ๋””์ž์ธ
  • ํŽ˜์ด์ง€ ์„ค๊ณ„ (์ธํ„ฐ๋ž™์…˜, ์ปดํฌ๋„ŒํŠธ ์ถ”์ƒํ™”)
  • ํ”„๋ก ํŠธ์—”๋“œ ์„œ๋ฒ„ ๋ฐฐํฌ
  • ํ”„๋ก ํŠธ์—”๋“œ ์„œ๋ฒ„ CI / CD
  • ESLint, prettier, tsconfig ์„ค์ •ํ•˜๋ฉฐ ์ฝ”๋”ฉ ์Šคํƒ€์ผ ๋งž์ถ”๊ธฐ
  • ํŽ˜์–ดํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๊ด€๋ฆฌ์žํŽ˜์ด์ง€ ๊ตฌํ˜„ํ•˜๋ฉฐ ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ ์Šคํƒ€์ผ ์‹ฑํฌ ๋งž์ถ”๊ธฐ
  • ๋žœ๋”ฉ ํŽ˜์ด์ง€ ๊ตฌํ˜„
  • ํ…Œ์ŠคํŠธ์šฉ API ์ˆ˜์‹  ํ™•์ธ ๊ตฌํ˜„

๐Ÿ˜ ์™€๊ธ€์™€๊ธ€

์™€๊ธ€์™€๊ธ€ ์†Œ๊ฐœ

๐Ÿ–๏ธ์™€๊ธ€์™€๊ธ€ ์†Œ๊ฐœ

๐Ÿ‘จโ€โš–๏ธํŒ€ undefined ๊ทธ๋ผ์šด๋“œ ๋ฃฐ

๐Ÿ“œ์™€๊ธ€์™€๊ธ€ ๊ธฐํš์„œ (์™ธ๋ถ€ ๋งํฌ)

๐Ÿ’กํŒ€ undefined์˜ ๋ฉˆ์ถ”์ง€ ์•Š๋Š” ์•„์ด๋””์–ด ๋ฑ…ํฌ

๐Ÿ“„ํŒ€ undefined ๋…ธ์…˜

๐Ÿš ๊ธฐ์ˆ ์  ๋„์ „๋“ค

๊ณตํ†ต

๐Ÿ“Š๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜์˜ ๊ทผ๊ฑฐ์žˆ๋Š” ์„ฑ๋Šฅ ๊ฐœ์„ 

๐Ÿ—ฃ๏ธ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋ฐœ์ „ํ•ด๋‚˜๊ฐ€๊ธฐ

ํ”„๋ก ํŠธ์—”๋“œ

๐Ÿ“บ์ง์ ‘ ๋งŒ๋“  ๋ฌผ๋ฆฌ์—”์ง„์œผ๋กœ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ํ•˜๊ธฐ

๐Ÿ”Trie ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํ†ตํ•œ ์ž๋™์™„์„ฑ ๊ฒ€์ƒ‰์—”์ง„ ๊ตฌํ˜„

โฉ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•œ ์„ฑ๋Šฅ ๊ฐœ์„ 

๐Ÿ“ฝ๏ธUX๋ฅผ ๊ณ ๋ คํ•œ ์Šคํฌ๋กค ์• ๋‹ˆ๋ฉ”์ด์…˜

๋ฐฑ์—”๋“œ

๐Ÿ“ถ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋„์ „๊ธฐ

โš—๏ธํ…Œ์ŠคํŠธ ์ฝ”๋“œ์™€ ๋‹จ๋‹จํ•œ ์ฝ”๋“œ ๊ตฌ์กฐ

๐Ÿ’พORM๊ณผ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ์œ ์ง€ํ•˜๊ธฐ

๐Ÿ“ˆJPA๋ฅผ ํ™œ์šฉํ•œ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ ์ฆ๋Œ€ํ•˜๊ธฐ

๊ฐœ๋ฐœ ์ผ์ง€

โš ๏ธํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

๐Ÿซ๋ฉ˜ํ† ๋ง ์ผ์ง€

๐Ÿ‘Ÿ์ฃผ์ฐจ๋ณ„ ์Šคํ”„๋ฆฐํŠธ

โœ…๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ

๐Ÿค”์ฃผ๊ฐ„ ํšŒ๊ณ 

Clone this wiki locally