jwt๋? JWT(Json Web Token)์ ์ฝ์๋ก, Json ํฌ๋งท์ ์ด์ฉํด ์ธ์ฆ์ ํ์ํ ์ ๋ณด๋ฅผ ์ํธํ ํ ์น ํ ํฐ์ด๋ค.
ํด๋ก์ ๋, ์ด๋ค ํจ์ A์์ ์ ์ธํ ๋ณ์ a๋ฅผ ์ฐธ์กฐํ๋ ๋ด๋ถํจ์ B๋ฅผ ์ธ๋ถ๋ก ์ ๋ฌํ ๊ฒฝ์ฐ, A์ ์คํ ์ปจํ ์คํธ๊ฐ ์ข ๋ฃ๋ ์ดํ์๋ ๋ณ์ a๊ฐ ์ฌ๋ผ์ง์ง ์๋ ํ์
React Hook ์ด๋? ๐ง Hook React ๋ฒ์ 16.8๋ถํฐ React ์์๋ก ์๋ก ์ถ๊ฐ๋ ๊ธฐ๋ฅ์ด๋ค. ํจ์ํ ์ปดํฌ๋ํธ์์๋ ํด๋์คํ ์ปดํฌ๋ํธ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๊ฒ ํ๋ ๋ช ๊ฐ์ง ๊ธฐ์ ์ Hook ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ฝ๋ฐฑํจ์: ๋ค๋ฅธ ์ฝ๋์ ์ธ์๋ก ๋๊ฒจ์ฃผ๋ ํจ์
์๋ฐ์คํฌ๋ฆฝํธ์์ this ๋?
์คํ ์ปจํ ์คํธ(execution context): ์คํํ ์ฝ๋์ ์ ๊ณตํ ํ๊ฒฝ ์ ๋ณด๋ค์ ๋ชจ์๋์ ๊ฐ์ฒด
Next.js ๋ผ์ฐํฐ ์ฌ์ฉ์ ์ ํํ ์ ์๋ฅผ ๋ชจ๋ฅด๊ณ ์ฌ์ฉํ๋ ๋ถ๋ถ์ด ๋ง์ ๊ฒ ๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๋ฉ์๋๋ฅผ ์ ๋ฆฌํด๋ณด์์ต๋๋ค.
[์ฝ์ด ์๋ฐ์คํฌ๋ฆฝํธ] 1๊ฐ ๋ฐ์ดํฐ ํ์ ์ ๋ฆฌ
react-calendar ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก react ์ฑ์ ๋ฌ๋ ฅ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ค๋ฃฐ ๋ ์ธ๋ฑ์ฑ(indexing)์ ๋งค์ฐ ์ค์ํ๋ค. ๋ณธ ๊ฒ์๊ธ์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค์ ๊ฐ๋ ๊ณผ ํ์์ฑ, ๊ทธ๋ฆฌ๊ณ ๋ ์ผ์ฆ ์ฑ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋ ค๊ณ ํ๋ค.
์ด๋ฒ ํฌ์คํธ์์๋ React ์ฑํ ์ฑ์ Firestore๋ฅผ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ณต์ ๋๋ฆฌ๊ณ ์ ํฉ๋๋ค. ๊ธฐ์กด์ polling ๋ฐฉ์์ผ๋ก ์ฑํ ์ ๊ตฌํํ์ ๋ ์๋๋ ๋๋ฌด ๋๋ฆฌ๊ณ , ์ฑํฌ๊ฐ ๋ง์ง ์์ ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ๋ฐ์๋ ์ ์๋ Firestore๋ฅผ ์ ์ฉํ์ต๋๋ค.
๋ ์ผ์ฆ 7.0 ์ ๋ฐ์ดํธ ๋ด์ฉ ์ ๋ฆฌ
6๊ฐ ์ ๋ฆฌ: ํฌ์ธํฐ, ๋ฐฐ์ด, ์ฐ๊ฒฐ ๋ฆฌ์คํธ, ํด์ ํ ์ด๋ธ, ํธ๋ผ์ด, ์คํ, ํ, ๋์ ๋๋ฆฌ
CS50 ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ๋ ธํธ: ๋ฉ๋ชจ๋ฆฌ ์ฃผ์, ํฌ์ธํฐ, ๋ฌธ์์ด, ๋ฌธ์์ด ๋น๊ต, ๋ฌธ์์ด ๋ณต์ฌ, ๋ฉ๋ชจ๋ฆฌ ํ ๋น๊ณผ ํด์ , ๋ฉ๋ชจ๋ฆฌ ๊ตํ/ ์คํ/ ํ, ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ
๊ฒ์ ์๊ณ ๋ฆฌ์ฆ, ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ, big-o ์์๋ณด๊ธฐ
๋ชจ๋๋ฅผ ์ํ ์ปดํจํฐ ๊ณผํ (CS50 2019) ๊ฐ์ ์ ๋ฆฌ
์ฌ์ง์ ์๋๋๋ก ๋๋ ค๋ณด์
N+1 ๋ฌธ์ ๋? ์ฟผ๋ฆฌ 1๋ฒ์ผ๋ก N๊ฑด์ ๊ฐ์ ธ์๋๋ฐ, ๊ด๋ จ ์ปฌ๋ผ์ ์ป๊ธฐ ์ํด ์ฟผ๋ฆฌ๋ฅผ N๋ฒ ์ถ๊ฐ ์ํํ๋ ๋ฌธ์
๋ฐฑํธ๋ํน(backtracking)์ด๋? : ํ์ ์กฐ๊ฑด์ ๊ฐ์ง ๋ฌธ์ ๋ฅผ ํธ๋ ์ ๋ต์ด๋ค. ํด๋ฅผ ์ฐพ๋ ๋์ค ํด๋น ๊ฒฝ๋ก์์ ํด๊ฐ ๋์ค์ง ์๊ณ ๋งํ๋ฉด, ๋๋์๊ฐ์ ๋ค๋ฅธ ๊ฒฝ๋ก์์ ํด๋ฅผ ์ฐพ์๊ฐ๋ ๊ธฐ๋ฒ์ ๋งํ๋ค.
๋ฐฑํธ๋ํน(backtracking)์ด๋? ํด๋ฅผ ์ฐพ๋ ๋์ค ํด๊ฐ ์๋์ด์ ๋งํ๋ฉด, ๋๋์๊ฐ์ ๋ค์ ํด๋ฅผ ์ฐพ์๊ฐ๋ ๊ธฐ๋ฒ์ ๋งํ๋ค. ์ต์ ํ ๋ฌธ์ ์ ๊ฒฐ์ ๋ฌธ์ ๋ฅผ ํธ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ํ์ ์ธ ๋ฌธ์ ๋ก n-queens ๋ฌธ์ ๊ฐ ์๋ค. ์ด๋ฅผ ๊ฐ์ง์น๊ธฐ๋ผ๊ณ ํ