profile
๐Ÿ’ป FE Developer

ํ‚ค์ฆˆ๋…ธํŠธ๋ถ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ฐค๋Ÿฌ๋ฆฌ PoC (2) - ๋ฐœ์—ด ์ถ”์ ๋ถ€ํ„ฐ 1์ค„ ํŒจ์น˜

๋“ค์–ด๊ฐ€๋ฉฐ [1ํŽธ]์—์„œ page-flip ์ฝ”์–ด๋ฅผ ์–‡๊ฒŒ ๊ฐ์‹ธ๋Š” ๊ตฌ์กฐ๋กœ PoC๋ฅผ ๋๋‚ด๊ณ  ์ •์‹ ๊ตฌํ˜„์„ ์‹œ์ž‘ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ง„์งœ ์‹œ์ž‘์€ ์‹ค๊ธฐ๊ธฐ QA๋ถ€ํ„ฐ์˜€๋‹ค. 1ํŽธ์—์„œ ์นญ์ฐฌํ–ˆ๋˜ 1์ค„ ํŒจ์น˜๊ฐ€ ๊ทธ๋Œ€๋กœ ์—…๋ณด๊ฐ€ ๋˜์–ด ๋Œ์•„์˜ค๋Š” ๋“ฑ, ์˜ˆ์ธกํ•˜์ง€ ๋ชปํ•œ ๋ฒ„๊ทธ ๋‘ ๋ฐฉ์„ ์ œ๋Œ€๋กœ ๋งž์•˜๋‹ค. ๐Ÿ“ TL

2026๋…„ 8์›” 7์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

ํ‚ค์ฆˆ๋…ธํŠธ๋ถ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ฐค๋Ÿฌ๋ฆฌ PoC (1) - ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ '์ž˜ ๊ณ ๋ฅด๋Š”' ๊ธฐ์ค€์— ๋Œ€ํ•ด

๋“ค์–ด๊ฐ€๋ฉฐ ๐Ÿ™‚ "๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ•˜๋‚˜ ๊ฐ€์ ธ๋‹ค ๋ถ™์ด๋ฉด ๋š๋”ฑ ์•„๋‹Œ๊ฐ€?" ์ฒ˜์Œ์—” ๊ฐ€๋ณ๊ฒŒ ์ƒ๊ฐํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ๋ฅผ ๊ฑด๋“œ๋ฆฌ๊ธฐ ์ „์— '์ง„์งœ ์šฐ๋ฆฌ ์ŠคํŽ™์„ ๊ฒฌ๋ŽŒ๋‚ผ ์ˆ˜ ์žˆ์„๊นŒ?'๋ผ๋Š” ์˜๋ฌธ์ด ๊ผฌ๋ฆฌ๋ฅผ ๋ฌผ์—ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ์ž‘์€ ์ŠคํŒŒ์ดํฌ(Spike) ๋ผ์šฐํŠธ ํ•˜๋‚˜ ํŒŒ๋†“๊ณ  ์‹œ์ž‘ํ•œ PoC.

2026๋…„ 7์›” 20์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

๋ฆฐํŠธ๊ฐ€ ๋Œ๊ณ  ์žˆ์ง€ ์•Š์•˜๋‹ค

๐Ÿ“ TL;DR ์ €์žฅ์†Œ ํ’ˆ์งˆ ์Šค์บ” ์ค‘์— .github/workflows ๋Š” ์žˆ์ง€๋งŒ typecheckยทlint ๋ฅผ ์‹ค์ œ๋กœ ๊ฒ€์ฆํ•˜๋Š” ์žก์ด ์—†๋Š” ๊ฑธ ๋ฐœ๊ฒฌํ–ˆ๊ณ , CI ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ๋กœ์ปฌ์—์„œ ESLint ๋ฅผ ๋จผ์ € ๋Œ๋ ค๋ณด๋‹ˆ ์˜ค๋ž˜ ์ž ๋ณตํ•ด ์žˆ๋˜ ์œ„๋ฐ˜ 3๊ฑด์ด ํŠ€์–ด๋‚˜์™”๋‹ค. ๐Ÿ” ์ƒ์„ธ

2026๋…„ 4์›” 22์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

GitHub Actions, ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์™œ 2๊ฐœ๋กœ ์ชผ๊ฐœ์•ผ ํ• ๊นŒ

๐Ÿ“ TL;DR PR์ด๋ž‘ push๋ฅผ ํ•œ ์›Œํฌํ”Œ๋กœ์šฐ์— ์šฐ๊ฒจ๋„ฃ์œผ๋ฉด ์ปค๋ฒ„๋ฆฌ์ง€๊ฐ€ ์ด์ค‘์œผ๋กœ ์˜ฌ๋ผ๊ฐ€๊ฑฐ๋‚˜ ๊ฒ€์ฆ์ด ๋น ์ง€๋Š” ๊ตฌ๋ฉ์ด ์ƒ๊ธด๋‹ค. ์—ญํ• ๋ณ„๋กœ ๋‘ ๊ฐœ๋กœ ์ชผ๊ฐœ๊ณ  path filter๊นŒ์ง€ ์‚ด์ง ์–น์–ด์ฃผ๋ฉด ๋จธ๋ฆฌ๋„ ํŽธํ•˜๊ณ  CI ์‹คํ–‰ ์‹œ๊ฐ„๋„ ์ค„์–ด๋“ ๋‹ค. ๐Ÿ” ์ƒ์„ธ ๋ฐฐ๊ฒฝ / ๋™๊ธฐ ํŒ€ ํ”„

2026๋…„ 4์›” 20์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

CLAUDE.md ์ž˜๋ชป ์“ฐ๊ณ  ์žˆ์„ ์ˆ˜๋„ ์žˆ๋‹ค

CLAUDE.md๋Š” ๋ช…๋ น์–ด๊ฐ€ ์•„๋‹ˆ๋ผ ๊ณ„์•ฝ์„œ๋‹ค.

2026๋…„ 4์›” 20์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

์•„์ง๋„ JSON.parse(JSON.stringify())๋กœ ๊นŠ์€ ๋ณต์‚ฌํ•˜๊ณ  ์žˆ๋‹ค๋ฉด

๐Ÿ“ TL;DR structuredClone()์€ ๋„ค์ดํ‹ฐ๋ธŒ ๊นŠ์€ ๋ณต์‚ฌ API๋‹ค. Date, Map, Set, ์ˆœํ™˜ ์ฐธ์กฐ๊นŒ์ง€ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋„ ํ•„์š” ์—†๋‹ค. JSON.parse(JSON.stringify())์˜ ํ•จ์ • ํ”ํžˆ ๊ฒช๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ์žˆ๋‹ค. API์—์„œ ๋ฐ›์•„์˜จ

2026๋…„ 4์›” 17์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

๋‹น์‹ ์˜ ํƒ€์ž…์€ '๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํƒœ'๋ฅผ ๋ช‡ ๊ฐœ๋‚˜ ํ—ˆ์šฉํ•˜๊ณ  ์žˆ๋‚˜์š”?

๐Ÿ“ TL;DR ํƒ€์ž…์„ "๊ฐ’์ด ๋ช‡ ๊ฐœ ๋“ค์–ด๊ฐ€๋Š” ์ƒ์ž"๋กœ ํ™˜์‚ฐํ•˜๋ฉด ์ข‹์€ ์„ค๊ณ„์ธ์ง€ ์ˆซ์ž๋กœ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๊ณ , ํ•ฉํƒ€์ž…(Discriminated Union)์„ ๋จผ์ € ๋– ์˜ฌ๋ฆฌ๋Š” ์Šต๊ด€์ด "๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋ฅผ ์•„์˜ˆ ๋ชป ๋งŒ๋“ค๊ฒŒ" ํ•ด์ค€๋‹ค. '๋ญ”๊ฐ€ ์ด์ƒํ•œ๋ฐ ์„ค๋ช…์ด ์•ˆ ๋˜๋Š”' ํƒ€์ž…์— ๋Œ€ํ•˜์—ฌ "

2026๋…„ 4์›” 16์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

์•„์ง๋„ 100vh ์“ฐ์„ธ์š”?

๋ชจ๋ฐ”์ผ ํ’€์Šคํฌ๋ฆฐ, ์ƒˆ๋กœ์šด ์ •๋‹ต

2026๋…„ 4์›” 15์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท