TIL
[TIL] 20210729
lado
2021. 7. 30. 00:22
๐ฏ ์ด์ , ์ค๋ ๊ณต๋ถํ ๊ฒ
- [Node.js] MySQL, Sequelize ORM ์ด์ฉํด User ์ํฐํฐ ์์ฑ
- [Node.js] ๋ก๊ทธ์ธ, ํ์๊ฐ์ REST api ๊ตฌํ
- [Node.js] express-validator๋ฅผ ์ด์ฉํ ์ ํจ์ฑ ๊ฒ์ฌ
- [Node.js] Bcrypt๋ก ๋น๋ฐ๋ฒํธ ์ํธํํ๊ธฐ
- [Node.js] JWT ํ ํฐ ์์ฑ
- [Node.js] dotenv์ config ํ์ผ์ ์ด์ฉํด ํ๊ฒฝ ๋ณ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ
- [Node.js] ๋ฏธ๋ค์จ์ด๋ก ์ฌ์ฉํ ์ ์๋ Auth ๊ธฐ๋ฅ ๊ตฌํ
- [React] ํ๋ก์ ํธ ๊ตฌ์กฐ ์ค๊ณ ๋ฐ ํ ํ๋ฉด Router ๊ตฌ์ฑ
๐ ๋ณด์ถฉํด์ผ ํ ๊ฒ
- [React] ๋ก๊ทธ์ธ, ํ์๊ฐ์ UI ๋งํฌ์ ๋ฐ axios ๊ตฌํ
- [React] ํ์๊ฐ์ ์ ํจ์ฑ ๊ฒ์ฌ ๋ฐ ์ด๋ฉ์ผ ์ค๋ณต ๊ฒ์ฌ ๊ธฐ๋ฅ ๊ตฌํ
- [React] ํ๋ก ํธ ๊ถํ ๊ธฐ๋ฅ ๊ตฌํ
- [React] jwt ํ ํฐ ๊ฐ์ ์ฟ ํค๋ก ์ ๋ฌํ๊ธฐ for XSS ์ดํ ๋์
- [Node.js] CORS ์ค์ ์ถ๊ฐ, CSRF ์ดํ ๋์
๐ Reflection
- ํ๋ก์ ํธ ์์ํ๊ณ ๋์๋ ๋ธ๋ก๊ทธ๋ ๋ธ๋ก๊ทธ์ง๋ง ๋ ธ์ ์ ์ ๋ฆฌํ๋ ๊ณต๋ถ ์ผ์ง๋ ์ ์ผ๋ค. ๋ญ ํด์ผํ ์ง ๋๋ฌด ๋ง๋งํ ๋๋์ด๊ณ ... ๋ง ์๋ฒฝ 4์์ ์๊ณ ์ด๋ฌ๋๊น ๊ทธ๋ด ์๊ฐ ์์ผ๋ฉด ์ ์ ์์๋ ๋๋? ๊ทผ๋ฐ ๋ด์ผ๋ถํฐ ๋ฐ๋ธ์ฝ์ค๋ ์์ํ๊ณ ํ๋ ๋ค์ ์ฌ๊ธฐ์ผ์ ํด์ ๋ธ๋ก๊ทธ์ ๊ธฐ๋กํด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค. ์ฌ์ค ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ๋ TIL์ด ์๋๋ฉด ์ด๊ฒ ๋ฌด์จ ์์ฉ์ธ๊ฐ ํ๊ณ ์๊ฐํ๋๋ฐ ์๋ฌด ๊ฒ๋ ๊ธฐ๋ก ์ํ๋ ๊ฒ๋ณด๋ค๋ ๋ญ๋ผ๋ ๊ธฐ๋กํ๋ ๊ฒ ๋ซ๋ค๋ ์๊ฐ์ด ๋ค์ด์ ๋ด๊ฐ ํ ์ ์๋ ์ ๋์์๋ถํฐ ์์ํ๋ ค๊ณ ํ๋ค.
- ๊ทธ๋์์ ๊ทผํฉ์ ์ ๋ฆฌํ๋ฉด ๋์์น๋ฃ๋ฅผ ๋ฐ๊ธฐ ์์ํ๋ค. ๊ทผ๋ฐ ํ๋ก์ ํธ ํ ๋๋ ๋์ ํ ์์ธ๋ฅผ ๋ฐ๋ฅด๊ฒ ํ๊ณ ๋ญํ๊ณ ํ ์ ์ ์ด ์์ด์ ์์งํ ํจ๊ณผ๊ฐ ์์์ง ๋ชจ๋ฅด๊ฒ ๋ค. ๊ฑฐ์ ๋ฐ์ ์ ๋๊ฐ๊ณ 10์๊ฐ ๋์ ์์๋ง ์๋๋ฐ... ์ด๋๋ ๋ชธ์ด ์ข์์ง ์ ์์ผ๋ ค๋? ์ด๋ฒ ์ฃผ ์๋ด์์๋ ๋๋ฅผ ์นจ๋ฒํ๋ ค๊ณ ํ๋ ์ฌ๋์ ๋จ๋ค์ด ์๋๋ผ ์ฌ์ค ๋์๋ค๋ ์ฌ์ค์ ์๊ฒ ๋๋ค. ์ ์๋๊ป ํ ์ฃผ ๋์ '๋จ๋ค'์ด๋ผ๋ ๋ง์ ๋จธ๋ฆฟ ์์์ ์ง์๋ณด๋ผ๋ ๋ฏธ์ ์ ๋ฐ์๋ค. ๋ชฐ๋ผ๋ ๋๋ค. ์ต์ ์ด๋ ์๋ค. ๋จ๋ค ์ ๊ฒฝ ์ฐ์ง ๋ง๊ณ ๋๋ฅผ ์ ๊ฒฝ ์ฐ์. ์์ผ๋ก ์๊ธฐ์์ํ ์ฃผ๋ฌธ์ด๋ค.
- TIL์ด๋ฉด ์ค๋ ๊ณต๋ถํ ๊ฒ๋ง ์ ์ง ์ ์ด์ ๊ณต๋ถํ ๊ฒ๊น์ง ์ ์๋ ํ๋ฉด ์ค๋์ ์ง์ง ๋ณ๋ก ํ ๊ฒ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ธ๊ฐ์ ์ผ๋ก ์ค๋ ๋ก๊ทธ์ธ ํ๋ก ํธ๋ฅผ ๋ค ๋๋์ด์ผ ํ์ง ์๋? ํ์ง๋ง ์ด๊ฒ์ด ๋๋ค. ๊ฒฌ๋๋ผ, ๋์ผ.
- Node.js๋ ๋๋ฆผ์ฝ๋ฉ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ด์ฐ์ ์ฐ ํ๋๋ฐ... ์ฌ์ค ์ด๊ฑธ ๋ด๊ฐ ํ๋ค๊ณ ๋ณผ ์ ์์๊น? ๊ทผ๋ฐ ์ง์ง ์๋ฆฌ๋์ ์ฝ๋๋ฅผ ์ ๋ง ๊น๋ํ๊ฒ ์ง๋ ๊ฒ ๊ฐ๋ค. ๋ฒ ์คํธ ํ๋ํฐ์ค ๊ฐ์ ๋๋์ด๋ค. ๊ทธ๋๋ ์ดํด๋ ๋ค ๋์ผ๋ ์๊ฐ ๋ ๋ ๋ธ๋ก๊ทธ ์ ๋ฆฌ ํ ๋ฒ ํ๊ณ ๊ทธ๋ฅ ์ธ์ธ ๋๊น์ง ๊ณ์ ์ฐ์ตํด๋ด์ผ๊ฒ ๋ค.
- React๋ ์ ์ด๋ ๊ฒ ๋ง๋งํ์ง? ๋ง๋งํดํ๋๋ผ ์๊ฐ์ ๋๋ฌด ๋ง์ด ๋ฒ๋ฆฐ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฅ app.js์ ์ฝ๋ ๋ค ๋๋ ค ๋ฐ๊ณ ๋์ค์ ๋ถ๋ฆฌํ๋๋ผ๋ ์ผ๋จ ์์์ ํ์ด์ผ ํ๋๋ฐ.... ๋งํฌ์ ํ๋ ๊ฒ๋ ๋๋ฌด ๊ท์ฐฎ๋ค. ์ผ๋ง๋ ๋ ธ๊ฐ๋ค ์์ ์ธ์ง ์์์ ๋ ํ๊ธฐ ์ซ์ ๊ฒ ๊ฐ๋ค.
- ์ฌ๋ฆผํฝ ์์ ๋ฃ๋ ๊ฑฐ ๋๋ฌด ๊ฐ์ด์ด ์ ์ฅํด์ง๊ณ ์ข์๋ฐ... ๊ทธ๋ง ๋ฃ๊ณ ์ถ๋ค ใ ใ ใ ใ ใ ใ ์ค๋ ํ๋ฃจ๋ ๊ฑฐ์ ์ฌ๋ฆผํฝ ๋๋ฌธ์ ๋ ๋ฆฐ ๊ฒ ๊ฐ๋ค. ํ์ง๋ง ๋๋ฌด ๋ฉ์๋ค. ๋ค. ์์ฐ ์ ์๋ ์ ๋ง ๋กค๋ชจ๋ธ์ด๋ค. ์๋๋น ๋ฉํ. ๊น์ฐ๊ฒฝ ์ ์๊ฐ 'ํด๋ณด์ ํด๋ณด์ ํด๋ณด์ ํด๋ณด์ ํํํ์ง ๋ง๊ณ 'ํ๊ณ ์ธ์น๋ ์์ ๋ณด๋ฉด์ ๋๋ฌผ ํ๋ ธ์ ใ ใ ใ ใ ใ ใ ์ค๋๋ถํฐ ์ด๊ฑฐ ๋ด ์ข์ฐ๋ช ์ด๋ค.