nodejs(12)
-
[ TIL ] [ ์ ๊ท๊ณผ์ : ์ฃผํน๊ธฐ์ฃผ์ฐจ ] JWTํ ํฐ (.env๋ก SECRET_KEY์ฒ๋ฆฌ๊น์ง!)
๊ฒ์๊ธ์ ๋ง๋๋ LEVEL3์ ํ๊ณผ์ ์์ ํ์๊ฐ์ ๊ณผ ๋ก๊ทธ์ธ์ด ์ฑ๊ณตํ์์ ๋, JWT ํ ํฐ์ ๋ฐ๊ธํ๋๋ก ํ๋ค. ๋๋, JWTํ ํฐ์ ๋จ์ํ๊ฒ ์ฐ๊ธฐ๋ง ํ๊ณ JWT๋ฅผ secret_key๋ก ์ฒ๋ฆฌํ์ง ์์๋ค. ์์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ JWT์ ๋ชฉ์ ์ ์์ค ํ๊ฒ์ด๋ค. ์์ฐํ ๋งํ์๋ฉด secret_key ํ์ฉํด์ผ์ง ๋ผ๋ ์ฃผ์๋ง ๋ฌ์๋๊ณ ์ ์ . envํด๋์๋ ์๋ฌด๊ฒ๋ ์ฐ์ง ์์๋ค. ๊ทธ๋ ๋ค. ๋๋ ์ฌ์ฉ๋ฐฉ๋ฒ์ ๋ชฐ๋๋ค(?) ์ฝ๋๋ฆฌ๋ทฐ ์๊ฐ์ ์ด ๋ถ๋ถ์ ๋ํ ํผ๋๋ฐฑ์ด ์์๊ณ , ๋ช ์๋ง ํ๋ฉด ์ด์ฐ ๋ ์ค ์์๋๋ฐ. env ํด๋ ์์ ๋ค์ด๊ฐ ๋ณด๋ ์ ๋ง ๋ฐ๋ก ํ๊ธฐ๋ ๋ถ๋ถ์ด ์์๋ค. ๊ฐ์ฌํ๊ฒ๋ ํผ๋๋ฐฑ๊ณผ ์ฌ์ฉ๋ฒ์ ํจ๊ป ์๋ ค์ฃผ์ จ๊ณ Til๋ก ์ถ๊ฐ ์ ๋ฆฌํ๋ฉด์ ์ดํด๋ณด๋,. envํ๊ฒฝ๋ณ์๋ก host.pass, user ๋ฑ์ secret์ผ๋ก ์ฒ๋ฆฌํ๊ณ ..
2023.09.11 -
[ Node.js ์๋ จ์ฃผ์ฐจ1 (1-0)] JWT(Json Web Token)
JWT(Json Web Token) JWT(Json Web Token)์ ์น ํ์ค์ผ๋ก์จ, ์๋ฒ์ ํด๋ผ์ด์ธํธ ์ฌ์ด์์ ์ ๋ณด๋ฅผ ์์ ํ๊ฒ ์ ์กํ๊ธฐ ์ํด ๋์์ ์ฃผ๋ ์น ํ ํฐ(Web Token)์ด๋ค. JSON ํํ์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ ์กํ๊ณ ๊ฒ์ฆํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณต. ์ธํฐ๋ท ํ์ค์ผ๋ก์ ์๋ฆฌ ์ก์ ๊ท๊ฒฉ์ด๋ค. ๋ค์ํ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ์ ์์ด, ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ๋ค. header/ payload/ signature์ ํ์์ผ๋ก 3๊ฐ์ง์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ค. (๊ฐ๋ฏธ์ฒ๋ผ ๋จธ๋ฆฌ, ๊ฐ์ด, ๋ฐฐ) ์ถ๊ฐ๋ก ํน์ง์ ๋ ์์๋ณด์๋ฉด, 1) JWT๋ ๋น๋ฐ ํค๋ฅผ ๋ชจ๋ฅด๋๋ผ๋ ๋ณตํธํ(Decode)๊ฐ ๊ฐ๋ฅํ๋ค. JWT๋ฅผ ๊ฐ์ง ์ฌ๋์ด๋ผ๋ฉด ๋๊ตฌ๋ ํด๋น ํ ํฐ์ ์ด๋ค ๋ฐ์ดํฐ๊ฐ ๋ด๊ฒจ์๋์ง ํ์ธํ ์ ์๋ค. ๋ณ์กฐ๋ง ๋ถ๊ฐ๋ฅ ํ ๋ฟ, ๋๊ตฌ๋ ๋ณตํธํํ..
2023.09.11 -
[ WIL ] ( Week 5 ์ฃผ์ฐจ) ORM, noSQL vs SQL
ORM 2023.09.10 - [3. Node.js] - [ Node.js ์๋ จ์ฃผ์ฐจ1 (1-0)] ORM๊ณผ Prisma [ Node.js ์๋ จ์ฃผ์ฐจ1 (1-0)] ORM๊ณผ Prisma ORM์ด๋? ๊ฐ์ฒด ๊ด๊ณ ๋งคํ(Object-relational mapping; ORM)์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๊ฐ์ ํธํ๋์ง ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ณํํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ์ด๋ค. ๊ฐ์ฒด ์งํฅ ์ธ์ด์์ ์ฌ์ฉํ ์ ์๋ sa-growth-diary.tistory.com noSQL vs SQL 2023.09.11 - [3. Node.js] - [ Node.js ์๋ จ์ฃผ์ฐจ1 (1-0)] noSQL vs SQL [ Node.js ์๋ จ์ฃผ์ฐจ1 (1-0)] noSQL vs SQL SQL "Structured Query Language..
2023.09.11 -
[ Node.js ์๋ จ์ฃผ์ฐจ1 (1-0)] noSQL vs SQL
SQL "Structured Query Language" SQL์ 1970๋ ๋๋ถํฐ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (RDBMS)์์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ๋๋ฆฌ ์ฌ์ฉ๋์ด ์จ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด. ์คํ ๋ฆฌ์ง ๋น์ฉ์ด ๋น์๋ ์ด๊ธฐ์๋ SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ฐ์ดํฐ ์ค๋ณต์ ์ค์ด๋ ๋ฐ ์ค์ ์ ๋์๋ค. ์ค๋๋ ์๋ SQL์ ๋ค์ํ ๋ฐฉ์์ผ๋ก ์ฐ๊ฒฐ๋ ํ๊ณผ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฟผ๋ฆฌํ๋๋ฐ ์ฌ์ฉ๋๋ค. ํ๋์ ํ ์ด๋ธ ๋ ์ฝ๋๋ ๋ค๋ฅธ ๋ ์ฝ๋ ๋๋ ๋ค๋ฅธ ๋ง์ ๋ ์ฝ๋์ ์ฐ๊ฒฐ๋ ์ ์๊ณ ํ ์ด๋ธ๊ณผ ๋ค๋ฅธ ๋ง์ ๋ ์ฝ๋๋ค ๊ฐ์ ๋ง์ ๊ด๊ณ๋ฅผ ํ์ฑํ ์ ์๋ค. ๋น ๋ฅธ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๋ณต๊ตฌ๋ฅผ ์ ๊ณตํ๋ ์ด๋ฌํ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋๋์ ๋ฐ์ดํฐ์ ๋ณต์กํ SQL ์ฟผ๋ฆฌ๋ก ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค. NoSQL NoSQL ์ ๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค. ..
2023.09.11 -
[ TIL ] [ ์ ๊ท๊ณผ์ : ์ฃผํน๊ธฐ์ฃผ์ฐจ ] ์ ๊ท ํํ์ ๋ง๋ค๊ธฐ
์ด๋ฒ LV ๊ฒ์ํ ๋ง๋ค๊ธฐ๋ฅผ ํ๋ฉด์ , ๋ก๊ทธ์ธ์ ๊ตฌํํ ๋์ ์๋์ ์กฐ๊ฑด๊ฐ์ ํ์ฉ ํ์ฌ์ผ ํ๋ค๋ ์กฐ๊ฑด๊ฐ์ด ์์๋ค. api ๋ช ์ธ์๋ง ์ ๊ฒฝ์จ์ ๋ง๋ค๋ค๊ฐ ์กฐ๊ฑด๊ฐ์ด ์๋ค๋๊ฑธ ๋ชจ๋ฅด๊ณ ์๋ค๊ฐ ๋ค๋ฆ๊ฒ ํ์ธํด์ ์ ๊ท์์ผ๋ก ์์ด๋/๋น๋ฐ๋ฒํธ๋ฅผ ๋ฃ์ด ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ์ธํด์ ์ฝ๋๋ฅผ ์์ ํ๋ค. ๋๋ค์์ ์ต์ 3์ ์ด์, ์ํ๋ฒณ ๋์๋ฌธ์(a~z, A~Z), ์ซ์(0~9)๋ก ๊ตฌ์ฑํ๊ธฐ ๋น๋ฐ๋ฒํธ๋ ์ต์ 4์ ์ด์์ด๋ฉฐ, ๋๋ค์๊ณผ ๊ฐ์ ๊ฐ์ด ํฌํจ๋ ๊ฒฝ์ฐ ํ์๊ฐ์ ์ ์คํจ๋ก ๋ง๋ค๊ธฐ ๋จผ์ , ์ ๊ทํํ์((Regular Expression)์ ๋ํด ์์๋ดค๋ค. ์ ๊ทํํ์์ ๋ฌธ์์ด์์ ํน์ ๋ด์ฉ์ ์ฐพ๊ฑฐ๋ ๋์ฒด ๋๋ ๋ฐ์ทํ๋๋ฐ ์ฌ์ฉํ๋ค. ์๋ฅผ ๋ค์ด ํ์๊ฐ์ ํ๋ฉด์์ ์ฌ์ฉ์๋ก ๋ถํฐ ์ ๋ ฅ ๋ฐ๋ ์ ํ๋ฒํธ๊ฐ ์ ํจํ์ง ์ฒดํฌํ ํ์๊ฐ ์๋ค. ์ด๋ ์ ๊ทํํ์์ ์ฌ..
2023.09.10 -
[ TIL ] [ ์ ๊ท๊ณผ์ : ์ฃผํน๊ธฐ์ฃผ์ฐจ ] Git ๋ช ๋ น์ด ๋ชจ์.Zip
ํ์ดํ๋ก๊ทธ๋จ์ ํ๋ฉด์ GIthub์ ์ฌ์ฉํ ์ผ์ด ๋ง์๋ค. ์ค์ ๋ก github์ ์ฌ์ฉํ์ง ๋ชปํ๋ฉด ์ ๋ฌด๋ฅผ ํ๋ฉด์๋ ๋ถํธํจ์ด ๋ง๋ค๊ณ ํด์ ์์ ์ ํ๋ฉด์๋ ๋ง์ด ์ฌ์ฉํ๋ ค ๋ ธ๋ ฅํ๋๋ฐ ํผ์ ์ปค๋ฐํ๋ ์ผ์๋ ํฌ๊ฒ ์ด๋ ค์์ด ์์ง๋ง ํ์ดํ๋ก๋จ, ํ ํ๋ก๊ทธ๋จ์ ํ๋ฉด์ ๋ธ๋ฐ์น๋ฅผ ๋ง๋ค๊ณ ํฉ์น๋ ๊ณผ์ ๋ค์ ํ๋ฉด ์ถฉ๋์ด ์ผ์ด๋๊ณ ์ด๋๊ฐ ์ต์ํ์ง ์๋ค. ํ์ง๋ง Github์ ์ฌ์ฉํ๋ ๋ชฉ์ ์์ฒด๊ฐ ์ ๋ฌด๋ฅผ ๊ณต์ ํ๊ณ ๋๋๊ธฐ ์ํ๋ ๊ฒ์ด๋ ๊พธ์คํ ๊ณต๋ถํด์ผ๊ฒ ๋ค. ์๋๋ ์์ฃผ ์ฌ์ฉํ๋ ๋ช ๋ น์ด๋ค์ ๋ชจ์๋ดค๋ค. ๋, ์์ฝ๋์ 2์๊ฐ์ด ๋๋ ( ์ด๋ฐ ๋ฌด๋ฃ๊ฐ์๋ ์ฌ๋์ ๋๋ค.. ์ง์ง ๋น*๊ณผ ์๊ธ* ) ์ ํ๋ธ์์๋ ํจ๊ป ์ฒจ๋ถํด ๋ณธ๋ค. ( * ๋ฌผ๋ก ๋๋ ๊ธธ์ด์ ์ ์ฒด๋ฅผ ๋ณด์ง ๋ชปํ๊ณ , ์ฑํฐ์์ ์ค์ํ ๋ถ๋ถ๋ง ๋ณด์๋ค. ) ๊ด๋ จ์์ : YOUTUBE [์ํํ ์ฝ๋ฉ..
2023.09.09