
useEffect์ cleanup ํจ์์ ์๋ return ๋ฌธ์ ํ์ดํ ํจ์๋ return value๊ฐ ์์ผ๋ฉด ์๋๋ค๊ณ ๋ฌ๋ค. ์ด๋ ์๋์ ๊ฐ์ด if ๋ฌธ์ return undefined๋ฅผ ์ถ๊ฐํ๋ฉด ํด๊ฒฐ์ด ๋๋ค. > ์ถ์ฒ: https://stackoverflow.c
๐ฉ ๊ธฐ์กด ์ฝ๋ ์ด๋ฒ์ ์ฒ์์ผ๋ก input์ ๊ณต์ฉ ์ปดํฌ๋ํธ๋ก ๋ง๋ค์ด๋ณด์๋๋ฐ, ํ๋ก์ ํธ ๊ธฐ๊ฐ์ด ๋๋ฌด ์งง์ react-hook-form์ ๋ํ ๊ณต๋ถ๋ฅผ ๋ณ๋ก ํ์ง ์๊ณ ๋์(?)๋ง ํ๋ ์ปดํฌ๋ํธ๋ฅผ ์ ์ํ๋ค. ํ์๋ค๊ณผ ์ํตํ๋ฉฐ ๋ด input์ ๋ฌธ์ ๋ฅผ ํ์ ํ๋๋ฐ, 1) ๋น์ ์ด ์ปดํฌ๋ํธ๋ฅผ ์ ์ด ์ปดํฌ๋ํธ์ฒ๋ผ ๋ง๋ค์๋ค. 2) react-hook-form๊ณผ ๋ง์ง ์๋ค....

๋๋ ์ด๋์๊ฐ๋ถํฐ '๋ฒ์ฉ์ ์ด๋ฉด์๋ ์ฌ์ฌ์ฉ์ฑ์ด ๋์ ๊ณตํต ์ปดํฌ๋ํธ ๋ง๋ค๊ธฐ' ์ ๋ํด ๊ณ ๋ฏผ์ ๋ง์ดํ๋ค. ํ ํ๋ก์ ํธ๋ฅผ ํ ๋ ๋ง๋ค ๊ณตํต ์ปดํฌ๋ํธ๋ฅผ ๋จผ์ ๋ง๋ค๊ณ ์์ํ๋๋ฐ, ํญ์ ๋ด๊ฐ ๋ง๋ ์ปดํฌ๋ํธ๊ฐ ๋ง์กฑ์ค๋ฝ์ง ์์๋ค. ํนํ ์ง๋ ์ฝ๋์ ์ธํด ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ์ด ๋ถ๋ถ์

UI์ ๋น์ฆ๋์ค ๋ก์ง์ ๋ถ๋ฆฌํด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๊ฒ ๋๋ ๊ณ๊ธฐ๋ ํ ํ์ผ ์์ ๋๋ฌด ๋ง์ ์ฝ๋๊ฐ ์์ ๊ฒฝ์ฐ ๋ด ์ฝ๋์ง๋ง ์ฝ๊ธฐ ์ซ๋ค๋ ์๊ฐ์ด ๊ฐํ๊ฒ ๋ค์ด์์๋ค. ํญ์ ์ฑ ์๋ถ๋ฆฌ์ ๊น๋ํ ์ฝ๋ ์์ฑ์ด ์ ์ง๋ณด์์ ๊ฐ๋ ์ฑ์ ํฐ ์ํฅ์ ๋ฏธ์น๋ค๋ ๊ฒ์ ๋ค์์์๋ ๊ธฐ๋ฅ๊ตฌํ์ ํ๊ณ ๋๋ฉด ๋ฆฌํฉ

์ด๋ฒ ํ๋ก์ ํธ์์๋ Next์ app router๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋๋ฐ, axios๋ฅผ ์ฌ์ฉํ์ง ์๊ณ Next์ fetch๋ฅผ ํ์ฉํ๊ณ ์ถ์๋ค. ์ด์ ๋ Next.js๋ ์๋ฒ์์ ๊ฐ ์์ฒญ์ด ์ง์์ ์ธ ์บ์ฑ ๋ฐ ์ฌ๊ฒ์ฆ ๋ฐฉ์์ ์ค์ ํ ์ ์๋๋ก Web fetch() API๋ฅผ ํ์ฅํ๋ค

์นธ๋ฐ์ ๋ง๋ค๋ ๋์ค ์ง๋ฉดํ ๋ฌธ์ ๋ค. ๋๋๊ทธ ์ค ๋๋กญ์ ๊ตฌํํ๋ ค๊ณ ์ด๋ ๊ฒ ์๊ธด ์นธ๋ฐ์ ๋ง๋ค์๊ณ , ๋ด๊ฐ ๋๋๊ทธ ์ค ๋๋กญ์ ๊ตฌํํ๊ณ ์ ํ๋ ๋ฐฉํฅ์ ์นด๋๋ฅผ ์ก๊ณ ์์ง์ด๋ฉด ์ปฌ๋ผ ๋ด์์๋ ์์ ๋ฐ๋๊ธฐ ์ปฌ๋ผ๊ฐ์๋ Todo, OnProgress, Done์ ์ํ ๋ฐ๋๊ธฐ ์ด๋ฌํ๋ค

ํ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ํ ๋ฒ๋ ์ง์ ๋ชจ๋ฌ์ ๋ง๋ค์ด๋ณธ ์ ์ด ์์๋๋ฐ, ์ด๋ฒ์ ๊ฐ์ธ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ์ฒ์์ผ๋ก ๋ชจ๋ฌ์ ๊ตฌํํด๋ดค๋ค. ์ด ๊ณผ์ ์์ Zustand๋ฅผ ์ ์ญ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ ํํ๋๋ฐ, ๊ทธ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.Redux๋ actions, reducers,

์ค๋์ ์๋ฅ ํฉ๊ฒฉ์ ๋ฐ์ ํ์ฌ์ ๋ฉด์ ์ ๋ณด๋ฌ ๊ฐ๋ ๋ ์ด์๋ค. ๋ฉด์ ์ด ์งํ๋๋ ๋์ ์ฌ๋ฌ ์ง๋ฌธ์ ๋ต๋ณ์ ํ๋ค๊ฐ, ๋ฉด์ ๊ด๋๊ป์ ๊ฐ์๊ธฐ ์ด๋ ๊ฒ ๋ฌผ์ด๋ณด์ จ๋ค."์ Firebase API Key๊ฐ ๊ทธ๋๋ก ๋ ธ์ถ๋๊ฒ ํ๋์?"์ด์ํ๋ค. ๋๋ ๋ถ๋ช .env ํ์ผ์ API Key๋ฅผ ์ ์ฅ

eks์ ์๋น์ค๋ฅผ ๋ฐฐํฌํ๋ฉด์ ์๋ง์ ์๋ฌ๋ฅผ ๋ง๋ณด์์ง๋ง, ์ด๋ ๊ฒ ์ดํ์ด๋ ๊ฑธ๋ฆฐ ์๋ฌ๋ ์ฒ์์ด์๊ธฐ์,,, ์์ฑํ๊ฒ ๋ ๋ธ๋ก๊ทธ! ์ฌ์ค ์ธ ๊ฑด ์ \~~๋ง ๋ง์์ง๋ง ๊ณต๋ถํ๊ณ ์ ์ฉํ๋๋ฐ ์๊ฐ์ ๋ ํฌ์ฌํ๋๋ผ ๋ฐ๋ก๋ฐ๋ก ์์ฑํ์ง ๋ชปํ๋ค. ์ผ๋จ ์์๋ฌธ์ ์ํฉ: Datadog์ ์ฑ๊ณต์ ์ผ

HashiCorp Vault๋ ๋ฐ์ดํฐ ์ํธํ์ ์ ๊ทผ ์ ์ด๋ฅผ ํตํด ๋น๋ฐ ์ ๋ณด ๊ด๋ฆฌ๋ฅผ ์ํ ์ํํธ์จ์ด ๋๊ตฌ์ด๋ค. ๋น๋ฐ ์ ๋ณด(์: API ํค, ๋น๋ฐ๋ฒํธ, ์ธ์ฆ์)๋ฅผ ์์ ํ๊ฒ ์ ์ฅํ๊ณ , ์ฌ์ฉ์ ์ธ์ฆ๊ณผ ๊ถํ ๋ถ์ฌ๋ฅผ ํตํด ์๊ฒฉํ๊ฒ ์ ์ดํ๋ฉฐ, ๊ฐ์ฌํ ์ ์๋ค. Vault๋ ํด๋ผ์ฐ๋
๋ฌธ์ : ๋งค๋ฒ 1์๊ฐ์ฉ ๊ฑธ๋ฆฌ๋ IP ๋ณ๊ฒฝ ์์ ์ฌ๋ฌด์ค VPN IP๊ฐ ๋ฐ๋ ๋๋ง๋ค ์ธํ๋ผ ์ ์ฒด๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํ๋ค. ๋จ์ํด ๋ณด์ด์ง๋ง, ์ค์ ๋ก ์์ ํด์ผ ํ๋ ๊ณณ์ด ๊ฝค ๋ง์๋ค. Pulumi ์คํ 10๊ฐ Terragrunt ์ค์ 2๊ฐ Kubernetes ingress-ngi