Skip to content

Latest commit

ย 

History

History
46 lines (32 loc) ยท 3.48 KB

File metadata and controls

46 lines (32 loc) ยท 3.48 KB

๋งˆ์ง€๋ง‰ ๋ฏธ์…˜ : React vote!

์„œ๋ก 

์•ˆ๋…•ํ•˜์„ธ์š” ํ”„๋ก ํŠธ์—”๋“œ 14๊ธฐ ์—ฌ๋Ÿฌ๋ถ„! ํŒŒํŠธ์žฅ์ž…๋‹ˆ๋‹ค.

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

์ด๋ฒˆ ๊ณผ์ œ๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ „๋‹ฌํ•ด์ค€ API๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด๋Š”๊ฒƒ ์ž…๋‹ˆ๋‹ค! ์ผ์ข…์˜ ํˆฌํ‘œ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•ด ๋ณด๋Š” ๊ฒƒ์ธ๋ฐ์š”, ์ด ํˆฌํ‘œ ๊ฒฐ๊ณผ๊ฐ€ ์‹ค์ œ ํŒŒํŠธ์žฅ ํˆฌํ‘œ๋กœ ์ด์–ด์งˆ์ˆ˜๋„... ์•„๋‹์ˆ˜๋„,... ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์™€ ํ•จ๊ป˜, ๊ธฐํš ์˜๋„์— ๋”ฐ๋ผ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ์—์„œ API๋ฅผ ์กฐ๊ธˆ ๋” ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•ด๋ณด๊ณ , ๋…ผ์˜ํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด๋ฒˆ ๊ณผ์ œ๋Š” ํŒ€ ๋‹จ์œ„๋กœ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ์š”, ํŒ€ ๋‚ด์˜ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋Š” ๋ฌผ๋ก ์ด๊ณ , ๊ฐ™์€ ํŒ€ ๋‚ด์˜ ํ”„๋ก ํŠธ์™€๋„ ํ˜‘์—…ํ•˜๊ฒŒ ๋˜๋Š” ์ด๋ฒˆ ๊ณผ์ œ์—์„œ, ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์‹ค์ œ ํ”„๋กœ๋•ํŠธ ๊ฐœ๋ฐœ์‹œ์— ์—ญํ•  ๋ถ„๋‹ด์„ ํšจ์œจ์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ์„์ง€์— ๋Œ€ํ•ด์„œ ๊ธฐ๋ฐ˜์„ ๋‹ค์งˆ ์ˆ˜ ์žˆ๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋˜๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค!

๋ฏธ์…˜

๋ฏธ์…˜ ๋ชฉํ‘œ

  • REST API, AJAX๋“ฑ์„ ํ†ตํ•œ ์„œ๋ฒ„์™€์˜ ํ†ต์‹  ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค
  • async/await, Promise๋“ฑ JavaScript ๋‚ด์• ์„œ์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค
  • API document๋ฅผ ํ†ตํ•ด ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์™€ ์†Œํ†ตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ตํž™๋‹ˆ๋‹ค
  • ํŒ€ ๋‚ด์˜ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์™€ ์ ์ ˆํ•œ ์—ญํ•  ๋ถ„๋‹ด์„ ํ†ตํ•ด ๊ฐœ๋ฐœ ํšจ์œจ์„ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•ฉ๋‹ˆ๋‹ค

๋ฏธ์…˜ ๊ธฐํ•œ

์ด๋ฒˆ ๋ฏธ์…˜ ์ œ์ถœ์€ ๊ณผ์ œ ๊ณต๊ฐœ ํ›„ 2์ฃผ ํ›„ ์ž…๋‹ˆ๋‹ค (2021๋…„ 12์›” 3์ผ) ๋‹ค๋งŒ ์‹œํ—˜๊ธฐ๊ฐ„์„ ๊ณ ๋ คํ•˜์—ฌ ์Šคํ„ฐ๋””๋Š” ์‹œํ—˜๊ธฐ๊ฐ„์ด ๋๋‚œ ์ดํ›„๋กœ ์˜ˆ์ •๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ณผ์ œ ์ œ์ถœ ๊ธฐ๊ฐ„ ์ดํ›„๋กœ ์ž์œ ๋กญ๊ฒŒ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

ํ•„์ˆ˜์š”๊ฑด

  • ์‚ฌ์ดํŠธ๋ฅผ ์—ฌ๋Ÿฌ๋ถ„๋งŒ์˜ ๊ฐ๊ฐ์œผ๋กœ ๊พธ๋ฉฐ๋ณด์„ธ์š”. (UI/UX์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ฐ๊ฐ์„ ์ตœ๋Œ€ํ•œ ๋ฐœํœ˜ํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค)
  • HTTPS๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜์„ธ์š”
  • ์™ธ์˜ ์‚ฌํ•ญ์€ ๊ธฐํš ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”

์„ ํƒ์š”๊ฑด

  • API Fetch๋Š” ์–ด๋–ค ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋˜ ๋ฌด๋ฐฉํ•ฉ๋‹ˆ๋‹ค (axios, Fetch API, $.ajax)
  • Promise.then() ๋ณด๋‹จ async/await๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”. ๋” ์ตœ์‹  ์ŠคํŽ™์ด๋ž๋‹ˆ๋‹ค.

๋งํฌ ๋ฐ ์ฐธ๊ณ ์ž๋ฃŒ