diff --git a/keyword/chapter07/keyword.md b/keyword/chapter07/keyword.md
new file mode 100644
index 0000000..1c4612a
--- /dev/null
+++ b/keyword/chapter07/keyword.md
@@ -0,0 +1,238 @@
+# ๐ย ํ์ต ๋ชฉํ
+
+---
+
+1. **`Tanstack Query` ์** `useQuery`**์ ๋ํด ํ์ตํฉ๋๋ค.**
+2. **`Tanstack Query`**์ **`useInfiniteQuery`**์ ๋ํด ํ์ตํฉ๋๋ค.
+3. **`InfiniteScroll`**์ ๋ํด ํ์ตํฉ๋๋ค.
+4. **`Pagination`**์ ๋ํด ํ์ตํฉ๋๋ค.
+
+# โ ๏ธย ย ์คํฐ๋ ์งํ ๋ฐฉ๋ฒ
+
+---
+
+1. ์คํฐ๋๋ฅผ ์งํํ๊ธฐ ์ , ์ํฌ๋ถ ๋ด์ฉ๋ค์ ๋ชจ๋ ์ฑ์ฐ๊ณ ์คํฐ๋์์ ์๋ก ๋ชจ๋ฅด๋ ๋ด์ฉ๋ค์ ์คํฐ๋์๊ณผ ํจ๊ป ๊ณต์ ํด ์ฃผ์ธ์.
+2. ์ค์ต๊ณผ ๋ฏธ์
์ ์ํฌ๋ถ ๋ด์ฉ๋ค์ ๋ชจ๋ ์๋ฃํ ํ, ์คํฐ๋ ์ ์ ์งํํด ์ค์ธ์!
+ - 1์ฃผ ์ฐจ ์คํฐ๋ ์ด์ ์ 1์ฃผ ์ฐจ ์ํฌ๋ถ์ ์์ฑํ ํ ์คํฐ๋๋ฅผ ์งํํด ์ฃผ์ธ์.
+3. ์คํฐ๋ ์๊ฐ์๋ ๊ฐ์ ํด ์จ ๋ฏธ์
๋ค์ ๊ณต์ ํ๊ณ , ์๋์ ๊ณผ์ ์ ์งํํฉ๋๋ค.
+ 1. ์คํฐ๋์๊ณผ ํจ๊ป ์ฝ๋ ๋ฆฌ๋ทฐ ์งํ.
+ 2. ์ฝ๋ ๋ฆฌ๋ทฐ ์ดํ, ๋ณธ์ธ์ ์ฝ๋์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฆฌํฉํ ๋ง ์งํ.
+ 3. ํ์๋ค๊ณผ, ์กฐ๊ธ ๋ ์ฝ๋๋ฅผ ๊น๋ํ๊ฒ ์์ฑํ ์ ์๋ ๊ฐ์ ์ ์ด ์์์ง ๊ณ ๋ฏผ ํ, ๋ฆฌํฉํ ๋ง ์งํ.
+ 4. ๊ฐ์ ๋ฏธ์
์ ์งํํ๋ฉด์ ํด๊ฒฐํ์ง ๋ชปํ ์ด์๋ฅผ ๊ณต์ ํ, ํด๋น ์ด์๋ฅผ ๋์๋ฐ์ ํด๊ฒฐ.
+4. ๋งค์ฃผ ์ฃผ์ด์ง ๋ฏธ์
์ ์ฑ์คํ๊ฒ ์ ์ถํฉ๋๋ค.
+5. ๐ ย ์ด๋ชจ์ง๊ฐ ๋ถ์ด์๋ ๊ณณ์, ์ง์ ์ฌ๋ฌ๋ถ๋ค์ด ์ฑ์ ๋ฃ์ผ์
์ผ ํ๋ ๋ถ๋ถ์
๋๋ค. ๊ผญ Google์ ํตํ ๊ฒ์์ ํ์๊ณ , VSCode๋ฅผ ํ์ฉํ์ฌ, ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋์ผ๋ก ๋ณด์๋ฉด์ ์ ๋ฆฌํด ์ฃผ์ธ์!
+
+# ๐ธย ์ ๊น ! ์คํฐ๋ ์ธ์ฆ์ท์ ์ฐ์ผ์
จ๋์?๐ธ
+
+---
+
+* ์คํฐ๋๋ฆฌ๋๊ป์ ๋ํ๋ก ๋งค ์ฃผ์ฐจ๋ง๋ค ํ ์ฅ ๋จ๊ฒจ์ฃผ์๋ฉด ์ข๊ฒ ์ต๋๋ค!๐๐
+ (์ฌ์ง์ ์ ์ฅํด์ ์ด๋ฏธ์ง ์๋ฒ ๋๋ฅผ ํ์
๋ ์ข๊ณ , ๋ณต์ฌ+๋ถ์ฌ๋ฃ๊ธฐํด์ ๋ฃ์ด์ฃผ์
๋ ์ข์ต๋๋ค!)
+
+[]()
+
+# ๐ฏย ํต์ฌ ํค์๋
+
+---
+
+
+
+### ํค์๋ ์ ๋ฆฌ ๐
+
+- Tanstack-Query ๐
+ - Tanstack-Query ์ด๊ธฐ ์ธํ
๋ฐฉ๋ฒ
+
+ Tanstack Query๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด, ํ๋ก์ ํธ์ `@tanstack/react-query`๋ฅผ ์ค์นํ๊ณ `QueryClient`์ `QueryClientProvider`๋ฅผ ์ค์ ํฉ๋๋ค. `QueryClientProvider`๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ์ธ๋ฉด Tanstack Query ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
+
+ - Query-DevTools?
+
+ Tanstack Query์์ ์ ๊ณตํ๋ ๊ฐ๋ฐ ๋๊ตฌ๋ก, ์ฟผ๋ฆฌ ์ํ์ ๋ฐ์ดํฐ๋ฅผ ์๊ฐ์ ์ผ๋ก ํ์ธํ๊ณ ๋๋ฒ๊น
ํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. `@tanstack/react-query-devtools`๋ฅผ ์ค์นํ๊ณ `ReactQueryDevtools` ์ปดํฌ๋ํธ๋ฅผ ์ถ๊ฐํด ์ฌ์ฉํฉ๋๋ค.
+
+ - useQuery
+
+ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ React ์ปดํฌ๋ํธ์ ์ฌ์ฉํ ๋ `useQuery` ํ
์ ์ฌ์ฉํฉ๋๋ค. ๋ฐ์ดํฐ์ ๋ก๋ฉ ์ํ๋ฅผ ๊ด๋ฆฌํด์ฃผ๋ ํ
์ผ๋ก, `queryKey`์ `fetching function`์ ์ธ์๋ก ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ต๋๋ค.
+
+ - useInfiniteQuery
+
+ ํ์ด์ง๋ค์ด์
์์ด ์คํฌ๋กค์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๊ณ์ ๋ถ๋ฌ์ค๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ ํ
์
๋๋ค. ์คํฌ๋กค์ด ๋ฐ๋ฅ์ ๋๋ฌํ ๋๋ง๋ค `fetchNextPage` ํจ์๋ก ๋ค์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
+
+ - queryKey
+
+ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํ๊ณ ๋ถ๋ฌ์ฌ ๋ ์ฌ์ฉํ๋ ๊ณ ์ ํค์
๋๋ค. ์บ์๋ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋๋ก ์ฟผ๋ฆฌ๋ฅผ ์๋ณํฉ๋๋ค.
+
+- Pagination ๐
+ - Pagination์ ๋ฌด์์ธ๊ฐ์?
+
+ ์๋ฒ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ผ์ ๊ฐ์์ฉ ๋๋ ์ ๊ฐ์ ธ์ค๋ ๋ฐฉ์์
๋๋ค. ํ์ด์ง ๋ฒํผ์ ํตํด ์ด์ ํ์ด์ง๋ ๋ค์ ํ์ด์ง๋ก ์ด๋ํ ์ ์์ด ํ ๋ฒ์ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ์ง ์์๋ ๋ฉ๋๋ค.
+
+ - Pagination์ ์ด๋ ํ ๋ฐฉ์์ผ๋ก ๊ตฌํํ ์ ์์๊น์?
+
+ ํด๋ผ์ด์ธํธ ์ธก ํ์ด์ง๋ค์ด์
๊ณผ ์๋ฒ ์ธก ํ์ด์ง๋ค์ด์
์ผ๋ก ๋๋ ์ ์์ต๋๋ค. ํด๋ผ์ด์ธํธ ์ธก์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ํ๋ฉด์์ ๋๋ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ์์ด๊ณ , ์๋ฒ ์ธก์ ํ์ด์ง ๋ฒํธ๋ ์คํ์
๊ฐ์ ์๋ฒ์ ์ ๋ฌํด ํน์ ํ์ด์ง ๋ฐ์ดํฐ๋ง ๊ฐ์ ธ์ต๋๋ค.
+
+ - Pagination์ ์ฅ์ ๊ณผ ๋จ์ ์ ๋ํด ์ ๋ฆฌํด์ฃผ์ธ์.
+ - **์ฅ์ **: ํ ๋ฒ์ ๋ถ๋ฌ์ค๋ ๋ฐ์ดํฐ๊ฐ ์ ์ด์ ธ ์ฑ๋ฅ์ด ๊ฐ์ ๋๋ฉฐ, ์ฌ์ฉ์๊ฐ ํ์ํ ๋ฐ์ดํฐ์ ๋น ๋ฅด๊ฒ ์ ๊ทผํ ์ ์์ต๋๋ค.
+ - **๋จ์ **: ํ์ด์ง ์ด๋ ์๋ง๋ค ์๋ฒ ์์ฒญ์ด ๋ฐ์ํด ๋ก๋ ์๊ฐ์ด ํ์ํ๋ฉฐ, ์ฌ์ฉ์ ๊ฒฝํ์ด ๋ค์ ๋จ์ ๋ ์ ์์ต๋๋ค.
+- Infinite Scroll ๐
+ - Intersection Observer๋ ๋ฌด์์ธ๊ฐ์?
+
+ DOM ์์์ ๊ฐ์์ฑ์ ์ถ์ ํ์ฌ, ์์๊ฐ ํน์ ์์ญ์ ์ง์
ํ๊ฑฐ๋ ๋ฒ์ด๋ ๋ ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํค๋ API์
๋๋ค. ์ฃผ๋ก ๋ฌดํ ์คํฌ๋กค์์ ๋ค์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ฌ ์์ ํ๋จ์ ์ฌ์ฉ๋ฉ๋๋ค.
+
+ - Infinite Scroll์ ๋ฌด์์ผ๊น์?
+
+ ์คํฌ๋กค์ ํตํด ๋๊น์ง ์ด๋ํ๋ฉด ์๋์ผ๋ก ์ถ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ๋ฐฉ์์
๋๋ค. ๋ฐ์ดํฐ๊ฐ ๊ณ์ ์ถ๊ฐ๋๋ฏ๋ก ํ์ด์ง ์ด๋์ด ์๊ณ , ๊ธด ๋ชฉ๋ก์ ์์ฐ์ค๋ฝ๊ฒ ํ์ํ ์ ์์ต๋๋ค.
+
+ - Inifinite Scroll์ ์ด๋ป๊ฒ ๊ตฌํํ ๊น์?
+
+ Intersection Observer๋ฅผ ์ฌ์ฉํด ํน์ ์์๊ฐ ๋ทฐํฌํธ์ ๋ค์ด์ค๋ฉด ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ๋ก ๊ฐ์ ธ์ค๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํ ์ ์์ต๋๋ค.
+
+ - Infinite Scroll์ ์ฅ์ ๊ณผ ๋จ์ ์ ๋ํด ์ ๋ฆฌํด์ฃผ์ธ์.
+ - **์ฅ์ **: ์ฌ์ฉ์ ๊ฒฝํ์ด ๋งค๋๋ฌ์์ ์คํฌ๋กคํ๋ฉด์ ๋๊น ์์ด ์ฝํ
์ธ ๋ฅผ ํ์ํ ์ ์์ต๋๋ค.
+ - **๋จ์ **: ํน์ ์์น๋ก ๋์๊ฐ๊ฑฐ๋, ํ์ด์ง๋ฅผ ๋๋์ด ์ ๊ทผํ๊ธฐ ์ด๋ ต๊ณ , ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ฉด ์ฑ๋ฅ์ ์ํฅ์ ์ค ์ ์์ต๋๋ค.
+
+# ๐ฅย ๋ฏธ์
1. Project์ useQuery ๋ฅผ ํ์ฉํ๊ธฐ.
+
+
+
+- [ ] ์ง๊ธ๊น์ง, **`custom-hook`**์ ํ์ฉํ์ฌ, ๋ถ๋ฌ์จ `get ์์ฒญ`์ ๋ฐ์ดํฐ๋ค์ ๋จผ์ **`useQuery`** ๋ฅผ ํ์ฉํ ๋ฐ์ดํฐ ํธ์ถ๋ก ๋ณ๊ฒฝํด์ฃผ์ธ์.
+ - [ ] now-playing ํ์ด์ง
+ - [ ] popular ํ์ด์ง
+ - [ ] up-coming ํ์ด์ง
+ - [ ] top-rated ํ์ด์ง
+ - [ ] ๋ด ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ค๋ API
+ - [ ] ์ํ ์์ธ ํ์ด์ง
+ - [ ] ์ํ ์์ธ ํ์ด์ง Credit
+- [ ] ๋จ, **`queryKey`**๋ฅผ ๋ช
ํํ๊ฒ ์ค์ ํด์ฃผ์ธ์.
+- [ ] **`useQuery`**์ ๋ฐํ ๊ฐ์ ํ์ฉํ์ฌ, **`loading`**๊ณผ **`error`** ์ฒ๋ฆฌ๋ฅผ ์งํํด์ฃผ์ธ์.
+ - [ ] ๋ก๋ฉ ์ฒ๋ฆฌ๋ Skeleton UI๋ฅผ ํ์ฉํด์ฃผ์ธ์.
+
+### ๐ฅย ๋ฏธ์
1. ์ ์ถ (useQuery)
+
+- ๊นํ๋ธ ์ฃผ์
+- ์คํ ์์
+
+# ๐ฅย ๋ฏธ์
2. Project์ useInfiniteQuery ๋ฅผ ํ์ฉํ๊ธฐ.
+
+[แแ
ชแแ
งแซ แแ
ตแ
แ
ฉแจ 2024-09-30 แแ
ฉแแ
ฅแซ 1.36.38.mov](https://prod-files-secure.s3.us-west-2.amazonaws.com/f1912130-0409-4e90-a90f-6091ae253e73/62b28844-27af-428a-abe2-e3d62287fcb9/%E1%84%92%E1%85%AA%E1%84%86%E1%85%A7%E1%86%AB_%E1%84%80%E1%85%B5%E1%84%85%E1%85%A9%E1%86%A8_2024-09-30_%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB_1.36.38.mov)
+
+- [ ] ์ง๊ธ๊น์ง, ๋ฏธ์
1์์ **`useQuery`**๋ฅผ ํ์ฉํ์ฌ, ๋ถ๋ฌ์จ `get ์์ฒญ`์ ๋ฐ์ดํฐ๋ค์ ๋จผ์ **`useInfiniteQuery`** ๋ฅผ ํ์ฉํ ๋ฐ์ดํฐ ํธ์ถ๋ก ๋ณ๊ฒฝํด์ฃผ์ธ์.
+ - [ ] now-playing ํ์ด์ง
+ - [ ] popular ํ์ด์ง
+ - [ ] up-coming ํ์ด์ง
+ - [ ] top-rated ํ์ด์ง
+- [ ] ๋จ, **`queryKey`**๋ฅผ ๋ช
ํํ๊ฒ ์ค์ ํด์ฃผ์ธ์.
+- [ ] **`useQuery`**์ ๋ฐํ ๊ฐ์ ํ์ฉํ์ฌ, **`loading`**๊ณผ **`error`** ์ฒ๋ฆฌ๋ฅผ ์งํํด์ฃผ์ธ์.
+ - [ ] ๋ก๋ฉ ์ฒ๋ฆฌ๋ `Skeleton UI`๋ฅผ ํ์ฉํด์ฃผ์ธ์.
+ - [ ] `Loading Spinner` ๋ํ ํ์ฉํด์ฃผ์ธ์.
+
+### ๐ฅย ๋ฏธ์
2. ์ ์ถ (useInfiniteQuery)
+
+- ๊นํ๋ธ ์ฃผ์
+- ์คํ ์์
+
+### โ ๏ธย ํผ์ ๋ฐ๋์ ๋จผ์ , ํด๋ณด์ ํ ์๋ ์์์ ํ์ฉํด์ฃผ์ธ์! โ ๏ธ
+
+https://www.youtube.com/watch?v=77TLFKauKTY
+
+https://www.youtube.com/watch?v=77TLFKauKTY
+
+# ๐ฅย ๋ฏธ์
3. Pagination ๊ธฐ๋ฅ ๊ตฌํ.
+
+
+
+[แแ
ชแแ
งแซ แแ
ตแ
แ
ฉแจ 2024-09-30 แแ
ฉแแ
ฅแซ 2.07.09.mov](https://prod-files-secure.s3.us-west-2.amazonaws.com/f1912130-0409-4e90-a90f-6091ae253e73/e259bf30-211a-4bae-94ce-cf56c973ffa3/%E1%84%92%E1%85%AA%E1%84%86%E1%85%A7%E1%86%AB_%E1%84%80%E1%85%B5%E1%84%85%E1%85%A9%E1%86%A8_2024-09-30_%E1%84%8B%E1%85%A9%E1%84%8C%E1%85%A5%E1%86%AB_2.07.09.mov)
+
+https://tanstack.com/query/v4/docs/framework/react/guides/paginated-queries
+
+์ ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํด์, **`Pagination`**์ ๊ตฌํํด์ฃผ์ธ์.
+
+- [ ] ์์ ์์๊ณผ ๋์ผํ๊ฒ, **`Pagination`**์ ๊ตฌํํด์ฃผ์ธ์.
+- [ ] **`0 page`**๋ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ์ง ์์ผ๋ฏ๋ก, ์ฌ์ฉ์๊ฐ **`0 page`**๋ฅผ ๊ฐ์ง ๋ชปํ๊ฒ, Button์ **`disabled`** ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์ธ์.
+ - [ ] ์คํ์ผ๋ง ๋ํ, ๊ฐ์ด ์งํํด์ฃผ์ธ์.
+- [ ] ๋จ, **`queryKey`**๋ฅผ ๋ช
ํํ๊ฒ ์ค์ ํด์ฃผ์ธ์.
+
+
+
+https://www.youtube.com/watch?v=HlNwcVYZpwk
+
+https://www.youtube.com/watch?v=HlNwcVYZpwk
+
+### ๐ฅย ๋ฏธ์
3. ์ ์ถ (Pagination)
+
+- ๊นํ๋ธ ์ฃผ์
+- ์คํ ์์
+
+# โก ํธ๋ฌ๋ธ ์ํ
+
+---
+
+
+
+- โก์ด์ No.1 (์์, ์์๋ง ๋ณต์ฌํ์๊ณ ์ง์์ฃผ์ธ์.)
+
+ **`์ด์`**
+
+ ๐ ์ฑ ์คํ ์ค์ ๋
ธ๋ ๋ค์ ๋ฒํผ์ ๋๋ฅด๋๊น ์ฑ์ด ์ข
๋ฃ๋์๋ค.
+
+ **`๋ฌธ์ `**
+
+ ๐ ๋
ธ๋ํด๋์ค์ ๋ฐ์ดํฐ๋ฆฌ์คํธ์ Size๋ฅผ ๋์ด์ NullPointException์ด ๋ฐ์ํ์ฌ ์ฑ์ด ์ข
๋ฃ๋ ๊ฒ์ด์๋ค.
+
+ **`ํด๊ฒฐ`**
+
+ ๐ ๋
ธ๋ ๋ค์ ๋ฒํผ์ ๋๋ ์ ๋ ๋ฐ์ดํฐ๋ฆฌ์คํธ์ Size๋ฅผ ๊ฒ์ฌํด Size๋ณด๋ค ๋์ด๊ฐ๋ ค๊ณ ํ๋ฉด ๋ค์์ผ๋ก ๋์ด๊ฐ๋ ๋ฉ์๋๋ฅผ ์คํ์ํค์ง ์๊ณ , ์ฒซ ๋
ธ๋๋ก ๋์๊ฐ๊ฒ๋ ํด๊ฒฐ
+
+ **`์ฐธ๊ณ ๋ ํผ๋ฐ์ค`**
+
+ - ๋งํฌ
+
+# ๐ขย ํ์ต ํ๊ธฐ
+
+---
+
+- ์ด๋ฒ ์ฃผ์ฐจ ์ํฌ๋ถ์ ํด๊ฒฐํด๋ณด๋ฉด์ ์ด๋ ๋์ง ํ๊ณ ํด๋ด
์๋ค.
+- ํต์ฌ ํค์๋์ ๋ํด ์๋ฒฝํ๊ฒ ์ดํดํ๋์ง? ํน์ ์ดํด๊ฐ ์ ๋๋ ๋ถ๋ถ์ ๋ญ์๋์ง?
+
+
+
+# ๐คย ์ฐธ๊ณ ์๋ฃ
+
+---
+
+Copyright ยฉ 2024 Kim Yongmin (Matthew) All rights reserved.
\ No newline at end of file