์ฑ„๋„ํ†ก ์•„์ด์ฝ˜
BEST

Django REST Framework ํ•ต์‹ฌ์‚ฌํ•ญ

"DRF, ์ด๊ฒƒ๋งŒ์€ ์•Œ๊ณ  ์‚ฌ์šฉํ•˜์ž." ํด๋ž˜์Šคํ˜•๋ทฐ์˜ 1ํ˜ธ ๊ฐ•์‚ฌ๋กœ์„œ, DRF์˜ ํด๋ž˜์Šค๋ฅผ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•˜๊ณ , ์ƒ์†๊ณผ ์˜ค๋ฒ„๋ผ์ด๋”ฉ์„ ์ •ํ™•ํ•˜๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. ํ•ต์‹ฌ ๊ธฐ๋ณธ ์‚ฌํ•ญ์„ ์ œ๋Œ€๋กœ ํ•™์Šตํ•ด๋ด์š”!

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[์›น ๊ฐœ๋ฐœ, ๋ฐฑ์—”๋“œ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • DRF generic view / router / viewset ํ™œ์šฉ ๋ฐ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋ฐฉ๋ฒ•

  • DRF serializer ํ™œ์šฉ ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

  • Django์™€ DRF ์ฐจ์ด์ 

  • DRF serializer์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•

DRF ์ž…๋ฌธ์ž๋ผ๋ฉด ๊ผญ ์•Œ์•„์•ผ ํ• 
ํ•ต์‹ฌ ๊ธฐ๋ณธ์‚ฌํ•ญ ๋ฐ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด์š” ๐Ÿฅฐ

DRF๋Š” ์žฅ๊ณ  ๊ฐœ๋ฐœ์ž๋ผ๋ฉด
๋ฐ˜๋“œ์‹œ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

Django REST framework (DRF)๋Š” Client์™€ REST API ๋ฐฉ์‹์œผ๋กœ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ๋ชจ๋ฐ”์ผ ์•ฑ์ด๋‚˜ ์ตœ๊ทผ ํ™”๋‘์ธ SPA client (React/Vue/Angular)์™€ ์—ฐ๋™ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋˜, ์žฅ๊ณ  ๊ฐœ๋ฐœ์ž๋กœ ์ž…๋ฌธํ•œ ์ดํ›„ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ์จ ๋ฐ˜๋“œ์‹œ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.
DRF ์ž…๋ฌธ์ž์—๊ฒŒ ๊ผญ ํ•„์š”ํ•œ ํ•ต์‹ฌ์ ์ธ ์‚ฌํ•ญ, ๊ทธ๋ฆฌ๊ณ  ๋‹ค์–‘ํ•œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋ฐฉ๋ฒ•์„ ๊ฐ€๋ฅด์ณ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

Django REST framework
Django ์•ˆ์—์„œ Restful API ์„œ๋ฒ„๋ฅผ ์‰ฝ๊ฒŒ
๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ


๊ฐ•์˜ ๊ธฐํš ๋ฐฐ๊ฒฝ

DRF๋Š” ์ฒ˜์Œ์—๋Š” ์‰ฌ์›Œ๋ณด์ด์ง€๋งŒ ์ž์ฃผ ๋ง‰ํžˆ๊ฒŒ ๋˜๋Š”๋ฐ์š”, ๊ทธ ์ด์œ ๋Š” ํด๋ž˜์Šค์˜ ์ƒ์†/์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋ฐ ์‹œ๋ฆฌ์–ผ๋ผ์ด์ €์˜ ํ™œ์šฉ๋ฒ•์— ์ต์ˆ™์น˜ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. Django์˜ CBV ๋ฐ DRF๋Š” ํด๋ž˜์Šค๋ผ๋Š” ๊ณตํ†ต ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” CBV์— ๋Œ€ํ•œ 1ํ˜ธ ๊ฐ•์‚ฌ๋กœ์„œ, DRF์˜ ํด๋ž˜์Šค๋“ค์„ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

(Serializer)

Serializer๋Š” DRF๋ฅผ ์–ด๋ ต๊ฒŒ ๋งŒ๋“œ๋Š” ์š”์†Œ์ด๊ธฐ ๋•Œ๋ฌธ์—, Serializer์˜ ์ •์ฒด๋ฅผ ๋ฐํžˆ๊ณ  ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•๋„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค. DRF ํ•ต์‹ฌ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์ •ํ™•ํ•œ ์ดํ•ด์™€ ๋‹ค์–‘ํ•˜๊ฒŒ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ˆ˜๊ฐ•์ƒ์˜ ๊ณ ๋ฏผ

๐Ÿ˜ต ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ์„ DRF์— ์–ด๋–ป๊ฒŒ ์ ์šฉํ• ์ง€ ๊ธˆ๋ฐฉ ๋– ์˜ค๋ฅด์ง€ ์•Š์•„์š”.
โžก  DRF ๊ฐ ํด๋ž˜์Šค๋“ค์˜ ์—ญํ• ๊ณผ ์™œ ์‚ฌ์šฉํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์ •ํ™•ํ•˜๊ฒŒ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๐Ÿค” ์ œ๊ฐ€ ์›ํ•˜๋Š”๋Œ€๋กœ ์ž์œ ์ž์žฌ๋กœ ์˜ค๋ฒ„๋ผ์ด๋”ฉ/์ปค์Šคํ…€์„ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
โžก ํด๋ž˜์Šคํ˜•๋ทฐ์˜ ๋‹ค์–‘ํ•œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•˜๊ณ , ์†Œ์Šค๋ฅผ ๋”ฐ๋ผ๊ฐ€๋Š” ๋ฒ•์„ ์„ค๋ช…๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๐Ÿ˜ข DRF๋Š” ์ฒ˜์Œ์—๋Š” ์‰ฌ์›Œ๋ณด์ด์ง€๋งŒ ์ž์ฃผ ๋ง‰ํ˜€์š”.
โžก DRF ํŠœํ† ๋ฆฌ์–ผ์˜ ์ƒ˜ํ”Œ ์ฝ”๋“œ๋“ค์€ ๊ทธ ์ด๋ฉด์˜ ๋™์ž‘์ด ์ž˜ ๋“œ๋Ÿฌ๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ ์ƒ˜ํ”Œ ์ฝ”๋“œ์˜ ์˜๋ฏธ์™€ ํ™œ์šฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…๋“œ๋ฆฝ๋‹ˆ๋‹ค.


๊ฐ•์˜์˜ ํŠน์ง• โœจ

  • ์‹ค์ œ blog ์•ฑ์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜์—ฌ ์‹ค์ „ ๊ฐ๊ฐ์„ ์ตํž ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํด๋ž˜์Šคํ˜•๋ทฐ์˜ 1ํ˜ธ ๊ฐ•์‚ฌ๋กœ์„œ DRF์˜ ์ƒ์†/์˜ค๋ฒ„๋ผ์ด๋”ฉ์„ ์ •ํ™•ํ•˜๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹จ์ˆœ ์‚ฌ์šฉ๋ฒ•๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์‹œ๋ฆฌ์–ผ๋ผ์ด์ €๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์™€ ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋™์˜์ƒ์˜ Idle time์ด ์—†๋„๋ก ํŽธ์ง‘ํ•˜์—ฌ, ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ณต๋ถ€ ์‹œ๊ฐ„์„ ์ ˆ์•ฝ์ฝ”์ž ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•™์Šตํ•  ๋‚ด์šฉ ๐Ÿ“š

1. ๊ณต์‹๋ฌธ์„œ Example ์˜ˆ์ œ ๋”ฐ๋ผํ•˜๊ธฐ

๊ณต์‹๋ฌธ์„œ์—์„œ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” Example ์ฝ”๋“œ๋ฅผ ๋”ฐ๋ผํ•˜๋ฉด์„œ, DRF์˜ ์ฐจ๋ณ„ํ™”๋œ ๊ธฐ๋Šฅ์„ ๋ฐฐ์›๋‹ˆ๋‹ค. ๊ฐ•๋ ฅํ•˜์ง€๋งŒ ์‘์šฉํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š์€ ๊ธฐ๋Šฅ์ด์ง€๋งŒ ์ด๋ฅผ ์ž์‹ ์˜ ๊ฒƒ์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ๊ฐ‘๋‹ˆ๋‹ค.

2. DRF๋ฅผ ํ™œ์šฉํ•˜์—ฌ API ๋งŒ๋“ค๊ธฐ

DRF์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ๊ณต๋ถ€ํ•˜๊ณ  ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ž์‹ ์—๊ฒŒ ํ•„์š”ํ•œ API endpoint๋ฅผ ์ฝ”๋”ฉํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ „ ๊ฐ๊ฐ์„ ์ตํžˆ๋„๋ก Blog ์‹ค์ œ ์•ฑ์„ ๋Œ€์ƒ์œผ๋กœ API๋ฅผ ๋งŒ๋“ค๊ณ  ์ด ๊ณผ์ •์—์„œ ํ•„์ˆ˜ ํ•ต์‹ฌ ํฌ์ธํŠธ๋ฅผ ๊ณต๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

3. ํด๋ผ์ด์–ธํŠธ ์š”๊ตฌ์‚ฌํ•ญ ๋งž์ถ”๊ธฐ

์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” Client์™€ ์—ฐ๋™ํฌ๋งท์„ ๋งž์ถ”๋Š” ์ž‘์—…์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๋™ํฌ๋งท์ด ๋ณ€๊ฒฝ์ด ๋  ๋•Œ๋งˆ๋‹ค ์ด์— ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ๊ฐ–์ถฐ์•ผ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.


์˜ˆ์ƒ ์งˆ๋ฌธ Q&A ๐Ÿ’ฌ

Q. Django๊ฐ€ ์ฒ˜์Œ์ธ๋ฐ ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

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

Q. DRF์˜ ๊ฐ•์˜ ๋ฒ”์œ„๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?

Serializer, generic view, viewset, router๋ฅผ ๋‹ค๋ฃจ๊ณ , auth/permission/throttle/versioning ๋“ฑ์€ ๋‹ค๋ฅธ ๊ฐ•์˜์—์„œ ๋‹ค๋ฃฐ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

Q. ๊ฐ•์‚ฌ๋‹˜์˜ ์ธํ”„๋Ÿฐ ๋‹ค๋ฅธ ๊ฐ•์˜์™€๋Š” ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ๊ฐ€์š”?

๋‹ค๋ฅธ ๊ฐ•์˜๋Š” API๋ฅผ ์žฅ๊ณ  ํด๋ž˜์Šคํ˜•๋ทฐ (CBV)๋กœ ์ฝ”๋”ฉํ•˜์˜€๊ณ , ๋ณธ ๊ฐ•์˜๋Š” API๋ฅผ DRF๋กœ ์ฝ”๋”ฉํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” DRF๊ฐ€ ์‰ฝ๋‹ค๋ฉด ๋ฐ”๋กœ DRF๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์–ด๋ ต๊ฒŒ ์ƒ๊ฐ๋œ๋‹ค๋ฉด CBV๋ฅผ ๋จผ์ € ์ตํžŒ ํ›„์— DRF๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๋Š” ํŽธ์ž…๋‹ˆ๋‹ค.

Q. ๊ฐ•์˜ ๋ฒ„์ „ ๋ฐ ํ™˜๊ฒฝ์€ ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?

2022๋…„ 1์›” ์ตœ์‹ ๋ฒ„์ „์ธ Python v3.10, Django v4.0, DRF v3.13.1๋กœ ๊ฐ•์˜๋ฅผ ํ•˜์ง€๋งŒ, ๋‹ค๋ฅธ ๋ฒ„์ „์œผ๋กœ๋„ ํ•™์Šต์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. PyCharm ๋ฌด๋ฃŒ๋ฒ„์ „์œผ๋กœ ๊ฐ•์˜ํ•˜์ง€๋งŒ, ๋‹ค๋ฅธ ์—๋””ํ„ฐ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • DRF์˜ ํ•ต์‹ฌ์‚ฌํ•ญ์„ ์ œ๋Œ€๋กœ ์•Œ๊ณ  ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„

  • DRF serializer๋ฅผ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„

  • DRF์˜ ์ƒ์† ๋ฐ ์˜ค๋ฒ„๋ผ์ด๋”ฉ์„ ์ž์œ ์ž์žฌ๋กœ ํ•˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • Django ๊ธฐ๋ณธ ๋ฐ ํด๋ž˜์Šคํ˜•๋ทฐ ์‚ฌ์šฉ๊ฒฝํ—˜

์•ˆ๋…•ํ•˜์„ธ์š”
๊น€์„ํ›ˆ์ž…๋‹ˆ๋‹ค.

2,075

๋ช…

์ˆ˜๊ฐ•์ƒ

153

๊ฐœ

์ˆ˜๊ฐ•ํ‰

224

๊ฐœ

๋‹ต๋ณ€

4.6

์ 

๊ฐ•์˜ ํ‰์ 

5

๊ฐœ

๊ฐ•์˜

ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์€ C ์–ธ์–ด๋กœ ์‹œ์ž‘ํ–ˆ์œผ๋ฉฐ, ์ž๋ฐ”๋ฅผ ๊ฑฐ์ณ ์ตœ๊ทผ์—๋Š” ์ฃผ๋กœ ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.
KT ucloud ์„œ๋น„์Šค์˜ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜์—ฌ, ์ž๋ฐ”๋กœ ๊ณ ๊ฐ์˜ ํด๋”/ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ฉ”ํƒ€ ์ •๋ณด ์ฒ˜๋ฆฌ ์—”์ง„์„, ํŒŒ์ด์ฌ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ ํ‘ธ์‹œ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜์˜€๋‹ค.

๋˜ํ•œ KT์ธํ„ฐ๋„ท ํšŒ์„ ์˜ ์†๋„ ์ธก์ • ํ”„๋กœ๊ทธ๋žจ, ๋„คํŠธ์›Œํฌ ์žฅ๋น„์— ๋Œ€ํ•œ ์šด์šฉ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ, ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ํŠธ๋ž˜ํ”ฝ ๋ฐ์ดํ„ฐ ๋ถ„์„ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•œ ๋ฐ” ์žˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ๋Š” ํŒŒ์ด์ฌ์˜ ๋งค๋ ฅ์— ํ‘น ๋น ์ ธ ๋˜๋„๋ก์ด๋ฉด ํŒŒ์ด์ฌ์œผ๋กœ ์ฝ”๋”ฉํ•˜๊ธฐ๋ฅผ ์ฆ๊ฒจํ•˜๊ณ  ์žˆ๋‹ค.

๊ทธ ์ผํ™˜์œผ๋กœ ์š”์ฆ˜์€ Django๋ฅผ ํ™œ์šฉํ•œ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ, Django Rest Framework๋ฅผ ํ™œ์šฉํ•œ JSON ์—ฐ๋™, Pandas๋ฅผ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ๋ถ„์„, Scikit-learn/Tensorflow/ChatGPT ๋ฅผ ํ™œ์šฉํ•œ AI ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ ๋“ฑ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ํŒŒ์ด์ฌ์˜ ํ™œ์šฉ๋„๋ฅผ ๋„“ํ˜€๊ฐ€๊ณ  ์žˆ๋‹ค.

< ์ €์„œ >

1. Django ๋กœ  ๋ฐฐ์šฐ๋Š” ํŒŒ์ด์ฌ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ (์ดˆํŒ, ํ•œ๋น›๋ฏธ๋””์–ด, 2015.4์›”)
2. Django ๋ฅผ ํ™œ์šฉํ•œ ํŒŒ์ด์ฌ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ์‹ค์ „ํŽธ (์ดˆํŒ, ํ•œ๋น›๋ฏธ๋””์–ด, 2016. 7์›”)
3. Django ๋กœ  ๋ฐฐ์šฐ๋Š” ํŒŒ์ด์ฌ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ (๊ฐœ์ •ํŒ, ํ•œ๋น›๋ฏธ๋””์–ด, 2018. 8์›”)
4. Django ๋ฅผ ํ™œ์šฉํ•œ ํŒŒ์ด์ฌ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ์‹ค์ „ํŽธ (๊ฐœ์ •ํŒ, ํ•œ๋น›๋ฏธ๋””์–ด, 2019. 11์›”)
5. Django ๋กœ  ๋ฐฐ์šฐ๋Š” ํŒŒ์ด์ฌ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ (3ํŒ, ํ•œ๋น›๋ฏธ๋””์–ด, 2022. 11์›”)

 

< ๋™์˜์ƒ ๊ฐ•์˜ >

1. Vue.js - Django ์—ฐ๋™ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ (์ธํ”„๋Ÿฐ ๋™์˜์ƒ, 2019.4์›”)
2. Vue.js - Django ์—ฐ๋™ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ์‹ค์ „ํŽธ (์ธํ”„๋Ÿฐ ๋™์˜์ƒ, 2020.9์›”)
3. Vue - Django - Bootstrap ๋š๋”ฑ ๋ธ”๋กœ๊ทธ (์ธํ”„๋Ÿฐ ๋™์˜์ƒ, 2021. 9์›”)
4. Django REST framework ํ•ต์‹ฌ์‚ฌํ•ญ (์ธํ”„๋Ÿฐ ๋™์˜์ƒ, 2022.2์›”)
5. AI Web Programming (์ธํ”„๋Ÿฐ ๋™์˜์ƒ, 2024.2์›”)

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

37๊ฐœ โˆ™ (3์‹œ๊ฐ„ 24๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

51๊ฐœ

4.5

51๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰

  • ๊น€๋™์—ฐ

    ์ˆ˜๊ฐ•ํ‰ 2

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    12์‹œ๊ฐ„๋™์•ˆ ์ •๋ฆฌํ•˜๋ฉด์„œ ์ •์ฃผํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. (13-14์‹œ ๊ฒฐ์ œ, ๋‹ค์Œ๋‚  ์ƒˆ๋ฒฝ 2์‹œ ์™„๊ฐ•) ์ € ๋˜ํ•œ ์ด์ „์— CBV๋กœ ํ”„์ ์„ ๋งŒ๋“ค์–ด๋ณธ ๊ฒฝํ—˜์ด ์žˆ์ง€๋งŒ, ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋ฉด์„œ ํฉ์–ด์ง€๊ณ  ์•Œ์ง€๋ชปํ–ˆ๋˜ ์ง€์‹๊ณผ DRF์˜ ๊ฐœ๋…์„ ๋‹จ๋‹จํžˆ ๋‹ค์งˆ ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฐ’์ง„ ๊ฐ•์˜์ด์—ˆ์Šต๋‹ˆ๋‹ค! - ์ด ๊ฐ•์˜๋ฅผ ๋“ค์œผ์‹ค ์ƒ๊ฐ์ด ์žˆ์œผ์‹  ๋งŽ์€ ๋ถ„๋“ค๊ป˜ ํŒ - 1. "Django ๊ธฐ๋ณธ๊ณผ ํด๋ž˜์Šคํ˜•๋ทฐ๋ฅผ ์‚ฌ์šฉํ•ด๋ณธ ๋…์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค." ์ด ๋ง ๊ฑฐ์ง“๋ง ์•„๋‹™๋‹ˆ๋‹ค. ์•„์˜ˆ ์žฅ๊ณ ๋ฅผ ์ฒ˜์Œ ํ•˜์‹œ๋Š” ๋ถ„๋“ค์€ (์†๋„๊ฐ€) ๋”ฐ๋ผ์˜ค๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๊ฐœ๋…์€ ์•„์ฃผ ์ž˜ ์„ค๋ช…ํ•ด์ฃผ์‹ญ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์งง์€ ์ฑ•ํ„ฐ์—์„œ๋„ ๋งŽ์€ ๊ฐœ๋…์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์•ก๊ธฐ์Šค๋งŒ ์žˆ๋Š” ๊ฐ•์˜์ž…๋‹ˆ๋‹น) 2. ์ฒซ ๊ฐ•์˜ ์‹œ์ž‘๋ถ€ํ„ฐ ์ด๋ฏธ ์‚ฌ์šฉํ•˜์‹œ๋˜ ์†Œ์Šค๋ฅผ ์“ฐ์‹œ๋Š”๋ฐ, ๊ฐ•์˜ ๋“ค์œผ์‹œ๋Š” ๋ถ„๋“ค์€ ์ œ๊ณตํ•ด์ฃผ์‹œ๋Š” ๊ฐ•์˜์—์„œ ์†Œ์Šค๋ฅผ ๋ฐ›์œผ์‹œ๊ฑฐ๋‚˜ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”. 3. ๊ณต์‹๋ฌธ์„œ๋ฅผ ํ™œ์šฉํ•˜๋Š”๋ฒ•, ์˜ค๋ฒ„๋ผ์ด๋”ฉ์„ ํ™œ์šฉํ•œ ์ปค์Šคํ…€ ์ถœ๋ ฅ ๋“ฑ ๋งŽ์€ ๊ธฐ๋ณธ ๊ฐœ๋…์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ๋…ธ๊ด‘๋ฏผ

      ์ˆ˜๊ฐ•ํ‰ 1

      โˆ™

      ํ‰๊ท  ํ‰์  5.0

      5

      100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

      ๋ฆฌํŒฉํ† ๋ง ํ•˜๋Š” ๋ถ€๋ถ„์ด ์ข‹์•˜์Šต๋‹ˆ๋‹ค. FBV๋งŒ ํ•ด์™”์—ˆ๋Š”๋ฐ CBV๋กœ ํ•˜๊ณ ๋‚˜๋‹ˆ ์ด๋ฏธ ๊ตฌํ˜„๋˜์–ด์žˆ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์ถœ๋ ฅ๋ถ€๋ถ„์€ ์˜ค๋ฒ„๋ผ์ด๋”ฉ์„ ํ•ด์„œ ์ปค์Šคํ…€ํ•˜๋Š”๊ฑธ ํ•ด๋ณด๊ณ ๋‚˜๋‹ˆ ์ด๋ž˜์„œ ์žฅ๊ณ ๊ฐ€ ์ƒ์‚ฐ์„ฑ์ด ๋†’๋‹ค๊ณ  ํ•˜๋Š”๊ตฌ๋‚˜ ๋ผ๊ณ  ์•Œ๊ฒŒ๋˜์–ด์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค.

      • ๊ตฌ๋ฆ„๊ณฐ

        ์ˆ˜๊ฐ•ํ‰ 2

        โˆ™

        ํ‰๊ท  ํ‰์  5.0

        5

        100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

        ์ˆ˜๊ฐ•ํ‰์ด ์ ์–ด์„œ ๊ตฌ๋งค๋ฅผ ๋ง์„ค์˜€๋Š”๋ฐ ํ•œ๋‹ฌ๊ฐ„ ์ธํ„ฐ๋„ท์„ ๋’ค์ง€๋ฉฐ ์ฐพ์•„๊ฐ€๋ฉฐ ์„ธ์› ๋˜ ๊ฐœ๋…์ด ์ฒ˜์Œ 10๋ถ„ ๋ถ€ํ„ฐ ๋‚˜์™€์„œ ๋„ˆ๋ฌด ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ์ง„์ž‘ ๋“ค์—ˆ๋‹ค๋ฉด ๋งŽ์€ ์‹œ๊ฐ„์„ ์•„๋‚„ ์ˆ˜ ์žˆ์—ˆ์„ํ…๋ฐ ใ… ใ… ใ…  ํ›„ํšŒ๋ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐ์˜ ์–ด๋А๋ถ„์ด ์ด์•ผ๊ธฐ ํ•ด์ฃผ์‹  ๋Œ€๋กœ ๊ฐœ๋…์ด ์–ด๋А ์ •๋„ ์žˆ๋Š” ์ƒํƒœ์—์„œ ๋“ค์–ด์•ผ ๋” ๊ท€์— ์™์™ ๋“ค์–ด์˜ต๋‹ˆ๋‹ค. ์ฐจ๊ทผ์ฐจ๊ทผ ํ•ต์‹ฌ์„ ์„ค๋ช…์„ ๋“ค์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

        • ๊น€์Šน๊ตฌ

          ์ˆ˜๊ฐ•ํ‰ 1

          โˆ™

          ํ‰๊ท  ํ‰์  4.0

          4

          31% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

          ์ƒ๊ฐํ–ˆ๋˜ ๋‚ด์šฉ๊ณผ ์กฐ๊ธˆ ๋‹ค๋ฅด๊ธด ํ•˜๋„ค์š”.

          • ๊น€๋™ํ˜

            ์ˆ˜๊ฐ•ํ‰ 20

            โˆ™

            ํ‰๊ท  ํ‰์  4.8

            5

            100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

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

            ๊น€์„ํ›ˆ๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜

            ์ง€์‹๊ณต์œ ์ž๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

            ๋น„์Šทํ•œ ๊ฐ•์˜

            ๊ฐ™์€ ๋ถ„์•ผ์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

            ์—ฐ๊ด€ ๋กœ๋“œ๋งต

            ๊ฐ•์˜๊ฐ€ ํฌํ•จ๋œ ๋กœ๋“œ๋งต์œผ๋กœ ํ•™์Šตํ•ด ๋ณด์„ธ์š”!

            โ‚ฉ33,000