MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

์ด ๋ฌธ์„œ์—์„œ๋Š” MS Windows์—์„œ Django ํ”„๋กœ์ ํŠธ์˜ ์ž‘๋™์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด Apache, Python ๋ฐ PostgreSQL ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜๊ณ  ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ง€์นจ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Django์—๋Š” ๋กœ์ปฌ์—์„œ ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•œ ๊ฒฝ๋Ÿ‰ ๊ฐœ๋ฐœ ์„œ๋ฒ„๊ฐ€ ์ด๋ฏธ ํฌํ•จ๋˜์–ด ์žˆ์ง€๋งŒ ํ”„๋กœ๋•์…˜ ๊ด€๋ จ ์ž‘์—…์—๋Š” ๋” ์•ˆ์ „ํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ ์›น ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. mod_wsgi๋ฅผ ์„ค์ •ํ•˜์—ฌ ํ”„๋กœ์ ํŠธ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ณ  Apache๋ฅผ ์™ธ๋ถ€ ์„ธ๊ณ„์˜ ๊ฒŒ์ดํŠธ์›จ์ด๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ์€ MS Windows 10 32๋น„ํŠธ์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ 32๋น„ํŠธ ๋ฐ˜์‘์€ ๋ณดํŽธ์ ์ด๋ฉฐ 64๋น„ํŠธ ์•„ํ‚คํ…์ฒ˜์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. 64๋น„ํŠธ ์„ค์น˜๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ 64๋น„ํŠธ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฐํฌ์— ๋Œ€ํ•ด ๋™์ผํ•œ ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉด ์ž‘์—… ์ˆœ์„œ๊ฐ€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

Django ํ”„๋กœ์ ํŠธ๋กœ Severtart ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ธ์‡„ ์žฅ๋น„์™€ ๊ณต๊ธ‰ ๋ฐ ์„œ๋น„์Šค ๊ณ„์•ฝ์„ ๊ณ ๋ คํ•˜์—ฌ ์นดํŠธ๋ฆฌ์ง€ ์ด๋™์„ ๊ด€๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ชจ๋“ˆ์€ C:severcart ๋””๋ ‰ํ† ๋ฆฌ์— ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. ์œ„์น˜๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Python

์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” Python ์›น ์‚ฌ์ดํŠธ์—์„œ Python์„ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šด์˜ ์ฒด์ œ๋กœ Windows๋ฅผ ์„ ํƒํ•˜๊ณ  32๋น„ํŠธ ๋ฒ„์ „์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ž‘์„ฑ ๋‹น์‹œ ํ˜„์žฌ ๋ฒ„์ „์€ 3.9.0rc2์ž…๋‹ˆ๋‹ค.

์„ค์น˜ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•œ ํ›„ ์„ค์น˜ ํŒŒ์ผ์„ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญํ•˜๊ณ  "๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰"์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ํ™”๋ฉด์„ ๋ณด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

"์‚ฌ์šฉ์ž ์ถ”๊ฐ€๋ฅผ ์œ„ํ•œ ๋Ÿฐ์ฒ˜ ์„ค์น˜(๊ถŒ์žฅ)" ๋ฐ "PATH์— Python 3.9 ์ถ”๊ฐ€" ํ™•์ธ๋ž€ ์˜†์— ์žˆ๋Š” ํ™•์ธ๋ž€์„ ์„ค์ •ํ•˜๊ณ  "์„ค์น˜ ์‚ฌ์šฉ์ž ์ง€์ •"์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

"pip", "py launcher", "๋ชจ๋“  ์‚ฌ์šฉ์ž์šฉ(์ƒ์Šน ํ•„์š”)"์— ๋Œ€ํ•œ ํ™•์ธ๋ž€์„ ์„ค์ •ํ•˜๊ณ  "๋‹ค์Œ"์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋ชจ๋“  ์ž…๋ ฅ ํ•„๋“œ๋ฅผ ์„ ํƒํ•˜๊ณ  "์„ค์น˜"๋ฅผ ํด๋ฆญํ•˜์‹ญ์‹œ์˜ค.

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

์„ฑ๊ณต์ ์œผ๋กœ ์„ค์น˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด cmd๋ฅผ ์—ด๊ณ  python์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜์— ์„ฑ๊ณตํ•˜๋ฉด ์•„๋ž˜์™€ ์œ ์‚ฌํ•œ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

mod_wsgi ์„ค์น˜

์‚ฌ์ดํŠธ์˜ mod_wsgi์—์„œ ์ปดํŒŒ์ผ๋œ ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
www.lfd.uci.edu/~gohlke/pythonlibs. ์ด ๋ชจ๋“ˆ์€ Apache ์„œ๋ฒ„์™€ Django ํ”„๋กœ์ ํŠธ ์‚ฌ์ด์—์„œ ์ค‘๊ฐœ์ž ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์‹  ํŒจํ‚ค์ง€ ์ด๋ฆ„์€ mod_wsgi-4.7.1-cp39-cp39-win32.whl์ž…๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๋Š” 32๋น„ํŠธ Windows CPython ๋ฒ„์ „ 3.9์šฉ์œผ๋กœ ์ปดํŒŒ์ผ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. pip install mod_wsgi ๋ชจ๋“ˆ์˜ ๋ช…๋ฐฑํ•œ ์„ค์น˜๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹คํŒจํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค๋Š” ์ ๋„ ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค์น˜ ํ”„๋กœ์„ธ์Šค์—๋Š” Visual Studio C++ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Windows์—์„œ ํ•˜๋‚˜์˜ Python ํŒจํ‚ค์ง€๋ฅผ ์œ„ํ•ด ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์™„์ „ํžˆ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

cmd ๋˜๋Š” powershell์—์„œ ํ‘œ์ค€ pip ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“ˆ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

์•„ํŒŒ์น˜

์‚ฌ์ดํŠธ์—์„œ ๋ฐฐํฌ ํ‚คํŠธ ๋‹ค์šด๋กœ๋“œ https://www.apachelounge.com/download/.
์›น ์„œ๋ฒ„์˜ ์ตœ์‹  ๋ฒ„์ „์€ Apache 2.4.46 win32 VS16์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ํ”„๋กœ๊ทธ๋žจ์ด ์ž‘๋™ํ•˜๋ ค๋ฉด ์‚ฌ์ „ ์„ค์น˜๋œ ํŒจํ‚ค์ง€ "Visual C ++ Redistributable for Visual Studio 2019 x86"์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

C: severcartApache24 ๋””๋ ‰ํ† ๋ฆฌ์— Apache ๋ฐฐํฌํŒ์˜ ์••์ถ•์„ ํ‘ผ ๋‹ค์Œ ์ˆซ์ž 37์ด ์žˆ๋Š” ์ค„์„ ์šฐ๋ฆฌ์˜ ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

Define SRVROOT "C:/severcart/Apache24"

๋ช…๋ น์ค„์—์„œ ์‹คํ–‰ํ•˜์—ฌ Apache์˜ ์ž‘๋™์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

C:/severcart/Apache24/bin> httpd.exe

๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ธŒ๋ผ์šฐ์ €์—์„œ 127.0.0.1 "์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!"

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

Apache ์„œ๋น„์Šค๋ฅผ ์„ค์น˜ํ•˜๋ ค๋ฉด ๋ช…๋ น์ค„์—์„œ ๊ด€๋ฆฌ์ž๋กœ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

C:severcartApache24bin>httpd.exe -k install -n "Apache24"

๋‹ค์Œ์œผ๋กœ mod_wsgi ๋ชจ๋“ˆ์„ Apache์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ๋ช…๋ น์ค„์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

C:Windowssystem32>mod_wsgi-express module-config

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ‘œ์ค€ ์ถœ๋ ฅ์— ๋‹ค์Œ ์ค„์ด ์ธ์‡„๋ฉ๋‹ˆ๋‹ค.

LoadFile "c:/severcart/python/python39.dll"
LoadModule wsgi_module "c:/severcart/python/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win32.pyd"
WSGIPythonHome "c:/severcart/python"

C:severcartApache24confextrahttpd-wsgi.conf ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ๊ฑฐ๊ธฐ ์œ„์— ์ธ์‡„๋œ ์ค„์„ ๋ณต์‚ฌํ•˜์—ฌ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค.

์ƒˆ ๊ตฌ์„ฑ์„ ๊ธฐ๋ณธ httpd.conf ํŒŒ์ผ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
conf/extra/httpd-wsgi.conf ํฌํ•จ

๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ €์žฅ, Apache ์„œ๋น„์Šค ๋‹ค์‹œ ์‹œ์ž‘

Net stop Apache24
Net start Apache24

PostgreSQL

์‚ฌ์ดํŠธ์—์„œ ๊ฐ€์ ธ์˜จ PostgreSQL ์„ค์น˜ https://postgrespro.ru/windows. ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์˜ ํ˜„์žฌ ๋ฒ„์ „์€ 12์ž…๋‹ˆ๋‹ค. ํ‘œ์ค€ ๋ฐฐํฌํŒ์— ๋น„ํ•ด ๋Ÿฌ์‹œ์•„ ๋ฐฐํฌํŒ์˜ ์žฅ์ ์€ ๋™์ผํ•œ ์‚ฌ์ดํŠธ์— ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

์„ค์น˜ ๋‹จ๊ณ„๋Š” ์œ„์— ์ œ์‹œ๋˜์–ด ์žˆ์œผ๋ฉฐ ์ฃผ์„์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„ค์น˜๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

Django ํ”„๋กœ์ ํŠธ์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ์ €์žฅ๋  Postgres์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

C:severcartpostgresqlbin>psql -h 127.0.0.1 -U postgres -W

CREATE DATABASE severcart WITH ENCODING='UTF8' OWNER=postgres CONNECTION LIMIT=-1 template=template0;

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

DB๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ Django ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐฐํฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์น˜

์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ์‚ฌ์ดํŠธ์—์„œ zip ์•„์นด์ด๋ธŒ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์‹ญ์‹œ์˜ค. https://www.severcart.ru/downloads/ C:severcartapp ๋””๋ ‰ํ† ๋ฆฌ์— ์••์ถ•์„ ํ’‰๋‹ˆ๋‹ค.

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

๊ธฐ๋ณธ ๊ตฌ์„ฑ ํŒŒ์ผ C: severcartappconfsettings_prod.py๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

Python ์‚ฌ์ „ DATABASES์—๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์„ค์ •์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”. https://docs.djangoproject.com/en/3.1/ref/databases/#connecting-to-the-database

Django ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ Python ๊ธฐ๋Šฅ ํŒฉ ์„ค์น˜

C:severcartapptkinstaller>python install.py

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

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

Django ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ Apache ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๋ณด์™„ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค์Œ ํ…์ŠคํŠธ๊ฐ€ ํฌํ•จ๋œ httpd-wsgi.conf

Alias /static "c:/severcart/app/static"

Alias /media "c:/severcart/app/media"

<Directory "c:/severcart/app/static">
    # for Apache 2.4
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

<Directory "c:/severcart/app/media">
    # for Apache 2.4
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>


WSGIScriptAlias / "c:/severcart/app/conf/wsgi_prod.py"
WSGIPythonPath "c:/severcart/python/"

<Directory "c:/severcart/app/conf/">
<Files wsgi_prod.py>
    Require all granted
</Files>   
</Directory>

Apache ์„œ๋น„์Šค๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.

MS Windows์—์„œ Django ์Šคํƒ ์˜ฌ๋ฆฌ๊ธฐ

๊ทธ๊ฒŒ ๋‹ค์•ผ. ์ฝ์–ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๊ธฐ์‚ฌ์—์„œ๋Š” ๊ณ ๊ฐ์˜ ์ปดํ“จํ„ฐ์— Django ํ”„๋กœ์ ํŠธ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด InnoSetup์—์„œ ์„ค์น˜ ์ž๋™ ์••์ถ• ํ•ด์ œ ์•„์นด์ด๋ธŒ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•˜๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด Yandex.Disk ์‚ฌ์šฉ๋œ ๋ชจ๋“  ๋ฐฐํฌํŒ์ด ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€