์ข์๋์ ์ข์ ๋๋ฃ์ ํจ๊ปํ๋ค์ค๋ ฅ์ด ์ข์ ๋๋ฃ์ ํจ๊ปํด์ ์ข์๋ค ๋๋ ๋ค๋ฅธ์ฌ๋์ ์ฅ์ ์ ํก์ํ์ฌ ๋ฐ์ ์ํค๋๋ฐ์ ์ ๋ง ๋ฅํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ด ์ฝ๋์ ๋ํด ๊ณ ๋ฏผํ๊ณ ์๊ธฐํ๋ฉฐ ์ค๋ ฅ์ด ๋ง์ด ์ฑ์ฅํ์์ ๋๊ผ๋ค. ๊ธฐ์ด ํ๋ก์ ํธ์ธ ๋กค๋ง๋๋ ์ข์ ์ฝ๋์ ๋ํ ๊ณ ๋ฏผ๋ณด๋ค๋ ๋ด๊ฐ ์ด๋ค ๊ธฐ๋ฅ์ด๋ ๋น ๋ฅธ ์๊ฐ ๋ด์ ๊ตฌํํ ์ ์๊ตฌ๋๋ฅผ ๋๊ผ๋ค๋ฉด ์ด๋ฒ์๋ ์ข์ ๋๋ฃ๋ค๊ณผ ์ด๋ป๊ฒ ํ์
์ ํ๋ฉด ์ข์์ง ๋ฐฐ์ด ๊ฒ ๊ฐ๋ค. ๋กค๋ง๋ ์์ฌ์ ๋ ์ ํด์๋กค๋ง๋ ์์ฌ์ ๋ ๊ฒ์ ์๋ฌ์ฒ๋ฆฌ ๋ฐ ๋ก๋ฉ์ฒ๋ฆฌ์ ๋ํ ์ ๊ฒฝ์ ๋ ์ด ๊ฒ์ด์๋๋ฐ ์ด๋ฒ ํ๋ก์ ํธ์์๋ ์์ ์๋ฌ์ฒ๋ฆฌ์ ๋ํ ํ์๊น์ง ํ๋ฉด์ ์๋ฌ์ฒ๋ฆฌ์ ๋ํ ์ ๊ฒฝ์ ๋ง์ด ์ผ๋ค. ๋ก๋ฉ ์ฒ๋ฆฌ์ ๊ฒฝ์ฐ SSR์ผ ๋ ์ ์ฉ์ ํด์ฃผ์ง ์์๋ค. Link ํ๊ทธ ๋๋ถ์ด๊ณ , ๊ฑฑ์ ๋๋ ๋ถ๋ถ์ Link ๋ก ํ์ด์ง ์ด๋์ ๋๋ ์ด๊ฐ ์๊ธฐ๋ ๋ถ..
ํ๋ก์ ํธ

๋ฌธ์ ์ 1 - ํด๊ฒฐ์ ํ
์ด๋ธ ์ปดํฌ๋ํธ๋ ๊ณตํต ์ปดํฌ๋ํธ๋ก ๊ตฌํํด์ผ ํ๋ค. ์ด ํ
์ด๋ธ์ ๊ณตํตํ๋ฅผ ํ๊ฒ ๋๋ฉด ํ
์ด๋ธ์ ๊ทธ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์์ ๋ณด์ฌ์ฃผ๋ ์ญํ ๋ง์ ์ํํ๋๊ฒ ์ณ๋ค๊ณ ํ๋จํ๋ค. (๊ฐ๊ฒ, ์ผ์, ์๊ธ, ์ํ)์ ๊ฐ์ ํ์ดํ๊ณผ ๋ด์ฉ์ ๊ทธ์ string ๋ฐฐ์ด ๋ฐ์ดํฐ๋ก ๋๊ฒจ์ฃผ๋ฉด ๋์ง๋ง ๊ฐ์ฒด๋ก ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐ์๋ ํ์๋ค์ ์๊ฒฌ์ด ์์๋ค. ๋๋ ๊ทธ์ string ๋ฐฐ์ด๋ก ํ์ง ์๊ณ ํ์
์ ์ข ๋ ์ขํ๊ณ ๊ฐ์ ํด์ ์ฌ์ฉํ๋๊ฒ ์ข๋ค๊ณ ์๊ฐํ๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก ๊ฐ์ด ์ฝ๋ฉํ๋ฉฐ ์์ ๊ฐ์ด ์ฝ๋ฉ์ ํ์๋ค. ๋ญ.. ๋๋ฆ ๊ด์ฐฎ์ ๊ฒ ๊ฐ๋ค. ๋ฌธ์ ์ 2 - ํด๊ฒฐํ์ด์ง๋ค์ด์
์ ๊ณตํต ํ
์ด๋ธ ์ปดํฌ๋ํธ ์์ ๋ฃ๋๋ค๋ฉด ๋ฐ์ดํฐ๋ฅผ ํ
์ด๋ธ์์ ๊ฐ์ ธ์ค์ง ์์ผ๋ฉด ํ
์ด๋ธ์ ์ด์ฉํ๋ ์์ ์ปดํฌ๋ํธ์์ ํ์ด์ง์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๊ณ ์ด๊ฒ์ ํ
์ด๋ธ์ ๋๊ฒจ์ฃผ..

๊ธฐ๋ฅ ์๊ตฌ์ฌํญ ๋ถ์ ํผ๊ทธ๋ง์์ ๊ฐ์ ธ์๋ค. ์์์ ์ ์ ์๋ ๊ฒ์ ํ์ด์ง๊ฐ ์ต๋ 7๊ฐ๋ง ๋ณด์ฌ์ ธ์ผ ํ๋ค๋ ๊ฒ์ด๊ณ , ์ ํ๋ ํ์ด์ง๋ฅผ ๊ฐ์ด๋ฐ์ ์ค๋๋ก ํด์ฃผ์ด์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ๊ตฌํ export default function Pagination({ currentPage, setCurrentPage, allDataCount, perPageDataCount }: Props) { const pageCount = Math.ceil(allDataCount / perPageDataCount); const pageNumberList = createPageNumberList(currentPage, pageCount); return ( {pageCount > PAGE_LIMIT && ( setCurrentPage(current..

์ฝ๋ฉ ์ปจ๋ฒค์
์กฐ์จ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ์ฝ๋ฉ ์ปจ๋ฒค์
์ ์ ๋๋ก ๋ง์ถ์ด ๋ณธ ์ ์ด ์์๋ค. ์ด๋ฒ์ ์คํ๋ฆฐํธ์์ ์ค๊ธ ํ๋ก์ ํธ๋ฅผ ์์ํ๋ฉฐ ์ฝ๋ฉ ์ปจ๋ฒค์
์ ํ์คํ๊ฒ ์ ํ๊ฒ ๋์๋ค. ์ด๋ฅผ ์ ์งํค๋ ค๊ณ ๋
ธ๋ ฅ๋ง ํ๋ฉด ๋๋ค. ๋์ถฉ ์ด์ ๋๋ก ์ ํ๋๋ฐ ์ฌ์ฉํ๊ณ ์๋ airbnb ๋ฃฐ์์ ์ด๋์ ๋ ์ปจ๋ฒค์
์ ํต์ผ์์ผ์ฃผ๊ณ ์ฒ์๋ถํฐ ์ธ์ธํ๊ฒ ์ก๊ณ ๊ฐ๊ธฐ์๋ ์๊ฐ์ด ์์ผ๋ฏ๋ก ๋๋จธ์ง ์ปจ๋ฒค์
์ ์ถํ ๊ฐ๋ฐ์ ์งํํด๋๊ฐ๋ฉด์ ํ๊ธฐ๋ก ํ๋ค. ์ญํ ๋ถ๋ฐฐ ์ด์ ์ ๊ณตํต ์ปดํฌ๋ํธ ์์
๋ถ๋ฐฐ ๋๋ ์ถํ์ ์ด ํ๋ก์ ํธ์์ ๊ณต๊ณ ๋ฆฌ์คํธ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์์ ์บ์ฑํ๋ ์์
(ํ์ด์ง๋ค์ด์
์ด์ฉ)์ ์ํํ๊ณ ์ถ์๊ธฐ ๋๋ฌธ์ ๊ณตํต ์ปดํฌ๋ํธ์์ pagination์ ๋ง๋ค๊ณ ์ถ๋ค๊ณ ํ์๋ค์๊ฒ ์ดํ์ ํ์๋ค. ๋คํํ๋ ๋ด ์๊ฒฌ์ ๋ฐ์๋ค์ฌ์ฃผ์
์ pagination ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค๊ฒ ๋..
eslint ์ค์ airbnb๋ฃฐ์ ๋ฐ๋ฅด๊ธฐ๋ก ํ๋ค. yarn add -D eslint-config-airbnb eslint-config-airbnb-typescript yarn add -D eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-react-hooks @typescript-eslint/eslint-plugin yarn add -D @typescript-eslint/parser yarn add -D prettier eslint-config-prettier eslint-plugin-prettier ์ ๊ฐ์ด ์ค์น๋ฅผ ์งํํ, { "env": { "browser": true, "es6": true }, "extends..

์๋ ์คํ๋ฆฐํธ 1๊ธฐ ํ์๋ค์ ํ๋ก์ ํธ๋ฅผ ๋ณด๋ค๊ฐ ๋ฐ๊ฒฌํ ์ฝ๋์ธ๋ฐ ์ฐ๋ฆฌ ํ์ด ์งํ์ค์ธ ๋ฐฉ์๋ณด๋ค ๋ ๋ง์ ๋ค์๋ค. ์คํ์ผ๋ ์ปดํฌ๋ํธ๋ ์์ S๋ฅผ ๋ถ์ฌ์ฃผ๋ ๊ฒ ์ข์๋ค ์ปดํฌ๋ํธ๋ ์คํ์ผ๋ ์ปดํฌ๋ํธ๊ฐ ๊ตฌ๋ถ์ด ์๋์๋๋ฐ ์ด๊ฒ์ ํ์ฉํ๋ฉด ๋๋ฌด ์ข์ ๊ฒ์ด๋ค. ์๋ ์ ์ด๊ฑธ ์๊ฐ์ ๋ชปํ์๊น... ๊ทธ๋ฆฌ๊ณ ์คํ์ผ๋ ์ปดํฌ๋ํธ์ prop์ ๋๊ฒจ์ค๋ $๋ฅผ ๋ถ์ด๋ ๊ฒ๋ ๊น๋จน์ด์ ์ฝ์์ฐฝ์ ์๋ฌ๋ฅผ ๋ด์ผ ํ๋ค.... ์ด๋ฐ ๋ถ๋ถ๋ ์ ๊ฒฝ์ฐ๋ฉด ์ข์ ๊ฒ์ด๋ค. ์ด์ 1์ฃผ์ผ ๋์ ๋ฆฌํฉํ ๋ง์ ์งํํ๋ ์ด ๋ถ๋ถ์ ํ์๋ค์๊ฒ ๋งํด์ค์ผ ๊ฒ ๋ค. ๋ฆฌํฉํ ๋งํ ๋ถ๋ถ์ ์๋์ ๊ฐ๋ค. 1. ์ปดํฌ๋ํธ ๋ณ๋ก ํ์ผ ํ์์ด ๋๋ฌด ํต์ผ์ด ์๋์ด ์๋ค. -> ์์) ์ด๋ค ์ปดํฌ๋ํธ๋ index.js๊ฐ ์๊ณ ์ด๋ค ์ปดํฌ๋ํธ๋ ์๋ค. ์ปดํฌ๋ํธ๊ฐ ์ด๋ฆ ์ค๋ณต์ด ์๋๋ฐ ํด๋ ๊ตฌ์กฐ๊ฐ ์ด๋ค์..

ํ๋ก์ ํธ ์งํ์ค์ popOver๋ฅผ ๋ง๋ค์๋๋ฐ absolute๋ฅผ ์ฃผ์์์๋ ๋ถ๊ตฌํ๊ณ popOver๊ฐ ๋ํ๋ ๋ ๋ ์ด์์์ด ๊นจ์ง๋ ๋ฌธ์ ๊ฐ ์์๋ค. ๊ฐ๋ฐ์๋๊ตฌ๋ก ์คํ์ผ์ ๋ณด์๋ ์๋ฌด๋ฐ ๋ณํ๊ฐ ์๋๋ฐ ์ ๋ ์ด์์์ด ๋ฐ๋ ค๋๋ ๊ฑธ๊น? ์ด ๋ฌธ์ ๋ ๊ฒ์ํ๊ธฐ์๋ ์ด๋ค ํค์๋๋ก ํด์ผํ ์ง ์ ๋งคํ๊ธฐ ๋๋ฌธ์ ๋ด๊ฐ ์ด๊ฒ์ ๊ฒ ๋ง์ ธ๋ณด๋ฉฐ ํด๊ฒฐํ๋ค Relative ๋ ์์: Contents์ ์ง๊ณ์์์ผ๋ก Popover๋ฅผ ๋ฃ์๋๋ ํด๊ฒฐ๋๋ค!

ํ๋ก์ ํธ ์์! ์์ธ ํซ์ด๋ผ๋ ๋ง์ง ์๋ฐ ์ฌํ์ง ๋ฆฌ๋ทฐ์ฑ ํ๋ก์ ํธ ์งํ์์ ํ๋ก ํธ์๋ ํ์ ๋ฆฌ๋๋ฅผ ๋งก๊ฒ ๋์๋ค. ํ์๋ ๋ฐฑ์๋ 6๋ช
๊ณผ ๋๋ฅผ ํฌํจํ์ฌ ํ๋ก ํธ์๋ 2๋ช
์ด ์๋ค. ํ๋ก์ ํธ๋ฅผ ์ฃผ๋ํ์๋ ๋ถ์ ๊ถ์ ๋ก ํ๋ก ํธ์๋ ํ์ ๋ฆฌ๋๋ฅผ ๋งก๊ฒ ๋์๋ค. ๋ง๋งํ๋ ๋ถ๋ถ + ํด๊ฒฐ ๋ง๋งํ๋ ๋ถ๋ถ์ ๋์์ด๋๊ฐ ์๋ค๋ ๊ฒ์ด๋ค. ๋ค๋ฅธ ํ๋ก ํธ์๋ ํ์๊ณผ ๊ฐ๋ฐ์ ์งํํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์์ด์ดํ๋ ์๊ณผ ๋์์ธ์ด ๋ฐ๋์ ํ์ํ๋ค๊ณ ์๊ฐํ๋ค. ์ฌ๋ฌ ์น์ฌ์ดํธ๋ฅผ ๋ค์ง๋ฉด์ ์ฌํ ๋ฆฌ๋ทฐ์ ์ด์ธ๋ฆด๋งํ ๋์์ธ ํ
ํ๋ฆฟ์ ์ฐพ์๋ค. ํผ๊ทธ๋ง๋ ์ด์ ํ๋ก์ ํธ์์ ํ ๋ฒ ์จ๋ณธ ์ ์ด ์์ด์ ์ง์ ๋์์ธ์ ํ์๋ค. ๋ด๊ฐ ์ด ํ๋ก์ ํธ๋ฅผ ํตํด ์ป๊ฒ ๋ ๊ฒ๋ค 1. ์ด๋ฒ์๋ AWS์ ํ๋ก ํธ๋ฅผ ๋ฐฐํฌํ ๊ฒ์ด๊ณ , CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ ๊ฒ์ด๋ค. 2. Daisy UI์ T..