WIL3 ๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ ๊ณต๋ถํ๊ฒ ๋ ๊ณ๊ธฐ๊ฐ์๊ธฐ ์ ๊ณต๋ถํ๊ฒ ๋๋๋ฉด,,,ํ์ฌ ๋ง๋ค๊ณ ์๋ ์๋น์ค์์ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ์ฅํ ๋, ํ๋ฌธ์ Salt ๊ฐ์ ๋ถ์ธ ๋ค์ Hashing(ํด์ฑ)์ ํด์ DB์ ์ ์ฅ ํ๋๋ก ๊ตฌํํ๋ค.ํ๋ฌธ์ด ์๋๋ผ ํด์๊ฐ์ ์ ์ฅํ๋ ์ด์ ๋ ํน์ฌ๋ ์ ์์ ์ธ ๊ณต๊ฒฉ์์ ์ํด ๋ ธ์ถ๋์๋ค๊ณ ํ์ ๋, ์ค์ ๋น๋ฐ๋ฒํธ๋ ์์๋ด์ง ๋ชปํ๊ฒ ํ๊ธฐ ์ํจ์ด๋ค. ์ฌ๋ด์ด์ง๋ง ์์ฆ์ ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ๋ฅผ ํ๋ฉด, ๊ธฐ์กด์ ๋น๋ฐ๋ฒํธ๋ฅผ pas*w*rd ์ด๋ฐ ์์ผ๋ก ์๋ ค์ฃผ๋ ๊ฒ ์๋๋ผ ๋ฌด์กฐ๊ฑด ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ๊ฒ ํ๋ค.๊ทธ ์ด์ ๊ฐ ํด์๊ฐ์ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ์๋ ๋น๋ฐ๋ฒํธ๊ฐ ๋ญ์๋์ง ์์ง ๋ชปํ๊ธฐ์, ์๋ ค์ค ์๊ฐ ์๊ธฐ ๋๋ฌธ ! Salt ๊ฐ์ ์ฌ์ฉํ๋ ์ด์ ๋ ์์ ์ ๋ณด์ ์๊ฐ์ ๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ์ด๋ผ๋ ๊ณต๊ฒฉ๋ฒ์ ๋ฐฐ์ ์๋๋ฐ,์ด ๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ ๊ณต๊ฒฉ์ ๋์ํ๊ธฐ ์ํด.. 2024. 5. 1. ๋ฌด์ํ ํ๋กํ ์ฝ ๋คํธ์ํฌ์ ๋ํ ์ง์์ด ํ์ํ๋ค๊ณ ์๊ฐ๋์ด, ๊น์ํ๋์ "๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ์น ๊ธฐ๋ณธ ์ง์" ๊ฐ์๋ฅผ ๋ค์๋ค. ๊ทธ ์ค์ ๋ฌด์ํ ํ๋กํ ์ฝ์ ๋ํ ๊ฐ๋ ์ ์ฒ์์ด๋ผ ์ ๋ฆฌํ๊ฒ ๋์๋ค. ๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ์น ๊ธฐ๋ณธ ์ง์ ๊ฐ์ - ์ธํ๋ฐ ์ค๋ฌด์ ๊ผญ ํ์ํ HTTP ํต์ฌ ๊ธฐ๋ฅ๊ณผ ์ฌ๋ฐ๋ฅธ HTTP API ์ค๊ณ ๋ฐฉ๋ฒ์ ํ์ตํฉ๋๋ค., [์ฌ์ง] ๐ฃ ํ์ธํด์ฃผ์ธ์!๋ณธ ๊ฐ์๋ ์๋ฐ ์คํ๋ง ์์ ์ ๋ณต ์๋ฆฌ์ฆ์ ์ธ ๋ฒ์งธ ๊ฐ์์ ๋๋ค. ์ฐ์ํํ์ ๋ค ์ต์ฐ์ ๊ธฐ์ www.inflearn.com (PPL์๋...) ๋ฌด์ํ ํ๋กํ ์ฝ Stateless Protocol HTTP ํ๋กํ ์ฝ์ ๋ฌด์ํ ํ๋กํ ์ฝ์ ์งํฅํ๋ค ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ํ๋ฅผ ๋ณด์กดํ์ง ์๋๋ค ์ฅ์ : ์๋ฒ์ ํ์ฅ์ฑ์ด ๋๋ค(Scale Out) ๋จ์ : ํด๋ผ์ด์ธํธ๊ฐ ์ ์กํ๋.. 2024. 3. 8. GraphQL๊ณผ N + 1 ๋ฌธ์ ์ฐพ์๋ณด๊ฒ ๋ ๊ณ๊ธฐ ํ์ฌ ์งํํ๊ณ ์๋ ํ๋ก์ ํธ์์, ๋ฐฑ์๋์ ํ๋ก ํธ์๋๊ฐ์ ์์กด๋๋ฅผ ๋จ์ดํธ๋ฆฌ๊ณ ์ GraphQL์ ๋์ ํ๊ฒ ๋์๋ค GraphQL์ ์ฌ์ฉํ๋ฉด ํ๋ก ํธ์ธก์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด๊ฐ๋ ํ์์ด๊ธฐ ๋๋ฌธ์, RestAPI์ฒ๋ผ ์ฌ๋ฌ ๊ฐ์ ์๋ํฌ์ธํธ๋ฅผ ๋ง๋ค์ง ์์๋ ๋๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฐ๋ฐ GraphQL์ ์ฌ์ฉํ๋ฉด Resolver๊ฐ ์ฐ์์ ์ผ๋ก ๋์ํ๋ N + 1 ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋น๋ฒํ๋ค๊ณ ํด์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ๊ธฐ์ํด ์์๋ณด๊ฒ ๋์๋ค. N + 1 ๋ฌธ์ ๋? 1๋ฒ์ ์ฟผ๋ฆฌ๋ก ๊ฐ์ ธ์ฌ ์ ์๋ ๋ฐ์ดํฐ์ ๋ํด์ ์ฐธ์กฐํ๋ ๋ฐ์ดํฐ N๊ฐ ๊ฐ๊ฐ์ ๋ํด ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ ค N + 1 ๋ฒ์ ์ฟผ๋ฆฌ ๊ฐ ๋ฐ์ํ๋ ๋ฌธ์ ์๋ฅผ ๋ค์ด, ํ๋์ ๋ธ๋ก๊ทธ์ 3๊ฐ์ ๋๊ธ์ด ์์ฑ๋์ด ์๋ค๊ณ ํด๋ณด์. ์ด๋, ๋ธ๋ก๊ทธ์ ๋๊ธ์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด์.. 2024. 2. 27. ์ด์ 1 ๋ค์