Implement experiences
Last updated
Last updated
Front-end Stack: React, Next.js, react-query, formik, zustand
Development Environment: Node.js, MongoDB, github Actions, docker, AWS
์ฑํ ์์ ๊ฒฌ์ ์๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ฉด์ ๊ธฐ์กด ์ฑํ ์ปดํฌ๋ํธ ๋ด์์ ๋ฐ์ํ๊ณ ์๋ props drilling์ ๊ฐ์ค์ํค๊ฒ ๋์ด ํด๋น ๊ธฐ๋ฅ ๊ฐ๋ฐ ํ ๋ฆฌํฉํ ๋ง์ ์งํํ๊ฒ ๋์๋ค.
Props drilling์ ์ปดํฌ๋ํธ ๋ค์คํ ์ผ๋ก ์ธํด ํ์ ์ปดํฌ๋ํธ์๊ฒ ์ ๋ฌ๋์ด์ผ ํ๋ props๋ฅผ ๋ชจ๋ ๋ถ๋ชจ ์ปดํฌ๋ํธ์์ ๋ถํฐ ์ ๋ฌํด์ผํ๊ธฐ ๋๋ฌธ์ ํ์ ์ปดํฌ๋ํธ๋ค์ ํด๋น ์ปดํฌ๋ํธ์ ์๊ด์๋ props๊น์ง ์ ๋ฌํ๊ฒ ๋๋ฉด์ ๋ณต์ก์ฑ์ ํฌ๊ฒ ์ผ๊ธฐ์ํจ๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ธฐ์กด์ ์ฌ์ฉํ๊ณ ์๋ Zustand๋ฅผ ์ด์ฉํ๋ค.
Zustand๋ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก Context API์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ๋ฉ๋ชจ์ด์ ์ด์ ์ ํตํด ๊ฐ์ ๋ฐํํ๊ธฐ ๋๋ฌธ์ ์ฐธ์กฐ๊ฐ ๋ณ๊ฒฝ์ด ๋ ๋๋ง ๋ฆฌ๋๋๋ง์ ๋ฐ์์์ผ ๋๋๋ง ์ต์ ํ์ ํฐ ์ฅ์ ์ด ์๋ค.
๋ชจ๋ ธ๋ ํฌ๋ก ๋ฐ์ํ๋ ์ปดํฌ๋ํธ ์์กด ๊ด๊ณ ๋ถ๋ฆฌ ์์ ์งํํ๋ค.
๋ชจ๋ ธ๋ ํฌ๋ ํ๋์ ๋ ํ์งํ ๋ฆฌ ์์ ๋ค์ํ ์๋น์ค(ํ๋ก์ ํธ)๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค. ๋ชจ๋ ธ๋ ํฌ๋ก ๊ตฌ์ฑ๋ ์ด์ ๋ฅผ ์ถ์ธกํด๋ณด๋ฉด ์งง์ ์๊ฐ ์์ ๋ ๊ฐ์ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํด์ผํ๊ณ ์ด ๋ ๊ฐ์ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋น์ทํ ๊ธฐ๋ฅ๊ณผ ๋์์ธ์ ๊ณต์ ํ๋ ๊ฒ์ด ๋ง์ ์ฆ, ์ฌ์ฌ์ฉ ํ ์ ์๋ ์ปดํฌ๋ํธ๊ฐ ๋ง์๊ธฐ ๋๋ฌธ์ ํจ์จ์ ์ผ๋ก ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ ์ ์๋ ๋ชจ๋ ธ๋ ํฌ๋ฅผ ์ฑํํ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ํ์ง๋ง ๊ณ์ ์ ์ญ ์ปดํฌ๋ํธ(๊ณตํต ์ปดํฌ๋ํธ)์ ์ง์ญ ์ปดํฌ๋ํธ(์ดํ๋ฆฌ์ผ์ด์ ๋ด์์๋ง ์ฌ์ฉํ๋ ์ปดํฌ๋ํธ) ๊ฐ์ ์์กด ๊ด๊ณ๊ฐ ์ฝํ๊ณ ๋ณต์กํด์ง๋ฉด์ ๊ธฐ์ ๋ถ์ฑ๋ก ๋จ๊ฒ ๋์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ ๋ชจ๋ ์ปดํฌ๋ํธ๋ฅผ ์กฐ์ฌํ๊ณ ์์กด ๊ด๊ณ๋ฅผ ํ์ ํ์ฌ ๋ฆฌํฉํ ๋งํ๋ ์๊ฐ์ ๊ฐ์ก๋ค.
๋จ์ ์ผ๋ก ๋ณผ ์ ์๋ ๊ฒ์ ์ ์ญ ์ปดํฌ๋ํธ์ ๊ฒฝ์ฐ ์์ ํ๊ฒ ๋๋ฉด ์ฌ์ฉํ๊ณ ์๋ ๋ชจ๋ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ํฅ์ ๋ฏธ์น๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ๋ถ๋ถ์ ์ ํ์ธํด์ผํ๋ฉฐ, ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ฐ๋ผ ๋ถ๊ธฐ์ฒ๋ฆฌ๊ฐ ๋ง์์ ์ฝ๋์ ๋ณต์ก์ฑ์ด ๋์์ง๋ ๋ฌธ์ ๋ฅผ ๊ฒฝํํ๋ค.
๊ณ ๊ฐ ์ฌ์ด๋์ ์ด๋๋ฏผ ์ฌ์ด๋๋ก ๋ ๊ฐ์ ์ดํ๋ฆฌ์ผ์ด์ ์ด ์๊ณ ๊ณ ๊ฐ ์ฌ์ด๋์๋ ๋๋ช ์ ํ๊ฒ, ์ด๋๋ฏผ์ ํ๋ช ์ ํ๊ฒ์ผ๋ก ์ด ์ธ๋ช ์ ํ๊ฒ์ ์ํ ๋์์ธ๊ณผ ๊ธฐ๋ฅ์ด ์ ๊ณต๋์ด์ผ ํ๋ค. ์ด๋ฅผ ํ๋์ ๊ณตํต ์ปดํฌ๋ํธ์์ ์ฒ๋ฆฌํ๋ค ๋ณด๋ ๊ธฐ๋ฅ๊ณผ ๋์์ธ ๋ชจ๋ ๋ถ๊ธฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์ ์๋นํ ๋ณต์กํ์ฌ ์ ์ง๋ณด์ ์ธก๋ฉด์์ ์๊ฐ ์์๊ฐ ๋ง์ด ๋์๋ค.