#WIL: ๋ชจ๋‹ฌ ๋ฐฑ ์Šคํฌ๋กค ๋ง‰๊ธฐ
ยท
What I Learn
view/edit ๋ชจ๋“œ ๋‘˜ ์ค‘์— ํ•˜๋‚˜๋ผ๋„ true๋ผ๋ฉด document.body.style.overflow = 'hidden' ์˜ต์…˜์„ ์ฃผ๋ ค๊ณ  ํ–ˆ๋‹ค. useEffect์—์„œ [viewTask, editTask]๋ฅผ dependency๋กœ ๋‘๊ณ  view, edit ๋ชจ๋“œ ๋‘˜ ์ค‘์— ํ•˜๋‚˜๋งŒ true๋ฉด ๋ฐฑ ๊ณ ์ •, ๊ทธ ์ด์™ธ์˜ ์ƒํ™ฉ์—์„œ๋Š” ๋ชจ๋‘ auto๋กœ ๋Œ๋ ค์คฌ๋‹ค. useEffect(() => { if (viewTask || editTask) { document.body.style.overflow = 'hidden' } else { document.body.style.overflow = 'auto' } return () => { document.body.style.overflo..
๋ชจ๋‹ฌ์—์„œ CRUD (zustand)
ยท
What I Learn
!! ํˆฌ๋‘๋ฆฌ์ŠคํŠธ์—์„œ ๋ชจ๋‹ฌ๋กœ CRUDํ•˜๊ณ  ์‹ถ์€ ์ƒํ™ฉ !!์ „์— ๋งŒ๋“ค์—ˆ๋˜ ๋ชจ๋‹ฌ์€ ์ฐจ๋ ฅ์‡ผ๋กœ ํ•˜๋‚˜ ํ•˜๋‚˜ ๋งŒ๋“ค์—ˆ์–ด์„œ, ์ด๋ฒˆ์—๋Š” ์ƒํƒœ๊ด€๋ฆฌ๋„ ๋ถ™์ด๋ฉด์„œ ์ข€ ์ƒ๊ฐํ•ด๋ณด๋ฉด์„œ ๋งŒ๋“ค๊ณ  ์‹ถ์–ด์„œ ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•ด๋ดค๋‹ค.๊ทธ๋ฆฌ๊ณ  ๊ฐ„๋‹จํ•œ ํ”„๋กœ์ ํŠธ์ด๊ธฐ๋„ ํ•˜๊ณ , ์ฃผ์Šคํƒ ๋“œ ์ข‹๋‹ค๊ณ  ๋งŽ์ด๋“ค ํ•˜์…”์„œ ์–ด๋–ค ์ ์ด ์ข‹์€์ง€ ๊ฒฝํ—˜ํ•ด๋ณด๊ณ ์ž ๋„์ž…ํ–ˆ๋‹ค. ๋ฆฌ๋•์Šค๋ฅผ ์“ฐ๊ธฐ์—” ์ด ํ”„๋กœ์ ํŠธ๊ฐ€ ๋„ˆ๋ฌด ์กฐ๊ทธ๋งฃ๊ณ ,, ์ฌ๋„๋งŒ,,, ์ด๋Ÿฐ ๋А๋‚Œ์ด์—ˆ๋‹ค. ์ผ๋‹จ task๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์•ก์…˜์— ํƒ€์ž…์œผ๋กœ boolean๊ฐ’์„ ๋ถ€์—ฌํ•˜๊ณ  ์•ก์…˜์˜ boolean ๊ฐ’์— ๋”ฐ๋ผ ๋ชจ๋‹ฌ์„ ๋ณด์—ฌ์ฃผ๊ธฐ๋กœ ์ •ํ–ˆ๋‹ค.ํ๋ฆ„์€ ๋Œ€์ถฉ ์ด๋Ÿฐ ๋А๋‚Œ.Create์ž‘์„ฑํ•˜๊ธฐ ํด๋ฆญ -> ๋ชจ๋‹ฌ open ->๋ชจ๋‹ฌ ๋‚ด์—์„œ task(title, detail) ์ž‘์„ฑ ํ›„ ์ œ์ถœํ•˜๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ ->๋ชจ๋‹ฌ close, ์ž‘์„ฑ๋œ task๊ฐ€ /today ํŽ˜์ด์ง€์˜ ์ปดํฌ๋„ŒํŠธ..
๋นŒ๋“œ ์ค‘ Module not found Error (Git)
ยท
issue
AWS Amplify ๋นŒ๋“œ ์ค‘์— ๋‹ค๋ฅธ ๊ฒƒ๋„ ์•„๋‹ˆ๊ณ  ๋œฌ๊ธˆ์—†์ด Module not found: Can't resolve '/...'2024-06-12T05:08:07.742Z [WARNING]: ./app/_components/layout/Sidebar.tsxModule not found: Can't resolve '@/_components/auth/signout/actions'https://nextjs.org/docs/messages/module-not-found./app/_components/layout/Sidebar.tsxModule not found: Can't resolve '@/public/icons/signouticon.png'https://nextjs.org/docs/messages/modul..
์†Œ์…œ ๋กœ๊ทธ์ธ ๊ด€๋ จ ์—๋Ÿฌ (OAuth flow error)
ยท
issue
๋ฐฐํฌ ํ›„ ๋žœ๋ค QA๋ฅผ ์ง„ํ–‰ํ•˜๋˜ ์ค‘, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•˜๋‹ค.์†Œ์…œ ๋กœ๊ทธ์ธ์„ ์ง„ํ–‰ํ•˜์ง€ ์•Š๊ณ , ์ด์ „ ํŽ˜์ด์ง€๋กœ ๋Œ์•„๊ฐ”์„ ๋•Œ ์–ด๋– ํ•œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. (์•„๋ž˜ ์ผ๋ถ€ ์‚ฌ์ง„) ์ •ํ™•ํ•œ ์ƒํ™ฉ์€, OAuth ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ๊ตฌ๊ธ€์˜ ๋™์˜ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ–ˆ์„ ๋•Œ ๋’ค๋กœ๊ฐ€๊ธฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์™”๋‹ค.์ฐพ์•„๋ณด๋‹ˆ ์ด ์—๋Ÿฌ๋ฅผ OAuth flow error๋ผ๊ณ  ํ•˜๋˜๋ฐ, OAuth ์•ก์…˜ ํ•จ์ˆ˜์—์„œ ์—๋Ÿฌ ์ฒ˜๋ฆฌ๋ฅผ ์•ˆํ•ด์„œ ๋œฌ ๊ฑฐ์˜€๋‹ค.  ๋ฐฉ์–ด์ฝ”๋“œ๋กœ error๋ฅผ ํ™•์ธํ•˜๊ณ  ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด /signin ํŽ˜์ด์ง€๋กœ ๋Œ์•„๊ฐ€๋„๋ก ์ˆ˜์ •ํ–ˆ๋‹ค.