์ฑ ์ ๋ชฉ์ฐจ ๋๋ ์ฐพ์๋ณด๊ธฐ์ ํญ๋ชฉ์ ์ธ๋ฑ์ค์ ๋น์ ํ๋ค๋ฉด ๊ฐ ํญ๋ชฉ์ ๋ด์ฉ์ ๋ฐ์ดํฐ ํ์ผ์ ํด๋น๋๋ค. ๊ฐ ํญ๋ชฉ์์ ์ ๊ณตํ๋ ํ์ด์ง ๋ฒํธ๋ ๋ฐ์ดํฐ ํ์ผ์ ์ ์ฅ๋ ๋ ์ฝ๋์ ์ฃผ์์ ๋น์ ๋๋ค. ์ด์ ๊ฐ์ด DBMS๋ ์นผ๋ผ(๋๋ ์นผ๋ผ๋ค)์ ๊ฐ๊ณผ ํด๋น ๋ ์ฝ๋๊ฐ ์ ์ฅ๋ ์ฃผ์๋ฅผ ํค์ ๊ฐ์
์์์ฑ ์ปจํ ์คํธ(persistence context)๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก๋ถํฐ ๊ฐ์ ธ์จ(fetched) ๋ชจ๋ Entity instance์ ์งํฉ์ธ 1์ฐจ ์บ์์ด๋ค. ํธ๋์ญ์ ์์ ์ฌ์ฉํ ๊ฐ์ฒด๋ 1์ฐจ ์บ์์์ ๊ด๋ฆฌ๋๋ค.
๐ Graph DFS ๊น์ด ์ฐ์ ํ์(Depth-first Search)์ผ๋ก ์ฌ๊ท์ ์คํ๋ฅผ ์ฌ์ฉํ๋ค. ์ป์ด์ง ํด๊ฐ ์ต๋จ ๊ฒฝ๋ก๋ผ๋ ๋ณด์ฅ์ด ์๊ณ Stack Overflow์ ์ ์ํด์ผํ๋ค. ๋ฐฉ๋ฌธ์ฒ๋ฆฌ๋ฅผ ์ด์ฉํด ๋ฐฉ๋ฌธํ์ง ์๋ ๋ ธ๋์ ๋ํด ์๋ก์ด DFS ํ์์ ํ๋ค. ์ฃผ์ด์ง
React Hook์ธ ์ ๋ฅผ ์ฌ์ฉํด Infinite Scroll์ ๊ตฌํํ๋ค. Infinite Scroll ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ ์๋ Cursor-based Pagination์ผ๋ก ์๋น์ค๋ฅผ ์ ๊ณตํ๋๋ฐ ์์ธํ ๋ด์ฉ์ ๋ค์ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ๋ฉด ๋๋ค. > Cursor-based
๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ์ ๊ฐ์ ธ์ค์ง ์๊ณ ํ์ํ ๋งํผ ๊ฐ์ ธ์ค๋ ๊ฒ์ Pagination ์ด๋ผ๊ณ ํ๋ค. Pagination๋ 2๊ฐ์ง ๊ธฐ๋ฐ์ด ์๋ค. Offset-based Pagination : ๋ช๋ฒ์งธ๋ฅผ ๊ธฐ์ค์ผ๋ก ์๋ก์ด ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ Cursor-based Paginatio
์ฌ์ฉ์๊ฐ ๋น๊ณต๊ฐ๋ก ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฆฐ๋ค๋ฉด ์์ ๊ฐ์ด ๋น๊ณต๊ฐ ์ด๋ฏธ์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ํ๋ฉด์์ ์ ์์ ์ผ๋ก ์ถ๋ ฅ๋์ด์ผ ํ๋ค. ์ด๋ ๊ฒ ๊ณต๊ฐ ์ด๋ฏธ์ง์ ๋น๊ณต๊ฐ ์ด๋ฏธ์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ํ๋ฉด์ ๋ถ๋ฆฌํ๋ค. ํ์ง๋ง ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํ ์์ ๋ถํฐ ๋น๊ณต๊ฐ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฌ์ค์ง ๋ชปํ๋
์ด๋ฏธ์ง๋ฅผ GET ๋๋ POST ํ ๋ ๋น ๋ฅธ ์ฒ๋ฆฌ๋ฅผ ์ํด Server๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๋ฐ๋ก AWS S3์ ์ ๊ทผํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ค. ์ฌ์ฉ์ ๊ฐ์ URL์ ๊ณต์ ํ๋ฉด์ ํด๋น ์๋น์ค์ ํ์์ด ์๋ ์ฌ๋๋ ๋ณผ ์ ์๋๋ก AWS S3 ํน์ ํด๋์ GET ์ ๊ทผ์ ํ์ฉํ๋ค. ํ์ง
์ธ์คํ๊ทธ๋จ์ ํ๋ก์ฐ, ๋ค์ด๋ฒ ๋ธ๋ก๊ทธ์ ์ด์์ถ๊ฐ ๋ฑ ์๋ก์ ๊ด๊ณ ์ ๋ณด๋ฅผ ์ค์ DB ์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด ๊ถ๊ธํด์ก๋ค. Spring boot ๋ก ์ธ์คํ๊ทธ๋จ ํด๋ก ์ฝ๋ฉ์ ์งํํ๋ฉฐ ํ๋ก์ฐ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ค๊ณ ์๋ํ๋ ๊ณผ์ ์ ๊ธฐ๋กํ๋ค. ์ข์ ๋ฐฉ๋ฒ์ ์ฐพ์
Queue ๋ FIFO (first in first out) ๋ก ๋ค์ด์จ ์์๋ก ์ ๋ ฌ๋๋ค. ์ด์ ๋ฌ๋ฆฌ Priority Queue ๋ ์ฐ์ ์์๊ฐ ๋์ ์์๋๋ก ์ ๋ ฌ๋๋ค. root node ์ ์ฐ์ ์์๊ฐ ์ ์ผ ๋๊ธฐ ๋๋ฌธ์ ์ค์ ํ ์ฐ์ ์์์ ๋ฐ๋ผ ์ํ๋ ๊ฐ์ O(1) ์
JPA์ ํต์ฌ์ธ EntityManager๋ฅผ ํตํด Entity CRUD๋ฅผ ์ฒ๋ฆฌํ๋ฉฐ EntityManager์ EntityManagerFactory๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์กด์ฌํ๋ค. ํ์ง๋ง EntityManager๋ฅผ ์ง์ ์์ฑํ๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์๊ณ , ์ฃผ๋ก Repository int
N X M ํ๋ ฌ์์ ์ต๋ k๊ฐ์ ๋ฒฝ์ ๋ถ์๋ฉฐ (N, M) ์ง์ ์ผ๋ก ๊ฐ ์ ์๋ ์ต์ ๋น์ฉ์ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ๋จ, ํ์นธ ์ด๋์ ๋ฎ๊ณผ ๋ฐค์ด ๋ฐ๋๋ฉฐ, ๋ฎ์๋ง ๋ฒฝ์ ๋ถ์ ์ ์๋ค. 2๊ฐ์ง
TCP ํต์ ์์ 4-way handshake๋ ์๋ก๊ฐ์ ์ฐ๊ฒฐ์ ์ข ๋ฃํ๊ธฐ ์ํ ๋ฐฉ์์ด๋ค.