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

๐Ÿ“– Do it! ์žฅ๊ณ +๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํŒŒ์ด์ฌ ์›น ๊ฐœ๋ฐœ์˜ ์ •์„

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

Book Infoโ€‹

ํŒ

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

์ฑ…

  • ์ œ๋ชฉ: Do it! ์žฅ๊ณ +๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํŒŒ์ด์ฌ ์›น ๊ฐœ๋ฐœ์˜ ์ •์„
  • ์ €์ž: ์ด์„ฑ์šฉ, ๊น€ํƒœ๊ณค
  • ์ถœํŒ์‚ฌ: ์ด์ง€์Šคํผ๋ธ”๋ฆฌ์‹ฑ
  • ์ถœ๊ฐ„: 2021-01-18

Introโ€‹

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

์ตœ๊ทผ์— ๋‹ค์‹œ Django๋ฅผ ๊ณต๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด์„œ '๋ญ˜ ๋ณด๊ณ  ๊ณต๋ถ€๋ฅผ ํ•ด๋ณผ๊นŒ' ๊ณ ๋ฏผํ•˜๋˜ ์ค‘ ์ด๋ฒˆ ๋…„์— Django ์ฑ…์ด 2๊ถŒ ์ถœ์‹œ๊ฐ€ ๋๋Š” ๊ฑธ ์•Œ๊ฒŒ ๋์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒŒ ์ด์ œ Do it! ์ ํ”„ ํˆฌ ์žฅ๊ณ ์™€ Do it! ์žฅ๊ณ +๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํŒŒ์ด์ฌ ์›น ๊ฐœ๋ฐœ์˜ ์ •์„์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์žฅ๊ณ  ๊ณต์‹ ๋ฌธ์„œ, Two Scoops of Django ๋“ฑ ์œ„์˜ ์ฑ…๋“ค ์ด์™ธ์—๋„ ์„ ํƒ์ง€๋Š” ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Two Scoops of Django๋Š” ์˜์–ด๋ผ ์ฝ๋Š”๋ฐ ์˜ค๋ž˜ ๊ฑธ๋ฆด ๊ฑฐ ๊ฐ™์•„์„œ ์ฝ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ฒˆ์—ญ์„œ๋„ ์žˆ์ง€๋งŒ 2016๋…„์— ์ถœ๊ฐ„๋œ ์ฑ…์ด๋ผ ์˜ˆ์ „ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•  ๊ฑฐ ๊ฐ™์•„์„œ ์„ ํƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๊ฒฐ๊ตญ ์œ„์˜ Do it! ์ฑ…๋“ค ์ค‘ ํ•œ ๊ถŒ์„ ์ฝ๊ณ ์ž ๊ฒฐ์‹ฌํ–ˆ๊ณ  ๋„์ปค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Do it! ์žฅ๊ณ +๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํŒŒ์ด์ฌ ์›น ๊ฐœ๋ฐœ์˜ ์ •์„์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ ํ”„ ํˆฌ ์žฅ๊ณ ๋Š” ์œ„ํ‚ค๋ถ์Šค์—๋„ ์žˆ์–ด์„œ ์ฐธ๊ณ ํ•˜๋ฉด์„œ ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค.

Book Reviewโ€‹

์›น ๊ฐœ๋ฐœ, ๋ฐฐํฌ, ์šด์˜โ€‹

์ด ์ฑ…์€ 640 ํŽ˜์ด์ง€์˜ ์€๊ทผ ๋‘๊บผ์šด ์ฑ…์ž…๋‹ˆ๋‹ค. 'Django ์ฑ…์ด ๋ญ ์ด๋ ‡๊ฒŒ ๋‘๊ป๋‚˜?'๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹ค ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ, ์ฝ”๋“œ๋„ ์ „๋ถ€ ํ‘œ๊ธฐ๋˜์–ด ์žˆ์œผ๋ฉด์„œ, ์žฅ๊ณ ๋„ ๋‹ค๋ฃจ๊ณ , ๋ถ€ํŠธ์ŠคํŠธ๋žฉ, ๋ฐฐํฌ ๋ถ€๋ถ„๊นŒ์ง€ ๋‹ค ๋‹ค๋ฃจ๋Š” ๊ฑธ ์ƒ๊ฐํ•˜๋ฉด 640 ํŽ˜์ด์ง€๊ฐ€ ๋ถ€์กฑํ•  ์ •๋„์ž…๋‹ˆ๋‹ค. ๊ทผ๋ฐ ๊ทธ ๋ชจ๋“  ๊ฑธ ์ฑ… ํ•œ ๊ถŒ์— ์ •๋ฆฌํ•ด๋†จ๋‹ค๋Š” ๊ฒƒ์€ ์ •๋ง ๋Œ€๋‹จํ•œ ์ผ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ €๋Š” ์ด ๋ถ€๋ถ„์ด ์ด ์ฑ…์˜ ๊ฐ€์žฅ ํฐ ์žฅ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ์‚ฌ์šฉโ€‹

์ฑ…์—์„œ๋Š” ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“ ๋‹ค๊ณ  ๋˜์–ด ์žˆ์ง€๋งŒ ์‚ฌ์‹ค์ƒ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธ ํ•˜์—ฌ์„œ ๊ธ€์„ ์“ธ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋Œ“๊ธ€ ๊ธฐ๋Šฅ๋„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Django๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”ํžˆ ์•Œ๋ ค์ ธ ์žˆ๋Š” CRUD(์ž…๋ ฅ/์กฐํšŒ/์ˆ˜์ •/์‚ญ์ œ) ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋ก ํŠธโ€‹

ํ”„๋ก ํŠธ ๋ถ€๋ถ„์€ HTML, CSS, JavaScript๋ฅผ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋“ค๋งŒ ์•Œ๋ ค์ฃผ๊ณ , Bootstrap์„ ํ™œ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊พธ๋ฏธ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ๋Š” Bootstrap๋ณด๋‹ค ์ตœ๊ทผ ํ”„๋ก ํŠธ ๊ธฐ์ˆ ์ธ React๋ฅผ ๋‹ค๋ค˜์œผ๋ฉด ๋” ์ข‹์•˜์„ ๊ฑฐ๋ผ ์ƒ๊ฐํ•˜์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ์ฑ… ์ชฝ์ˆ˜๊ฐ€ 1000 ํŽ˜์ด์ง€๊ฐ€ ๋„˜์–ด๊ฐ”์„ ๊ฑฐ ๊ฐ™์œผ๋‹ˆ ์ €์ž๋ถ„์ด ์„ ํƒ์„ ์ž˜ ํ•˜์‹  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, React ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ์ดˆ๋ณด์ž๊ฐ€ HTML, CSS, JavaScript๋ฅผ ์ž์„ธํžˆ ๋ฐฐ์šฐ์ง€๋„ ์•Š๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ณต๋ถ€ํ•˜๊ธฐ์—๋Š” ์–ด๋ ค์šฐ๋‹ˆ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋ฐ”๋กœ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Bootstrap์„ ์„ ํƒํ•œ ๊ฑฐ๋ผ ์ƒ๊ฐ๋ฉ๋‹ˆ๋‹ค.

๋ถ€ํŠธ์ŠคํŠธ๋žฉ์ด ํ˜„์žฌ ๋ฒ„์ „๊ณผ ๋‹ค๋ฅด๋ฏ€๋กœ ์ตœ์‹  ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€๋Š” ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๋ฉฐ ๊ณต๋ถ€๋ฅผ ํ•ด์•ผํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฃผ์˜ํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

Gitโ€‹

๋งค ์ฝ”๋“œ์—์„œ ๋ฌด์–ธ๊ฐ€ ์ง„ํ–‰ ํ–ˆ์„ ๋•Œ GitHub์— commitํ•˜๊ณ  pushํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ์–ธ์ œ ์–ธ์ œ ์˜ฌ๋ ค์•ผ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์—ˆ๊ธฐ์— ๊ฝค ๋„์›€์ด ๋๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

Docker, AWSโ€‹

์ €๋Š” ์ด๋ฒˆ์— ๋„์ปค๋ฅผ ์ฒ˜์Œ ์จ๋ณด๋Š” ๊ฒƒ์ด๋ผ ์กฐ๊ธˆ ์–ด๋ ค์šด ๊ฐ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ฑ…์—์„œ Docker๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐฐํฌ๋ฅผ ๋ง›๋ณด๊ธฐ๋กœ ์ฆ๊ธฐ๊ธฐ ์ข‹์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, AWS ๊ฐ™์€ ๊ฒฝ์šฐ์—๋„ ์‚ฌ์šฉํ•˜๊ธฐ ํŽธํ•œ Lightsail์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Lightsail์€ ์ฒ˜์Œ ์‚ฌ์šฉํ•ด๋ดค๋Š”๋ฐ AWS ๋ฌด๊ฒฝํ—˜์ž๋„ ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•œ ๋‹ฌ์€ ๋ฌด๋ฃŒ๋‹ˆ ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.(์ €๋ฒˆ AWS ์ฑ…๋„ ์ด๋Ÿฌ๋‹ค๊ฐ€ ๊ฒฐ์ œ ๋๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ๋  ์ง€๋Š” ์ €๋„ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค๋งŒ ๋ญ ์–ผ๋งˆ ์•ˆ ๋‚˜์˜ฌํ…Œ๋‹ˆ๊นŒ ํ•ด๋ณด์‹œ๋ฉด ์žฌ๋ฐŒ์„ ๊ฒ๋‹ˆ๋‹ค.)

TDDโ€‹

ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” TDD์ž…๋‹ˆ๋‹ค. ๋งค๋ฒˆ Javaํ•˜์‹œ๋Š” ๋ถ„๋“ค์ด ํ•˜์‹œ๋Š” ์–˜๊ธฐ๋งŒ ๋“ค์—ˆ์ง€ ์‹ค์ œ๋กœ ๊ฒฝํ—˜์€ ์ฒ˜์Œ์ด์—ˆ์Šต๋‹ˆ๋‹ค. Django์—๋„ TDD๊ฐ€ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ํ•ด์คฌ์œผ๋ฉฐ ์ด ์ฑ…์—์„œ ๋งŽ์€ ๋ถ€๋ถ„์„ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋งค๋ฒˆ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๊ธฐ ์ „์— ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์งœ์„œ ๋ฏธ๋ฆฌ ๊ฒฝํ—˜ํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ์ด ๋ถ€๋ถ„์ด ๊ฐ€์žฅ ์žฌ๋ฐŒ์—ˆ์Šต๋‹ˆ๋‹ค.

Djangoโ€‹

๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด์ฃ . ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  MTV ํŒจํ„ด, FBV, CBV, ๋‹ค๋Œ€์ผ ๊ด€๊ณ„, ๋‹ค๋Œ€๋‹ค ๊ด€๊ณ„ ๋“ฑ์„ ๊ตฌํ˜„ํ•˜๊ณ  ์‚ฌ์šฉํ•ด๋ด…๋‹ˆ๋‹ค. ์ •๋ง ๊ผผ๊ผผํ•˜๊ฒŒ ์ฝ”๋“œ๋“ค์ด ๊ธฐ์ˆ ๋˜์–ด ์žˆ๊ณ  ์ฝ”๋“œ ํ•˜๋‚˜ํ•˜๋‚˜ ์„ค๋ช…์ด ์ž˜ ๋˜์–ด ์žˆ๋Š” ๋ชจ์Šต์ด ์ธ์ƒ ๊นŠ์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, Django ๊ฐœ๋ฐœ์„ ํ•˜๋ฉฐ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ด๋Š” ๋‹ค๋ฅธ ํŒจํ‚ค์ง€๋“ค์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์•„์‰ฌ์› ๋˜ ์ ์€ Django REST framework์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐœ๋…โ€‹

์„ธ๋ถ€์ ์ด์ง€๋Š” ์•Š์ง€๋งŒ Django์— ๋Œ€ํ•ด ๊ธฐ๋ณธ ์ด์ƒ์€ ์•Œ๋ ค์ฃผ๋Š” ์ฑ…์ด๋ผ๊ณ  ๋ณด์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. "๋งŒ๋“ค๋ฉด์„œ ๋ฐฐ์šฐ๋Š” ์›น ๊ฐœ๋ฐœ"์ด๋ผ๊ณ  ๋ถ€์ œ์—์„œ๋„ ๋‚˜์™€์žˆ๋“ฏ์ด ๋งŒ๋“ค๋ฉด์„œ ๊ฐœ๋…๋“ค ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์„ธ๋ถ€์ ์ธ ๊ฐœ๋… ์„ค๋ช…์— ๋Œ€ํ•ด์„œ๋Š” ์กฐ๊ธˆ ๋ถ€์กฑํ•˜๋‹ค๊ณ  ๋Š๋‚„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๊ฐ€๋” "์•Œ์•„๋‘๋ฉด ์ข‹์•„์š”"๋ผ๋Š” ๋ถ€๋ถ„์œผ๋กœ ์ค‘์š” ๋ถ€๋ถ„ ์ด์™ธ์˜ ๊ฐœ๋…๋“ค๋„ ์„ค๋ช…ํ•ด์ค๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ถ€๋ถ„๋„ ์ฝ์–ด๋ณด๋ฉด ์žฌ๋ฐŒ์—ˆ์Šต๋‹ˆ๋‹ค.

์‚ฝ์งˆโ€‹

์ด ์ฑ…์„ ์ฝ์œผ๋ฉด์„œ ํ–ˆ๋˜ ๊ฑฑ์ • ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฒƒ์€ ๋ฒ„์ „์ด ๋‹ฌ๋ผ์„œ ์‚ฝ์งˆํ•˜์ง€ ์•Š์„๊นŒ?์˜€์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ Django๋ฅผ ์ฒ˜์Œ ๊ณต๋ถ€ํ•  ๋•Œ๋„ ์ด ์ƒ๊ฐ์„ ์—„์ฒญ ํ–ˆ์—ˆ๊ฑฐ๋“ ์š”. ์–ด์จŒ๋“  ๊ฒฐ๋ก ์€ ์ €๋Š” ์ด ์ฑ…์„ ์ฝ์œผ๋ฉด์„œ ๋ฐฐํฌ ๋ถ€๋ถ„์—์„œ ์‚ฝ์งˆ์„ ๊ฝค ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€์˜ ๋ฒ„์ „๋„ ๋” ์—…๋ฐ์ดํŠธ ๋๊ธฐ๋„ ํ•˜๊ณ , ๋„์ปค๋ฅผ ์ฒ˜์Œ ์‚ฌ์šฉํ•ด๋ณด๋Š” ์ž…์žฅ์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด์ฃ . Do It Django ์ €์ž๋ถ„์˜ ๋ธ”๋กœ๊ทธ(?)์—์„œ ๋‹คํ–‰ํžˆ Q&A๋ฅผ ์ž˜ ๋ฐ›์•„์ฃผ์…”์„œ ์ž˜ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ์ด ์ฑ… ์ฝ์œผ๋ฉด์„œ ๋‹ค๋ฅธ ๋ฌธ์„œ๋“ค์„ ๊ฐ€์žฅ ๋งŽ์ด ๋ดค๋˜ ๋•Œ์˜€๋˜ ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ •๋ง ๊ทธ ํŒจํ‚ค์ง€ Repository ๋“ค์–ด๊ฐ€์„œ issue๋„ ์ฝ์–ด๋ณด๊ณ , ํŒจํ‚ค์ง€ ๊ณต์‹ ๋ฌธ์„œ, stackoverflow ๋“ฑ๋“ฑ ๊ฐ€๋ฆฌ์ง€ ์•Š์•˜๋˜ ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ๋Ÿฐ์ง€ ์ด๋ฒˆ ์ฑ…์€ ์ฝ๋Š”๋ฐ ๋” ์˜ค๋ž˜ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.

๋ถ€ํŠธ์ŠคํŠธ๋žฉ๋„ ์ด ์ฑ…์€ ๋ฒ„์ „์„ 4.5์ธ๊ฐ€๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ๋‚œ ์ตœ์‹  ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ์‹ถ์–ด!๋ผ๋Š” ์ƒ๊ฐ์— 5.0.1 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด๋ดค๋‹ค๊ฐ€ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋งŽ์ด ์ฐธ๊ณ ํ•˜๊ฒŒ ๋์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ๊ฑฑ์ •ํ–ˆ๋˜ Django๋Š” ๋ฒ„์ „์ด ๋‹ฌ๋ผ์กŒ๋‹ค๊ณ  ํ•ด๋„ ์‚ฌ์šฉํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง„ ๊ฒƒ์€ ์—†์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

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

์ € ๊ฐ™์ด ์ตœ์‹  ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ด๋ณด์‹œ๊ณ  ์‹ถ์€ ๋ถ„๋“ค์ด ์žˆ์œผ์‹ค ์ˆ˜๋„ ์žˆ์„ํ…Œ๋‹ˆ ์ƒํ™œ์ฝ”๋”ฉ HTML, CSS, JavaScript๋ฅผ ๋‹ค ๋ณด๊ณ  ์˜ค์…จ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค. ์žฅ๊ณ ๋ฅผ ๊ณต๋ถ€ํ•˜๊ธฐ ์œ„ํ•œ ํŒŒ์ด์ฌ์€ ์›น ํฌ๋กค๋ง๊นŒ์ง€ ์•Œ๊ณ  ์˜ค์‹œ๋ฉด ๋”์šฑ ์ข‹๊ฒ ์ง€๋งŒ, ํ•„์ˆ˜๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ํ•„์ˆ˜๋Š” ํ•จ์ˆ˜, ํด๋ž˜์Šค, ์ƒ์† ๋“ฑ์˜ ํŒŒ์ด์ฌ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๋“ค์€ ๋ฌด์กฐ๊ฑด ์•Œ๊ณ  ์žˆ์œผ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ด์ฌ์œผ๋กœ ์›น ๊ฐœ๋ฐœ์„ ๊ฒฝํ—˜ํ•ด๋ณด๊ณ  ์‹ถ์€ ๋ถ„์€ ์ด ์ฑ…์„ ์ฒ˜์Œ ๊ณต๋ถ€ํ•˜๋Š” ์ฑ…์œผ๋กœ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค. ๋น ๋ฅด๊ฒŒ ์›น ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ๋ฐœ, ๋ฐฐํฌ, ์šด์˜ํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.