diff --git "a/11\354\236\245/\352\263\265\354\230\210\354\230\201.md" "b/11\354\236\245/\352\263\265\354\230\210\354\230\201.md"
new file mode 100644
index 0000000..61001c3
--- /dev/null
+++ "b/11\354\236\245/\352\263\265\354\230\210\354\230\201.md"
@@ -0,0 +1,38 @@
+**๐ Ch11. ์์คํ
**
+
+> ํฐ ๊ทธ๋ฆผ์ ์ดํดํ์ง ๋ชปํ ์ง๋ผ๋, ๊ฐ์ธ์ด ๊ด๋ฆฌํ๋ ๊ตฌ์ฑ์์๋ ํจ์จ์ ์ผ๋ก ๋์๊ฐ๋ค.
+
+ํฐ ๊ทธ๋ฆผ์ ์ดํดํ์ง ๋ชปํ๋๋ผ๋, ๊ฐ์ธ์ด ๊ด๋ฆฌํ๋ ๊ตฌ์ฑ์์๋ ํจ์จ์ ์ผ๋ก ๋ง๋ค ์ ์๊ณ ๊ทธ๊ฒ์ด ๋ชจ์ฌ ํฐ ๊ทธ๋ฆผ์ ์ด๋ฃฌ๋ค๋ ๊ฒ์ด ์ธ์๊น๋ค. ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ก์ ์์คํ
์ ์ฒด๋ฅผ ๋ค ์์ง ๋ชปํ๋๋ผ๋, ๋ด๊ฐ ๋ง๋ ์ปดํฌ๋ํธ/๋ก์ง์ด ์ ๋ถ๋ฆฌ๋์ด ์๊ณ ํจ์จ์ ์ผ๋ก ์๋ํ๋ค๋ฉด ๊ทธ๊ฒ๋์ด ๋ชจ์ฌ ํฐ ์์คํ
์ ์ด๋ฃฌ๋ค.
+๊ฒฐ๊ตญ ๋ชจ๋์ฑ๊ณผ ํ์ฅ์ฑ์ ํต์ฌ์ธ ๊ฒ ๊ฐ๋ค.
+
+
+> ์ค์ ๋
ผ๋ฆฌ์ ์ผ๋ฐ ์คํ ๋
ผ๋ฆฌ์ ๋ถ๋ฆฌํด์ผ ๋ชจ๋์ฑ์ด ๋์์ง๋ค.
+>
+> ์คํ ์์ ์์ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ผ ํ ๋๋ ์ถ์ ํฉํ ๋ฆฌ ํจํด์ ์ฌ์ฉํ๋ค. ์์ฑ ์์ ์ ์ ํ๋ฆฌ์ผ์ด์
์ด ๊ฒฐ์ ํ์ง๋ง ์์ฑํ๋ ๋ก์ง์ ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ชจ๋ฅด๊ฒ ํ๋ค.
+
+ํ๋ก ํธ์๋์์๋ API ํด๋ผ์ด์ธํธ๋ฅผ ์ค์ ํ๊ฑฐ๋ ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด๊ธฐํํ ๋ ์ค์ ํ์ผ์ ๋ณ๋๋ก ๋ถ๋ฆฌํ์ฌ ์ค์ ๋
ผ๋ฆฌ๋ฅผ ๋ณ๋๋ก ๋ถ๋ฆฌํด๋๋ค.
+
+> ์์กด์ฑ ์ฃผ์
: ์ฌ์ฉ๊ณผ ์ ์์ ๋ถ๋ฆฌํ๋ ๊ฐ๋ ฅํ ๋ฉ์ปค๋์ฆ.? ์ ์ด ์ญ์ ์์๋ ํ ๊ฐ์ฒด๊ฐ ๋งก์ ๋ณด์กฐ ์ฑ
์์ ์๋ก์ด ๊ฐ์ฒด์๊ฒ ์ ์ ์ผ๋ก ๋ ๋๊ธด๋ค. ์๋ก์ด ๊ฐ์ฒด๋ ๋๊ฒจ๋ฐ์ ์ฑ
์๋ง ๋งก์ผ๋ฏ๋ก SRP๋ฅผ ์งํค๊ฒ ๋๋ค.
+ํด๋์ค๋ ์์กด์ฑ์ ํด๊ฒฐํ๋ ๊ฒ ์๋๋ผ ์์กด์ฑ์ ์ฃผ์
ํ๋ค.
+
+์๋ฐ ๊ธฐ์ค์ผ๋ก ์ค๋ช
๋์ด ์์ด ์์๋ฅผ ์ดํดํ๊ธฐ์ ์ด๋ ค์ ์ง๋ง, ์์กด์ฑ ์ฃผ์
์ ํ๋ก ํธ์๋์์ hook๊ณผ ๋น์ทํ ๊ฒ ๊ฐ๋ค.
+์ปดํฌ๋ํธ ๋ด๋ถ์์ ์ง์ fetch ๋ก์ง์ ์ํํ๋ ๊ฒ์ด ์๋๋ผ useUser()์ ๊ฐ์ ์ปค์คํ
ํ
์ผ๋ก ๋ถ๋ฆฌํ๋ฉด, ์ปดํฌ๋ํธ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ณ , ํ
์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ์ฑ
์์ ์ง๊ฒ ๋๋ค.
+
+> ํ์ฅ : ์ํํธ์จ์ด ์์คํ
์ ์๋ช
์ด ์งง๋ค๋ ๋ณธ์ง๋ก ์ธํด ์ํคํ
์ฒ์ ์ ์ง์ ์ธ ๋ฐ์ ์ด ๊ฐ๋ฅํ๋ค.
+
+์ด ๋ง์ ๊ณต๊ฐ์ด ๋๋ ๊ฒ, ์ต๊ทผ์ ๊ฐ์ธ ์ฌ์ด๋ ํ๋ก์ ํธ๋ฅผ ์์ํ๋ฉด์
+๋น ๋ฅด๊ฒ ํ๋กํ ํ์
์ ๋ง๋ค๊ธฐ ์ํด Next.js + Supabase๋ก ์์ํ๋ค.
+๋์ค์ API ์๋ฒ๋ฅผ ๋ฐ๋ก ๋ง๋ค๊ณ ๋ถ์ด๊ธฐ๋ก ๊ณํ๋์ด ์์ด ๊ตฌ์กฐ๋ฅผ ๋๊ฑฐ ๋ณ๊ฒฝํด์ผํ์ง๋ง,
+๋น์ฆ๋์ค ๋ก์ง์ ๋ถ๋ฆฌํด๋๋ฉด ๋์ค์ ์๋ฒ ๋ก์ง์ ๋ถ์ด๊ธฐ ์ด๋ ต์ง ์์ ๊ฑฐ๋ผ๋ ํ๋จ์ด ์์๋ค.
+
+๋ฌผ๋ก โฆ ์ด ํ๋จ์ด ์์ง โ๊ฒช๊ธฐ ์ ํจ๊ธฐโ์ผ ์๋ ์์ง๋ง,,,
+ํด๋ฆฐ์ฝ๋์์ ๋งํ๋ ์ ์ฐํ ์์คํ
๊ตฌ์ฑ์ ๋ง์ธ๋๋ฅผ ์ฐธ๊ณ ํ๋ฉด์,
+์ผ๋จ์ ์๊ฒ, ๋จ์ํ๊ฒ, ํ์ฅ ๊ฐ๋ฅํ๊ฒ ๋ง๋๋ ๊ฑธ ๋ชฉํ๋ก ํ๊ณ ์๋ค.
+
+
+> AOP(๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ) ? ๋น์ฆ๋์ค ๋ก์ง๊ณผ ์๊ด์๋ ๊ณตํต ๊ธฐ๋ฅ(๊ด์ฌ์ฌ)์ ๋ถ๋ฆฌํด์ ์ฝ๋ ์ค๋ณต์ ์ค์ด๊ณ , ๊ฐ๋
์ฑ์ ๋์ด์๋ ์ฒ ํ
+
+ErrorBoundary, Suspense, Axios ์ธํฐ์
ํฐ์ ๊ฐ์ด ๊ณตํต ๊ด์ฌ์ฌ๋ฅผ ํ ๊ณณ์์ ๊ด๋ฆฌํ๋ ๊ฒ์ ์งํฅํ๋ค.
+
+> POJO ? ํ๋ ์์ํฌ๋ ํน์ ๊ธฐ์ ์ ์์กดํ์ง ์๋, ์์ํ ์๋ฐ ๊ฐ์ฒด
+
diff --git "a/12\354\236\245/\352\263\265\354\230\210\354\230\201.md" "b/12\354\236\245/\352\263\265\354\230\210\354\230\201.md"
new file mode 100644
index 0000000..af6ec7f
--- /dev/null
+++ "b/12\354\236\245/\352\263\265\354\230\210\354\230\201.md"
@@ -0,0 +1,14 @@
+**๐ Ch12. ์ฐฝ๋ฐ์ฑ**
+
+์ฐฝ๋ฐ์ ์ค๊ณ (์ค์๋์)
+- ๋ชจ๋ ํ
์คํธ๋ฅผ ์คํํ๋ค.
+- ์ค๋ณต์ ์์ค๋ค.
+- ํ๋ก๊ทธ๋๋จธ ์๋๋ฅผ ํํํ๋ค.
+- ํด๋์ค์ ๋ฉ์๋ ์๋ฅผ ์ต์๋ก ์ค์ธ๋ค.
+
+๋ฆฌํฉํ ๋ง ์ ์ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํ๋ค. ๊ทธ๋์ผ ๋๋ ค์ ์์ด ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ๊ณ , ์๋ก์ด ์ฝ๋๋ฅผ ๊ฒ์ฆํ ์ ์๋ค.
+์์ง๋๋ฅผ ๋์ด๊ณ , ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๊ณ , ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฆฌํ๊ณ , ์์คํ
๊ด์ฌ์ฌ๋ฅผ ๋ชจ๋๋ก ๋๋๊ณ ํจ์์ ํด๋์ค ํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ , ๋ ๋์ ์ด๋ฆ์ ์ ํํ๊ธฐ.
+
+> ๋์ค์ ์ฝ๋๋ฅผ ์ฝ์ ์ฌ๋์ ๋ฐ๋ก ์์ ์ผ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๋ ์ฌ์ค์ ๋ช
์ฌํ์.
+
+์๋์ค๋ฌ์ด ์ฝ๋๋ฅผ ๋จ๊ธฐ์ ! ๋ด๊ฐ ์ง ์ฝ๋์์๋ ๋์ค์ ๋ดค์๋ ์ดํด๊ฐ ์ด๋ ค์ด ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ๋ค๋ฅธ ์ฌ๋์ด ๋ณผ ๋๋ ๋น์ฐํ ์์ํ ๋ฆฌ ์๋ค. ์ธ์ ๋ณด๋๋ผ๋ ์๋๊ฐ ๋ช
ํํ๊ฒ ๋ณด์ด๋ ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ๋ค!
diff --git "a/13\354\236\245/\352\263\265\354\230\210\354\230\201.md" "b/13\354\236\245/\352\263\265\354\230\210\354\230\201.md"
new file mode 100644
index 0000000..cac4971
--- /dev/null
+++ "b/13\354\236\245/\352\263\265\354\230\210\354\230\201.md"
@@ -0,0 +1,36 @@
+**๐ Ch13. ๋์์ฑ**
+
+๋์์ฑ๊ณผ ๊น๋ํ ์ฝ๋๋ ์๋ฆฝํ๊ธฐ ์ด๋ ต๋ค.
+[์ฅ์ ]
+1. ๋์์ฑ์ ๊ฒฐํฉ์ ์์ ๋ ์ ๋ต์ด๋ค. ๋์์ฑ์ ํ์ฉํ๋ฉด ํ๋ก๊ทธ๋จ์ ๊ฑฐ๋ํ ๋ฃจํ ํ๋๊ฐ ์๋๋ผ ์์ ํ๋ ฅ ํ๋ก๊ทธ๋จ ์ฌ๋ฟ์ผ๋ก ๋ณด์ธ๋ค. ๋ฐ๋ผ์ ์์คํ
์ ์ดํดํ๊ธฐ ์ฝ๊ณ ๋ฌธ์ ๋ฅผ ๋ถ๋ฆฌํ๊ธฐ ์ฝ๋ค.
+2. ์๋ต ์๊ฐ๊ณผ ์์
์ฒ๋ฆฌ๋์ ๊ฐ์ ํ ์ ์๋ค.
+
+[๊ณ ๋ คํด์ผํ ์ ]
+1. ๋์์ฑ์ด ํญ์ ์ฑ๋ฅ์ ๋์ฌ์ฃผ๋ ๊ฒ์ ์๋๋ค. ๋๊ธฐ ์๊ฐ์ด ์์ฃผ ๊ธธ์ด ์ฌ๋ฌ ์ค๋ ๋๊ฐ ํ๋ก์ธ์๋ฅผ ๊ณต์ ํ ์ ์๊ฑฐ๋ ์ฌ๋ฌ ํ๋ก์ธ์๊ฐ ๋์์ ์ฒ๋ฆฌํ ๋
๋ฆฝ์ ์ธ ๊ณ์ฐ์ด ์ถฉ๋ถํ ๋ง์ ๊ฒฝ์ฐ์๋ง ์ฑ๋ฅ์ด ๋์์ง๋ค. ์คํ๋ ค ๋ค์ ๋ถํ๋ฅผ ์ ๋ฐํ๋ค.
+2. ๋์์ฑ์ ๋ณต์กํ๋ค.
+3. ๋์์ฑ ๋ฒ๊ทธ๋ ์ฌํํ๊ธฐ ์ด๋ ต๋ค.
+4. ๊ทผ๋ณธ์ ์ธ ์ค๊ณ ์ ๋ต์ ์ฌ๊ณ ํด์ผ ํ๋ค.
+
+
+ํ์๋ ์๋ฐ ๊ด์ ์์ ๋์์ฑ์ ์ค๋ช
ํด์ ์ดํด๊ฐ ์ด๋ ค์ ์ง๋ง, ์ด๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ์ ์ฉํด์ ์๊ฐํด๋ณด์๋ค.
+
์๋ฐ์คํฌ๋ฆฝํธ๋ ์ฑ๊ธ ์ค๋ ๋์ด์ง๋ง ๋ธ๋ผ์ฐ์ ์ Web API์ ์ด๋ฒคํธ ๋ฃจํ ๋๋ถ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค.
+
์ด๋ฅผ ์ด์ฉํ์ฌ ๋์์ฑ์ ํ์ฉํ ์ ์์ง๋ง, ์ฃผ์ํ ์ ์ด ์๋ค.
+
+์๋ฅผ ๋ค์ด Promise.all์ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ๋น๋๊ธฐ ์์
์ ๋ณ๋ ฌ๋ก ์คํํ ์ ์๋ค.
+ํ์ง๋ง ์์ฒญ ๊ฐ์ ์ข
์์ฑ์ด ์์ ๊ฒฝ์ฐ, ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ ์คํ๋ ค ์์ฒญ ๋ญ๋น๋ UX ์ ํ๋ฅผ ์ด๋ํ ์ ์๋ค.
+
+๋ํ ๋น๋๊ธฐ ์์ฒญ์ ์๋ต ์์๋ฅผ ๋ณด์ฅํ์ง ์๊ธฐ ๋๋ฌธ์ race condition์ด ๋ฐ์ํ๊ธฐ ์ฝ๋ค.
+์ค์ ๋ก ๊ฒ์ ์๋์์ฑ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋, ์ฌ์ฉ์๊ฐ ๊ฒ์์ด๋ฅผ ๋น ๋ฅด๊ฒ ๋ฐ๊ฟจ์ ๊ฒฝ์ฐ
+์ด์ ์์ฒญ์ด ๋์ค์ ์๋ต๋๋ฉด UI์ ์ค๋๋ ๊ฒฐ๊ณผ๊ฐ ๋ ๋๋ง๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
+
AbortController๋ฅผ ์จ์ ์ด์ ์์ฒญ์ ์ทจ์ํ๊ณ ํด๊ฒฐํ ์ ์๋ค๊ณ ํ๋ค. ์ ๋๋ ์ง๊ธ๊น์ง ์ด๋ฐ ํํ ๋์์ฑ ๋ฌธ์ ๋ฅผ ๊ฒช์ง ์์๋์ง ์๊ฐํด๋ณด์๋๋ฐ, ํญ์ tanstack-query๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด์๋ค.
+tanstackquery๋ ๋ด๋ถ์ ์ผ๋ก AbortController๋ฅผ ์ด์ฉํด ์ด์ ์์ฒญ์ ์๋์ผ๋ก ์ทจ์ํ๊ณ , ๋์ผํ ์ฟผ๋ฆฌ ํค๋ก ์ค๋ณต ์์ฒญ์ ๋ง์์ค๋ค.
+๋ํ isFetching, staleTime, retry ๋ฑ ๋ค์ํ ์ํ์ ํ์ด๋ฐ ์ ์ด๋ ๋ด์ฅ๋์ด ์์ด,
+๋์์ฑ์ ์ง์ ์ ์ดํ์ง ์์๋ ์์ ์ ์ด๊ณ ์์ธก ๊ฐ๋ฅํ ํ๋ฆ์ ์ ์งํ ์ ์๋ค.
+๊ทธ๋์์ ์ด ๊ธฐ๋ฅ๋ค์ ๊ทธ์ ํ๋ ์์ํฌ๊ฐ ํด์ฃผ๋ ๊ธฐ๋ณธ ๋์์ฒ๋ผ ๋น์ฐํ๊ฒ ์ฌ์ฉํ๊ธฐ์
+๊ทธ ์ค์์ฑ์ ์ ๋๋ก ์ธ์ํ์ง ๋ชปํ๊ณ ์์๋ค.
+
+ํ๋ก ํธ์๋์์ ๋์์ฑ์ ๋ค๋ฃฌ๋ค๋ ๊ฑด ์ฑ๋ฅ์ ๋์ด๋ ๊ธฐ์ ์ ํธ๋ฆญ๋ณด๋ค๋,
+์ฌ์ฉ์ ๊ฒฝํ์ ํด์น์ง ์์ผ๋ฉด์ ์์ธก ๊ฐ๋ฅํ ํ๋ฆ์ ๋ง๋ค์ด๊ฐ๋ ๊ฒ์ด ์ค์ํ๋ค๋ ๊ฒ์ ๋๊ผ๋ค.
+ํด๋ฆฐ์ฝ๋์์ ๋งํ ๋์์ฑ์ ๋ณต์ก์ฑ๊ณผ ์ํ์ฑ์ ํ๋ก ํธ์๋์๋ ์ ์ฉ๋๋ค.
+๊ทธ๋์ ๋ณต์กํจ์ ์ ์ถ์ํํด์ฃผ๋ ๋๊ตฌ๋ ํจํด์ ์ ๊ทน ํ์ฉํ๊ณ ,
+์ค๊ณ ์์ฒด๋ฅผ ๋์์ฑ์ ๋ง๊ฒ ์ ๋ํ๋ ๊ฒ์ด ์ง์ ํ ํด๋ฆฐ ์ฝ๋์ ๊ฐ๊น์ด ๊ธธ์ด๋ผ๋ ๊ฑธ ๋๊ผ๋ค.