์ง๊ธ ๊ฐ์ฌํ๊ฒ๋ ๋ช ๊ตฐ๋ฐ ๋ฉด์ ์ ๋ณด๊ณ ์๋ค. ์คํ๋ผ์ธ์์ ๋ฉด์ ์ ๋ฐ๋ก ๋ณธ ํ์ฌ๋ ์์๊ณ , ์ฝ๋ฉ ํ ์คํธ๋ฅผ ๋ณด๋ด์ฃผ๋ ํ์ฌ๋ ์๊ณ , ๊ทธ๋ฆฌ๊ณ ์ฝ๋ฉ ๊ณผ์ ๋ผ๊ณ ํด์ API๋ฅผ ๋ง๋ค์ด์ผ ๋๋ ํ์ฌ๋ ์์๋ค.Django REST Framework๋ฅผ ๊ธฐ๋ฐ์ผ๋ก API๋ฅผ ๋ง๋ค์ด๊ฐ๊ณ ์๋๋ฐ
DevOps๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์๋น์ค๋ฅผ ๋น ๋ฅธ ์๋๋ก ์ ๊ณตํ ์ ์๋ ์๋๋ก ์กฐ์ง์ ์ญ๋์ ํฅ์์ํค๋ ๋ฌธํ ์ฒ ํ, ๋ฐฉ์ ๋ฐ ๋๊ตฌ์ ์กฐํฉ์ด๋ค. ๊ธฐ์กด์ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐ ์ธํ๋ผ ๊ด๋ฆฌ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ๋ ์กฐ์ง๋ณด๋ค ์ ํ์ ๋ ๋น ๋ฅด๊ฒ ํ์ ํ๊ณ ๊ฐ์ ํ ์ ์๋ค. ์ด๋ฌํ ๋น ๋ฅธ ์๋๋ฅผ
๋ ธ์ ์์ ๋ ๊น๋ํ ์ ๋ฆฌ๋ณธ์ ๋ณด์ค ์ ์์ต๋๋ค.Git์ ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ (VCS)๋ก, ํ๋ก์ ํธ ํ์ผ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ๋ ์์คํ ์ด๋ค.์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ค์ ํ๋ก์ ํธ์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ธฐ๋กํ๊ณ , ํน์ ์์ ์ ๋ฒ์ ์ผ๋ก ์ธ์ ๋ ๋์๊ฐ ์ ์๋ค.๋ง์ ์ฌ๋๋ค์ด ํจ์จ์ ์ผ๋ก ํจ
์์ฝ๋ 3๊ฐ์ ํ๊ณ ๋ก์ ์ฐ๋ฉด์ ๊ฐ๋ฐ์ฒ ํ, ์ธ์์ฒ ํ, ์์ฝ๋์์ ๋ฐฐ์ด ๊ฒ๋ค, ์์ผ๋ก ์ด๋ค ๊ฐ๋ฐ์๊ฐ ๋๊ณ ์ถ์์ง ์ถฉ๋ถํ ์์ ํ์ด์ผ ํ๋๋ฐ, ์์ฝ๋์์ ์์คํ๋ 3๊ฐ์์ด๋ ์๊ฐ์ ๋ํด ์ ๋ค๋ณด๋ ์กฐ๊ธ ๊ฐ์ฑ์ ์ธ ๊ธ์ด ๋ ๊ฒ ๊ฐ์, ๋ด๊ฐ ์๊ฐํ๋ ๊ฐ๋ฐ์๋, ๋ ๋๊ณ ์ถ์ ๊ฐ๋ฐ์๋
์ธ์์์ ๊ผฝ์ผ๋ผ๋ฉด ๊ผฝ์ ์ ์๋ ํ๋ณตํ ๊ธฐ์ต์ค์ ํ๋, ์์ฝ๋์ฌ์ค 1๊ฐ์์ฐจ ํ๊ธฐ, ํ๋ก์ ํธ ํ๊ธฐ๋ค์ ์ฐ๋ฉด์ 1,2 ๊ฐ์์ฐจ ์๊ธฐ๋ ๋ง์ด ๋๋์๋ ๊ฒ ๊ฐ๋ค.๊ฐ๋จํ ์ ๋ฐ์ ์ธ ์๊ธฐ๋ฅผ ํด๋ณด์๋ฉด, ์์ฝ๋ 15๊ธฐ๋ ๋ค์ฌ๋ค๋ํ๋ค. ๋ฉํ ๋๋ค์ ์ญ๋๊ธ ๊ธฐ์ ๋ถ์๊ธฐ๋ผ๋ฉฐ ์ฐ๋ฆฌ์ ๋ถ์๊ธฐ๋ฅผ ์นญ
์ฅ๊ณ ์ ์ ๋ชจ๋ธ ํ์ฅ์ ํ์ฌ ์ฌ์ฉํ๋ ์ค, admin ์ฌ์ดํธ์์ ํ ํฐ ์์ฑ์ด ๊ฐ๋ฅํ์ง๋ง ์ ์ ๊ฐ ์์ฑ๋ ๋๋ง๋ค ํ ํฐ์ ํ ๋นํด์ค ์๋ ์์๊นํ๊ณ ๊ฒ์ํด๋ณด๋, ๊ณต์๋ฌธ์์ ์น์ ํ๊ฒ ์ค๋ช ์ด ๋์์์๋ค. ์ฐ์ ํ ํฐ์ ์ฌ์ฉํ๊ธฐ ์ํด settings.py์ ์๋์ ๊ฐ์ด ์ถ๊ฐํด์ฃผ์.์ฒ
'SQL ์ฒซ๊ฑธ์'์ ๊ณต๋ถํ๊ณ ์ ๋ฆฌํ ๊ธ์ ๋๋คRDBMS๋ ๋ณต์์ ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ด์ค๋ ์์ฒญ์ ์๋ตํ ์ ์๋๋ก ํด๋ผ์ด์ธํธ/์๋ฒ ๋ชจ๋ธ๋ก ๋์ํ๋ค.ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์ ์ ์์ฒญ์ด๋ SQL ๋ช ๋ น ์คํ์์ฒญ์ ๋ณด๋ผ ์ ์๋ค.์๋ฒ๋ ์ด๋ฅผ ์ฒ๋ฆฌํ๊ณ ํด๋ผ์ด์ธํธ์ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค.ํด
'SQL ์ฒซ๊ฑธ์'์ ๊ณต๋ถํ๊ณ ์ ๋ฆฌํ ๊ธ์ ๋๋คDBMS์๋ ์ฌ๋ฌ ์ข ๋ฅ๊ฐ ์๋ค.๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ์ฉ ์ฉ๋๋ ์ด๋ฅผ ์ ์ดํ๋ ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ ๋ฑ ๊ฐ๊ฐ์ ์กฐ๊ฑด์ ๋ค์ด๋ง๋ ๋ค์ํ DBMS๊ฐ ๊ณ ์๋์๊ธฐ ๋๋ฌธ์ด๋ค.DMBS๋ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ช ๊ฐ์ง๋ก ๋ถ๋ฅํ ์ ์๋ค.์ญ์ฌ๊ฐ ์ค๋
'SQL ์ฒซ๊ฑธ์'์ ๊ณต๋ถํ๊ณ ์ ๋ฆฌํ ๊ธ์ ๋๋ค๋ฐ์ดํฐ๋ ์ปดํจํฐ ์์ ๊ธฐ๋ก๋์ด ์๋ ์ซ์๋ฅผ ์๋ฏธํ๋ฉฐ, ์ด๋ฌํ ๋ฐ์ดํฐ์ ์งํฉ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ผ๊ณ ํ๋ค.๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ผ๋ฐ์ ์ผ๋ก DB๋ผ๋ ์ฝ์๋ก ํต์ฉ๋๋ค. DB๋ Database์์ ์ํ๋ฒณ D์ B๋ฅผ ํ๋์ฉ ์ถ๋ ค๋ด ๋ง๋ ๋จ์ด์ด๋ค.
๊ณต์ ๋ฌธ์๋ฅผ ์ง์ ๋ฒ์ญํ๊ณ ๊ณต๋ถํ ๊ธ์ ๋๋ค! > Request Objects REST Framework๋ ๊ธฐ์กด์ HttpRequest๋ฅผ ํ์ฅํ๋ Request ๊ฐ์ฒด๋ฅผ ์๊ฐํ๊ณ ๋์ฑ ์ ์ฐํ ์์ฒญ ํ์ฑ์ ์ ๊ณตํ๋ค. Request ๊ฐ์ฒด์ ํต์ฌ ๊ธฐ๋ฅ์ request.data
๋ณ๊ฐ์ ํ๋ก์ ํธ ๊ตฌ์ฑ์ ์ํด ๊ฐ์ํ๊ฒฝ์ ์ค์นํ์.์๋ฃ๋์๋ค๋ฉด ๊ฐ๋จํ Web API์ ์์ฑํ๊ธฐ์ํด ์ฌ์ฉํ ์ฑ์ ์์ฑํ์.์๋ก ์์ฑํ snippets์ฑ๊ณผ rest_framework๋ฅผ tutorial/settings.py์์ INSTALLED_APPS์ ์ถ๊ฐํ์.์ฝ๋ ์กฐ๊ฐ๋ค
๊ธฐ์กด HttpResponse ์ฒด์๋ ๋ค๋ฅด๊ฒ, TemplateResponse ๊ฐ์ฒด๋ ์๋ต์ ๊ณ์ฐํ๊ธฐ ์ํ ๋ทฐ๋ก๋ถํฐ ์ ๊ณต๋ ์ปจํ ์คํธ์ ์ธ๋ถ์ ๋ณด๋ฅผ ์ ์งํ๋ค. Response์ ์ต์ข ์ถ๋ ฅ์ ์๋ต ๊ณผ์ ์์ ํ์ํ ์์ ๊น์ง ๊ณ์ฐ๋์ง ์๋๋ค.REST Framework๋ ํด๋ผ์ด์ธํธ์
If you're doing REST-based web service stuff... you should ignore request.POST." ๋ง์ฝ์ ๋น์ ์ด REST ๊ธฐ๋ฐ์ ์น ์๋น์ค๋ฅผ ํ๊ณ ์๋ค๋ฉด request.POST๋ ๋ฐ๋์ ๋ฌด์ํด์ผํ๋ค. DRF์ Request
์ ์ฅ๊ณ ํ๋ก์ ํธ tutorial์ ์์ฑํ๊ณ quickstart๋ผ๋ ์๋ก์ด ์ฑ์ ์์ฑํ์.์ ์ ์ ๋๋ด๋ฉด ์๋์ ๊ฐ์ ํ์ผ ๊ตฌ์กฐ๊ฐ ๊ฐ์ถฐ์ก์ ๊ฒ์ด๋ค.๊ทธ ๋ค์, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋๊ธฐํ ํด์ค๋คadmin์ ์ํ superuser๋ฅผ ์์ฑํด์ค๋ค.Serializer๋ ์ฟผ๋ฆฌ์ ๊ณผ ๋ชจ๋ธ ์ธ
๋จผ์ pem ํ์ผ์ด ์๋ ๊ณณ์ผ๋ก ์ด๋ํ๋ค. ๊ทธ ํ ์๋ ๋ช ๋ น์ด๋ฅผ ์ด์ฉํด์ EC2 ์๋ฒ์ ์ ์ํ๋ค.ssh -i jacobjuhyunglee ubuntu@3.34.4.192ubuntu ํ๊ฒฝ์ด๋ฏ๋ก Linux ๋ฏธ๋์ฝ๋ค๋ฅผ ๊น์์ฃผ์.๋งํฌ๋ฅผ ๋ณต์ฌํด์ "wget ๋งํฌ" ๋ช ๋ น์ด๋ก ๋ฏธ
Django REST Framework(DRF) Django Rest Framework(DRF)๋ Django ์์์ RESTful API ์๋ฒ๋ฅผ ์ฝ๊ฒ ๊ตฌ์ถํ ์ ์๋๋ก ๋์์ฃผ๋ ์คํ ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. Django REST Framework๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ์ด์
RDS (Relational Database Service)๋ก AWS์์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค.RDS๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ์ง์ ์๋ฒ๋ฅผ ์์ฑํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค์นํ๊ณ ๋ ์ค์ ํ๊ณ ๊ด๋ฆฌํ๋ ํ๋ก์ธ์ค๊ฐ ํ์๊ฐ ์์ด์ง๋ค.๊ทธ๋ฌ๋ฉด์๋ ๋์์ ๋น์ฉ๋ ๋ ์ ๋ ดํ๋ค.์ง์ ์ค์นํ๊ณ
EC2๋? Amazon EC2(Amazon Elastic Compute Cloud)๋ ์์ ํ๊ณ ํฌ๊ธฐ ์กฐ์ ์ด ๊ฐ๋ฅํ ์ปดํจํ ์ฉ๋์ ํด๋ผ์ฐ๋์์ ์ ๊ณตํ๋ ์น ์๋น์ค์ด๋ค. AWS ์์์ ์ฌ์ฉํ๋ Server. EC2 ์๋ฒ์ API๋ฅผ ๋ฐฐํฌํ๊ฒ ๋๋ค. EC2๋ ๋ค์ํ
๐ ํ๋ก์ ํธ ๊ธฐ๊ฐ ๊ธฐ๊ฐ: 2020.12.28 ~ 2021.01.08 (11์ผ) ๐ ๊ธฐ์ ์คํ Front-end: React.js, React(CRA), React-router, Styled-Components, Hooks Back-end: Django, Python
์ ๋ ํ ์คํธ๋ ์ปดํจํฐ ํ๋ก๊ทธ๋๋ฐ์์ ์์ค ์ฝ๋์ ํน์ ๋ชจ๋์ด ์๋๋ ๋๋ก ์ ํํ ์๋ํ๋์ง ๊ฒ์ฆํ๋ ์ ์ฐจ๋ค. ์ฆ, ๋ชจ๋ ํจ์์ ๋ฉ์๋์ ๋ํ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์์ฑํ๋ ์ ์ฐจ๋ฅผ ๋งํ๋ค.๋ ๋์๊ฐ์ ์ ๋ ํ ์คํธ๋ ๋ด๊ฐ ์์ฑํ๋ ์ฝ๋์ ๊ฐ์ฅ ์์ ๋จ์์ธ ํจ์๋ฅผ ํ ์คํธํ๋ ๋ฉ์