๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿ“– ๊น”๋”ํ•œ ํŒŒ์ด์ฌ ํƒ„ํƒ„ํ•œ ๋ฐฑ์—”๋“œ

Chanho Lee
๋‹ค์–‘ํ•œ ๋ถ„์•ผ๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋Š” ํ•™์ƒ

Book Infoโ€‹

ํŒ

์ฑ… ์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญํ•˜๋ฉด ๊ต๋ณด๋ฌธ๊ณ  ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค!

์ฑ…

  • ์ œ๋ชฉ: ๊น”๋”ํ•œ ํŒŒ์ด์ฌ ํƒ„ํƒ„ํ•œ ๋ฐฑ์—”๋“œ
  • ์ €์ž: ์†ก์€์šฐ
  • ์ถœํŒ์‚ฌ: ๋น„์ œ์ดํผ๋ธ”๋ฆญ
  • ์ถœ๊ฐ„: 2019-01-25

๐ŸŽฌIntroโ€‹

์ด ์ฑ…์€ flask๋กœ API๋ฅผ ์ œ์ž‘ํ•ด๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์ฑ…์ž…๋‹ˆ๋‹ค. ์‚ฌ์‹ค flask ์ฑ…์€ ์ตœ๊ทผ์— Do it! ์ ํ”„ ํˆฌ ํ”Œ๋ผ์Šคํฌ๋ผ๋Š” ์ข‹์€ ์ฑ…์ด ๋‚˜์™”์ฃ . ๊ทธ๋Ÿฐ๋ฐ๋„ ์ด ์ฑ…์„ ์„ ํƒํ•œ ์ด์œ ๋Š” ๋‹จ์ˆœํžˆ ํ”Œ๋ผ์Šคํฌ๋งŒ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ API ๊ฐœ๋ฐœ์„ ๊ณต๋ถ€ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ๋ฐฑ์—”๋“œ์—์„œ ๊ฑฐ์˜ ํ•„์ˆ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” REST ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์„ ์‚ฌ์šฉํ•ด์„œ ๋ง์ด์ฃ .

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

Book Reviewโ€‹

API ์ œ์ž‘โ€‹

twitter์˜ ์ผ๋ถ€ ํ•ต์‹ฌ ๊ธฐ๋Šฅ๋“ค์„ ๊ตฌํ˜„ํ•ด์„œ ๋ฏธ๋‹ˆ ๋ฒ„์ „์˜ ํŠธ์œ„ํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด๋ด…๋‹ˆ๋‹ค. ์ด API๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋ฉด์„œ HTTP, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, unit test, AWS ๋ฐฐํฌ ๋“ฑ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์„ ๊ฒฝํ—˜ํ•˜๊ณ  ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋…๋“ค์„ ๊ณต๋ถ€ํ•˜๋Š” ๋ฐฉ์‹์ด์ฃ . ๊ทธ๋ ‡๊ธฐ์— ์ „๋ฐ˜์ ์ธ ๋ฐฑ์—”๋“œ ๊ณต๋ถ€์—๋Š” ๋„์›€์ด ๋˜์ง€๋งŒ, ํ”Œ๋ผ์Šคํฌ ์ž์ฒด์— ๋Œ€ํ•œ ๊ณต๋ถ€์—๋Š” ๋„์›€์ด ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

HTTP ๊ฐœ๋…๋“ค์„ ๋‹ค์‹œ ๋ณต์Šตํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ๊ณ  ์ธ์ฆ ๋ถ€๋ถ„์„ ๋‹ค๋ฃจ๋Š” ๊ฒƒ๋„ ์žฌ๋ฐŒ์—ˆ์Šต๋‹ˆ๋‹ค. ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ถ€๋ถ„๋„ ์žˆ์—ˆ๋Š”๋ฐ "์ด๋Ÿฐ ๋ถ€๋ถ„๋„ ๋‹ค๋ค„์ค€๋‹ค๊ณ ?" ์ƒ๊ฐ์ด ๋“ค ์ •๋„๋กœ ๋„์›€์ด ๋๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ‚ค์›Œ๋“œ ์ œ์‹œโ€‹

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

๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œโ€‹

์ด ์ฑ…์ด 2019๋…„ ์ดˆ๋ฐ˜์— ์ถœ๊ฐ„๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— 2021๋…„ ์ค‘๋ฐ˜์— ์ฝ๋Š” ์ง€๊ธˆ ์–ด๋Š ์ •๋„๋Š” ์˜ˆ์ƒํ–ˆ๋˜ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. "์„ค๋งˆ ๋งŽ์ด ๋‚˜์˜ค๊ฒ ์–ด?"๋ผ๋Š” ์ƒ๊ฐ์„ ํ•˜๋ฉด์„œ ์ด ์ฑ…์„ ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹คํ–‰ํžˆ decode ์—๋Ÿฌ ๋ง๊ณ ๋Š” ๋”ฑํžˆ ์ฝ”๋“œ๋ฅผ ๋Œ๋ฆฌ๋Š” ๋ฐ ์–ด๋ ค์›€์€ ์—†์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ƒ๋žต๋œ ์ฝ”๋“œโ€‹

์•„๋ฌด๋ž˜๋„ ์ฑ…์ด ๋‹ค์–‘ํ•œ ์ฃผ์ œ๋“ค์„ ๋‹ค๋ฃจ๋‹ค ๋ณด๋‹ˆ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ์ผ๋ถ€ ์ฝ”๋“œ๋ฅผ ์ƒ๋žตํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์€ ์ข€ ์•„์‰ฌ์› ์ง€๋งŒ ์ด๋Ÿฐ ๋ถ€๋ถ„๊นŒ์ง€ ์ƒ์„ธํ•˜๊ฒŒ ๋‹ค๋ค˜๋‹ค๋ฉด ์•„๋ฌด๋ž˜๋„ ์ฑ…์ด 400์ชฝ์ด ์•„๋‹ˆ๋ผ ๋Œ€๋žต 500~600์ชฝ์ด ๋์„ ๊ฑฐ ๊ฐ™์œผ๋‹ˆ ์ด๋Ÿฐ ๋ถ€๋ถ„์€ ์ €์ž์˜ ์ž…์žฅ์ด ์ดํ•ด๋ฉ๋‹ˆ๋‹ค.

๋Œ€์ƒ ๋…์žโ€‹

ํŒŒ์ด์ฌ์œผ๋กœ ์ „๋ฐ˜์ ์ธ ๋ฐฑ์—”๋“œ๋ฅผ ๊ฒฝํ—˜ํ•ด๋ณด๊ณ  ์‹ถ์€ ๋ถ„๋“ค๊ป˜ ์ถ”์ฒœํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์˜ˆ์ „์—” ๋ชฉํ‘œํ•˜๋Š” ์ง๊ตฐ์— ๋Œ€ํ•ด ์ง์ ‘ ๊ฒฝํ—˜ํ•ด๋ณด์ง€ ๋ชปํ•œ ๋ถ€๋ถ„๋“ค์€ ์–ด๋–ป๊ฒŒ ๊ณต๋ถ€ํ•ด์•ผ ํ•˜๋‚˜ ๊ณ ๋ฏผํ–ˆ์„ ํ…๋ฐ ์ฑ…์„ ํ†ตํ•˜์—ฌ ์‰ฝ๊ฒŒ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ์ด๋ ‡๊ฒŒ ํ”„๋กœ์ ํŠธ ํ•˜๋‚˜๋ฅผ ์ฃผ์ œ๋กœ ์ „๋ฐ˜์ ์ธ ๋ถ€๋ถ„์„ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ์ฑ…๋“ค์ด ๋” ๋งŽ์ด ๋‚˜์™€์คฌ์œผ๋ฉด ํ•˜๋Š” ๋ฐ”๋žŒ์ž…๋‹ˆ๋‹ค.