๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€91

Claude Code 101 ์ตœ๊ทผ Anthropic์˜ Claude Code 101 ๊ฐ•์˜๋ฅผ ๋ณด๋ฉด์„œ ๊ฐ€์žฅ ํฌ๊ฒŒ ๋А๋‚€ ๊ฑด ๋‹จ์ˆœํžˆ:“AI๋กœ ์ฝ”๋”ฉ ์ƒ์‚ฐ์„ฑ์„ ์˜ฌ๋ฆฐ๋‹ค”์ˆ˜์ค€์˜ ์ด์•ผ๊ธฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ์ ์ด์—ˆ๋‹ค.์˜คํžˆ๋ ค ํ•ต์‹ฌ์€:“AI๋ฅผ ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ ์•ˆ์— ์–ด๋–ป๊ฒŒ ์šด์˜์ฒด์ œ์ฒ˜๋Ÿผ ๋…น์—ฌ๋„ฃ์„ ๊ฒƒ์ธ๊ฐ€”์— ๊ฐ€๊นŒ์› ๋‹ค.ํŠนํžˆ Claude Code๋Š” ChatGPT์ฒ˜๋Ÿผ ๋‹จ์ˆœ ์งˆ๋‹ตํ˜• ๋„๊ตฌ๋ผ๊ธฐ๋ณด๋‹ค:ํ”„๋กœ์ ํŠธ๋ฅผ ์ฝ๊ณ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๊ณ ๊ณ„ํš์„ ์„ธ์šฐ๊ณ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ ๋ฐ˜๋ณต ์ž‘์—…๊นŒ์ง€ ์ˆ˜ํ–‰ํ•˜๋Š”ํ•˜๋‚˜์˜ “๊ฐœ๋ฐœ ์—์ด์ „ํŠธ”์— ๊ฐ€๊น๋‹ค.์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Claude Code 101 ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ:ํ•ต์‹ฌ ๊ฐœ๋…๊ฐœ๋ฐœ์ž๋กœ์„œ ์ค‘์š”ํ•œ ํฌ์ธํŠธ์‹ค๋ฌด์— ์–ด๋–ป๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.Claude Code์˜ ํ•ต์‹ฌ ์ฒ ํ•™๊ธฐ์กด AI ์‚ฌ์šฉ ๋ฐฉ์‹์€ ๋Œ€๋ถ€๋ถ„ ์ด๋ ‡๋‹ค.์งˆ๋ฌธ → ๋‹ต๋ณ€ ์˜ˆ๋ฅผ ๋“ค๋ฉด:“React Modal ์ฝ”๋“œ.. 2026. 5. 10.
ReactFiberHooks.js๋กœ ์ดํ•ดํ•˜๋Š” Hooks์˜ ์ง„์งœ ๋™์ž‘์›๋ฆฌ React๋ฅผ ์“ฐ๋‹ค ๋ณด๋ฉด ํ›…์€ ๋„ˆ๋ฌด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.useState() useEffect() useMemo() useCallback() useReducer() ...ํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์€ ์ด ํ›…๋“ค์ด ๋ Œ๋”๋ง ์—”์ง„ ์•ˆ์—์„œ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€๊นŒ์ง€๋Š” ๊นŠ๊ฒŒ ์ƒ๊ฐํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” React ๋‚ด๋ถ€ ๊ตฌํ˜„์ธ packages/react-reconciler/src/ReactFiberHooks.js ํŒŒ์ผ์„ ๊ธฐ์ค€์œผ๋กœ ์งˆ๋ฌธ ์ค‘์‹ฌ ํ๋ฆ„์œผ๋กœ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.ํ›…์ด ์–ด๋””์— ์ €์žฅ๋˜๋Š”์ง€์ƒํƒœ ์—…๋ฐ์ดํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ํ์ž‰๋˜๋Š”์ง€deps๋Š” ์–ด๋–ป๊ฒŒ ๋น„๊ต๋˜๋Š”์ง€effect๋Š” ์–ธ์ œ ์‹คํ–‰๋˜๋„๋ก ์˜ˆ์•ฝ๋˜๋Š”์ง€memo/callback์€ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์บ์‹œ๋˜๋Š”์ง€Hooks ๊ทœ์น™์€ ์™œ ์กด์žฌํ•˜๋‚˜์š”?“์™œ ํ›…์€ ์กฐ๊ฑด๋ฌธ ์•ˆ์—์„œ ์“ฐ๋ฉด ์•ˆ ๋˜๋‚˜์š”?”“์™œ ํ•ญ์ƒ ์ปดํฌ๋„ŒํŠธ ์ตœ์ƒ.. 2026. 1. 13.
React๋Š” ๋ฌด์—‡์„ ๊ธฐ์ค€์œผ๋กœ ์ด์ „ UI์™€ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ• ๊นŒ React๋ฅผ ์“ฐ๋‹ค ๋ณด๋ฉด ์ด๋Ÿฐ ๊ฒฝํ—˜์„ ํ•œ ๋ฒˆ์ฏค ํ•ด๋ดค์„ ๊ฒƒ์ด๋‹ค.๋ฆฌ์ŠคํŠธ์—์„œ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ–ˆ๋”๋‹ˆ input ๊ฐ’์ด ๋‹ค๋ฅธ ์ค„๋กœ ์ด๋™ํ–ˆ๋‹คkey๋ฅผ ๋ฐ”๊ฟจ๋”๋‹ˆ state๊ฐ€ ์ดˆ๊ธฐํ™”๋๋‹ค๊ฐ™์€ ์ปดํฌ๋„ŒํŠธ์ธ๋ฐ ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” state๊ฐ€ ์œ ์ง€๋˜๊ณ , ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ๋‚ ์•„๊ฐ„๋‹ค๋ Œ๋” ํ•จ์ˆ˜ ์•ˆ์—์„œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ •์˜ํ–ˆ๋”๋‹ˆ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๊ณ„์† ์ƒˆ๋กœ ๋งˆ์šดํŠธ๋œ๋‹ค์ด ํ˜„์ƒ๋“ค์€ ๋ชจ๋‘ ํ•˜๋‚˜์˜ ์›๋ฆฌ๋กœ ์„ค๋ช…๋œ๋‹ค.React๋Š” ๋ Œ๋”๋ง ์‹œ์ ๋งˆ๋‹ค “์ด ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ด์ „ ๋ Œ๋”์˜ ์–ด๋–ค ์ปดํฌ๋„ŒํŠธ์™€ ๊ฐ™์€ ์—”ํ‹ฐํ‹ฐ์ธ๊ฐ€?”๋ฅผ ํŒ๋‹จํ•˜๊ณ ,๊ทธ ํŒ๋‹จ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๊ธฐ์กด ์ƒํƒœ๋ฅผ ์œ ์ง€ํ• ์ง€, ์ƒˆ๋กœ์šด ์ปดํฌ๋„ŒํŠธ๋กœ ๊ต์ฒดํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ์ด ๋น„๊ต ๊ณผ์ •์ด ๋ฐ”๋กœ Reconciliation์ด๋‹ค.1. Reconciliation์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?React์—์„œ ๋ Œ๋”๋ง์€ ๋‹จ์ˆœํžˆ DOM์„ ๋‹ค์‹œ ๊ทธ๋ฆฌ๋Š” ๊ณผ์ •์ด ์•„๋‹ˆ๋‹ค.๋ Œ๋” ๋‹จ.. 2026. 1. 13.
React ๋™์ž‘ํ๋ฆ„ ์ฝ”๋“œ ๋œฏ์–ด๋ณด๊ธฐ ์‚ฌ์šฉ์ž ์ด๋ฒคํŠธhandler์—์„œ setState/dispatchhandler ์ข…๋ฃŒ๊นŒ์ง€ ๋Œ€๊ธฐ(๋ฐฐ์นญ)์ƒํƒœ ํ ์ฒ˜๋ฆฌRender PhaseCommit PhaseEffect Phase๋™์ž‘ํ๋ฆ„์„ ๋ณด๋‹ค๊ฐ€ react ๊นƒํ—™์—์„œ ์ฝ”๋“œ๋กœ ํ•ด๋‹น ํ๋ฆ„์˜ ๊ทผ๊ฑฐ๋ฅผ ์ฐพ์•„๋ณด์ž! ์‹ถ์—ˆ๋‹ค ์ด๊ฑธ ์†Œ์Šค ๊ธฐ์ค€์œผ๋กœ ๋งคํ•‘ํ•˜๋ฉด,(1~3) ์ด๋ฒคํŠธ ๋ฐฐ์นญ ๊ฒฝ๊ณ„: react-dom-bindings์˜ ReactDOMUpdateBatching.js(2~4) setState/dispatch → ์—…๋ฐ์ดํŠธ ๊ฐ์ฒด ์ƒ์„ฑ/ํ์ž‰: react-reconciler์˜ ReactFiberHooks.js(4~6) root์— ์Šค์ผ€์ค„๋ง → ๋ Œ๋”/์ปค๋ฐ‹: react-reconciler์˜ ReactFiberWorkLoop.js(7) effect ์‹คํ–‰(ํŠนํžˆ useEffect/useLayout.. 2026. 1. 13.
React ์ƒํƒœ ์—…๋ฐ์ดํŠธ์˜ ์›๋ฆฌ React์—์„œ ์ƒํƒœ(state) ์—…๋ฐ์ดํŠธ๋Š” ๋‹จ์ˆœํžˆ ๊ฐ’์ด ๋ฐ”๋€Œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๋ Œ๋”๋ง ์‹œ์Šคํ…œ์˜ ๋‚ด๋ถ€ ํ(queue)์™€ ์Šค์ผ€์ค„๋ง(batch) ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ์ฒ˜๋ฆฌ๋œ๋‹ค.๋ Œ๋”๋ง์€ ๋‹ค์Œ ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ๋‚˜๋‰˜๋ฉฐ, ์ƒํƒœ ์—…๋ฐ์ดํŠธ๋Š” ์ด ์•ˆ์—์„œ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์ดํ•ดํ•ด๋ณด๋ ค๊ณ ํ•œ๋‹ค. Render → Commit → Effect ํ•ต์‹ฌ ๊ฐœ๋…์ƒํƒœ ์—…๋ฐ์ดํŠธ๋Š” ์ฆ‰์‹œ ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š”๋‹คReact๋Š” ์—ฌ๋Ÿฌ ์ƒํƒœ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ชจ์•„์„œ ๋ฐฐ์นญ(batch) ์ฒ˜๋ฆฌํ•œ๋‹ค์ƒํƒœ ์—…๋ฐ์ดํŠธ๋Š” ํ(queue)์— ๋“ค์–ด๊ฐ€๊ณ , ๋ Œ๋” ์‚ฌ์ดํด์—์„œ ์ฒ˜๋ฆฌ๋œ๋‹ค๊ฐ™์€ state ๊ฐ’์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ๋ฆฌ๋ Œ๋”๋ง์„ ๊ฑด๋„ˆ๋›ด๋‹ค 1) ์ƒํƒœ ์—…๋ฐ์ดํŠธ๋Š” ํ์— ์ €์žฅ๋œ๋‹คReact์—์„œ useState์˜ setState๋Š” ๋‹จ์ˆœํžˆ ๊ฐ’์„ ๋ฎ์–ด์“ฐ๋Š” ํ•จ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค.๊ณต์‹ ๋ฌธ์„œ์—์„œ state ์—…๋ฐ์ดํŠธ ๋™์ž‘์„ ์ด๋ ‡๊ฒŒ ์„ค๋ช…ํ•œ๋‹ค:.. 2026. 1. 13.
React๋ฅผ “๋ Œ๋”๋ง ์‹œ์Šคํ…œ”์œผ๋กœ ์žฌ์ •์˜ํ•˜๊ธฐ Rules of React: https://react.dev/reference/rulesuseEffect: https://react.dev/reference/react/useEffectuseLayoutEffect: https://react.dev/reference/react/useLayoutEffect์œ„ ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฝ๊ณ , ๋ Œ๋”๋ง์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค. ์•„๋ž˜ ์งˆ๋ฌธ์— ๋Œ€๋‹ตํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ์ด ๊ธ€์€ ๋„˜๊ฒจ๋„ ๋ ๊ฒƒ๊ฐ™๋‹ค.“React ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ์„ ์„ค๋ช…ํ•ด๋ณด์„ธ์š””“์™œ ๋ Œ๋”์™€ ์ดํŽ™ํŠธ๊ฐ€ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋‚˜์š”?”“์ปดํฌ๋„ŒํŠธ ์ˆœ์ˆ˜์„ฑ์ด ์™œ ์ค‘์š”ํ•œ๊ฐ€์š”?”“Hooks ๊ทœ์น™์€ ์™œ ์กด์žฌํ•˜๋‚˜์š”?”“useEffect๋Š” ์ •ํ™•ํžˆ ๋ฌด์—‡์„ ์œ„ํ•œ ๋„๊ตฌ์ธ๊ฐ€์š”?” ๋ฆฌ์•กํŠธ ๋ Œ๋”๋ง์€ ๋‹จ์ˆœํžˆ “์ปดํฌ๋„ŒํŠธ ์‹คํ–‰ → DOM ๋ฐ˜์˜”์ด ์•„๋‹ˆ๋ผ,๋ Œ๋”(Render) → .. 2026. 1. 12.
๋ฐ˜์‘ํ˜•