์ ์ฒด ๊ธ
์ด 18๊ฐ์ ๊ธ
ํ๋ก์์ ๋ฆฌ๋ฒ์ค ํ๋ก์ โ ๋ฐฉํฅ์ด ๋ค์งํ๋ฉด ๋ญ๊ฐ ๋ฌ๋ผ์ง๋
ํฐ๋์ ๋ง๋ค๋ค๊ฐ ๊นจ๋ฌ์๋ค Custom Tunnelโฆ
์ฝ๋๋ ์ด๋ป๊ฒ ํธ๋ฆฌ๊ฐ ๋๋๊ฐ โ AST์ ํ์ฑ, ๊ทธ๋ฆฌ๊ณ JSXยทTS ํ์ฑํ๊ธฐ
์์ ๊ธ์์ ์ฐํด๋ฆญ์ผ๋ก ์ปดํฌ๋ํธ ์์ค๋ก ์ ํํ๋ ๋๊ตฌ๋ฅผ ๋ง๋ ์ด์ผ๊ธฐ๋ฅผ ํ๋ค. ๊ทธ ๋๊ตฌ์ ์ฌ์ฅ์ "์ฝ๋๋ฅผ ์ฝ์ด์ ์ํ๋ ์์น๋ฅผ ์ฐพ์๋ด๋" ๋ถ๋ถ, ์ฆ AST ํ์ฑ์ด๋ค. ๋ง๋ค๋ฉด์ ASTโฆ
๋ฐ๋ณต๋ฌธ์์ API ํธ์ถํ๊ธฐ โ forEach ๊ฐ ์ ๋๋ ์ด์ , ๊ทธ๋ฆฌ๊ณ Promise.all์ ์คํด
YouTube Playlist Generator๋ฅผ ๋ง๋ค ๋, ๊ณก ๋ชฉ๋ก์ ์ํํ๋ฉฐ ๊ฐ ๊ณก์ ๊ฒ์ํ๊ณ ์ฌ์๋ชฉ๋ก์ ๋ฃ๋ ์ฝ๋๋ฅผ ์งฐ๋ค. ๊ทธ๋ฐ๋ฐ forEachโฆ
'์ด ๋ฒํผ ๋์ฒด ์ด๋ ํ์ผ์ด์ผ?' โ ์ฐํด๋ฆญ์ผ๋ก ์ปดํฌ๋ํธ ์์ค๋ก ์ ํํ๋ ๋๊ตฌ๋ฅผ ๋ง๋ค์๋ค
โฆ
์ ํ๋ธ ๋๊ธ์ ํ์๋ผ์ธ์ ๋ด ์ฌ์๋ชฉ๋ก์ผ๋ก โ ์์ผ๋ก ํ๋ ๊ฑธ ์๋ํํ๋ค
๋ ธ๋๋ ์ข์๋ฐ, ๋ช ๊ณก์ด ๊ฑธ๋ฆฐ๋ค ์ ํ๋ธ์์ "Lo-fiโฆ
AI๊ฐ '์ด ๋ฒํผ ๊ณ ์ณ์ค'๋ฅผ ์์๋ฃ๊ฒ ํ๊ธฐ โ ์ฝ๋ ๋ก์ผ์ดํฐ๋ฅผ MCP๋ก ์ด๋ค
react-code-locator ์๋ฆฌ์ฆ์ ๋ง์ง๋ง ๊ธ. ์ง๊ธ๊น์ง๋ ์ฌ๋์ด ํ๋ฉด์์ ์ฐํด๋ฆญํด ์์ค๋ก ์ ํํ๋ ์ด์ผ๊ธฐ์๋ค. ๊ทธ๋ฐ๋ฐ ์์ฆ์ ์ฝ๋๋ฅผ ๊ณ ์น๋ ์ฃผ์ฒด๊ฐ ์ฌ๋๋ง์ด ์๋๋ค. AIโฆ
ngrok์ ์ง์ ๋ง๋ค์๋ค โ ๋ก์ปฌ ์๋ฒ๋ฅผ ๊ณต๊ฐ URL๋ก ์ฌ๋ VSCode ํ์ฅ
"์ง๊ธ ๋ก์ปฌ์์ ๋๋ ๊ฑฐ, ํฐ์ผ๋ก ์ข ๋ณผ ์ ์์๊น?" ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด ์์ฃผ ๊ฒช๋๋ค. ๋ก์ปฌ(localhost:300โฆ
ํด๋ฆญ์ ํต๊ณผ์ํค๊ณ , ๊ธ์จ์์ ๋ฐฐ๊ฒฝ์ ๋ง์ถ๊ธฐ โ ์ค๋ฒ๋ ์ด ์์ ฏ์ ๋ ๊ฐ์ง ํธ๋ฆญ
์์ธ ์์ ฏ ํ์ฅ์ "์๋ฌด ์นํ์ด์ง ์์" ๋ ์์ด์ผ ํ๋ค. ๊ทธ๋ฐ๋ฐ ๋จ์ ํ์ด์ง ์์ ๋ญ ๋ฎ์ผ๋ฉด ๋ ๊ฐ์ง ๋ฌธ์ ๊ฐ ์๊ธด๋ค. (1) ์์ ฏ์ด ์๋ ํ์ด์ง์ ํด๋ฆญ์ ๊ฐ๋ก๋ง๊ณ , (โฆ
React Fiber ํํค์น๊ธฐ โ DOM ์์์์ ์ปดํฌ๋ํธ ํธ๋ฆฌ๋ก ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ๊ธฐ
์ฐํด๋ฆญ์ผ๋ก ์ปดํฌ๋ํธ ์์ค๋ก ์ ํํ๋ ๋๊ตฌ๋ฅผ ๋ง๋ค ๋, ๋ฐํ์์ ํต์ฌ ์ง๋ฌธ์ ์ด๊ฑฐ์๋ค. ์ฌ์ฉ์๊ฐ ํด๋ฆญํ ์ด DOM ์์๊ฐ, ๋์ฒด ์ด๋ Reactโฆ
์ง์ง API๋ฅผ ๊ทธ๋ง ๋๋ฆฌ์ โ MSW๋ก ๋คํธ์ํฌ๋ฅผ ๊ฐ๋ก์ฑ ๊ฐ๋ฐํ๊ธฐ
YouTube Playlist Generator๋ฅผ ๋ง๋ค๋ฉฐ ์ ์ผ ํฌ๊ฒ ๋ฐ์ธ ๊ฑด API ํ ๋น๋(quota) ์ด์๋ค. YouTube Data API๋ ๊ฒ์ ํ ๋ฒ์ด 100 unitsโฆ