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

์ž‘์ •ํ•˜๊ณ  ์žฅ๊ณ ! Django๋กœ Pinterest ๋”ฐ๋ผ๋งŒ๋“ค๊ธฐ : ๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€

Python์˜ ๋Œ€ํ‘œ ์›น ํ”„๋ ˆ์ž„์›Œํฌ django๋ฅผ ์ด์šฉํ•ด Pinterest ํŠน์œ ์˜ ์นด๋“œํ˜• ๋ ˆ์ด์•„์›ƒ ๋””์ž์ธ์„ ๋ณธ๋”ด ์›น์„œ๋น„์Šค ๊ตฌํ˜„ํ•ด๋ด…๋‹ˆ๋‹ค.

Thumbnail

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

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

  • django ๊ฐœ๋ฐœ ํŒจํ„ด

  • docker๋ฅผ ํ†ตํ•œ ์‹ค์ œ ์„œ๋ฒ„ ๋ฐฐํฌ

  • Pinterest ์นด๋“œํ˜• ๋ ˆ์ด์•„์›ƒ ๊ตฌํ˜„

  • MagicGrid, Bootstrap, Google Font ๋“ฑ ์™ธ๋ถ€์†Œ์Šค ํ™œ์šฉ

  • AWS ๊ธฐ๋ฐ˜ ์„œ๋ฒ„ ๋ฐฐํฌ

django, docker ์‹ค์ „ ๊ฐœ๋ฐœ์„ ํ†ตํ•ด ํ•œ ๋‹จ๊ณ„ ๋†’์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์–ด๋ณด์„ธ์š”!

๐Ÿ“ฃ ํ™•์ธํ•ด์ฃผ์„ธ์š”!
๋ณธ ๊ฐ•์ขŒ๋Š” ํŠœํ† ๋ฆฌ์–ผ์— ํ•ด๋‹นํ•˜๋Š” 20๊ฐ•๊นŒ์ง€ ๋ฌด๋ฃŒ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์•ž์„  ๊ฐ•์ขŒ๋ฅผ ์ˆ˜๊ฐ•ํ•˜์‹  ์ดํ›„ ๊ฒฐ์ œ๋ฅผ ํ•˜์…”๋„ ๋ฌด๋ฐฉํ•ฉ๋‹ˆ๋‹ค.

์ž‘์ •ํ•˜๊ณ  ์žฅ๊ณ ! Pinterest ๋งŒ๋“ค๊ธฐ : ๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€
django, docker์˜ ํ•ต์‹ฌ ๋ฐ ๊ธฐ๋Šฅ

์ž‘์ •ํ•˜๊ณ  ์žฅ๊ณ ! - Hyong Sok Park (๋ฐ•ํ˜•์„)

django์˜ ๊ธฐ๋ณธ๋ถ€ํ„ฐ ์‹ฌํ™”๊นŒ์ง€

 ์ด ๊ฐ•์ขŒ์—์„œ๋Š” Python ์˜ ๋Œ€ํ‘œ ์›น ํ”„๋ ˆ์ž„์›Œํฌ์ธ django๋ฅผ ํ†ตํ•ด ํ•€ํ„ฐ๋ ˆ์ŠคํŠธ ํŠน์œ ์˜ ์นด๋“œํ˜• ๋ ˆ์ด์•„์›ƒ์„ ๋ฒค์น˜๋งˆํ‚นํ•œ ์›น์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค์–ด๋ด…๋‹ˆ๋‹ค.

 django๋ฅผ ํ†ตํ•ด ์›น์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ํฌ๊ฒŒ ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋“  ๋ฉ‹์ง„ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค์ˆ˜ ์žˆ๋„๋ก ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ง€๋งŒ, django์˜ ํ•ต์‹ฌ ๊ฐœ๋ฐœํŒจํ„ด๊ณผ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์„ ๋ชจ๋ฅธ๋‹ค๋ฉด django์˜ ์ž ์žฌ๋ ฅ์„ ์˜จ์ „ํžˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. 

 ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๊ฐœ๋ฐœํ•ด ๋‚˜๊ฐ€๋ฉด์„œ, ์ด ๊ธฐ๋Šฅ์„ ์™œ ์‚ฌ์šฉํ•˜๋Š”์ง€, ์ดํ›„์—๋Š” ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€, ๊ฐœ๋ฐœ์„ ํ•จ๊ป˜ ํ•˜๋ฉด์„œ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊นจ๋‹ซ๊ณ  ์ดํ•ดํ•˜๋„๋ก ์œ ๋„ํ•ฉ๋‹ˆ๋‹ค.

 django์˜ ๊ธฐ๋ณธ ๊ฐœ๋ฐœ ํŒจํ„ด์ธ MTV๋ถ€ํ„ฐ Class Based View๋ฅผ ํ†ตํ•œ CRUD ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ, ๊ทธ๋ฆฌ๊ณ  Mixin, ModelForm, Field Lookup ๋“ฑ ์žฅ๊ณ ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ๊นŒ์ง€ ์‹ค์ œ ์›น์„œ๋น„์Šค๋ฅผ ํ•จ๊ป˜ ๋งŒ๋“ค์–ด๋ณด๋ฉด์„œ django๋ฅผ ๋ณธ์ธ์˜ ๊ฒƒ์œผ๋กœ ๋งŒ๋“œ์„ธ์š”!

Docker๋ฅผ ํ†ตํ•œ ์‹ค์ œ ์›น์„œ๋น„์Šค ๋ฐฐํฌ

 django๋Š” '์›น' ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์›น์€ ์‹ค์ œ ๋ฐฐํฌ๊ฐ€ ๋˜์–ด์•ผ๋งŒ ์ „์„ธ๊ณ„์™€ ์—ฐ๊ฒฐ๋˜์–ด ๊ทธ ์˜๋ฏธ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ฌด๋ฆฌ ๋ฉ‹์ง„ ํ™ˆํŽ˜์ด์ง€, ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ ๋“ค ์‹ค์ œ ๋„คํŠธ์›Œํฌ ์ƒ์— ๋ฐฐํฌ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ธฐ ํž˜๋“ค๊ฒ ์ฃ .

 django ๋งŒ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฐ•์ขŒ๋Š” ๋งŽ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด์ œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์žˆ์–ด์„œ ํ•„์ˆ˜๊ฐ€ ๋˜์–ด๋ฒ„๋ฆฐ Docker๊นŒ์ง€ ํฌ๊ด„ํ•˜๋Š” ๊ฐ•์ขŒ๋Š” ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ•์ขŒ์—์„œ๋Š” Docker๋ฅผ django์™€ ํ•จ๊ป˜ ์—ฐ๋™ํ•˜์—ฌ ์‹ค์ œ ์„œ๋น„์Šค ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 docker์˜ ๊ธฐ๋ณธ Container, Image ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๋ถ€ํ„ฐ Network, Volume, Stack, Secret ๋“ฑ๊ณผ ๊ฐ™์€ ์‹ฌํ™” ๊ธฐ๋Šฅ๊นŒ์ง€ ์‹ค์ œ ์„œ๋น„์Šค์— ์–ด๋–ป๊ฒŒ ์ ์šฉํ•˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์‹ค์ œ ์›น์„œ๋น„์Šค๋ฅผ ๋ฐฐํฌํ•˜๋ฉฐ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ ๋“ค๊ณผ ๊ทธ ๋ฌธ์ œ๋“ค์˜ ์ด์œ , ๊ทธ๋ฆฌ๊ณ  ํ•ด๊ฒฐ๋ฐฉ๋ฒ•๊นŒ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ ์šฉํ•œ ์™ธ๋ถ€ ์†Œ์Šค๋“ค์„ ํ†ตํ•œ ์›น ๋””์ž์ธ

 ์›น์— ์žˆ์–ด์„œ ๋””์ž์ธ์€ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์›น ๊ฐœ๋ฐœ์ž๊ฐ€ ๋””์ž์ด๋„ˆ๊ฐ€ ๋  ํ•„์š”๋Š” ์—†์ง€๋งŒ, ํ˜„๋Œ€ ์›น ๊ฐœ๋ฐœ์— ์žˆ์–ด์„œ ๋””์ž์ธ์€ ์ ˆ๋Œ€ ๋ฌด์‹œํ•  ์ˆ˜ ์—†๋Š” ์ค‘์š”ํ•œ ์š”์†Œ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

 ์ด ๊ฐ•์ขŒ์—์„œ๋Š” Magic Grid, Google Font, Bootstrap ๋“ฑ ์œ ์šฉํ•œ ์™ธ๋ถ€ ์†Œ์Šค๋ฅผ ์†Œ๊ฐœํ•˜๊ณ , ์ ์šฉํ•ด๋ด…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์–ด๋–ค์‹์œผ๋กœ ์‚ฌ์ดํŠธ์˜ ๋ ˆ์ด์•„์›ƒ ๋ฐ ๋””์ž์ธ์„ ๊ฐœ์„ ์‹œํ‚ค๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”!

์ด ๊ฐ•์ขŒ๋ฅผ ๋“ฃ๋Š”๋‹ค๋ฉด

  • ์ด 68๊ฐ•, ppt 500 ์žฅ ๋ถ„๋Ÿ‰, ์ด ๊ฐ•์˜์‹œ๊ฐ„ 12์‹œ๊ฐ„ ๋ฐ˜์˜ ์•Œ์ฐฌ ์ˆ˜์—…
  • django, docker์˜ ํ•ต์‹ฌ๋งŒ ๋ˆŒ๋Ÿฌ๋‹ด์€ ๊ฝ‰์ฐฌ ์ˆ˜์—…

 ํ˜„๋Œ€ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์š”๊ตฌ๋˜๋Š” ์ž์งˆ์€, '๋ฌด์—‡์„ ์•„๋Š”์ง€' ๋ณด๋‹ค '๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€' ์ž…๋‹ˆ๋‹ค.

 ๋ณธ ๊ฐ•์ขŒ๋Š” ๋ฌด์—‡์„? ์–ด๋–ป๊ฒŒ? ์™œ? ํ•˜๋Š”์ง€์— ์ง‘์ค‘ํ•˜์—ฌ ์‹ค์„œ๋น„์Šค ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰, ์ˆ˜๊ฐ•์ƒ๋“ค์—๊ฒŒ '์ด๋Ÿฐ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค' ๋ผ๋Š” ๋ถ„๋ช…ํ•œ ์ž์‹ ๊ฐ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๊ถ๊ทน์ ์ธ ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค.

๊ฐ•์˜ ๋Œ€์ƒ

  • python์€ ๋ฐฐ์› ๋Š”๋ฐ, ์›น๋„ ๊ฐœ๋ฐœํ•ด๋ณด๊ณ  ์‹ถ์€ ๋ถ„
  • django ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ฒ˜์Œ ์ ‘ํ•ด๋ณด์‹œ๋Š” ๋ถ„
  • django ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์กฐ๊ธˆ ๋” ๊นŠ์ด ์ดํ•ดํ•ด๋ณด๊ณ  ์‹ถ์€ ๋ถ„
  • django์™€ docker๋Š” ์•Œ๊ฒ ๋Š”๋ฐ, ํ•จ๊ป˜ ์—ฐ๋™ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ค์› ๋˜ ๋ถ„
  • pinterest ์™€ ๊ฐ™์€ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ณ  ์‹ถ์€ ๋ถ„

21๋…„ 2์›” ๋ณด๊ฐ• ๊ฐ•์ขŒ ์—…๋ฐ์ดํŠธ!

  • AWS EC2 ๊ธฐ๋ฐ˜ ์„œ๋ฒ„ ๋ฐฐํฌ
  • AWS ๋„๋ฉ”์ธ ์„ค์ •
  • AWS HTTPS ์„ค์ •
  • Github Private ์ €์žฅ์†Œ ๊ธฐ๋ฐ˜ ๋ฐฐํฌ๋ฒ•
  • ์ข‹์•„์š” ์‹œ์Šคํ…œ ๊ตฌํ˜„

 ๋ณธ๊ฐ•์—์„œ ๋‹ค๋ฃจ์ง€ ๋ชปํ•œ AWS ๊ธฐ๋ฐ˜์˜ ์„œ๋ฒ„ ๋ฐฐํฌ, ๊ทธ๋ฆฌ๊ณ  ๊ฒŒ์‹œ๊ธ€์˜ ์ข‹์•„์š” ์‹œ์Šคํ…œ, ์œ„์˜ ๋‚ด์šฉ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Django ์—์„œ ์ œ๊ณตํ•˜๋Š” Message, Transaction ๋“ฑ ๋˜ํ•œ ๋‹ค๋ฃจ๋ฉด์„œ ๊ฐ•์ขŒ์˜ ๋ณผ๋ฅจ์ด ๋”์šฑ ๋Š˜์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค!

๐Ÿ“ฃ ํ™•์ธํ•ด์ฃผ์„ธ์š”!
- ๋ณธ ๊ฐ•์ขŒ๋Š” ์•ž๋’ค ๊ฐ•์ขŒ๋“ค์ด ์„œ๋กœ ์—ฐ๊ณ„๋˜์–ด ์žˆ๊ธฐ์—, ์ˆœ์„œ๋Œ€๋กœ ๊ฐ•์ขŒ๋ฅผ ๋“ค์œผ์‹ค ๊ฒƒ์„ ๊ถŒ์žฅ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
- ๊ฐ•์ขŒ ๋‚ด์—์„œ ์ข…์ข… ์ธ์šฉ๋˜๋Š” ์‚ฌ์ดํŠธ์˜ ์ฃผ์†Œ๋Š” https://onion.haus/account/detail/1 ์ž…๋‹ˆ๋‹ค.

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

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

  • ํŒŒ์ด์ฌ์„ ์กฐ๊ธˆ์ด๋ผ๋„ ๋ฐฐ์šด ์‚ฌ๋žŒ์ด๋ผ๋ฉด ๋ชจ๋‘

  • django์˜ ๊ฐœ๋ฐœํŒจํ„ด์„ ๋” ๊นŠ๊ฒŒ ์•Œ์•„๋ณด๊ณ  ์‹ถ์€ ๋ถ„

  • docker๋ฅผ ํ†ตํ•œ ์ž์„ธํ•œ ์„œ๋ฒ„ ๋ฐฐํฌ๋ฅผ ํ•ด๋ณด๊ณ  ์‹ถ์€ ๋ถ„

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

  • python

์•ˆ๋…•ํ•˜์„ธ์š”
Hyong Sok Park์ž…๋‹ˆ๋‹ค.

1,215

๋ช…

์ˆ˜๊ฐ•์ƒ

78

๊ฐœ

์ˆ˜๊ฐ•ํ‰

216

๊ฐœ

๋‹ต๋ณ€

4.8

์ 

๊ฐ•์˜ ํ‰์ 

1

๊ฐœ

๊ฐ•์˜

Django, python ์ „๋ฌธ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ธ ๋ฐ•ํ˜•์„์ž…๋‹ˆ๋‹ค.

'์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ' ๋กœ ์œ ํŠœ๋ธŒ ํ™œ๋™์„ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ํŒŒ์ด์ฌ ์œ„์ฃผ์˜ ๊ฐ•์ขŒ ์˜์ƒ์„ ์—…๋กœ๋“œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž์ด๋ฉด์„œ, ์‚ฌ์—…๊ฐ€์ด๋ฉด์„œ, ํ•™์ƒ์ž…๋‹ˆ๋‹ค.

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

์ „์ฒด

85๊ฐœ โˆ™ (14์‹œ๊ฐ„ 47๋ถ„)

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

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

78๊ฐœ

4.8

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

์›” โ‚ฉ15,400

5๊ฐœ์›” ํ• ๋ถ€ ์‹œ

โ‚ฉ77,000