- ํ๋ก์ ํธ ๋ฐฐ๊ฒฝ
- ํ๋ก์ ํธ ๋ชฉํ
- ํ๋ก์ ํธ ๊ฐ๋ฐ
- ํ๋ก ํธ์๋
- ๋ฐฑ์๋
- ํ๋ก์ ํธ ๊ฒฐ๊ณผ
- ์คํฌ๋ฆฐ์ท
- ๊ฐ๋ฐ์ค ์ด์
- ๊ฐ์ ์
ํ์ ์ค ํ๋ช ์ ์น์ฒ๋ถ์ด ์ ์ฃผ๋์์ ๋์ฅ์ ํ์๋๋ฐ, ํ๋งค๋ฅผ ์ํ ํํ์ด์ง๊ฐ ์์ด์ ์์ฌ์ด ์ํ์์. ๋ฐ๋ผ์ ๋ณด๋ค ํธ๋ฆฌํ๊ณ ์ํํ ์ฃผ๋ฌธ ๋ฐ ํ๋งค ํํ์ด์ง๋ฅผ ๋ง๋ค๊ธฐ๋ก ๊ณํํจ
๋์ฅ์ ๋ฌผํ(๊ทค, ๋ธ๋ฃจ๋ฒ ๋ฆฌ, ํ๋ผ๋ด)์ ํ๋งคํ๋ฉฐ ์ด์ ๋ํ ๋ฌธ์๋ ๋์ฅ์ ๋ํ ์ ๋ณด๋ฅผ ์ป์ ์ ์๋ ํํ์ด์ง๋ฅผ ๊ฐ๋ฐ ์์
HTML, JavaScript, PHP ๋ฅผ ํตํ ์น ์๋ฒ ๊ตฌ์ถ
๋ค์ํ ํ๋ซํผ์์ ์ง์๊ฐ๋ฅํ rest api ๋ฐฑ์๋ ์๋ฒ ๊ตฌ์ถ
๋ณด๊ธฐ์ข๊ณ ์ ๊ทผ์ฑ์ด ์ข์ UI, ์ ๊ธฐ์ ์ธ ํ์ด์ง ์ด๋, ์ฌ์ฉ์ ์์ฃผ์ ์ธํฐํ์ด์ค
๋ณด๊ธฐ ์ข์ UI๋ฅผ ๊ฐ์ง ๋ฉ์ธํ์ด์ง ๊ฐ์ค
๋์ฅ์ ๊ดํ ์ ๋ณด(์ฐพ์์ค์๋ ๊ธธ, ์ ํ ๋ฒํธ, ๊ณ์ข ๋ฒํธ)๋ฅผ ์ฝ๊ฒ ์ป์ ์ ์๋ ์๊ฐ ํ์ด์ง ๊ฐ์ค
ํ์ฌ ํ๋งค์ค์ธ ์ํ์ ๋ํ ๋ชฉ๋ก๊ณผ ์ ๋ณด๋ฅผ ์ป์ ์ ์๋ ์ํ ํ์ด์ง ๊ฐ์ค
ํ์๊ฐ์ , ๋ก๊ทธ์ธ, ์ ์ ์ ๋ณด ๋ณ๊ฒฝ ๊ฐ์ ์ ์ ์ ๋ณด๋ฅผ ์ ์ฅํ ์ ์๋ ํ์ ๋ชจ๋ธ ๊ฐ๋ฐ
๊ด๋ฆฌ์์ ์ผ๋ฐ์ ์ ์ ์ญํ ๋ถ๋ฆฌ
์ฌ์ฉ์๋ผ๋ฆฌ ํน์ ์ด์์์ ์ํตํ ์ ์๋ ๊ฒ์ํ ๊ฐ๋ฐ
SQL Injection, Password ์ ์ถ, Input Validation ๋๋น
์ํ์ ์ฃผ๋ฌธํ๊ณ ์ด์ ๋ํ ์ฃผ๋ฌธ์ ๋ณด๋ฅผ ํ์ธ ํ ์ ์๊ฒ ํ๊ธฐ
- ๋ฉ์ธ ํ์ด์ง
- ๊ฐ์ธ์ ๋ณด ์ฒ๋ฆฌ ๋ฐฉ์นจ
- ์๊ฐ ํ์ด์ง
- ์ ํ ํ์ด์ง
- ์ ํ ๊ตฌ๋งค ํ์ด์ง
- ์ฃผ๋ฌธ ํ์ด์ง(+์ฅ๋ฐ๊ตฌ๋)
- ๋ก๊ทธ์ธ ํ์ ์ฐฝ
- ๋ง์ดํ์ด์ง
- ๊ฒ์ํ
- Q&A ๊ฒ์ํ
- ๊ณต์ง์ฌํญ ๊ฒ์ํ
-
Navigation bar
- ์ผ์ชฝ ํ ์์ด์ฝ ํด๋ฆญ ์ ๋ฉ์ธํ์ด์ง๋ก ๋์์ด
- stickyํ๊ฒ ๊ณ ์ ํ์ฌ ์คํฌ๋กค์์๋ ๋ณผ ์ ์์
- ์๊ฐ, ์ ํ, ๊ฒ์ํ ํด๋ฆญ์ ๊ฐ ํ์ด์ง๋ก ์ด๋
- ๊ฒ์ํ ๋ฉ๋ด hover์ dropdown ๋ฉ๋ด ๋ํ๋จ
- ๋ก๊ทธ์ธ/ํ์๊ฐ์ ๊ฐ๋ฅ
-
๋ฉ์ธ ํ์ด์ง
- ์ฌ๋ผ์ด๋ ์ฌ์ง(3์ด๋ง๋ค ์๋์ผ๋ก ๋์ด๊ฐ๋ฉฐ ์ผ์ชฝ ์ค๋ฅธ์ชฝ ๋ฒํผ์ ํตํด ์ฌ์ง ๋๊ธฐ๊ธฐ ๊ฐ๋ฅ)
- BEST ์ํ ํด๋ฆญ์ ์ ํ ๊ตฌ๋งค ํ์ด์ง ์ฐ๊ฒฐ
- ์ ์ฒด ์ํ ๋ณด๊ธฐ ํด๋ฆญ์ ์ ํ ํ์ด์ง ์ฐ๊ฒฐ
-
๋ชจ๋ ํ์ด์ง ํ๋จ
- ์นด์นด์ค api ์ฐ๊ฒฐํ์ฌ ์นด์นด์ค ๋งต ๋ถ๋ฌ์ด - ๋์ฅ ์์น(์ค์๋ ๊ธธ)
- ์ ํ๋ฒํธ, ๊ณ์ข ์ ๋ณด, ์ ์๊ถ, ๊ฐ์ธ์ ๋ณด ์ฒ๋ฆฌ ๋ฐฉ์นจ
- ๊ฐ์ธ์ ๋ณด ์ฒ๋ฆฌ ๋ฐฉ์นจ ํด๋ฆญ์ ํ์ ์ฐฝ์ผ๋ก ๊ฐ์ธ์ ๋ณด ํ์ธ ๊ฐ๋ฅ
-
์๊ฐ ํ์ด์ง
- ๋์ฅ ์๊ฐ ๋์์ ์ธ๋ค์ผ ํด๋ฆญ์ ์ฌ์
-
๋ก๊ทธ์ธ/ํ์๊ฐ์ ํ์ด์ง
-
๋ก๊ทธ์ธ ํ์ด์ง
- ๋ก๊ทธ์ธ์ฐฝ์ ํ์ ์ฐฝ์ผ๋ก ๊ตฌํ โ ๋ก๊ทธ์ธ ์ฐฝ์ ์ ์ธํ ๋๋จธ์ง ๋ฐฐ๊ฒฝ์ Blur ์ฒ๋ฆฌ
- Modal ๋ทฐ ํํ๋ก ๊ตฌํํ์์ผ๋ฉฐ, ๋ค๋ฅธ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธํ๊ธฐ ํ๋ฉด๋ ๋ง๋ค์ด๋ดค์(๊ตฌ๊ธ, ํ์ด์ค๋ถ, ๋ค์ด๋ฒ, ์นด์นด์คํก โ ์ค์ ์๋X)
- ํ์๊ฐ์ ๋ฒํผ ๋๋ฅด๋ฉด ํ์๊ฐ์ ํ์ด์ง๋ก ์ด๋
-
ํ์๊ฐ์ ํ์ด์ง
- ํ์๊ฐ์ ํ์ด์ง ์๋จ์ ์์ง์ด๋ ์ด๋ชจํฐ์ฝ(์ ๋๋ฉ์ด์ ) ๊ตฌํ
- ์์ด๋/ ๋น๋ฐ๋ฒํธ/ ์ด๋ฆ/ ์ ํ๋ฒํธ/ ์ด๋ฉ์ผ โ Regular expression์ผ๋ก Validation ๊ตฌํ
- Regular expression์ผ๋ก Validation ๊ตฌํํ๊ณ ์ค์๊ฐ์ผ๋ก JavaScript๋ฅผ ์ด์ฉํ ๊ฒฝ๊ณ ๊ตฌํ
- ์ด๋ฉ์ผ ์ ํ ๋ถ๋ถ dropdown ๋ฉ๋ด ๊ตฌํ
-
-
๊ฒ์ํ ๊ตฌํ
- ๊ณต์ง์ฌํญ ๊ฒ์ํ
- ์๋ฒ API(method: GET)๋ฅผ ์ด์ฉํด ํ์ด์ง๋ค์ด์ ์ ํ์์
- ๊ด๋ฆฌ์๋ง์ด ๊ณต์ง์ฌํญ ๊ฒ์ํ์ ๊ธ์ ๋ฑ๋กํ ์ ์์ผ๋ฉฐ, ์ผ๋ฐ ์ ์ ์ธ์ง ๊ด๋ฆฌ์์ธ์ง๋ โJWTโ ํ ํฐ์ ์ด์ฉํด์ ํ๋จํจ.
- ์ผ๋ฐ ์ ์ ๊ฐ ๊ธ ๋ฑ๋ก์ ํ๋ ค๊ณ ํ ์ ์ ๊ทผ๋ ์ ํ์ด๋ผ๋ Alert ํ์
- ๊ฒ์ํ ๋ด์ฉ์ผ๋ก๋ ๋ฒํธ, ์ ๋ชฉ, ๊ธ์ด์ด, ์์ฑ์ผ, ์กฐํ๊ฐ ์์
- ๊ธ์ ์กฐํํ ์ ์กฐํ์๊ฐ 1์ฉ ์ฆ๊ฐํ๊ฒ๋ ๊ตฌํ(์๋ฒ์์ ๊ตฌํ)
- ๊ธ ์์ฑ์ ๊ณต์ง์ฌํญ ์ ๋ชฉ๊ณผ ๋ด์ฉ์ api Body์ ์ค์ด JWT๊ณผ ํจ๊ป POSTํ๋ค.
- Q&A ๊ฒ์ํ
- ์๋ฒ API(method: GET)๋ฅผ ์ด์ฉํด ํ์ด์ง๋ค์ด์ ์ ํ์์
- ๊ด๋ฆฌ์ ๋ฐ ์ผ๋ฐ ์ ์ ๊ฐ ์์ ๋กญ๊ฒ Q&A๋ฅผ ๋ฌ ์ ์์ผ๋ฉฐ, JWT๋ฅผ ์ด์ฉํด ๋ก๊ทธ์ธ์ด ๋์ด์๋ ์ํ ์ง ํ์ธ
- โ๊ด๋ฆฌ์โ๋ง์ด Q&A๊ฒ์ํ์ ๋๊ธ์ ๋ฌ ์ ์์ผ๋ฉฐ, ๊ด๋ฆฌ์ ํ๋ฉด์์๋ ๋๊ธ์ โ์ญ์ โ ๋ฒํผ์ด ๋ณด์ธ๋ค.(์ผ๋ฐ ์ ์ ๋ ์ญ์ ๋ฒํผ์ด ์๋ณด์)
- ๊ธ ์ธ๋ถ์ฌํญ์๋ ๋๊ธ์ ์ด ๊ฐฏ์๊ฐ ๋ณด์ด๋ฉฐ ๊ด๋ฆฌ์๋ ๋๊ธ์ ์์ ๋กญ๊ฒ ์ญ์ ๊ฐ๋ฅ
- ๊ณต์ง์ฌํญ ๊ฒ์ํ
-
์ํ ์ฅ๋ฐ๊ตฌ๋ ๋ด๊ธฐ ๊ตฌํ
-
์ฅ๋ฐ๊ตฌ๋ ๋ฒํผ์ ๋๋ฅด๋ฉด ๋ฐฐ์ด์ ํด๋น ์ํ ์ ๋ณด๋ฅผ ์ถ๊ฐํ๊ณ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ๋ณด๊ด.
-
์ฅ๋ฐ๊ตฌ๋ ํ์ด์ง๋ก ์ด๋ํ๋ฉด ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ๋ฐ์ดํฐ๊ฐ ์๋์ง ํ์ธ ํ ์์ผ๋ฉด ๊ฐ์ ธ์์ ๋ฐ์ดํฐ ์ถ๋ ฅ
-
ํ ํฐ์ ๋ฐํ์ผ๋ก ์ ์ ์ ๋ณด ๊ฐ์ ธ์์ ์ฃผ๋ฌธ์ ์ ๋ณด ๋ฏธ๋ฆฌ ์ ๋ ฅ .
-
์ฃผ๋ฌธํ์ด์ง๋ก ์ด๋ ์ ํ ํฐ์ ๋ณด๋ด์ ์ ํจํ ํ ํฐ์ด๋ฉด ํด๋น ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์์ ์ฃผ๋ฌธ์ ์ ๋ณด์ ๋ฏธ๋ฆฌ ์ ๋ ฅ. ์ ํจํ์ง ์๋ค๋ฉด ์ ๊ทผ ์ ํ.
-
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋์ด์๋ ์ํ์ ์ ๋ณด ์ถ๋ ฅ
-
๋ฐ์ดํฐ๋ฒ ์ด์ค์ GET ์์ฒญ์ ๋ณด๋ด์ ์ํ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ด
-
๊ฐ์ ธ์จ ์ํ ์ ๋ณด๋ค์ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐ๋ณต๋ฌธ๊ณผ createElement๋ฅผ ์ฌ์ฉํด์ ์ํ ๋ ์ด์์์ ๊ตฌ์ฑ ํ body์ ์ถ๊ฐํจ.
-
์๋ น์ธ ์ ๋ณด ๋ฐ ์ฃผ์๋ฅผ ๋ฐํ์ผ๋ก ์ํ ์ฃผ๋ฌธ ๊ตฌํ
-
์๋ น์ธ ์ ๋ณด (์ด๋ฉ์ผ, ํด๋์ ํ ๋ฒํธ)๋ ์ ๊ท์์ ์ฌ์ฉํด์ ํด๋น ํ์์ ๋ง์ง ์์ผ๋ฉด ๊ฒฝ๊ณ ์ฐฝ์ ๋์.
-
ํ์์ ๋ง๊ฒ ์์ฑํ๊ณ ์ฃผ๋ฌธ๋ฒํผ์ ๋๋ฅด๋ฉด ์ฃผ๋ฌธ์ ์ ๋ณด, ์๋ น์ธ ์ ๋ณด, ์ฃผ๋ฌธ ์ํ ์ ๋ณด๋ฅผ POST ์์ฒญ์ ํตํด ์๋ฒ๋ก ๋ณด๋.
-
๋์ ์ฃผ๋ฌธ ์ํ ๋ฐ ๋ฐฐ์ก ์ํ ํ์ธ
-
๋ง์ดํ์ด์ง๋ก ์ด๋ ์ ๋์ ์ฃผ๋ฌธ์ ๋ณด์ ๋ฐฐ์กํํฉ ํ์ ๊ฐ๋ฅ.
- AWS EC2 LINUX AMI
- PHP8.1 + APACHE 2.4 + MARIA DB
-
ํธ์ถํ๋ API ๊ธฐ๋ฅ์ ๊ธฐ์ค์ผ๋ก ๋ชจ๋ํ / URL ๋ถ๋ฆฌ
-
MVCํจํด์์ Controller + View ์ Model๋ก ๋ถ๋ฆฌ
- ์ฃผ๋ฌธ,์ํ,์ ์ ,๊ฒ์ํ CRUD
- ์ฃผ๋ฌธ์ ๋ฉ์ผ ์ ์ก( AWS EC2ํ๊ฒฝ์์๋ smtpํฌํธ๋ฅผ ๋ง์ ์ฌ์ฉ๋ถ๊ฐ)
- Postman Agent๋ฅผ ํตํ ํ ์คํ
-
JSON์ ์ด์ฉํ์ฌ response body์ ์๋ต
-
JWT๋ฅผ ํตํด ํ๋ก ํธ์๋์ ๊ถํ ํ์ธ
-
API๋ช ์ธ์๋ฅผ ํตํ ํ์
- SQL INJECTION์ ๋๋นํ์ฌ preparedstatement ๋ฅผ ํตํด ํ๋ผ๋ฏธํฐ๋ฅผ bind์ํด
- JWT๋ฅผ ํตํด ์ฆ์ ๋น๋ฐ๋ฒํธ ๋ ธ์ถ๊ณผ DB ์ ๊ทผ ์ต์ ํ
- JWT ํ ํฐ ์๋ช ๋ง๋ฃ๊ธฐํ ID์กด์ฌ๊ฒ์ฆ
- ๋น๋ฐ๋ฒํธ๋ฅผ DB์ ํด์ฌํํ์ฌ ์ ์ฅํจ (DB๊ฐ ๊ณต๊ฒฉ๋ฐ์๋ ๋น๋ฐ๋ฒํธ๋ ์ ์ถ๋์ง์์)
- ์ ๋ ฅ๊ฐ ๊ฒ์ฆ์ ํตํ ์์์ธ์ ์ ๋ ฅ์ ํตํ ๊ณต๊ฒฉ ๋ฐฉ์ง
- PHP ๋๋ฒ๊น ๊ธฐ๋ฅ์ ๋นํ์ฑํ ์๋ฒ ์๋ฌ๋ฉ์์ง ๋ ธ์ถ ์ต์ํ
- ๊ด๋ฆฌ์ ๊ณ์ ์์ฑ์ 2์ฐจ ๋น๋ฐ๋ฒํธ ํ์
- Login Log๋ฅผ ๊ธฐ๋กํ๋ฏ๋ก์จ ๋น์ ์์ ์ธ ๋ก๊ทธ์ธ ํ์ธ ๊ฐ๋ฅ
- ๋ ์ด์์ ๋ฐฐ์น
- ํ๋ ์์ํฌ๋ฅผ ์ฐ์ง ์์ ์ฒ์๋ถํฐ ๋๊น์ง ์์ผ๋ก ๋ง๋ค์ด์ผํ๋ ์
- JWT๋ฅผ Set Cookie๋ฅผ ํตํด ๋ด๊ณ ์ ํ์ผ๋ ๋ธ๋ผ์ฐ์ ์ ์ฑ ์ด ๋ฐ๋์ด https๋ฅผ ํตํด์ Cookie Secure์ต์ ์ ์ฌ์ฉํด์ผ samesite์ ์ฑ ์ ์ด๊ธ๋์ง ์๊ฒ๋จ ๋ฐ๋ผ์ ๋๋ฉ์ธ์ ๋ฑ๋กํด์ผํ๊ณ ssl์ธ์ฆ์๋ฅผ ๋ฐ๊ธ๋ฐ์์ https๋ก ํต์ ์ ์ด๋ ค์์ ๊ฒช์
- Apache RewirteEngine์ ํตํด rest api์ ๋ง๋ url์ ์ ๊ณตํ๋๋ฐ ์ด๋ ค์์ ๊ฒช์
- ์ํ ๋ฐ ์ฃผ๋ฌธ์ ๊ฐ์๊ฐ ์ ํด์ ธ์๋ ๊ฒ์ด ์๋๋ผ ๋์ ์ผ๋ก ๋ณํด์ html๋ง์ผ๋ก ์์ ํ๊ธฐ ์ด๋ ค์ ์์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐ๋ณต๋ฌธ์ ํตํด ํ๊ทธ๋ฅผ ์์ฑํด์ html์ ๋ฃ์ด์ฃผ์์
(1) ๋ฉ์ธ ํ์ด์ง
์ฌ๋ผ์ด๋ ํ๋ฉด : ๋ฉ๋ด๋ฐ ์๋ ์ฌ๋ผ์ด๋ ์ฌ์ง
๋ฉ์ธํ์ด์ง ํ๋จ์ ๋ฒ ์คํธ ์ํ ํ์
๋๋ฅด๋ฉด ์ ํ ๊ตฌ๋งค ํ์ด์ง๋ก ์ด๋
ํ๋จ ์ค์๋ ๊ธธ, ๊ฐ์ธ์ ๋ณด ์ฒ๋ฆฌ ๋ฐฉ์นจ ํ์ธ ๊ฐ๋ฅ
(2) ์๊ฐ ํ์ด์ง
์๊ฐ ์์ : ์ธ๋ค์ผ ํด๋ฆญ์ ๋์ฅ ์์ ์ฌ์
์์ธํ ์๊ฐ ๋ฐ ํ๋จ ๊ณ ์ ๋ฌธ๊ตฌ
(3) ์ ํ ํ์ด์ง
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋์ด์๋ ์ํ ์ถ๋ ฅ
ํด๋ฆญ ์ ๊ตฌ๋งค ํ์ด์ง๋ก ์ด๋
(4) ์ ํ ๊ตฌ๋งค ํ์ด์ง
๊ตฌ๋งค ์๋ ์ ํ ๋ฐ ์ฅ๋ฐ๊ตฌ๋, ๊ตฌ๋งค ๊ธฐ๋ฅ.
ํ๋จ ์ํ ์์ธ ์ค๋ช .
(5) ์ฃผ๋ฌธ ํ์ด์ง
์ฅ๋ฐ๊ตฌ๋ ๋ฐ ์๋ น์ธ ์ ๋ณด ์ ๋ ฅ.
(6) ์ฃผ๋ฌธ ์๋ฃ ํ์ด์ง
์ฃผ๋ฌธ ์ ๋ณด ์ถ๋ ฅ.
(7) ๊ณต์ง์ฌํญ
๊ณต์ง์ฌํญ ํ์ด์ง
(7 - 1) ๊ณต์ง์ฌํญ ๋ฑ๋ก ํ์ด์ง
(8) Q&A ๊ฒ์ํ
(8-1) Q&A ๊ฒ์ํ ์์ธ ํ์ด์ง
(9) ๋ก๊ทธ์ธ ํ์ ์ฐฝ
(10) ํ์๊ฐ์ ํ๋ฉด
(11) ๋ง์ด ํ์ด์ง
-์ฃผ๋ฌธ ์กฐํ
-๋ฌธ์ํ๊ธฐ
(12) ๊ด๋ฆฌ์ ํ์ด์ง
-๋ด์ฉ
๋ก์ปฌ์์ API ์ ์ก์ด ์๋๋ ์ด์๊ฐ ์์์ต๋๋ค. ์ฐพ์๋ณด๋ ํฌ๋กฌ์ ๋ณด์์ฑ๋๋ฌธ์ ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ์์ฒด์์ ์ฐจ๋จํ๋ ๊ธฐ๋ฅ์ด ์์ด์ CORS ๋ผ๋ ์ค๋ฅ๊ฐ ์ง์ํด์ ๋ฐ์ํ์ต๋๋ค.
-ํด๊ฒฐ๋ฐฉ์ ๋ฐ ์ฑ๊ณผ
ํฐ๋ฏธ๋์ ํตํด(MAC๊ธฐ์ค) ํฌ๋กฌ์ Security๋ฅผ ๊ฐ์ ๋ก ์ข ๋ฃํ๊ณ Apache์๋ฒ๋ฅผ ํตํด ํ์ผ์ ์ด์ด API ํต์ ์ ์งํํ๊ณ ๊ทธ ๊ฒฐ๊ณผ ์ฑ๊ณต์ ์ผ๋ก ํต์ ์ ํ ์ ์์์ต๋๋ค.
-๋ด์ฉ
์ฟ ํค๋ผ๋ ๊ฐ๋ ์ด ์์ํ๊ธฐ๋๋ฌธ์, ์ฒ์์๋ ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ์ฟ ํค๋ฅผ ์๋ก ๊ณ์ํด์ ์ง์ ์ฃผ๊ณ ๋ฐ๋ ํํ๋ก ์งํ๋๋์ค ์์์ต๋๋ค. ํ์ง๋ง ๊ทธ๋ ๊ฒ ์งํ๋๋๊ฒ์ด ์๋๋ผ ์๋ฒ์์ ์ฟ ํค๋ฅผ ํค๋๋ฅผ ํตํด ์ ์กํ๋ฉฐ ๋ธ๋ผ์ฐ์ ์ธก์์ ์ด๋ฅผ ์ ์ฅํ๊ณ ํด๋ผ์ด์ธํธ์ชฝ์ ์ ๊ฒฝ์ฐ๋ฉด์ ์ฟ ํค๋ฅผ ์ ์กํ์ง ์์๋ ๋๋๊ฒ์ ์์์ต๋๋ค. ํ์ง๋ง ํ์ฌ ๋๋ถ๋ถ ๋ธ๋ผ์ฐ์ ์์ ์ฟ ํค๋ฅผ ์ ์ฅํ๊ธฐ ์ํด์๋ Samesite ์ ์ฑ ์ ์ง์ผ์ผ ํ๊ณ ๋ค๋ฅธ๋๋ฉ์ธ์์ ์ฟ ํค๋ฅผ ์ ์ฅํ๋ ค๋ฉด Secure์์ฑ์ ์ฌ์ฉํ https์์ ์งํ๋์ด์ผํ๋๋ฐ, httpsํต์ ์ ์ํด์๋ ๋ฐ๋ก ๋๋ฉ์ธ์ฃผ์๊ฐ ์กด์ฌํด์ผํ๊ณ ์๊ฐ๋ณด๋ค ๊น๋ค๋ก์ด ์ ์ฐจ๊ฐ ํ์ํ์ต๋๋ค.
-ํด๊ฒฐ๋ฐฉ์ ๋ฐ ์ฑ๊ณผ
http๋ก ํต์ ์ ํ๋, JWT๋ฅผ ๋ฐ๋์ ์ค์ด์ ์๋ฒ๋ก ๋ณด๋ด๊ณ , ์๋ฒ์์๋ ํด๋ผ์ด์ธํธ์ธก์์ ๋ณด๋ธ JWT๋ฅผ ๋ค์ ํ๋ฒ ํ์ธํ๋ ๋ฐฉํฅ์ผ๋ก ๋ก์ง์ ์ง์ ํด๊ฒฐํ์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, ๋ก๊ทธ์ธ ๋ฐ ํ์๊ฐ์ ๊ทธ๋ฆฌ๊ณ ๊ด๋ฆฌ์๋ฅผ ์ํ JWT ์์ฑ ๋ฐ ์ ์ฅ๊น์ง ๊ตฌํํ์ต๋๋ค.
-๋ด์ฉ
์ ์ ๊ฐ ์ฃผ๋ฌธ์ ์๋ฃํ ๊ฒฝ์ฐ ํด๋น ์ฃผ๋ฌธ์ ๊ดํ ๋ด์ฉ(์ํ์ ๋ณด, ์ฃผ๋ฌธ๋ฒํธ, ์ฃผ๋ฌธ์ผ์, ์๋ น์์ ๋ณด)๊ฐ PHPMailer๋ฅผ ์ฌ์ฉํด ๋ฉ์ผ์ ํตํด ์ ์ก๋๋ ๊ฒ์ ๊ตฌํํ๊ณ ๋ก์ปฌ ํ๊ฒฝ์์๋ ์ ์์ ์ผ๋ก ๊ตฌ๋ํ๋๊ฒ์ ํ์ธํ์ต๋๋ค. ํ์ง๋ง ๋ฐฐํฌ ํ ๋ฉ์ผ์ด ์ ์ก๋์ง ์์์ผ๋ฉฐ ์ด๋ AWS EC2์ ์ฑ ์ SMTP ํฌํธ์ ์ํ ์์๋ฐ์ด๋๋ฅผ ๋ง์๊ธฐ๋๋ฌธ์ด์์ต๋๋ค.
-ํด๊ฒฐ๋ฐฉ์ ๋ฐ ์ฑ๊ณผ
AWS SES๋ฅผ ์ฌ์ฉํ์ฌ์ ip๋ ๋๋ฉ์ธ์ ๋ฑ๋กํ๋ฉด ํฌํธ์ ๋ฉ์ผ์๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๊ณ ๋๋ ๋ค๋ฅธ ํธ์คํ , ๋ฐฐํฌ ํ๊ฒฝ์์ ์๋ก ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ๋ ์์์ต๋๋ค. ํ์ง๋ง ํ์ฌ ์ ํฌ ํ๊ฒฝ์ ์ค์ฌ์ฉ์ ์ํ ํ๊ฒฝ์ด ์๋์๊ธฐ์ AWS SES๋ฅผ ๋ฑ๋กํ์ผ๋ ์ฌ์ฉํ์ง๋ ์๊ณ ์์ต๋๋ค.
2)html, css, js, php๋ฅผ ์ฌ์ฉํ์ฌ ์จ์ ํ ์น์๋ฒ๋ฅผ ๊ตฌ์ถํ๋ค๋ณด๋ ์์ฐ์ฑ์ด ๋จ์ด์ง.
- ํ์๊ณผ ํ์ ์ํ์ฌ ๊ฐ๋ฐ์ ์งํํ๋ค๋ณด๋, ๊ฐ์ ์งํํ ํ์ผ๋ค์ merge ํ๋ ์ผ์ด ์ฆ์๋๋ฐ, ์ด๋ ๊ฑฐ์ ๋๋ถ๋ถ์ ํ์ผ ๊ฒฝ๋ก๊ฐ ์๋๊ฒฝ๋ก๋ก ๋์ด์์ด ๋งค์ฐ ๋ถํธํ์ต๋๋ค. ์ ๋ ๊ฒฝ๋ก์ ์๋ ๊ฒฝ๋ก์ ๊ฐ๋ ์ ๋ณด๋ค ํ์คํ ํ์ ํ๊ณ ์ด์ฉํ๋ค๋ฉด ์ข ๋ ํจ์จ์ ์ผ๋ก ์ฝ๋๋ฅผ ํฉ์น ์ ์์ง ์์์๊น๋ ์๊ฐ์ ํฉ๋๋ค
- ํ ํ์ด์ง์๋ API๋ฅผ ์ฌ๋ฌ๊ฐ ์ฎ์ด์ ์๋ฒ์ ํต์ ํ๋ค๋ณด๋, ์๋ต์๊ฐ์ ๋ฐ๋ฅธ ์ฝ๋ ๊ผฌ์(?)์ด ์ผ์ด๋ฌ์ต๋๋ค. ์๋ฅผ ๋ค์ด 1๋ฒ api๋ฅผ ํตํด ๋ฐ์์จ ๊ฒฐ๊ณผ๋ฅผ 2๋ฒ api๋ฅผ ํตํด sorting์ ํด์ผํ๋๋ฐ, 1๋ฒ api์ ์๋ต๊ฐ์ด ์ค๊ธฐ๋์ ์ ์ด๋ฏธ 2๋ฒ api๊ฐ request๋ฅผ ๋ณด๋ด๋ฒ๋ฆฌ๋ ์ค๋ฅ๊ฐ ์์์ต๋๋ค. ๋๋ฌธ์ api๊ฐ asyn/syn ์ฒ๋ฆฌ๋ฅผ ํด์ ๋ณด๋ค ํจ์จ์ ์ธ ์ฐ๋ ๋๋ฅผ ์ด์ฉํ ์ ์์์ผ๋ฉด ๋ ์ข์์๊ฒ ๊ฐ์์ต๋๋ค.
- REST API๋ URL์ ํตํด ์์์ ๋ช ์ํ๊ณ HTTP METHOD๋ฅผ ํตํด ์์์ ๋ํ ํ์๋ฅผ ๋ํ๋ด๋ ๋ฐฉ๋ฒ์ ๋๋ค. ํ์ผ ํ์ฅ์๋ช ์ด ๋ํ๋๋ฉด ์๋๋ฉฐ ์์์ ๊ด๊ณ ๋ํ URL์ ํตํด ํ์๋์ด์ผ ํฉ๋๋ค. APACHE์ REWRITE ENGINE์ ํตํด URL์ ํ์ฑํ๋ ค๊ณ ํ์ผ๋ ์๋ํ์ง์์์ต๋๋ค. ๋ฐ๋ผ์ API์ ๋ช ์ธ๊ฐ ๊ธธ์ด์ง๊ฒ ๋์๊ณ ํ์ ์์ ํ๋ก ๋์๋๋ถ๋ค์ด API๋ช ์ธ๋ฅผ ์ฐธ์กฐํ๋๋ฐ ์ด๋ ค์์ ๊ฒช์์ต๋๋ค.






















