8 Fri
TIL & Discover
[๋ฐฐํ์ ์ค์ง๋ ํ์ด์ฌ ์นํ๋ก๊ทธ๋๋ฐ]
๋ฐฑ์๋ ๊ฐ๋ฐ์๋ ์์ ์ ๊ฐ๋ฐ ๋ด์ฉ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ํ๋ก ํธ ์ง์์ ์์ ํ์๊ฐ ์๋ค๋ ๊ฒ์ ์์๋ค. ์ฅ๊ณ ๋ฅผ ํตํ ์น ํ๋ก๊ทธ๋๋ฐ์ ํตํด ํ๋ก ํธ ์ง์ ํฅ์์ด ๋ชฉ์ ์ด๋ค.
์ฑ ์ ๋ด์ฉ์ ๋ณธ์ธ์ ์ ๋ง๋๋ก ์์ฝ ๋ฐ ๋ณํํ์ฌ ๊ธฐ๋กํ๋ฉฐ ์์ธํ ๋ด์ฉ์ ํ์ธํ๊ณ ์ถ๋ค๋ฉด ๊ตฌ๋งค๋ฅผ ์ถ์ฒํ๋ค.
#1 ์นํ๋ก๊ทธ๋๋ฐ์ด๋?
์ธํฐ๋ท
์ ์ธ๊ณ์ ๊ฑธ์ณ ์๊ฑฐ๋ฆฌ ์ ์์ด๋ ํ์ผ ์ ์ก, ์ ์ ๋ฉ์ผ ๋ฑ์ ๋ฐ์ดํฐ ํต์ ์๋น์ค๋ฅผ ๋ฐ์ ์ ์๋, ์ปดํจํฐ ๋คํธ์ํฌ์ ์์คํ
ํต์ ์ ์ํฉ์์๋ ์ปค๋ฎค๋์ผ์ด์ ์ด ๊ฐ๋ฅํ๊ฒ ์ค๊ณํ๋ ์ํ๋ท์ด ์ธํฐ๋ท์ ์ต์ด ๊ธฐ์
์ดํ, ๋ฏธ๊ตญ๊ณผ ์ฌ๋ฌ ๋๋ผ์์ ์์ฒด์ ์ผ๋ก ๋คํธ์ํฌ๋ฅผ ๋ง๋ค๊ธฐ ์์ํ๊ณ ๋ฐ์ดํฐ ๊ตํ๋ฐฉ์์ ํต์ผํ๊ธฐ ์ํด์ TCP/IP ๊ณต๋ ํ๋กํ ์ฝ์ด ๋ง๋ค์ด์ก๋ค.
์น ์ฌ์ดํธ
๋๋ฉ์ธ ์ด๋ฆ์ด๋ IP์ฃผ์, ๋ฃจํธ ๊ฒฝ๋ก๋ง์ผ๋ก ์ด๋ฃจ์ด์ง ์ผ๋ฐ URL์ ํตํ์ฌ ๋ณด์ด๋ ์น ํ์ด์ง๋ค์ ์ด๋ฏธ ์๋ ๋ฌถ์์ด๋ค.
์น ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์ฌ์ดํธ ์ฃผ์๋ฅผ ์ ๋ ฅํด์ ์ ์ํ๋ ๋ชจ๋ ํ์ด์ง๊ฐ ์น์ฌ์ดํธ.
์น ํ๋ก๊ทธ๋๋ฐ
์น ์ฌ์ดํธ ํน์ ์น ํ์ด์ง๋ฅผ ๋ง๋๋ ๊ณผ์
HTML, CSS, JS์ ๊ฐ์ ์น ๋ธ๋ผ์ฐ์ ๋จ์์ ๋์ํ๋ ์ฝ๋์ Python, Ruby, PHP, Java ๋ฑ ์๋ฒ ์ปดํจํฐ ์ชฝ์์ ๋์ํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ค
๋ธ๋ผ์ฐ์ ๋จ์์ ๋์ํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ํ๋ก ํธ์๋ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๊ณ ํ๋ค. ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๊ณ ๋ ํ๋ค. ๋๋ถ๋ถ ํ๋ฉด์ ๊ตฌ์ฑํ๋ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ๋๋ฌธ์ ํผ๋ธ๋ฆฌ์ฑ์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. ํ๋ก ํธ์๋์์๋ HTML, CSS, JavaScript๋ฅผ ์ด์ฉํ๋ค.
๋ฐฑ์๋ ํ๋ก๊ทธ๋๋ฐ์ ์๋ฒ ์ชฝ์์ ์คํ๋๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ ์๋ฒ ์ฌ์ด๋ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๊ณ ๋ ํ๋ค. ํ์กดํ๋ ๋๋ถ๋ถ์ ์ธ์ด๋ก ๋ฐฑ์๋ ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํ๋ฉฐ ์ต๊ทผ ๋ง์ด ์ฌ์ฉ ๋๋ ์ธ์ด์๋ Python, Java, C#, Ruby, JavaScript, PHP ๋ฑ์ด ์๋ค.
์ธ์ด ์์ฒด๋ก ์น ํ๋ก๊ทธ๋๋ฐ์ ํ๋ ๊ฒ์ ๊ฝค ๋ฐ๋ณต์ ์ด๊ณ ์ง๋ฃจํ ์์ ์ ๋ง์ด ํด์ผ ํ๊ณ ์ด ๋น๋์ ์์ด ์๋นํ๋ค. ์ด ๋นํจ์จ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ๋๊ตฌ๊ฐ ํ๋ ์์ํฌ์ด๋ค. ์์ฆ์ ํ๋ ์์ํฌ๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ค.
Java๋ Spring์, JS๋ Node.js๋ฅผ, Ruby๋ Ruby on Rails๋ผ๋ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๊ณ PHP๋ Laravel์ด๋ผ๋ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ค.
์น ํ๋ ์์ํฌ
ํ์คํ ํ๋ ์์ํฌ์ ๋ง์ดํฌ๋ก ํ๋ ์์ํฌ๊ฐ ์๋ค.
ํ์คํ ํ๋ ์์ํฌ๋ ์น ์๋น์ค๋ฅผ ๋ง๋๋๋ฐ ํ์ํ ๋ค์ํ ๊ธฐ๋ฅ์ ๋ชจ๋ ํฌํจํ๋ค. ์ค์นํ์๋ง์ ๊ธฐ๋ณธ์ ์ธ ์น ์๋น์ค๋ฅผ ํ ์ ์์ ์ ๋๋ก ํธ๋ฆฌํ์ง๋ง ์ปค์คํฐ๋ง์ด์ง์ด ๋น๊ต์ ์ด๋ ต๊ณ ๋๋ฆฌ๋ค.
๋ง์ดํฌ๋ก ํ๋ ์์ํฌ๋ ๊ฐ๋ณ๊ณ ๋น ๋ฅด๋ฉฐ ์ปค์คํฐ๋ง์ด์ง ํ๊ธฐ ์ข์ง๋ง ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๋น๊ต์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค.
์น ์๋ฒ์ ์น ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ
ํ๋ ์์ํฌ๋ฅผ ํ์ฉํ๊ฑฐ๋ ์น ์๋น์ค๋ฅผ ๋ง๋ค๋ฉด ํน์ ์ปดํจํฐ๊ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์ํ๊ณ ์์ด์ผ๋ง ์ฌ๋๋ค์ด ์ด์ฉํ ์ ์๋๋ฐ ์ด ์ปดํจํฐ๋ฅผ ์น ์๋ฒ๋ผ๊ณ ํ๋ค.
์ด์ ์๋ CGI(Common Gateway Interface)๋ฐฉ์์ ์ฌ์ฉํ๋๋ฐ ์๋นํ ๋๋ฆฌ๊ณ ๋นํจ์จ์ ์ด๋ค.
์ดํ ๋ฐ์ ์ ๊ฑฐ์ณ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ ๋ฐฉ์์ผ๋ก ๋ฐ์ ํ๋ค.
Java์ ๊ฒฝ์ฐ ํฐ์บฃ์ด๋ผ๋ ์น ์ ํจ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ์ฌ์ฉํ๊ณ ํ์ด์ฌ ์ฅ๊ณ ๋ ๋ฃจ๋น ๋ ์ผ์ฆ ๊ฐ์ ๊ฒฝ์ฐ๋ Gunicorn๊ฐ์ ๋ฐฉ์์ ๋ฏธ๋ค์จ์ด ์๋ฒ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ๊ณ ์๋ค.
CGI ๋ฐฉ์์ ๋นํด ํฌํฌ ๋ฐฉ์์ผ๋ก ์์ฒญ์ด ์์ ๋๋ง๋ค ํ๋ก๊ทธ๋จ์ ๋ณ๋๋ก ์คํํ์ง ์๊ณ ์์ฒญ์ ํ๊ณณ์ ์ ๋ฌํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ฝํ ์ ์๊ฒ ํจ์จํ๋์๋ค.
์ฅ๊ณ
์ฅ๊ณ ๋ WSGI๋ผ๋ ๋ฏธ๋ค์จ์ด ๋ฐฉ์์ผ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ๊ตฌ๋ํด ์ ์ ๋ฆฌ์์ค๋ก ๋์ ํจ์จ์ฑ์ ๋ด๊ธฐ ์ํด ๋ฐ์ ํด๊ฐ๊ณ ์๋ค.
์ฅ๊ณ ๋ ํ์ด์ฌ ์ธ์ด๋ก ํ๋ก๊ทธ๋๋ฐ ํ๋ ์น ํ๋ ์์ํฌ์ด๋ค. ์น ํ๋ ์์ํฌ ์ค์์๋ ๊ฐ์ฅ ๋น ๋ฅธ ์๊ฐ๋ด์ ์น ์๋น์ค๋ฅผ ๊ตฌํํ ์ ์๋ ํ๋ ์์ํฌ์ด๋ค. ์์ฐ์ฑ์ด ์ข๋ค๊ณ ๋งํ๋ฉฐ ์ด ์ด์ ๋ ์น ์๋น์ค๋ฅผ ๋ง๋ค ๋ ํ์ํ ๋๋ถ๋ถ์ ๊ธฐ๋ฅ์ ๋ฏธ๋ฆฌ ์ ํํ๋ ํํ๋ก ์ค๋นํด๋๊ธฐ ๋๋ฌธ์ด๋ค.
์ธํ๋ผ
์น ์๋ฒ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๊ฐ ๋์ํ๋ ค๋ฉด ์ปดํจํฐ๊ฐ ํ์ํ๋ค. ์ด ๋ ์ฌ์ฉ์ ์ ์๋์ ๋ฐ๋ผ ์ฌ๋ฌ ์ปดํจํฐ๊ฐ ํ์ํ๋ฉฐ ๋๋น ์๋ฒ, ์ด๋ฏธ์ง ์๋ฒ ๋ฑ์ด ๋ณ๋๋ก ๋์ํ๋ค. ์ด๋ฐ ๋ค์ํ ์ข ๋ฅ์ ์๋ฒ ์ปดํจํฐ๋ค์ด ๋์ํ๋ ํ๊ฒฝ๊ณผ ์ด ํ๊ฒฝ์ ํํ๋ฅผ ์ธํ๋ผ๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์์ฆ์ ํด๋ผ์ฐ๋ ์ปดํจํ ์ด๋ผ๊ณ ํด์ ์ธํ๋ผ๋ฅผ ๊ฐ์ํ๋ฅผ ํตํด ๊ตฌ์ฑํ๋ค.
์ : CDN - ๋ก๋๋ฐธ๋ฐ์ค - ์น์๋ฒ
CDN์ Content Delivery Network ๋ผ๊ณ ๋ถ๋ฆฌ๋ ์๋น์ค๋ก ์ธ๊ณ ๊ณณ๊ณณ์ ์ปดํจํฐ๋ฅผ ๋์ด ์ฌ์ฉ์์ ์์ฒญ์ ๋๋นํ ์บ์ ์์คํ ์ ๋ฏธ๋ฆฌ ์ค์ ํ๋ ๊ฒ(์ค์ ๋ก ์บ์์๋ ์ด์ง ๋ค๋ฅด๋ค). ์์ฃผ ์ด๋ฆฌ๋ ๊ณ ํ์ง ์ด๋ฏธ์ง๋ ์ด CDN์ ๋ฏธ๋ฆฌ ์ ์ฅํด๋์ด ์ค์ ํต์ ์์ ์๋ต ์๊ฐ์ ์ค์ธ๋ค.
ํ ๋์ ์น์๋ฒ๊ฐ ๋์์ ์์ 10๋ช ์ ๊ฐ๋นํ๋ค๊ฐ 30๋ช ์ด ๋์์ ๋ ์น ์๋ฒ ์ฌ์์ ๋์ด๋ ๋ฐฉ์์ ์ ์ค์ผ์ผ๋ง, ์ปดํจํฐ๋ฅผ 3๋๋ก ๋๋ฆฌ๋ ๊ฒ์ ์์ ์ค์ผ์ผ๋ง์ด๋ผ๊ณ ํ๋ค.
#2 ์ฅ๊ณ ์์ํ๊ธฐ
1. ํ์ด์ฌ ์ค์น
2. ํ์ด์ฐธ ์ค์น
3. ๊ธฐ๋ณธ ํ๋ก์ ํธ ๋ง๋ค๊ธฐ
๊ฐ์ํ๊ฒฝ ์ธํ
ํ๋ก์ ํธ ์์ฑ์ New environment using : Virtualenv ๋ก ์ค์
์ฅ๊ณ ์ค์น
pip install django
ํ๋ก์ ํธ ์์ฑ
django-admin startproject config .
.์ ํ์ฌ ํด๋๋ฅผ ์๋ฏธํ๋ฉฐ ํ์ฌ ํด๋์ ํ์ผ๋ค์ ๋ง๋ค๊ฒ ๋ค๋ ์๋ฏธ
ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๋ฉด config ํด๋๊ฐ ์๊ธฐ๊ณ manage.py ํ์ผ์ด ์์ฑ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ
python manage.py migrate
DB๋ฅผ ์ด๊ธฐํํ๋ฉด์ DB ํ์ผ์ ์์ฑํ๋ค.
db.sqlite3 ๊ฐ ์์ฑ๋ ๊ฒ์ ์ ์ ์๋ค.
ํ๋ก์ ํธ ๊ตฌ์กฐ
config ํด๋ : ์ค์ ํ์ผ๊ณผ ์น ์๋น์ค ์คํ์ ์ํ ํ์ผ์ด ๋ค์ด์๋ค. config๋ผ๋ ์ด๋ฆ์ ์ฌ์ฉํ ํ์๋ ์์ผ๋ฉฐ ์์ฑํ ํ ๋ณ๊ฒฝํ๋ ค๋ฉด ๋งค์ฐ ๊ท์ฐฎ์ผ๋ ์์ฑํ ๋ ์ ๊ฒฐ์ ํ๋ ๊ฒ์ด ์ข๋ค.
init.py
: python3 ์์๋ ๋ถํ์ํ ๋ฒ์ ์ด๋ค. python2 ์์ ํธํ์ ์ํจsettings.py
: ํ๋ก์ ํธ ์ค์ ์ ๋ํ ๋ค์ํ ๋ด์ฉ์ด ๋ค์ด์๋ค.BASE_DIR : ํ๋ก์ ํธ ๋ฃจํธ ํด๋์ด๋ฉฐ ํ์๋ฅผ ํ์ํ๋ ์ผ์ ๋น๋ฒํ ์ํํ๊ธฐ ๋๋ฌธ์ ๋ณ์๋ก ๋ฏธ๋ฆฌ ์ค์
SECRET_KEY : ๋ค์ํ ๋ณด์์ ์ํด ์ฌ์ฉํ๋ฉฐ ์ธ์ ๊ฐ์ ๋ณดํธ๋ ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ ์ ์ฌ์ฉ๋๋ ๋ณด์ URL์ ๋ง๋๋ ์ผ ๋ฑ์ ์ฌ์ฉ๋๋ค. ์์๋ก ๋ณ๊ฒฝํ๋ฉด ๋ก๊ทธ์ธ์ด ํ๋ฆฌ๋ ์กฐ์ฌ.
DEBUG : ๋๋ฒ๊ทธ ๋ชจ๋๋ฅผ ์ค์ . True์ผ ๊ฒฝ์ฐ ๋ค์ํ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ํ์ธ ๊ฐ๋ฅํ๋ฉฐ ๋ฐฐํฌ์์๋ False๋ก ๋ฐ๊ฟ์ผ ๋ด๋ถ ์๋ฌ๊ฐ ๊ณต๊ฐ๊ฐ ๋์ง ์๋๋ค. ๊ณต๊ฐ๋๋ฉด ์ ์ฉ์ ์์ง๊ฐ ์์
ALLOWED_HOSTS : ํ์ฌ ์๋น์ค์ ํธ์คํธ๋ฅผ ์ค์ . ๊ฐ๋ฐ ์์๋ ๋น์๋๊ณ ์ฌ์ฉํ๋ฉฐ ๋ฐฐํฌ์์๋ '*' ์ด๋ ์ค์ ๋๋ฉ์ธ์ ๊ธฐ๋กํ๋ค. (์ค์ ๋๋ฉ์ธ์ ๊ธฐ๋กํ๊ธฐ๋ฅผ ๊ถ์ฅํ๋ค. '*' ์ ์ํ => DNS Rebinding์ ๋ง๊ธฐ ์ํจ) DEBUG = False ์ผ ๋ ์ด ๊ฐ์ด ๋น์ด์์ผ๋ฉด ์๋น์ค ์์์ ํ ์ ์๋ค.
INSTALLED_APPS : ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ ์ฑ์ ๋ชฉ๋ก์ ๊ธฐ๋กํ๊ณ ๊ด๋ฆฌ
MIDDLEWARE : ์ฅ๊ณ ์ ์์ฒญ/์๋ต ์ฌ์ด์ ์คํ๋๋ ํน์ํ ํ๋ ์์ํฌ๋ฅผ ๊ด๋ฆฌํ๋ฉฐ ์ฃผ๋ก ๋ณด์์ ๊ดํ ๋ด์ฉ์ด ๋ง๋ค.
ROOT_URLCONF : ๊ธฐ์ค์ด ๋๋ urls.py ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ์ค์ ํ๋ค.
TEMPLATES : ์ฅ๊ณ ์์ ์ฌ์ฉํ๋ ํ ํ๋ฆฟ์ ๊ดํ ์ค์
WSGI_APPLICATION : ์คํ์ ์ํ WSGI ์ดํ๋ฆฌ์ผ์ด์ ์ ์ค์
DATABASES : DB ์ค์
AUTH_PASSWORD_VALIDATORS : ๋น๋ฐ๋ฒํธ ๊ฒ์ฆ์ ์ํ ์ค์ .
LAUGUAGE_CODE : ๋ค๊ตญ์ด์ ๊ดํ ์ค์
urls.py
: ํน์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด ์ ์ํ๋ ์ฃผ์ URL์ ์ค์ ํ๊ณ ๊ธฐ๋กํ๋ค. ์ด ํ์ผ์ ์ต์ด๋ก ํ์๋๋ ๊ธฐ์ค์ด ๋๋ URL ํ์ผ์ด๋ค.wsgi.py
: ์น ์๋ฒ์ ์ฅ๊ณ ์ฌ์ด์ ํต์ ์ญํ ์ ๋ด๋นํ๋ WSGI ์ดํ๋ฆฌ์ผ์ด์ ๊ตฌ๋์ ์ํด ์ฌ์ฉ๋๋ ํ์ผ์ด๋ค. Web Server Gateway Interface์ ์ฝ์ด๋ก Nginx๋ Apache ๊ฐ์ ์๋ฒ ์ปดํจํฐ์์ ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ์์ ์ฒ๋ฆฌํ๋ค. ์ค๊ฐ ์ญํ ์๋ก์ ์ญํ ์ ํ๋ค. ์ค๊ฐ ์ญํ ์ ์์ด๋ ํจ์จ์ ์ผ๋ก ์์ฒญ์ ์ ๋ฌํ ์ ์๊ณ ํน์ ์ธ์ด๋ก๋ง ์น ์๋น์ค๊ฐ ์ ์๋์ง ์๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ์ธ์ด๋ก ๋ ํ๋ก๊ทธ๋จ๊ณผ ํต์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
venv ํด๋ : ํ๋ก์ ํธ ๊ตฌ๋์ ์ํ ๊ฐ์ํ๊ฒฝ ํด๋
db.sqlite3 : SQLite3 DB ํ์ผ. SQLite๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด ํ์ ์๋ค.
manage.py : ์ฅ๊ณ ์ ๋ค์ํ ๋ช ๋ น์ด๋ฅผ ์คํํ๊ธฐ ์ํ ํ์ผ์ด๋ค.
์ฅ๊ณ ๊ธฐ๋ณธ ๋ช
๋ น๋ค
django-admin startproject : ์ฅ๊ณ ํ๋ก์ ํธ๋ฅผ ๋ง๋๋ ๋ช ๋ น์ด. django-admin์ผ๋ก ์ดํ ๋ช ๋ น๋ค์ ์คํํ ์ ์์ง๋ง ๋ณดํต python manage.py๋ฅผ ์ด์ฉํ๋ค
startapp : ํ๋ก์ ํธ์ ์ฑ์ ์๋ก ๋ง๋ค ๋ ์ฌ์ฉํ๋ค
makemigrations : ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ์ฌ DB์ ์ ์ฉํ ๋ด์ฉ์ ์ ๋ฆฌํ๋ค. ๋ณดํต ์ฑ ์์ ์๋ ๋ชจ๋ธ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
sqlmigrate : ์คํํ SQL ๋ช ๋ น๋ฌธ์ ์ถ๋ ฅํ๋ค. ์ด๋ค ๋ช ๋ น๋ฌธ์ ์คํํ ์ง ํ์ธํ ๋ ์ฌ์ฉํ๋ฉฐ ํ๋์ด ์๋ ์ฟผ๋ฆฌ๋ ์ฌ๋ก์ฐ ์ฟผ๋ฆฌ ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์๋ค.
migrate : ์ค์ ๋ณ๊ฒฝ์ฌํญ์ DB์ ๋ฐ์ํ๋ค.
showmigrations : ํ๋ก์ ํธ์ DB ๋ณ๊ฒฝ์ฌํญ ๋ชฉ๋ก๊ณผ ์ํ๋ฅผ ์ถ๋ ฅํ๋ค.
runserver : ํ ์คํธ ์๋ฒ๋ฅผ ์คํํ๋ค.
dumpdata : ํ์ฌ DB์ ๋ด์ฉ์ ๋ฐฑ์ ํ ๋ ์ฌ์ฉํ๋ค.
loaddata : ๋ฐฑ์ ํ์ผ๋ก DB ๋ด์ฉ์ ๋ณต๊ตฌํ ๋ ์ฌ์ฉํ๋ค.
flush : DB ํ ์ด๋ธ์ ๋๊ณ ๋ด์ฉ๋ง ์ ๋ถ ์ญ์ ํ๋ค.
shell : ์ฅ๊ณ ์ ์คํํ๋ค.
dbshell : DB์ ์ง์ ์ ๊ทผํ ์ ์๋ ์ ์คํ. ์ฅ๊ณ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ฌธ์ ๊ฐ ์์ง๋ง ๊ด๋ฆฌ์ ํ์ด์ง์ ์ ๊ทผํ ์ ์์ ๋ ๋ณดํต shell์ ์ด์ฉํด DB๋ฅผ ์์ ํ๊ณ SQL ๊ตฌ๋ฌธ์ ์ด์ฉํด ์ง์ ์์ ํ ๋ dbshell์ ์ฌ์ฉํ๋ค.
createsuperuser : ๊ด๋ฆฌ์ ๊ณ์ ์ ์์ฑํ๋ค.
changepassword : ๊ณ์ ์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ๋ค.
๋์์ธ ํจํด
์น ํ๋ก๊ทธ๋๋ฐ์ ๋ฐฑ์๋, ํ๋ก ํธ, ๊ธฐํ์, ๋์์ด๋, DB์์ง๋์ด ๋ฑ ๋ค์ํ ์์ญ์ ์ฌ๋๋ค์ด ์ผํ๊ธฐ ๋๋ฌธ์ ์ค์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋์์ธ ํจํด์ ์ฌ์ฉํ๋ค. ํ๋ก ํธ ์ฝ๋์ ๋ฐฑ์๋ ์ฝ๋์ ๋ถ๋ฆฌ ๊ทธ๋ฆฌ๊ณ ๋ก์ง๊ณผ DB์ ๋ถ๋ฆฌ
์ฅ๊ณ ์์๋ ์ด๋ฅผ ํน๋ณํ ํจํด ์ด๋ฆ MTV๋ผ๊ณ ๋ถ๋ฅธ๋ค.
MVC & MTV
MVC : Model-View-Controller
Model : DB์ ๊ตฌ์กฐ๋ฅผ ๊ฒฐ์
View : ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง๋ UI ๋ถ๋ถ
Controller : ๊ธฐ๋ฅ, ๋ก์ง์ ๋ด๋น. ๋๊ฒจ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๊ฐ๊ณตํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ป๊ฒ ๋๋ ค์ค์ง ๊ฒฐ์ ํ๋ ๋ถ๋ถ
MTV : Model-Template-View
๊ฐ ์์น์ ์๋ ๋จ์ด๋ผ๋ฆฌ ๊ฐ์ ์ญํ ์ ํ๋ค.
Model - Model, View - Template, Controller - View
์ฑ ์์ฑ
python manage.py startapp app_default
models.py
: DB์ ๋ช ์ธ๋ฅผ ๊ด๋ฆฌํ๋ค. ๋ชจ๋ธ์ ํด๋์ค๋ก ๋ง๋ค์ด์ง๋ค. ํด๋์ค์ ์ด๋ฆ์ด ํ ์ด๋ธ ์ด๋ฆ์ด ๋๊ณ ํด๋์ค์ ์์ฑ๋ค์ด ์ปฌ๋ผ์ด ๋๋ค. ์์ฑ์ ๊ฐ์ด ์ปฌ๋ผ์ ๋ฐ์ดํฐ ํ์ ๊ณผ ์ ์ฝ์ฌํญ์ ๊ฒฐ์ ํ๋ฉฐ SQL์ ๋ชจ๋ฅด๋๋ผ๋ DB์ ๊ทผ์ด ๊ฐ๋ฅํ๋๋ก ORM(Object Relational Mapping)์ ์ ๊ณตํ๋ค.admin.py
: ๋ชจ๋ธ์ด ์ ๋๋ก ๋ง๋ค์ด์ก๋์ง ํ์ธํ๊ฑฐ๋ ํน๋ณํ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋ admin.py์ ํด๋น ๋ด์ฉ์ ์์ฑํ๋ฉด ๋๋ค.views.py
: ํ์ด์ง๋ฅผ ๋ง๋ค ๋ ํ์ํ ํ์ผ์ด๋ค. ๋๋ถ๋ถ์ ํ๋ก๊ทธ๋๋ฐ ์์ ์ ๋ทฐ๋ฅผ ๋ง๋ค๊ณ ์์ ํ๋ ์ผ์ด๋ค. ํด๋์คํ ๋ทฐ์ ํจ์ํ ๋ทฐ ๋๊ฐ์ง๋ก ์ด๋ฃจ์ด์ ธ์๋ค.urls.py
:views.py
์ ์ด๋ค ๊ธฐ๋ฅ์ ๋ง๋ค๋ฉด ํด๋น ๊ธฐ๋ฅ์ URL์ ํตํด ํธ์ถํด์ผ ํ๋ค. ํน์ URL์ด ํน์ view๋ฅผ ๋์ํ๋ค๋ ์ ์๋ฅผ ํ๊ธฐ ์ํด ์์ฑํ๋ ํ์ผ์ด๋ค.templates
: ๋ณดํต HTML ํ์ผ์ด ๋ค์ด์๋ค.
๊ด๋ฆฌ์ ๊ณ์ ์์ฑ
python manage.py createsuperuser
์ฌ์ดํธ ํ์ธ์ ์ํ ์๋ฒ ์คํ
python manage.py runserver
127.0.0.1:8000 ์ด๋ผ๋ ์ฃผ์๋ก ์ ์ํ์ฌ ํ์ธ ๊ฐ๋ฅ
[Statistics 110]
ํ๋ฃจ์ 1๊ฐ์ฉ ๋ค์ด์ ์ด 34๋ฒ์ ์๊ฐ ๊ณํ์ ํ๊ฒ ์ต๋๋ค! (ํ ๊ฐ์๊ฐ ๋ฌด๋ ค 50๋ถ ใ _ใ ๋ฐ์๋ค)
Present Part [1 / 34]
1๊ฐ- ํ๋ฅ ๊ณผ ์
์๋ฆฌ (Probability and Counting)
ํ๋ณธ๊ณต๊ฐ
์ด๋ค ์คํ์์ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ์ฐ์ ์งํฉ. ์ด ์คํ = Experiemnet์ ๊ฑฐ๋ํ๊ฒ ๋ด์ผ ํ๋๋ฐ, ๋ชจ๋ ์ผ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ์คํ์ ์์ํ๊ธฐ ์ ๊น์ง๋ ๊ฒฐ๊ณผ๋ฅผ ์ ์ ์๊ณ ์คํ์ ์์ํ๋ฉด ๊ฒฐ๊ณผ๊ฐ ๋์ถ๋๋ค. ํฌ๊ด์ ์ผ๋ก๋ ๋ชจ๋ ์ผ์ด ํ๋ณธ ๊ณต๊ฐ์ด๋ผ๊ณ ํ ์ ์๋ค.
์ฌ๊ฑด
ํ๋ณธ๊ณต๊ฐ์ ๋ถ๋ถ์งํฉ.
ํ๋ฅ
P(A)๋ A๊ฐ ๋ฐ์ํ ํ๋ฅ ์ด๋ค. P๋ ํ๋ฅ ์ ์๋ฏธํ๊ณ , A๋ ์ฌ๊ฑด์ด๋ค.
๊ฐ๋จํ ํ๋ฅ ์ ์ ์ :
ex) ๋์ ๋๊ฐ๋ฅผ ๋์ ธ ๋ ๋ค ๋์๋ฉด์ด ๋์ฌ ํ๋ฅ : 1 / 4
๋จ์ํ๊ฒ ์ํ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ธ๊ณ ์ ์ฒด ๊ฒฝ์ฐ์ ์๋ฅผ ์ธ์ด ๋๋๊ณ ์๋ค.
๋์ ๋์ง๊ธฐ๋ ๊ณต์ ํ ์ฌ๊ฑด์ด๋ค. => ์๋ท๋ฉด์ด ๋์ฌ ๊ฐ๋ฅ์ฑ์ด ๋์ผํ๋ค.
์ด์ ๋ถํฐ ๋ค๋ฃจ๋ ๋ชจ๋ ์ฌ๊ฑด๋ค์ ์ธ๊ธ์ด ์๋ ์ด์ ๋ฑ์ฅ ๊ฐ๋ฅ์ฑ์ด ๋์ผํ๋ค
์ฃผ์ฌ์๋ ์ ์ก๋ฉด์ฒด์ด๋ฏ๋ก ๋ชจ๋ ๋ฉด์ด ๋์ฌ ๊ฐ๋ฅ์ฑ์ 1/6 ์ด์ง๋ง ์ฃผ์ฌ์๊ฐ ๋ง๋ค์ด์ง ๋ ๋ฌด๊ฒ์ค์ฌ์ด ๋ค๋ฅด๊ฒ ๋ง๋ค์ด์ก์ ์๋ ์์. => ์๊ฒฉํ ๊ฐ์ ์ด ํ์ํ๋ค.
ํด์์ฑ์ ์ง๋ฅ์ ๊ฐ์ง ์๋ช ์ฒด๊ฐ ์กด์ฌํ ํ๋ฅ ์ ์ผ๋ง๋ ๋ ๊น?
์๋ค 50%, ์๋ค 50% ์ด๋ฏ๋ก 1/2 ์ด๋ค.
๋ฌด์ธ๊ฐ ์ด์ํจ์ด ๋๊ปด์ง๋ค. ์ต์ํ ์๋ช ์ฒด๊ฐ ์์ ํ๋ฅ ๋ณด๋ค๋ ๋ฎ์์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
ํ๋ฅ ์ ๊ฐ์ ํจ์ ์์ด ํ๋นํ(ํ์คํ) ์ด์ ๊ฐ ์์ด์ผ ํ๋ค
์
, Counting
์์์ผ ํ ๋ ๊ฐ์ง ๋ฒ์น์ด ์๋ค.
๊ณฑ์ ๋ฒ์น
ํน์ ํ ์คํ์ ์ ์ฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ ํ๋ค.
๊ฐ์ ์คํ์ด ๊ฐ๋ฅํ๋ค.
๊ฐ์ ์คํ์ด ๊ฐ๋ฅํ๋ค.
๊ฐ์ ์คํ์ด ๊ฐ๋ฅํ๋ค.
...
๊ฐ์ ์คํ์ด ๊ฐ๋ฅํ๋ค.
์์ด์คํฌ๋ฆผ์ด ์๋ค. 3๊ฐ์ง ๋ง์ด ์๋ค. ์ด์ฝ๋ฆฟ, ๋ฐ๋๋ผ, ๋ธ๊ธฐ์ด๋ค. ์ํํ ๋๋ ์ฝํ์ด ์๋ค.
๋ง์ ์ ํํ๊ณ ๋ชจ์์ ๊ฒฐ์ ํด๋, ๋๋ ๊ทธ ๋ฐ๋๋ก ํด๋ ํญ์ 6๊ฐ์ง์ ๊ฒฝ์ฐ๊ฐ ๋์จ๋ค.
๋ฐ๋ผ์, ๋ฐฑ๋ง๊ฐ์ง์ ์ํ๋๊ฐ ์๋๋ผ๋ ์์ ์ํ๋๋ฅผ ์ดํดํ๋ฉด ํฐ ์ํ๋๋ฅผ ํด์ํ ์ ์๋ค.
๋ ๋ค๋ฅธ ์๋ฅผ ๋ ๋ค. ํฌ์ปค์์ 5์ฅ์ ์นด๋๋ฅผ ๊ฐ์ง๊ณ ํํ์ฐ์ค๊ฐ ๋์ฌ ํ๋ฅ
๊ธฐ๋ณธ์ ์ผ๋ก ์นด๋๋ 52์ฅ์ ์นด๋๋ก ์ด๋ฃจ์ด์ง๋ค. (์นด๋๋ ์ ์์ธ ์ํ = ์นด๋๋ฅผ ๋ฝ๋ ํ์๋ ๊ณตํ)
52์ฅ ์ค 5์ฅ์ ๊ฐ์ ธ์ผ ํ๊ณ ์ด ์นด๋๊ฐ ํํ์ฐ์ค์ ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ํจ
ํํ์ฐ์ค ์กฐ๊ฑด : ์ธ ์ฅ์ ๊ฐ์ ์ซ์์ ๋๋ค๋ฅธ ๋ ์ฅ์ ๊ฐ์ ์ซ์
์ด ๊ฒฝ์ฐ์ ์ :
์ํ๋ ๊ฒฝ์ฐ์ ์ : 13 ์ข ๋ฅ ์ค ํ ์ข ๋ฅ ๋ฝ๊ธฐ ๊ทธ๋ฆฌ๊ณ ์ฒ์ ๋ฝ์ ํ์ฅ์ ์ ์ธํ๊ณ ํ ์ข ๋ฅ ๋ฝ๊ธฐ
n๊ฐ์ค k์ ์๋ฅผ ๊ณ ๋ฅด๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ดํญ ๊ณ์๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ ํ์ ๊ฒฝ์ฐ์ ์์ ์ฌ์ฉ๋๋ฉฐ ์์์ ์๊ด์์ด ๋ฝ๋๋ค. ๋ง์ฝ ์์๊ฐ ์ค์ํด์ง ๋ค๋ฉด?
ํ๋ณธ (Sampling)
์ฌ๋ฌผ์ด๋ ์ฌ๋ ๋ฑ์ ์ง๋จ
ํ๋ณธํ
๋ณต์ : ์ค๋ฌธ์กฐ์ฌ๋ฅผ ํ ๋ ์ฌ๋์ ํ ๋ช ์ ํํ๋๋ผ๋ ์ด ์ฌ๋์ด ๋ค์ ์ค๋ฌธ์กฐ์ฌ๋ฅผ ํ ์ ์๋ค๋ ํน์ฑ
n๊ฐ์ ๊ฐ์ฒด ์ค k๊ฐ๋ฅผ ์ ํํ๋ ํ์ (์ธ์ธ ํ์ ์์ด ์ดํดํ๋ผ)
๋ณต์ ๊ฐ๋ฅ, ์์ ๊ณ ๋ ค(A) :
๋ณต์ ๋ถ๊ฐ๋ฅ, ์์ ๊ณ ๋ ค(B) : n(n-1)...(n-k+1)
๋ณต์ ๊ฐ๋ฅ, ์์ ๋ฏธ๊ณ ๋ ค(C) :
๋ณต์ ๋ถ๊ฐ๋ฅ, ์์ ๋ฏธ๊ณ ๋ ค(D) :
[์ธ๊ณต์ง๋ฅ์ ์ํ ์ ํ๋์]
Present Part [1 / 5]
์ ํ๋์์ ๊ธฐ์ด
์ค์นผ๋ผ
์ซ์ ํ๋.
๋ฒกํฐ
์ซ์๋ค์ ์์๊ฐ ์๋ ๋ฆฌ์คํธ
์์๊ฐ ์๋ ๋ฆฌ์คํธ๋ set์ด๋ผ๊ณ ํ๋ค
๋ณดํต ๋ฒกํฐ๋ ์ปฌ๋ผ ๋ฒกํฐ๋ฅผ ๋ง์ด ์ฌ์ฉํ ๊ฒ.
๋งคํธ๋ฆญ์ค
ํ๋ ฌ์ด๊ณ ๋ณดํต 2์ฐจ์ ํ๋ ฌ์ ์๋ฏธํ๋ค.
๊ฐ๋ก์ค์ ํ ๋๋ row๋ผ๊ณ ํํํ๊ณ ์ธ๋ก์ค์ ์ด ๋๋ column ์ด๋ผ๊ณ ํ๋ค.
๋งคํธ๋ฆญ์ค์ ์ฌ์ด์ฆ๋ ํ x ์ด๋ก ํํํ๋ฉฐ 'ํ by ์ด'๋ก ์ฝ๋๋ค.
์ปฌ๋ผ๋ฒกํฐ
n x 1 ํํ์ ๋ฒกํฐ์ด๋ค.
๋ก์ฐ ๋ฒกํฐ๋ฅผ ํํํ ๋๋ transpose ์ฐ์ฐ์ ์ฌ์ฉํ์ฌ ํํํ๋ค. ์ด ๋ ์ฌ์ด์ฆ๋ 1 x n
๋งคํธ๋ฆญ์ค ์ฉ์ด
Square matrix : size n x n
e.g. B =
Rectangular matrix : size n x m
e.g. A =
Transpose of matrix : mirroring across the main diagonal
e.g =
: (i, j)th component of A. e.g. = 4
๋ฒกํฐ/๋งคํธ๋ฆญ์ค์ ์ฐ์ฐ : ๋ง์
๊ณผ ๊ณฑ์
C = A + B, ์ด ๋ A์ B์ ํฌ๊ธฐ๋ ๋์ผํด์ผ ํ๋ค.
aC = a * C : Scalar multiple
C = AB : Matrix-matrix multiplication, ์ด ๋ A์ ์ปฌ๋ผ์ ๊ฐฏ์์ B์ ๋ก์ฐ์ ๊ฐฏ์๊ฐ ๊ฐ์์ผ ํ๋ค.
์ด ๋ vector๋ฅผ ๋์ถํ๋ฉด outer-product, scalar๋ฅผ ๋์ถํ๋ฉด inner-product ๋ผ๊ณ ํ๋ค.
๋งคํธ๋ฆญ์ค์ ๊ตํ๋ฒ์น : Commutative
AB != BA
AB๊ฐ ์ ์๋์ด๋ BA๋ ์ ์๋์ง ์์ ์ ์๋ค.
BA๊ฐ ์ ์๋๋ ค๋ฉด A์ size๊ฐ m X n ์ผ๋, B์ size๋ n X m์ด์ด์ผ ํ๋ค.
m == n ์ด๋๋ผ๋ AB != BA
๋ค๋ฅธ ํน์ฑ
A(B + C) = AB + AC : Distributive
A(BC) = (AB)C : Associative
: Property of transpose
[AI ์ค์ฟจ 1๊ธฐ] 5์ฃผ์ฐจ DAY 4
[AI ์ค์ฟจ 1๊ธฐ] 5์ฃผ์ฐจ DAY 5
๊น๋ถ์ ํ๊ธํธํ ๋ฌธ์ ์
์ฌ์ค ๊น๋ถ์ ํฌ๊ธฐํ๋ ค๊ณ ๊นํ๋ธ๋ธ๋ก๊ทธ๋ ๋ฒจ๋ก๊ทธ๋ฅผ ํ์ฐฝ ์์๋ณด๋ ์ฐธ์ด์๋ค. ๊น๋ถ์ ํผ๋๋ฐฑ๋ ์์ฒญํ๊ณ ๋ค๋ฅธ ์ฌ๋์ด ์ด ํผ๋๋ฐฑ๋ ๋ณด์๋๋ฐ ๊ทธ๋ค์ง ๋ฐ์์ด ์๋๋ ๊ฒ ๊ฐ์์ ํฌ๊ธฐํ๋ค. ์ ํฌ๊ธฐํ๋๊ณ ? ํ๊ธ ์ง์์ด ๋๋ฌด ์๋๊ธฐ ๋๋ฌธ์ด๋ค. ๋ค์์ด ์๋๋ค.
1. ๋๋ฒ์งธ ๊ธ์๋ถํฐ ํฌ์ปค์ฑ ์๋ฉธ
์๋ ํ์ธ์๋ฅผ ์น๋ ค๋ฉด
์
์ ์น๊ณ ๋์ ๋ค์ ๋ง์ฐ์ค๋ก ํด๋ฆญํ๋ค์์
์๋ ํ์ธ์
๋ฅผ ์ด์ด๋๊ฐ๋ฉฐ ํ์ดํํด์ผ ํ๋ค. ์ด๊ฒ ๋ฌด์จ ์ผ์ด๊ณ . ๊ธ์๋ฅผ ์ฐ๋ ค๋ฉด ๋ง์ฐ์ค๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค๋. ๊ทผ๋ฐ ์ด๊ฒ ํ๊ธ์ ํ์ ์ด๋ค. ์์ด๋ฅผ ์ธ ๋์๋ ํฐ ์ ์ฝ์ด ์๋๋ฐ ํ๊ธํํ ๋ง ๋ฐํ๋ค.
English does not matter.
๊ทธ๋์ ์ด์ฉ ์ ์์ด
์คํ์ด์ค๋ฐ๋ฅผ ํ๋ฒ ๋๋ฅด๊ณ ํ์ดํ์ ํ๋ ๊ผผ์๋ฅผ ์ฐ๊ธฐ๋ก ํด์ ํ๋์ ์ด๋ ๊ฒ ์์ฑํ๋ค. ๊ทผ๋ฐ ๋งค๋ฒ ๊ท์ฐฎ๊ณ ์ฑ์ง๋๋ค.
2. ์ํฐ ์
๋ ฅ์ ๋ง์ง๋ง ํ๊ธ ์๋ฉธ
๋ง ๊ทธ๋๋ก์ด๋ค. ์ค๋ฐ๊ฟ์ ํ ๋ ๋ง์ง๋ง ๊ธ์๊ฐ ์์ด์ง๋ค. ๋ค์๊ณผ ๊ฐ์ ๋๋์ด๋๊น.
๋๋ ํ๊ต์ ๊ฐ๊ณ ์์
๊ทธ๋์ ์ ๋ง ์ซ์
๋ท ๊ธ์๋ค์ด ์ฌ๋ผ์ง๋ ํ์. ์ด๊ฒ ๋ฌด์จ ์ผ์ด๊ณ .
3. ์ํฐ ์
๋ ฅ ์ ํ๋ฒ ๋ ์ํฐ๋ฅผ ํ์
์ํฐ์ ๋ํ ๋ฌธ์ ๋ ์ฌ๊ธฐ๊น์ง๊ฐ ์๋๋ฐ, ํ๊ธ์ ์ ๋ ฅํ๊ณ ์ํฐ๋ฅผ ๋๋ฅด๋ฉด ์ํฐ๊ฐ ๋จนํ๋ค(์ฌ๋ผ์ง๋ค ํํ์ด ์ ์ ํ๋ ค๋) ์ํฐ๋ฅผ ๊ผญ ํ๋ฒ ๋ ๋๋ฌ์ผ ๋๋ ๊ท์ฐฎ๊ณ ์ ๊ฒฝ์จ์ผ ํ๋ ์ผ์ด ์๊ธด๋ค. ๊ฒฐ๊ตญ 2, 3๋ฒ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๋ง์ง๋ง์ ์คํ์ด์ค๋ฐ๋ฅผ ํ๋ฒ ๋ ๋๋ฅด๊ณ ์ํฐ๋ฅผ ๋๋ฅธ๋ค.
์ด๊ฒ ๋ฌด์จ ์ผ์ด๊ณ .
4. ์๋นํ ๋ ๋ฐ์๊ณผ ํ๊ธ ์
๋ ฅ ์ค์๋
์ด๊ฑด ๋งค๋ฒ ๋ค๋ฅธ ๊ฒ ๊ฐ์๋ฐ ๊ธ์ ์ฐ๊ธฐ ์์ํ ๋๋ ๋ ์ด ๋ฐ์ํ์ง๋ง ์ฃผ๋ก ๊ธ์ ์ด๋ ์ ๋ ์ผ์ ๋ ๋ ์ด ๋ฐ์ํ๋ค. ์ด๋ฌ๋ฉด ๋ฌธ์ ๊ฐ ๋ญ๋๋ฉด ํ์๋ฅผ ๋น ๋ฅด๊ฒ ๋ชป์น๋ค. ํ 400-500ํ ์ ๋์ ์๋์์๋ ๋ ์ด ๊ฑธ๋ฆฐ๋ค. ์ด๋ฌ๋ฉด ์ด๋ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋๋ฉด "๋๋ ์ง์ ๊ฐ๋ค๊ฐ ํ์์ ๊ฐ๋ ค๋๋ฐ ์ฐ์ฐ์ ๋๊ณ ์์ ๋ค์ ์ง์ ๊ฐ๋ค." ๋ผ๋ ๋ฌธ์ฅ์ ๋น ๋ฅด๊ฒ ์น ๋
๋
์.. ์ฒซ๊ธ์ ๋ค์..
๋๋ ์ง์ ๊ฐ๋ฐ๊ฐ ใ ใฑ์์ ใ ๋ ค๋๋ฐ ์ฐ์ฐ์ ๋๊ณ ์์ ๋ค์ ์ง์ ๊ฐ
์ฒ๋ผ ๋๋ค. ์ฌ๊ธฐ์ ๋ณผ ์ ์๋ ๋ฌธ์ ์ ์
๊ฐ๋ฐ๊ฐ
๊ฐ์ ใ ์ ์ ๋ ฅํ๊ณ shift๊ฐ ๋จ์์์ด์ ๋ค์ ใท ์ด ใธ์ด ๋จ
ใ ใฑ์์ ใ ๋ ค๋๋ฐ
ํ์์ ๊ฐ๋ ค๋๋ฐ๋ฅผ ์ ๋ ฅํ๋ ค๊ณ ํ๋๋ฐ. ใ ๊ณผ ใฑ ์ด๋
๋๊ณ ์์, ์ง์ ๊ฐ(๋ค)
ใ ๋ ์ด๋๊ฐ๊ณ ์ญ์๋ ๋ง์ง๋ง ๊ธ์ ์ฌ๋ผ์ง
์ด๋ ๋ค๋ณด๋ ๊ธ ์ ๋ ฅํ ๋ ํ์์๋๋ ์ ํ์ ๋ฐ์ผ๋ฉด์ ์ณ์ผ๋๊ณ ๋ ๋ ๊ฑธ๋ฆฌ๋ฉด์ ๊ฐ์ข ์ ๊ฒฝ์ธ ๊ฒ์ ๋ค ์ ๊ฒฝ์ฐ๋ฉด์ ํด์ผํ๋ ์ด๊ฑฐ ์ธ ์ ์๊ฒ ๋?? ํ๋ฌ ๋ฐ์ ์ ์งํ ๊ฒ๋ ๋๋จํ ์ผ์ด๋ค.
๋ผ๊ณ ์๊ฐํด์ ๋ธ๋ก๊ทธ ๊ต์ฒด๋ฅผ ์๊ฐํ๊ณ ์์๋๋ฐ ๋ค๋ฅธ ๋ธ๋ก๊ทธ๋ CSS ์์ ํด์ผ ๋๋ ๊ฒ๋ ๋ง๊ณ ๋ณต์กํ ๊ฒ๋ ๋ง์์ ์๊ทผ ์ ์ด ๊ฐ์ง ์์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ด๊ฐ GITBOOK์ ์ฐ๋ ์ด์ ๋
์๋ ๋ง๋ค๊ธฐ (์ ์ผ ์ค์)
๊น๋ํ ์นดํ ๊ณ ๋ฆฌ ๊ตฌ์กฐ (์ด๊ฒ๋ ๊ฝค ์ค์)
์ค๋ฅธ์ชฝ ๋ฐ์ H2๋ถํฐ ์ปจํ ์ธ ๋ก ๊ณ ์ (์ด๊ฑด ์ ์ ํ ์ค์)
์ธ๋ฐ ..
๊ทธ๋๋ฐ ๋ง์ ๋๋ค.
๋๋ฌด ์์ฌ์ ๊น๋ถ์์ ์ง์ Contact๋ฅผ ํ๊ณ 20์ค ๊ฐ๋์ ํธ์๋ชฌ์ ์ ์ถํ๋๋ ํ๊ธ ์ธํฐํ์ด์ค๋ฅผ ๊ณ ์น ์ ์์ ์ง ๋ชจ๋ฅด๊ฒ ๋ค๋ ๋ถํ์ค์ฑ์ ๋ด๋น์ถ์๊ณ ๊ฒฐ๊ตญ ํฌ๊ธฐํ๋ ค๋ ์ฐธ์ ํ์ด์ดํญ์ค๋ก ํด๋ณด๋ผ๋ ๋ง์ง๋ง ์ค ๋ฐ๊ฒฌ.
๊น๊ธฐ๊ฐ ๋๋ฌด ๊ท์ฐฎ์์ ์ฃ์ง๋ IE๋ก ์์ฑํด๋ดค๋๋ฐ ๋์ผํ ๋ฌธ์ ๋ฐ์. ํ์ด์ดํญ์ค๋ ๋ค๋ฅด๊ฒ ์ด? ํ๊ณ ํฌ๊ธฐํ ๋ค ๊นํ๋ธ ์งํฌํ ๋ง ๋ง์ง๋ค๊ฐ ์ฑ์ง๋์ ํ์ด์ดํญ์ค ์ค์น.
5. ๊ฒฐ๋ก
ํ์ด์ดํญ์ค๋ ํ๊ธ ํธํ์ด ๋๋ค. ๋ฌธ์ 1~3๋ฒ์ ์์ ํ ํด๊ฒฐ์ด๊ณ 4๋ฒ์ ์ด๋ ์ ๋ ๋ ์ด ์๊ธดํ๋ฐ ์๋ฌด๋ฆฌ ๋นจ๋ฆฌ ์จ๋ ๊ธ์๊ฐ ์ฌ๋ผ์ง๋ ์ผ์ ๋ฐ์ํ์ง ์๋๋ค (ํ์ ๋น ๋ฅด๊ฒ ์น๊ณ ์๋ผ๋ฉด ์๊ฒฉ์ผ๋ก ๋๊ฐ ํ์ดํ ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์. ์ ๋ด์ปด์ด ์์ข์๊ฑด๊ฐ) ๊ทธ๋์ ๋ค์ ์ฐ๊ฒ๋์๋ค. ๋. ๋ค๋ฅธ ๊น๋ถ ์ ์ ๋ ์ฐธ๊ณ ํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค. ๊ตฌ๊ธ๋ง ๊ฒ์ ๊ฒฐ๊ณผ์๋ ๊น๋ถ ํ๊ธํธํ์ ๋ํ ์ด์๋ฅผ ๋ค๋ฃฌ ๊ธ์ด ๊ฑฐ์ ์๊ณ ํด๊ฒฐ์ฑ ์ ํ๋๋ ์๋ค.
Last updated
Was this helpful?