Englishํ”„๋ž‘์Šค์–ด์ŠคํŽ˜์ธ์–ด

์˜จ์›์Šค ํŒŒ๋น„์ฝ˜

Windows์šฉ Cookiecutter Django ๋‹ค์šด๋กœ๋“œ

๋ฌด๋ฃŒ๋กœ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” Cookiecutter Django Windows ์•ฑ์€ Ubuntu ์˜จ๋ผ์ธ, Fedora ์˜จ๋ผ์ธ ๋˜๋Š” Debian ์˜จ๋ผ์ธ์—์„œ Win Wine์„ ์˜จ๋ผ์ธ์œผ๋กœ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ตœ์‹  ๋ฆด๋ฆฌ์Šค๋ฅผ 2023.08.19.zip์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” Cookiecutter Django๋ผ๋Š” Windows ์•ฑ์ž…๋‹ˆ๋‹ค. ์›Œํฌ์Šคํ…Œ์ด์…˜์šฉ ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ์ œ๊ณต์—…์ฒด์ธ OnWorks์—์„œ ์˜จ๋ผ์ธ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OnWorks์™€ ํ•จ๊ป˜ Cookiecutter Django๋ผ๋Š” ์ด ์•ฑ์„ ๋ฌด๋ฃŒ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์˜จ๋ผ์ธ์—์„œ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

์ด ์•ฑ์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ง€์นจ์„ ๋”ฐ๋ฅด์„ธ์š”.

- 1. ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ PC์— ๋‹ค์šด๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.

- 2. ํŒŒ์ผ ๊ด€๋ฆฌ์ž https://www.onworks.net/myfiles.php?username=XXXXX์— ์›ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

- 3. ์ด๋Ÿฌํ•œ ํŒŒ์ผ ๊ด€๋ฆฌ์ž์—์„œ ์ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

- 4. ์ด ์›น์‚ฌ์ดํŠธ์—์„œ ๋ชจ๋“  OS OnWorks ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‹œ์ž‘ํ•˜์ง€๋งŒ ๋” ๋‚˜์€ Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

- 5. ๋ฐฉ๊ธˆ ์‹œ์ž‘ํ•œ OnWorks Windows OS์—์„œ ์›ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„์œผ๋กœ ํŒŒ์ผ ๊ด€๋ฆฌ์ž https://www.onworks.net/myfiles.php?username=XXXXX๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

- 6. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

- 7. Linux ๋ฐฐํฌ ์†Œํ”„ํŠธ์›จ์–ด ์ €์žฅ์†Œ์—์„œ Wine์„ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์•ฑ์„ ๋‘ ๋ฒˆ ํด๋ฆญํ•˜์—ฌ Wine๊ณผ ํ•จ๊ป˜ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ๊ธฐ ์žˆ๋Š” Windows ํ”„๋กœ๊ทธ๋žจ ๋ฐ ๊ฒŒ์ž„์„ ์„ค์น˜ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” Wine์„ ํ†ตํ•œ ๋ฉ‹์ง„ ์ธํ„ฐํŽ˜์ด์Šค์ธ PlayOnLinux๋ฅผ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์Šคํฌ๋ฆฐ ์ƒท

Ad


์ฟ ํ‚ค์ปคํ„ฐ ์žฅ๊ณ 


๊ธฐ์ˆ 

Cookiecutter๋กœ ๊ตฌ๋™๋˜๋Š” Cookiecutter Django๋Š” ํ”„๋กœ๋•์…˜ ์ค€๋น„๊ฐ€ ๋œ Django ํ”„๋กœ์ ํŠธ๋ฅผ ๋น ๋ฅด๊ฒŒ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. Cookiecutter Django๋Š” Python 3.9์—์„œ ์ž‘๋™ํ•˜๋ฉฐ Django ํ”„๋กœ์ ํŠธ๋ฅผ 100% ์‹œ์ž‘ ํ…Œ์ŠคํŠธ ๋ฒ”์œ„๋กœ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค. django-environment๋ฅผ ํ†ตํ•œ 12-Factor ๊ธฐ๋ฐ˜ ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” SSL์„ ๋ฏฟ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋ณธ์ ์œผ๋กœ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ ํ™”๋œ ๊ฐœ๋ฐœ ๋ฐ ์ƒ์‚ฐ ์„ค์ •. ๋“ฑ๋ก์€ django-allauth๋ฅผ ํ†ตํ•ด ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ์‚ฌ์šฉ์ž ๋ชจ๋ธ์ด ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. Websockets์— ๋Œ€ํ•œ ์„ ํƒ์  ๊ธฐ๋ณธ ASGI ์„ค์ •๊ณผ Gulp ๋ฐ livereload๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„ ํƒ์  ์‚ฌ์šฉ์ž ์ •์˜ ์ •์  ๋นŒ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Anymail์„ ํ†ตํ•ด ์ด๋ฉ”์ผ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค(๊ธฐ๋ณธ์ ์œผ๋กœ Mailgun ์‚ฌ์šฉ ๋˜๋Š” AWS๊ฐ€ ํด๋ผ์šฐ๋“œ ๊ณต๊ธ‰์ž๋กœ ์„ ํƒ๋˜์—ˆ์ง€๋งŒ ์ „ํ™˜ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ Amazon SES ์‚ฌ์šฉ). Amazon S3 ๋˜๋Š” Google Cloud Storage๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฏธ๋””์–ด ์Šคํ† ๋ฆฌ์ง€. ๊ฐœ๋ฐœ ๋ฐ ์ƒ์‚ฐ์„ ์œ„ํ•ด docker-compose๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Docker ์ง€์›(LetsEncrypt ์ง€์›๊ณผ ํ•จ๊ป˜ Traefik ์‚ฌ์šฉ). Heroku์— ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ Procfile. PythonAnywhere์— ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ ์ง€์นจ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. unittest ๋˜๋Š” pytest๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



๊ธฐ๋Šฅ

  • Amazon S3, Google Cloud Storage ๋˜๋Š” Whitenoise์—์„œ ์ •์  ํŒŒ์ผ ์ œ๊ณต
  • ์…€๋Ÿฌ๋ฆฌ ๋ฐ ๊ฝƒ์— ๋Œ€ํ•œ ๊ตฌ์„ฑ(Docker ์„ค์ •์—์„œ๋งŒ ํ›„์ž)
  • ๋กœ์ปฌ ์ด๋ฉ”์ผ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด MailHog์™€ ํ†ตํ•ฉ
  • ์˜ค๋ฅ˜ ๋กœ๊น…์„ ์œ„ํ•œ Sentry์™€์˜ ํ†ตํ•ฉ
  • ์œ ์ง€ ๊ด€๋ฆฌ๋˜๋Š” ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ์–ด๋””์—์„œ๋‚˜ PostgreSQL ์‚ฌ์šฉ(10.16 - 13.2)
  • ๊ตฌ์„ฑ์„ ์œ„ํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜


ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

Python


์นดํ…Œ๊ณ ๋ฆฌ

ํ”„๋ ˆ์ž„ ์›Œํฌ

์ด๊ฒƒ์€ https://sourceforge.net/projects/cookiecutter-django.mirror/์—์„œ๋„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ ์šด์˜ ์ฒด์ œ ์ค‘ ํ•˜๋‚˜์—์„œ ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์œผ๋กœ ์˜จ๋ผ์ธ์œผ๋กœ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด OnWorks์—์„œ ํ˜ธ์ŠคํŒ…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


๋ฌด๋ฃŒ ์„œ๋ฒ„ ๋ฐ ์›Œํฌ์Šคํ…Œ์ด์…˜

Windows ๋ฐ Linux ์•ฑ ๋‹ค์šด๋กœ๋“œ

์ฝ”๋”ฉ ๊ธฐ์ˆ  ์—†์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ
์ฝ”๋”ฉ ๊ธฐ์ˆ  ์—†์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ
PWCT๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋งˆ๋ฒ•์‚ฌ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.
1 2 3 ๋‹จ๊ณ„๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. PWCT๋Š”
๋ฒ”์šฉ ๋น„์ฃผ์–ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
์ดˆ๋ณด์ž์™€ ์ „๋ฌธ๊ฐ€๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋œ ์–ธ์–ด
ํ”„๋กœ๊ทธ๋žจ์€ ...
์ฝ”๋”ฉ ๊ธฐ์ˆ  ์—†์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋‹ค์šด๋กœ๋“œ
  • 3
    ์—ฐํ•ฉ RPM
    ์—ฐํ•ฉ RPM
    Gitter์— ์ฐธ์—ฌํ•˜์„ธ์š”!
    https://gitter.im/unitedrpms-people/Lobby
    URPMS ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์‹ญ์‹œ์˜ค.
    ์‹œ์Šคํ…œ -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    ํ†ตํ•ฉ RPM ๋‹ค์šด๋กœ๋“œ
  • 4
    Windows ๋””๋ ‰ํ† ๋ฆฌ ํ†ต๊ณ„
    Windows ๋””๋ ‰ํ† ๋ฆฌ ํ†ต๊ณ„
    WinDirStat(Windows ๋””๋ ‰ํ† ๋ฆฌ
    ํ†ต๊ณ„)๋Š” ๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰ ํ†ต๊ณ„์ž…๋‹ˆ๋‹ค.
    Windows์šฉ ๋ทฐ์–ด ๋ฐ ์ •๋ฆฌ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์—
    ์‹œ์ž‘ํ•˜๋ฉด WinDirStat๊ฐ€ ์ „์ฒด๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค.
    ๋””๋ ‰ํ† ๋ฆฌ ํŠธ๋ฆฌ...
    Windows ๋””๋ ‰ํ„ฐ๋ฆฌ ํ†ต๊ณ„ ๋‹ค์šด๋กœ๋“œ
  • 5
    DS4์œˆ๋„์šฐ
    DS4์œˆ๋„์šฐ
    DS4Window๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.
    ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก
    Playstation 4 ์‚ฌ์šฉ ๊ฒฝํ—˜
    PC์˜ DualShock ์ปจํŠธ๋กค๋Ÿฌ
    Xbox 360 ์—๋ฎฌ๋ ˆ์ด์…˜...
    DS4Windows ๋‹ค์šด๋กœ๋“œ
  • 6
    TDM-GCC MinGW ์ปดํŒŒ์ผ๋Ÿฌ
    TDM-GCC MinGW ์ปดํŒŒ์ผ๋Ÿฌ
    ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค
    GCC ์ปดํŒŒ์ผ๋Ÿฌ ํ”„๋กœ์ ํŠธ, 32๋น„ํŠธ ๋ฐ
    ๊ต๋ฌ˜ํ•˜๊ฒŒ ์œ„์žฅํ•œ 64๋น„ํŠธ Windows
    ์‹ค์ œ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ ๋ฐ ์—…๋ฐ์ดํ„ฐ.
    ํŠน์ง•:G...
    TDM-GCC MinGW ์ปดํŒŒ์ผ๋Ÿฌ ๋‹ค์šด๋กœ๋“œ
  • ๋‹ค ...
    GeoServer ๋‹ค์šด๋กœ๋“œ
  • ๋”ยป
  • Linux ๋ช…๋ น

    Ad