์ธ์์ ์งง์ต๋๋ค. ๊ฒฐ์ ์ฐ๋์์๋ ํ์ด์ฌ/์ฅ๊ณ ๋ฅผ ํตํด,
๋น์ฆ๋์ค๋ฅผ ๋น ๋ฅด๊ฒ ์ฑ๊ณต์ ์ผ๋ก ์ด๋์๊ณ ์ฌ๋ฌ๋ถ์ ์๊ฐ๋ ์๋ผ์ธ์. ๐ช
๊ฐ์ ๋ฃ๊ณ PyCharm Professional ์ฟ ํฐ ๋ฐ์! ๐ซ
์ฅ๊ณ ๊ฐ๋ฐ์ ์ต์ ์ IDE์ธ PyCharm Professional (์ ๋ฃ ํด)์ ๊ฐ์ ํ์๋ ์ฌ์ฉํ์ค ์ ์๋๋ก JetBrains์ผ๋ก๋ถํฐ 6๊ฐ์ ์ฟ ํฐ์ ํ์๋ฐ์์ต๋๋ค.
- ๊ฐ์ ์ค์๋ PyCharm Professional ํธ๋ผ์ด์ผ 1๊ฐ์ ๋ผ์ด์ผ์ค๋ก ์งํํฉ๋๋ค.
- ์๊ฐํ์ง ์์ผ์
๋, ์๊ฐ์ ์ฒญํ์
จ๋ค๋ฉด ์๋ ๊ตฌ๊ธํผ์ ํตํด ์ฟ ํฐ ์ ์ฒญ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ์ ์ฒญ ๋งํฌ : https://forms.gle/mvDwLQmaCz4Z2vQD9
- ๋งค์ฃผ ๊ธ์์ผ๊น์ง ์ ์ฒญ๋ ๋ด์ญ์ ํ์ธํ์ฌ ์ ์ฒญํ์ ์ด๋ฉ์ผ ์ฃผ์๋ก ์ฟ ํฐ์ ๋ณด๋ด๋๋ฆฌ๊ฒ ์ต๋๋ค.
- ๋ฐ์ ์ฟ ํฐ์ ์ฆ์ ๋ฑ๋กํด์ฃผ์ธ์. ๋ฑ๋กํ์ง ์์ผ๋ฉด JetBrains๋ก๋ถํฐ ๋ ์ด์ ๋ผ์ด์ผ์ค ์ง์์ ๋ฐ์ ์ ์๊ฒ ๋ฉ๋๋ค.
- ์ฟ ํฐ ์ ์ฒญ์ ๊ฐ์ ๋ณ๋ก 1์ธ 1ํ ๊ฐ๋ฅํฉ๋๋ค.
- Tip: ๋ณธ ์ฟ ํฐ์ ์ฌ์ฉํ์ ํ์, ํด๋น ๊ณ์ ์์ ์ด์ด์ ์ ๋ฃ๋ก JetBrains ๊ตฌ๋
ํ์๋ฉด, ํ ์ธ๋ ๊ฐ๊ฒฉ์ผ๋ก ๊ตฌ๋
ํ์ค ์ ์์ต๋๋ค.
์ฐธ๊ณ ) ํ์/๊ต์ฌ์ด์ ๋ถ์ JetBrains์ ํ์ ์ง์ ํ๋ก๊ทธ๋จ์ ํตํด, JetBrains์ ๋ชจ๋ ํด์ 1๋
๋จ์๋ก ๋ผ์ด์ผ์ค ๋ฐ์ผ์ค ์ ์์ต๋๋ค. ํด๋น ํ๋ก๊ทธ๋จ์ ์ ์ฒญํ์๋ฉด ์์ผ ๋ด๋ก ๋ผ์ด์ผ์ค๋ฅผ ๋ฐ๊ธ๋ฐ์ผ์ค ์ ์์ต๋๋ค.
์ฌ๋ฌ๋ถ๋ค์ ์ด๋ค ์ฝ๋๋ฅผ ์ ํํ์๊ฒ ์ด์?
- ์ผ์ชฝ ์ฝ๋ : ํฌํธ์ ๊ฒฐ์ API๋ฅผ ์ฌ์ฉํ ์ฝ๋
- ์ค๋ฅธ์ชฝ ์ฝ๋ : ์ด๋์์ค ์ฌ์ JSP ์ํ ์ฝ๋
์์ํฌํธ์ ๊ฒฐ์ API๋ ๊ฐ๊ฒฐํ๊ณ ๊ฐ๋ ฅํ์ง๋ง, ์ด๋ฅผ ์น์๋น์ค์ ์ ๋ชฉํ๊ธฐ๋ฅผ ์ด๋ ค์ํ์๋ ๋ถ๋ค์ด ๋ง์ต๋๋ค. ์ด ๊ฐ์ ํ๋๋ฉด ์ฌ๋ฌ๋ถ์ ์ฅ๊ณ ํ๋ก์ ํธ์ ์์ํฌํธ ๊ฒฐ์ ๋ฅผ ์ฐ๋ํ์ค ์ ์์ต๋๋ค.
์์ํฌํธ ๐ณ
์น ์๋น์ค์์ ๊ฒฐ์ ์ฐ๋์ ์ค๋ซ๋์ ์ฐ๋ฆฌ๋ฅผ ํ๋ค๊ฒ ํ๋ ๊ธฐ๋ฅ์ด์์ต๋๋ค. PG์ฌ๋ค์ ๊ฒฐ์ ์ฐ๋ ๊ฐ๋ฐ ๊ฒฝํ ๊ฐ์ ์๋ ์ ํ ๊ด์ฌ์ด ์์์ต๋๋ค.
- ๊ฐ PG์ฌ์ ์ญ์ ๋
์ ์ ๋ง๋ค์ด์ง ์ฅํฉํ ๊ฐ๋ฐ๋ฌธ์์ ๋
ธํํ PHP/JSP ์ํ ์ฝ๋
- ํ๋์ ์ธ ์ธ์ด์ ํ๋ ์์ํฌ์ ์ ์ฉํ๋ ค๋ฉด, ์ด๋์๋ถํฐ ์์ํด์ผ ํ ๊น? ๐ข
- PG์ฌ๋ค๋ง๋ค ๋ค๋ฅธ ํ๋กํ ์ฝ
- PG๋ฅผ ํ๋๋ง ์ฐ๋ฉด ๋จ์ผ์ฅ์ ์ ์ด ๋๋, PG 2๊ฐ ์ด์ ์ธ๋ ค๋ฉด ๊ฐ๊ธฐ ๋ค๋ฅธ PG ํ๋กํ ์ฝ ๊ตฌํ์ ํด์ผ ํ๋ค๊ณ ? ๐จ
๊ทธ๋ฌํ ์ด๋ ค์์ ํฌํธ์ (๊ตฌ: ์์ํฌํธ) ์๋น์ค๊ฐ ํด๊ฒฐํด์ฃผ์์ต๋๋ค. ๋์งํธ ํ์์ฆ์ "์จ๋ผ์ธ ๊ฒฐ์ ์๋น์ค ์
์ฒด ์์ํฌํธ, ๋์ ๊ฑฐ๋์ก 4์กฐ ์ ๋ํํด" (2020๋
9์ 9์ผ ๊ธฐ์ฌ)์ ๋ฐ๋ฅด๋ฉด, 2020๋
๋น์ ๋น๊ทผ๋ง์ผ, ๋ฐ๋ฆฌ์ ์์ฌ, ๋ผ์ธํ๋ ์ฆ, ์ค๋์์ง, ๋ฒ๊ฐ์ฅํฐ, ์คํ์ผ์์ด ๋ฑ์ ๊ธฐ์
๋ค์ด ์์ํฌํธ๋ฅผ ํ์ฉํด์ ์จ๋ผ์ธ ๊ฒฐ์ ๋ฅผ ๊ตฌํํ๋ค๊ณ ํฉ๋๋ค.
์์ํฌํธ ์๋น์ค๋ ๋ค์ ์ฅ์ ์ด ์์ต๋๋ค.
- ๊ฐ๊ฒฐํ๊ณ ๋ช
ํํ ๊ฒฐ์ API๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ํฌํธ์์ ๋จ์ผ API๋ง์ผ๋ก ๊ตญ๋ด ๋ชจ๋ PG์ฌ์ ๊ฒฐ์ ์ฐ๋์ด ๊ฐ๋ฅํฉ๋๋ค.
- PG๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์์ค์ฝ๋๋ฅผ ๋ณ๊ฒฝํ ํ์ ์์ด, ํฌํธ์ ๊ด๋ฆฌ์ ํ์ด์ง์์ ์ค์ ๋ง ๋ณ๊ฒฝํด์ฃผ๋ฉด ๋ฉ๋๋ค.
- ์ฌ๋ฌ PG์ฌ์ ๊ณ์ฝ์ ์ํ ์ ์ฒญ์ ํฌํธ์ ๊ด๋ฆฌ์์์ ํ ๋ฒ์ ์งํํ ์ ์์ต๋๋ค.
- ์น์ ํ๊ณ ์์ธํ ๊ฐ๋ฐ ๊ฐ์ด๋์ ์ฌ๋ฌ ์ธ์ด/ํ๋ ์์ํฌ์ ์ต์ ํ๋ ํ๋ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ ๊ณต๋ฉ๋๋ค.
- ํ์ด์ฌ, React, Vue, Cordova, Swift, Android, Flutter, Go, Java ๋ฑ
์ด๋ฐ ๋ถ๋ค๊ป ์ถ์ฒํด์ ๐โโ๏ธ
ํ์ด์ฌ/์ฅ๊ณ ํ๋ก์ ํธ์ ๊ฒฐ์ ๋ฅผ ์ฐ๋ํ๊ณ ์ถ์ ๋ถ
์์ํฌํธ๋ฅผ ํ์ฉํ ํจ์จ์ ์ธ ๊ฒฐ์ ์ฐ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์ถ์ ๋ถ
์ฅ๊ณ ๊ธฐ์ด ์ดํ ์๋ก์ด ๋์ ์ ์ฐพ๊ณ ์๋ ๋ถ
๊ฐ์ ํน์ง โจ
๊ธฐ์ด๋ถํฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์์ ์ฌ๋ฆฌ๋ ๊ฒฐ์ ๊ฐ์
์ฅ๊ณ ํ๋ฆญ ๊ฐ๋ฐ์๊ฐ ์ ์ํ๋ ํจ์จ์ ์ธ ํ์ต
๊ฒฐ์ ์ฐ๋ 2ํ ์ค์ต์ผ๋ก ์ดํด๋ Up
10๋ถ ๋ด์ธ์ ์์์ผ๋ก ์๊ฐ ํธ์์ฑ ์ฆ๋
ํธํ ํ์ต ํ๊ฒฝ์ ์ํ ํ๊ธ ์๋ง ์ ๊ณต
ํ์ต์ ์ํ ๊ฐ์ ์ฌ๋ผ์ด๋ PDF ์ ๊ณต
ํ์ต ๋ด์ฉ ๐
1. Overview
- ์ค์ ์์ค ์ฝ๋ ๋ฐ ๋ฐ๋ชจ์ ํจ๊ป, ์์ํฌํธ ๊ฒฐ์ ์ฐ๋ ํต์ฌ์ฝ๋
- ์ฅ๊ณ ์์ ํฌํธ์ API ์ฐ๋์ ์ํ ๊ฒฐ์ ํ๋ก์ธ์ค 9๋จ๊ณ
2. ์ฅ๊ณ ํ๋ก์ ํธ ์ฌ์ ์์
- ์ฅ๊ณ ํ๋ก์ ํธ ์์ฑ ๋ฐ ์์
- ์์ค ์ฝ๋ ํฌ๋งทํ
์ ํธ๋ฆฌํฐ black๊ณผ djlint ์ค์น ๊ฐ์ด๋
- django-debug-toolbar ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
- django-environ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ ํ๊ฒฝ๋ณ์ ๋ก๋ฉ ๋ฐ ํ์ฑ
- django-bootstrap5 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ ์์ฌ์ด ๋ถํธ์คํธ๋ฉ ์ฐ๋
3. ์์ํฌํธ ํต์ฌ ๋ก์ง์ ๋น ๋ฅด๊ฒ ์ดํด๋ณด๊ณ ๊ตฌํํด๋ณด๊ธฐ
ํฌํธ์ JS API ๋ฐ REST API๋ฅผ ์ฅ๊ณ ํ๋ก์ ํธ์ ์ต์ํ์ ์ฝ๋๋ก ์ ์ฉํ์ฌ, ํฌํธ์ API๋ฅผ ๊ฒฝํํด๋ด
๋๋ค.
- ํฌํธ์ JS API๋ง์ผ๋ก ๊ฒฐ์ ํด๋ณด๊ธฐ
- Payment ๋ชจ๋ธ์ ํตํ ๊ฒฐ์ ๋ด์ญ ์ ์ฅ ๋ฐ ์กฐํ
- ํฌํธ์ ๊ฐ๋งน์ ์๋ณ์ฝ๋ ํ์ธ ๋ฐ ํ๊ฒฝ๋ณ์๋ก ์ง์ ๋ฐ ๋ก๋ฉ
- ํฌํธ์ REST API๋ฅผ ํ์ฉํ ๊ฒฐ์ ๋ด์ญ ๊ฒ์ฆ
4. accounts ํ์๊ฐ์
, ๋ก๊ทธ์ธ, ๋ก๊ทธ์์, ํ๋กํ ๊ตฌํ
๊ฒฐ์ ๋ฐ ๊ฒฐ์ ํ์ธ์ ์ํด์๋ ์ฌ์ฉ์ ์ธ์ฆ์ด ํ์์
๋๋ค. ์ฅ๊ณ ๊ธฐ๋ณธ ์ฑ django.contrib.auth๋ฅผ ์ ๊ทน ํ์ฉํ์ฌ ์ ์ ์ธ์ฆ์ ๊ตฌํํฉ๋๋ค.
- UserCreationForm๊ณผ CreateView๋ฅผ ํ์ฉํ ํ์๊ฐ์
๊ตฌํ
- LoginView๋ฅผ ํ์ฉํ ๋ก๊ทธ์ธ ๊ตฌํ
- LogoutView๋ฅผ ํ์ฉํ ๋ก๊ทธ์์ ๊ตฌํ
- login_required ์ฅ์์๋ฅผ ํ์ฉํ ํ๋กํ ๊ตฌํ
5. mall ์ฑ - ๊ธฐ๋ณธ ๊ตฌ์ฑ
์ํ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ๋ง๋ค์ด๋ด
๋๋ค.
- ์ํ ๋ถ๋ฅ(Category) ๋ฐ ์ํ(Product) ๋ชจ๋ธ๋ง
- ์ฅ๊ณ ์ปค์คํ
๋ช
๋ น load_products ๊ตฌํ์ ํตํ, 300์ฌ ๊ฐ์ ์ํ ์ผ๊ด ๋ฑ๋ก
- ์ํ ์ฌ์ง ์๋น์ ์ํ MEDIA ์ค์
- ํจ์จ์ ์ธ ์ํ ๊ด๋ฆฌ๋ฅผ ์ํ Admin ์ปค์คํ
- ์ ์ ๋
ธ์ถ์ฉ ์ํ ํ์ด์ง ๋ง๋ค๊ธฐ, ์ธ๋ค์ผ ์ด๋ฏธ์ง ์์ฑ, ํ์ด์ง ์ง์, ๊ฒ์ ์ง์
6. mall ์ฑ - ์ฅ๋ฐ๊ตฌ๋
๋ณด๋ค ํธ๋ฆฌํ ๊ฒฐ์ ๋ฅผ ์ํด์๋ ์ฅ๋ฐ๊ตฌ๋ ๊ธฐ๋ฅ์ ํ์์
๋๋ค.
- CartProduct ๋ชจ๋ธ์ ํตํ ์ฅ๋ฐ๊ตฌ๋ ๊ตฌํ
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์
์์ด ์ฅ๊ณ formset๋ง์ผ๋ก ์ฅ๋ฐ๊ตฌ๋ ์์ ๊ตฌํ
- django-widget-tweaks ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ ์์ ฏ ์คํ์ผ ๋ณ๊ฒฝ
- ๋ถํธ์คํธ๋ฉ์ ํ์ฉํ ์ฅ๋ฐ๊ตฌ๋ ์๋ฆผ ๊ตฌํ
7. mall ์ฑ - ์ฃผ๋ฌธ ๋ฐ ๊ฒฐ์
๋ณธ ๊ฐ์์์ ํ์ด๋ผ์ดํธ ์น์
์
๋๋ค.
- ์ฃผ๋ฌธ๊ณผ ๊ฒฐ์ ๋ชจ๋ธ๋ง
- ์ฅ๋ฐ๊ตฌ๋๋ฅผ ํตํ ์ฃผ๋ฌธ ์์ฑ
- ํฌํธ์ ๊ฒฐ์ ๋ฅผ ์ถ์ํํ ๋ชจ๋ธ ์ค๊ณ : ๋ค์ํ ๋๋ฉ์ธ์ ์์ฝ๊ฒ ํด๋์ค ์์๋ง์ผ๋ก ์์ํฌํธ ๊ฒฐ์ ๋ฅผ ๋ถ์ผ ์ ์๋๋ก, abstract Model์ ์ค๊ณํด๋ด
๋๋ค.
- ๊ฒฐ์ ํ์ด์ง ๊ตฌํ, ๊ฒฐ์ ์กฐํ ํ์ด์ง ๊ตฌํ
- ์ฃผ๋ฌธ ๋ชฉ๋ก ํ์ด์ง ๊ตฌํ
- Admin ํ์ด์ง์์์ ๊ฒฐ์ ์ทจ์ ๊ตฌํ
8. mall ์ฑ - ๊ฒฐ์ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ
์ ์ ์ ๋๋ฐ์ด์ค์ ๋ฐ๋ผ์ ๊ฒฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ ๋ฐฉ๋ฒ์ด ๋ค๋ฆ
๋๋ค. ์์ ์ ์ผ๋ก ๊ฒฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ด
๋๋ค.
- ์์ดํฐ/์๋๋ก์ด๋ ํ๊ฒฝ์์์ ๊ฒฐ์ ๋์์ ์ํ m_redirect_url ์ธ์ ์ง์ ๋ฐฉ๋ฒ
- ์์ ์ ์ธ ๊ฒฐ์ ์ฐ๋์ ์ํ ์นํ
์ง์ ๋ฐฉ๋ฒ
- ์นํ
ํ
์คํธ๋ฅผ ์ํ ngrok ์ฐ๋ ๋ฐฉ๋ฒ: DisallowedHost ์์ธ, CSRF ๊ฒ์ฆ ์คํจ ์ค๋ฅ ๋์ ๋ฐฉ๋ฒ
์์ ์ง๋ฌธ Q&A ๐ฌ
Q. ์๊ฐ ์ ์ ๊ฐ์ถฐ์ผ ํ ํ๊ฒฝ, ๊ธฐํ ์ ์ ์ฌํญ์ด ์๋์?
๋ณธ ๊ฐ์๋ ํ์ด์ฌ/ํ์ด์ฐธ ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ์ ๋ํด์๋ ๋ค๋ฃจ์ง ์์ต๋๋ค. ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ์ <์ฅ๊ณ ์ค๊ณ์ฒ ํ์ผ๋ก ์์ํ๋ ํ์ด์ฌ/์ฅ๊ณ ์
๋ฌธ>์ ๊ฐ๋ฐํ๊ฒฝ๊ตฌ์ถ ์น์
์ "๋ฏธ๋ฆฌ๋ณด๊ธฐ"๋ก ๊ณต๊ฐํด๋์ผ๋, ์ด๋ฅผ ์ฐธ๊ณ ํด ๊ตฌ์ถํด์ฃผ์ธ์.
Q. ๊ฒฐ์ ์ฐ๋์ ์ฌ์
์๊ฐ ํ์ํ๊ฐ์?
์๋์. ํฌํธ์ ํ์๊ฐ์
๋ง์ผ๋ก ์ ์ฉ์นด๋ ๊ฒฐ์ ๋ฅผ ์ฐ๋ํ์ค ์ ์์ต๋๋ค. ์ฌ์
์ ๋ฐ PG ๊ฐ์
์ ์๋น์ค ๊ตฌํ ๋ค์ ํ์
๋ ๋ฉ๋๋ค.
Q. ์ฅ๊ณ ๋ฅผ ์ฒ์ ์์ํ๋ ์ฌ๋๋ ๋ค์ ์ ์๋ ๊ฐ์์ธ๊ฐ์?
์ฅ๊ณ ์ ์ค์ต์๋ ์ง์ฅ์ด ์์ง๋ง, ์ฅ๊ณ ์ ํต์ฌ ๊ฐ๋
๋ค์ ์๊ณ ๊ณ์ ๋ค๋ฉด ๊ฐ์ ์ดํด์ ํฐ ๋์์ด ๋ฉ๋๋ค.
์ง์๊ณต์ ์ ์๊ฐ โ๏ธ
ํ์ด์ฌ๊ณผ ์ฅ๊ณ ์ ์ง์ฌ์ธ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ด์ง์์
๋๋ค.
- ํ์ด์ฌ ํ๋ฆญ, ์ฅ๊ณ ์ค๋ฌด 16๋
์ฐจ ๊ฐ๋ฐ์
- ์ฅ๊ณ ์ง๋ต ์ปค๋ฎค๋ํฐ Ask Company with Django/React (๊ตฌ. Ask Django) ์ด์์
- ๋์ <ํ์ด์ฌ ์ฌ๋๋ฐฉ> ์ด์์
- Microsoft Azure MVP ์ด์๋ ์์ (2016๋
~2021๋
, Microsoft MVP๊ฐ ๋ฌด์์ธ๊ฐ์?)
- ์์ธ๋ํ๊ต, ๋ฒค์ฒ๊ฒฝ์ํ ์ฐํฉ์ ๊ณต, ํ์ด์ฌ/์ฅ๊ณ ๊ฐ์ "๋ฒค์ฒ์ฐฝ์
์นํ๋ก๊ทธ๋๋ฐ" ๊ฐ์ฌ (2016๋
/2017๋
)
- ํจ์คํธ์บ ํผ์ค, ์น์๋น์ค ๊ฐ๋ฐ ์บ ํ (ํ์ด์ฌ/์ฅ๊ณ ) 3๊ธฐ ๊ฐ์ฌ (2015๋
)
- ๋ค์ ๋ํ ๋ฐ ๊ธฐ์
๊ฐ์ ๋ฐ ์๋ฌธ : ์์ธ๋ํ๊ต, ์นด์ด์คํธ, ๋ถ์ฐ๋ํ๊ต, ํ์๋ํ๊ต, ๊ตญ๋ฏผ๋ํ๊ต, ์ผ์ฑ์ ์, LG์ ์, LS๊ทธ๋ฃน, SK Planet, ์์ฝ์, KB์ฆ๊ถ, SKํ
๋งํฌ, ํ๋์๋์ฐจ๊ทธ๋ฃน ์ด๋
ธ์
, ์ฝ์ค์ฝค, ๋ค์ด๋ฒ NIT Service, ์ํธ์ผํฐ ๋๋น, ํ๊ตญ์ํ, ํ๊ตญ์ฐ์
๊ธฐ์ ํ๊ฐ์ ๋ฑ