๐ฉ What to do: ํ์ ๊ฐ์ , ๋ก๊ทธ์ธ, ๋ก๊ทธ์์, ๊ฒ์ํ ํ์ด์ง / API ๊ตฌํ
์ฒซ๋ฒ์งธ. ํ์ ๊ฐ์ /๋ก๊ทธ์ธ ํ์ด์ง, API
- ํ์๊ฐ์ ์ ์ด๋ฉ์ผ, ํจ์ค์๋๋ฅผ ์ ๋ ฅ๋ฐ์
- ํจ์ค์๋๋ hashlib์ผ๋ก ์ํธํ ํ์ฌ DB์ ์ ์ฅํ ๊ฒ
- ํ์ ๊ฐ์ , ๋ก๊ทธ์ธ ๊ตฌํ์ ํจ์ค์๋ hashlib, jwt ํ ํฐ ์ฌ์ฉ
- JWT ํ ํฐ์๋ ์ฌ์ฉ์์ id์ ๋ง๋ฃ์๊ฐ์ payload์ ๋ด์๊ฒ
- ๋ก๊ทธ์ธ ํ ๊ฒ์ํ์ผ๋ก ์ด๋ํ๋๋ก ๊ตฌํํ ๊ฒ
- ๋ก๊ทธ์ธ ํ์ง ์๊ณ ๊ฒ์ํ ํ์ด์ง (์๋ ์์ ์์๋ index.html) ์ ์ ๊ทผ์ unauthorized ํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๋๋ก ํ ๊ฒ
- html๋ก ๋ณ๋ก ํ์ด์ง๋ฅผ ๋ง๋ค์ง ์๊ณ Flask app.py ์์ 401 ์ํ์ฝ๋๋ฅผ ๋ฆฌํดํ์ฌ ์ฒ๋ฆฌํ ๊ฒ
๋๋ฒ์งธ. ๊ฒ์ํ ํ์ด์ง, API
- ๋ก๊ทธ์ธ ํ ๋ก๊ทธ์ธํ ์ ์ ๊ฒ์๋ฌผ์ ๋ฒํธ, ์ ๋ชฉ, ๋ด์ฉ, ๊ธ์ด์ด, ์๊ฐ์ ํ์
- ๊ธ์ด์ด๋ ์ฟ ํค์ ๋ด๊ฒจ์๋ token์ผ๋ก ์ธ์ฆํด์ ๋ก๊ทธ์ธํ ์ ์ ๊ฐ ์ด๊ธ๋ง ๋ณด์ฌ์ค๊ฒ
- ๊ตฌํ์ ํธ์๋ฅผ ์ํด ๊ฒ์๋ฌผ ๋ฒํธ๋ ํ์ด์ง๋ง๋ค 1~5๋ก ํ์ํ๊ณ ์ ๋ชฉ์ 30๊ธ์, ๋ด์ฉ์ 50๊ธ์๋ก ์ ํ
- ์๊ฐ์ ๊ธ์ด ์๊ฐ๋ง ํํํ๋๋ก ๋ฐ๊ฟ๋ณผ๊ฒ
- DB์ฐ๋์ ๋ก์ปฌ DB ๋๋ ํด๋ผ์ฐ๋ DB ์ฌ์ฉํ ๊ฒ
- ๋ก๊ทธ์์ ํ ํ์๊ฐ์ , ๋ก๊ทธ์ธ ํ์ด์ง๋ก ์ด๋ํ๋๋ก ๊ตฌํํ ๊ฒ
์ธ๋ฒ์งธ. ๊ฒ์ํ ํ์ด์ง ๊ธฐ๋ฅ, API
- ๊ฒ์ํ์ ๊ธ์ ๋ง์ด ์์ฑํ๋ฉด ํ๋ฒ์ ๊ฒ์๊ธ์ ์ ๋ถ ๊ฐ์ ธ์ฌ ๋ ๋ก๋ฉ์ด ์ค๋๊ฑธ๋ฆฌ๊ฑฐ๋ ์๋๋ก ๊ณ์ ์์ฌ์ ์ฐพ๊ธฐ๊ฐ ๋ถํธํ ์ ์์ด์ ๊ฒ์ํ์์ ํ์ด์ง๋๊ธฐ๋ ๊ธฐ๋ฅ์ ๊ตฌํํด ๋ณด์์.
- ํ์ด์ง๋น 5๊ฐ์ ๊ฒ์๋ฌผ์ ๋ณด์ฌ์ฃผ๋๋ก ๊ตฌํํ์๋ฉด ๋ฉ๋๋ค.
- ์๋ฅผ๋ค์ด ํด๋น ์ ์ ์ ๊ฒ์๊ธ์ด 12๊ฐ๋ผ๋ฉด 1ํ์ด์ง ์์๋ 1~5๋ฒ์งธ ๊ฒ์๊ธ์ด ๋ณด์ด๊ณ 2ํ์ด์ง์์๋ 6~10๋ฒ์งธ ๊ฒ์๊ธ์ ๋ถ๋ฌ์ค๋ฉด ๋ฉ๋๋ค.
- ๊ตฌํ ํธ์๋ฅผ ์ํด ์ต๋ ๊ฒ์๊ธ ๊ฐ์๋ 100๊ฐ๋ก ์ ํ
- ‘>’ ํด๋ฆญ์ 11~20 ํ์ด์ง๋ก ์ด๋, ‘<’ ํด๋ฆญ์ ๋ค์ 1~10 ํ์ด์ง๋ก ์ด๋
- ‘>>’ ํด๋ฆญ์ ๊ฒ์๋ฌผ ๋ง์ง๋ง ํ์ด์ง๋ก ์ด๋, ‘<<’ ํด๋ฆญ์ ์ฒ์ ํ์ด์ง๋ก ์ด๋
์ ์ 1์๊ฐ์ ๊ต์ฅํ,, ์์ํฉ๋๋ค.
์ฒซ๋ฒ์งธ๋ ์์ ๋ชปํ๊ณ , ์ค์ ํฌ์ฑ์ด๋ผ..
๊ทธ๋์ ์ค๋ ํ์๊ฐ ์ฌ๊ณ ๋ค์ ํด๋ณด๋ ค๊ณ ํฉ๋๋น.
๋ฌผ๋ก ๊ทธ ์ ์ ๋ค์ ํ๋ฒ API ๊ณต๋ถ ์ข ํ๊ตฌ์ !
๋ฐ์ํ