ํ์ฌ์ ์ธํด์ผ๋ก ์ ์ฌ๋ฅผ ํ๊ณ , ๋ํ๋๊ป์ ๊ณผ์ ํ๋๋ฅผ ์ฃผ์ จ์ต๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๊ฐ๋จํ ๊ณ์ฐ๊ธฐ๋ฅผ ๋ง๋๋ ๊ฒ์ด์์ต๋๋ค. ์ด๋ ต์ง ์๊ฒ ๊ตฌํ์ ํ์๊ณ , ๋ํ๋๊ป ๋ณด์ฌ๋๋ ธ์ต๋๋ค. ๊ณ์ฐ๊ธฐ ๊ธฐ๋ฅ ์์ฒด์๋ ๋ฌธ์ ๊ฐ ์ ํ์์์ผ๋.. ๊ณ์ฐ๊ธฐ๋ฅผ ๊ตฌํํ ์ฝ๋๋ฅผ ๋ณด์๊ณ ๋ ์ด๋ฐ ๋ง์ ํ์ จ์ต๋๋ค. ์์ง๋ ์ ํํ ๊ธฐ์ต๋ฉ๋๋ค. ์ฌ์ง์ด ๋งํฌ๊น์ง๋ ๊ธฐ์ต์ด ๋ฉ๋๋ค. "์ฝ๋์ ์ฒ ํ์ด ๋ด๊ฒจ ์์ง ์์" โป์ฒ์์ ์ ๊ฐ ๊ตฌํํ๋ ์ฝ๋์ ๋๋ค. ์ฝ๋๊ฐ ๋๋ฌด ๊ธธ์ด ๋งํฌ๋ก ๋์ฒดํฉ๋๋ค. ์ผํ๋ณด๋ฉด ๊ฐ๋ ์ฑ๋ ์๊ณ ๋๋ฆ๋๋ก ํจ์ํ๋ ์์ผ์ ๋ฌธ์ ๊ฐ ์์ด ๋ณด์ผ์ ์์ต๋๋ค. ํ์ง๋ง ๋ง์ฝ ๊ณ์ฐ๊ธฐ์ ๋๋จธ์ง๋ฅผ ๊ตฌํด์ฃผ๋ % ๊ธฐ๋ฅ์ ์ถ๊ฐํด์ฃผ๊ณ ์ถ๋ค๋ฉด ๊ณ์ฐ ๊ด๋ จํ ๋ก์ง์ผ๋ก ๋ค์ด๊ฐ์ ๋ด๋ถ๋ฅผ ๋ฏ์ด๊ณ ์ณ์ผ ํฉ๋๋ค. ๋ฌผ๋ก ๊ณ์ฐ๊ธฐ ๊ด๋ จ ์ฝ๋๋ ๋ณต์กํ๊ณ ๊ธธ์ง ์์์ ๋ฌธ์ ๊ฐ ๋์ง ์์ง๋ง ์ฌ..
Express๋ ๊ธฐ์กด Node.js ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ํ์ฅ์ฑ์ด ๋ง์ด ๋จ์ด์ง๋ค๊ณ ์๊ฐํ์ฌ ๋ง๋ค์ด์ง ์น ์๋ฒ ํ๋ ์์ํฌ์ ๋๋ค. Express๋ http ๋ชจ๋์ ์์ฒญ๊ณผ ์๋ต ๊ฐ์ฒด์ ์ถ๊ฐ ๊ธฐ๋ฅ๋ค์ ๋ถ์ฌํ์ต๋๋ค. ๋ ๋ผ์ฐํฐ๋ก ์ฝ๋๋ฅผ ๋ถ๋ฆฌํ๊ธฐ ์ฌ์ ์ ์ง๋ณด์ ๋ํ ์ฉ์ดํฉ๋๋ค. Express ์ธ์๋ koa๋ hapi ๊ฐ์ ์น ์๋ฒ ํ๋ ์์ํฌ๊ฐ ์์ง๋ง ๋ค์ ์ฌ์ง๊ณผ ๊ฐ์ด Express๊ฐ ์๋์ ์ผ๋ก ์ธ๊ธฐ๊ฐ ๋ง์ต๋๋ค. ๋ฌผ๋ก ์ฌ์ฉ์๊ฐ ๋ง๋ค๊ณ ํญ์ ์ข์๊ฑด ์๋์ง๋ง, ์ฌ์ฉ์๊ฐ ๋ง์ ๊ฒ์๋ ์ด์ ๊ฐ ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ๋ง์ ์๋ก ๋ฒ๊ทธ๊ฐ ์ ๊ณ , ๊ธฐ๋ฅ ์ถ๊ฐ๋ ์ ์ง๋ณด์๋ ํ๋ฐ์ด ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. Express-generator๋ Express ํ๊ฒฝ์ ๊ฐ๋จํ๊ฒ ๊ตฌ์ถํด์ฃผ๋ npm์ ๋๋ค. ๋ฐ๋ผ์ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ Node.js ๊ฐ๋ฐ์ ํ ์ ์์ต๋๋ค...
bcrypt๋? ์น ํ์ด์ง๋ฅผ ๊ตฌํํ ๋ ๋ณด์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ผ๋ก ์ํ๋์ด์ผ ํ ์์์ ๋๋ค. ๋น๋ฐ๋ฒํธ๋ฅผ ํ ์คํธ ๊ทธ๋๋ก ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ ์ฅํด ๊ด๋ฆฌํ๋ ๊ฒ์ ํด์ปค์๊ฒ ๋๋๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๋ ๊ฒ๊ณผ ๋ค๋ฆ ์์ต๋๋ค. ์ด๋ฅผ ๋ฐฉ์งํ๊ณ ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ํธํ ํ๋ ๊ฒ์ด bcrypt ๋ชจ๋์ ๋๋ค. bcrypt๋ ๋จ๋ฐฉํฅ ํด์ ํจ์๋ฅผ ์ด์ฉํ ๋ชจ๋๋ก์จ Salt ๋ผ๋ ๊ฐ๋ ์ ์ฌ์ฉํฉ๋๋ค. Salt ๋ผ๋ ๊ฐ๊ณผ ํด์๋ ๋น๋ฐ๋ฒํธ๋ฅผ ํฉ์ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๊ฒ ๋๋๋ฐ ์ด๋ ๊ฒ ํ๋ฉด, ๋ง์ฝ "1234" ๊ฐ์ ๋น๋ฐ๋ฒํธ๋ฅผ ํด์ํจ์์ ๋ฃ์์๋ ํญ์ ๋ค๋ฅธ ๊ฐ์ Salt ๊ฐ๊ณผ ๋น๋ฐ๋ฒํธ๊ฐ ํฉ์ณ์ ํด์ปค๋ค์ด ๋น๋ฐ๋ฒํธ๋ฅผ ์ฐพ๋๋ฐ ์์ด ๋์ฑ ํ๋ค๊ฒ ๋ง๋ญ๋๋ค. ์ฌ์ฉ ๋ฐฉ๋ฒ npm i bcrypt๋ฅผ ์ํํฉ๋๋ค. const bcrypt = require('bcrypt'); ..