Recommended Posts

Why Vite? JS ๋ชจ๋“ˆํ™”์˜ ์—ญ์‚ฌ, CJS, ESM, Webpack

์š”์ฆ˜ ์ผ ๋•Œ๋ฌธ์— ๊ต‰์žฅํžˆ ๋ฐ”์œ ๋‚˜๋‚ ์„ ๋ณด๋‚ด๊ณ  ์žˆ๋‹ค. ๋ช‡ ์ฃผ ์ „๋ถ€ํ„ฐ ์ฃผ 1ํšŒ์”ฉ ์ฃผ์ œ๋ฅผ ์ •ํ•˜์—ฌ ๊ธฐ์ˆ  ๋ฐœํ‘œ๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค. ๊ธฐ์กด์— ๊ณต๋ถ€ํ•œ ๋ถ€๋ถ„์ธ๋ฐ๋„ ์ œ๋Œ€๋กœ ์„ค๋ช…์„ ํ•  ์ˆ˜ ์—†์—ˆ์„ ๋ฟ๋”๋Ÿฌ ์ž˜๋ชป ์•Œ๊ณ  ์žˆ๋Š” ๋ถ€๋ถ„์ด ๋งŽ์•˜๋‹ค. velog ํฌํ•จ ํ˜„์žฌ ์ด ํ‹ฐ์Šคํ† ๋ฆฌ ๋ธ”๋กœ๊ทธ์— ์˜ฌ๋ ธ๋˜ ๋ถ€๋ถ„๋„ ์žˆ์—ˆ๊ธฐ์— ๋ถ€๋„๋Ÿฌ์›€์„ ๋ฌด๋ฆ…์“ฐ๊ณ  ์žฌ๊ฒŒ์‹œํ•˜๋ ค ํ•œ๋‹ค. ๊ตณ์ด ๊ทธ๋Ÿฌ์ง€ ์•Š์•„๋„ ๋˜๋ฉด์„œ ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋Š” ์ด์œ ๋Š” ์ฒซ ๋ฒˆ์งธ๋กœ ํ•ญ์ƒ ํ‹€๋ฆด ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋‹ค์งํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๊ณ , ๋‘ ๋ฒˆ์งธ๋กœ๋Š” ๊ณผ๊ฑฐ์˜ ๋‚˜๋ณด๋‹ค ํ˜„์žฌ์˜ ๋‚ด๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ํ™•์žฅ๋˜์—ˆ๋‹ค๋Š” ํ™•์‹ ์œผ๋กœ, ์›๋™๋ ฅ์„ ๊ฐ–๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.ย ย https://velog.io/@chocoallergie/F-Lab-%EB%AA%A8%EA%B0%81%EC%BD%94-%EC%B1%8C%EB%A6%B0%EC%A7%80-60%EC%..

2016, Left-pad ์‚ฌ๊ฑด์— ๋Œ€ํ•œ Rich Harris(Rollup)์˜ ๊ธ€๋กœ ์•Œ์•„๋ณด๋Š” ๋ฒˆ๋“ค๋ง์˜ ์ค‘์š”์„ฑ

2024.08.10 - [Development Environment] - Why Vite? JS ๋ชจ๋“ˆํ™”์˜ ์—ญ์‚ฌ, CJS, ESM, Webpackย ์–ผ๋งˆ ์ „, Vite๋ฅผ ์จ์•ผ ํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•œ ๊ธ€์„ ์“ฐ๋ฉด์„œ Rollup ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ ‘ํ•˜๊ณ  JavaScript Module์˜ ์—ญ์‚ฌ, ๋ฒˆ๋“ค๋ง์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ธ€์„ ์“ฐ๊ณ  ๋‚˜์„œ ES Modules์™€ CommonJS์˜ ์ฐจ์ด์ ์„ Tree-shaking ๊ด€์ ์œผ๋กœ ์ง‘์ค‘ํ•˜์—ฌ ๋˜ ํฌ์ŠคํŒ…ํ•˜๊ณ  ์‹ถ์–ด ์กŒ์Šต๋‹ˆ๋‹ค. (์ฐจ์ฃผ ๋ชฉ์š”์ผ์— ๋ฐœํ‘œ๋ผ ๋๋‚˜๊ณ  ํฌ์ŠคํŒ…ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.) ย ์ œ๊ฐ€ ์›๋ž˜ ์˜ํ™”๋“  ์ฑ…์ด๋“  ์ด๋Ÿฐ ์‹์œผ๋กœ ๋””๊น…์„ ์ข‹์•„ํ•˜๋Š”๋ฐ์š”...(tmi) ๊ทธ๋ž˜์•ผ ๊ฐœ๋…์ด ํ™•์žฅ๋˜๊ณ  ๊ธฐ์–ต๋„ ์ž˜๋‚˜๊ณ .. ๋จธ๋ฆฟ์†์— ์‹œ๊ฐํ™” ๋˜๋Š” ๊ฑธ ์ฆ๊ธฐ๋Š” ๋“ฏํ•ฉ๋‹ˆ๋‹ค.์—ฌํ•˜ํŠผ ๊ณต๋ถ€ ์ค‘ ์ œ ๋ˆˆ์„ ์‚ฌ๋กœ์žก์€ ๊ธ€์ด ์žˆ์—ˆ์Šต๋‹ˆ..

Difference between Process and Thread (+ Program)

ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด๊ฐ€ ๋ญ์ฃ ? ์ฐจ์ด์ ๋„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”! ๊ธฐ์ˆ  ๋ฉด์ ‘ ๋‹จ๊ณจ ์งˆ๋ฌธ์œผ๋กœ ์•Œ๋ ค์ง„ ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด์ , ๋ชฐ๋ž๋‹ค! ๋งค๋ฒˆ ์‹ค๋ฌด ์–˜๊ธฐ ํ•˜๋‹ค๊ฐ€ ๊ธฐ์ˆ  ์งˆ๋ฌธ์„ ๋˜์ ธ์ฃผ์‹œ๋Š” ์‚ฌ์ˆ˜๋ถ„๊ป˜ ๊ฐ์‚ฌํ•œ๋‹ค. (๊พธ๋ฒ…) ์ œ๋Œ€๋กœ ๊ณต๋ถ€ํ–ˆ์Œ์„ ์ฆ๋ช…? ํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•ด ํฌ์ŠคํŒ…์„ ํ•œ๋‹ค. ๋‚˜์ฒ˜๋Ÿผ ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด๋Š” ๋ถ„๋“ค๊ป˜ ๋„์›€์ด ๋˜๊ธฐ ์œ„ํ•œ ๊ธ€์ด๋‹ค. ๋‚˜๋Š” ์šด์˜์ฒด์ œ OS์™€ ๊ฐ™์€ CS ์ง€์‹์— ์–ด๋ ค์›€์„ ๋А๋ผ๊ณ  ์žˆ๊ณ  ์ดํ•ด๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณตํ•ด์„œ ๊ณฑ์”น์–ด๋ณด์•„์•ผ ํ•œ๋‹ค. ์ตํžˆ๊ธฐ์— ์ข‹์€ ๋ฐฐ๊ฒฝ์„ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š์•˜์ง€๋งŒ ๋ถ€์กฑํ•จ์„ ์ฑ„์šฐ๋ ค ์ง€์†์ ์œผ๋กœ ๋…ธ๋ ฅ ์ค‘์ด๋‹ค. ์ด ๊ธ€์„ ๋ณด๊ณ ๋‚˜์„œ ๋ชจ๋“  ๋ถ„๋“ค์ด ํ—ท๊ฐˆ๋ฆฌ๋˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ์ œ๋Œ€๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค. ์šด์˜์ฒด์ œ๋Š” ํ˜„์žฌ ํ•˜๋“œ์›จ์–ด์˜ ์ƒํƒœ๋Š” ์–ด๋– ํ•œ์ง€, ์—ฌ๋Ÿฌ๋ถ„์˜ ์ฝ”๋“œ๊ฐ€ ์–ด..

Software Engineering 2024.04.04 1

DNS Domain Name System์„ ๊นŠ๊ฒŒ ์•Œ์•„๋ณด์ž

DNS๋Š” "DNS ์„œ๋ฒ„์—๊ฒŒ IP์ฃผ์†Œ๋ฅผ ๋ฐ›์•„์˜จ๋‹ค"๋กœ ํ‰์ณ์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์ด์ „์— ๊ณต๋ถ€๋ฅผ ํ–ˆ์œผ๋‚˜ ๋„คํŠธ์›Œํฌ์˜ ๊ฒฝ์šฐ ์ง์ ‘ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ํœ˜๋ฐœ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณต์Šต + ์กฐ๊ธˆ ๋” ๊นŠ๊ฒŒ ์•Œ์•„๋ณด๋ ค ํ•œ๋‹ค! What is DNS? DNS, Domain Name System์€ ํ˜ธ์ŠคํŠธ์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ํ˜ธ์ŠคํŠธ์˜ ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ๋กœ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ๊ทธ ๋ฐ˜๋Œ€์˜ ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค. ํŠน์ • ์ปดํ“จํ„ฐ ๋˜๋Š” ๋„คํŠธ์›Œํฌ๋กœ ์—ฐ๊ฒฐ๋œ ์ž„์˜์˜ ์žฅ์น˜์˜ ์ฃผ์†Œ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด, ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์ˆซ์ž๋กœ ๋œ IP์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค. ์ผ๋ฐ˜์ ์ธ DNS ์กฐํšŒ๋ฅผ ํ•  ๊ฒฝ์šฐ UDP, Zone Transfer(์˜์—ญ ์ „์†ก)์„ ์ˆ˜ํ–‰ํ•  ๊ฒฝ์šฐ ํ˜น์€ 512Byte๋ฅผ ์ดˆ๊ณผํ•˜๋Š” DNS ํŒจํ‚ท์„ ์ „์†กํ•ด์•ผ ํ•  ๊ฒฝ์šฐ TCP๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํ”ํžˆ ์ „ํ™”๋ฒˆํ˜ธ๋ถ€์— ๋น„์œ ๋˜๋Š”..

Network 2023.09.24 1

Latest Post

more

React Router ์™€ TanStack Router ๋น„๊ตํ•ด๋ณด๊ธฐ

์ด์ง์„ ํ•˜๊ณ  ์ ์‘ + ์ƒˆ๋กœ์šด ๋ฃจํ‹ด์„ ๋งŒ๋“œ๋А๋ผ ๊ธ€์„ ์˜ค๋žœ๋งŒ์— ์“ด๋‹ค.. (๋ฐ˜์„ฑ)์ด์ „์—” Vite๋กœ ์ ์šฉ๋˜๋Š” React ๊ธฐ๋ณธ ํด๋” ๊ตฌ์กฐ๋ฅผ ์ผ๊ณ  React Router์˜ ์ฝ”๋“œ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…์„ ์‚ฌ์šฉํ•ด ๋ดค๋˜ ๊ฒฝํ—˜์ด ๋งŽ์•˜๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ์ตœ๊ทผ์— Next๋ฅผ ํ”„๋กœ์ ํŠธ์—์„œ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ตฌ์กฐ์— ๋งž์ถฐ์„œ ์ž๋™์œผ๋กœ ๋ผ์šฐํŒ…์„ ์—ฐ๊ฒฐํ•ด ์ฃผ๋Š” File-based Routing์„ ์‚ฌ์šฉํ•ด ๋ณธ ๊ฒฝํ—˜์œผ๋กœ ์ธํ•ด ํŽธ๋ฆฌํ•จ์„ ๋ง›๋ณด์•„์„œ ๊ทธ๋Ÿฐ์ง€ React์—์„œ๋„ ๋น„์Šทํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค TanStack Router๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.TanStack Router๋ฅผ ์ ์šฉํ•ด๋ณด๋ฉด์„œ ๊ธฐ์กด์— ์จ๋ดค๋˜ React router์™€์˜ ์ฐจ์ด๋ฅผ ๋น„๊ตํ•ด๋ณด๋ ค ํ•œ๋‹ค.๋‹จ๊ธฐ๊ฐ„ ์‚ฌ์šฉ์œผ๋กœ ๋А๋‚€ ์ ์„ ๋‹ค๋ฃจ๋‹ค ๋ณด๋‹ˆ ์‹ค์ œ TanStack์˜ ์ž ์žฌ์„ฑ๋ณด๋‹ค ์–„ํŒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ,, ๋ง์”€๋“œ๋ฆฐ๋‹ค.React R..

React 2025.10.26 0

Docker Developer Community Day ๋ฐ‹์—… ์ฐธ์—ฌ ํ›„๊ธฐ

๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ๋ถ„์˜ ๊ถŒ์œ ๋กœ ์ฒ˜์Œ์œผ๋กœ ์ฐธ์—ฌํ•˜๊ฒŒ ๋œ Docker Developer Community Day Korea.Docker์™€ AI ์—์ด์ „ํŠธ: ์ž๋™ํ™”์˜ ๋ฏธ๋ž˜๋ผ๋Š” ์ฃผ์ œ๋กœ Docker Korea์—์„œ ์ฃผ์ตœํ•˜์˜€๊ณ  ๋‹จ๊ตฐ์†Œํ”„ํŠธ๋ผ๋Š” ๊ณณ์—์„œ ์ง„ํ–‰ํ–ˆ๋‹ค. ์ด๋ฒˆ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฐ์ด์˜ ์ฃผ์ œ๋Š” "Docker์™€ AI ์—์ด์ „ํŠธ: ์ž๋™ํ™”์˜ ๋ฏธ๋ž˜"์ž…๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ํ™œ์šฉ ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒํ•˜๊ณ , ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ตœ์ ํ™”ํ•˜๊ณ , AI ๋ฐ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์˜ ๋ฐœ์ „์„ ํƒ๊ตฌํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋“ค์„ ์œ„ํ•ด ๋งˆ๋ จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Docker์˜ MCP Catalog, Developer Toolkit์ด AI ์—์ด์ „ํŠธ ๋ฐฐํฌ ๋ฐ ์ž๋™ํ™”์— ์–ด๋–ป๊ฒŒ ํ˜์‹ ์„ ๊ฐ€์ ธ์˜ค๋Š”์ง€ ์•Œ์•„๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ง€๋Šฅํ˜• ์ž๋™ํ™” ์‹œ์Šคํ…œ์˜ ๋ฏธ๋ž˜์— ๋Œ€ํ•ด ์ „๋ฌธ๊ฐ€๋“ค๋กœ๋ถ€ํ„ฐ ๋ฐฐ์šฐ๊ณ , ์—…๊ณ„ ๋™๋ฃŒ๋“ค๊ณผ ๋„คํŠธ์›Œํ‚นํ•˜์‹ค ์ˆ˜ ์žˆ..

2025 2025.06.05 6

NestJS Proxy ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์‚ฝ์งˆ๊ธฐ: body๊ฐ€ ์‚ฌ๋ผ์กŒ์–ด์š”

Express์—์„œ Nest๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ค‘, ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ฒผ๋‹ค.ํ”„๋ก์‹œ ๋ถ€๋ถ„์„ ์ œ์ผ ๋งˆ์ง€๋ง‰์— ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์–ด์„œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ…Œ์ŠคํŠธ ์ค‘, ์›น์—์„œ 400 Bad Request๊ฐ€ ๋œจ๋Š” ๊ฒƒ. ping์„ ๋‚ ๋ ค๋ณด๋ฉด ์„œ๋ฒ„๋Š” ์ž˜ ์ผœ์ ธ ์žˆ๋‹ค. data form์ด ์ž˜๋ชป ์ „๋‹ฌ๋œ๊ฑด๊ฐ€ ํ•˜๊ณ  ํ”„๋ก ํŠธ์—์„œ Axios ์„ธํŒ…์„ ์ˆ˜์ •ํ•ด๋ณด๋˜ ์ค‘โ€ฆ โ€œExpress์—์„  ์ž˜ ๋˜๋”๋‹ˆ, Nest๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋‹ˆ๊นŒ ์•ˆ ๋˜๋Š” ๊ฑฐ์•ผ? ํ”„๋ก ํŠธ๋Š” ๊ทธ๋Œ€๋กœ์ธ๋ฐ ์™œ?โ€์ •ํ™•ํ•œ ์—๋Ÿฌ ์ƒํ™ฉ ํŒŒ์•…ํ•˜๊ธฐ NestJs ๊ธฐ๋ฐ˜์˜ ์„œ๋ฒ„ ์•ž๋‹จ์— Gateway(proxy server)๊ฐ€ ์žˆ๊ณ  ํ”„๋ก ํŠธ์—์„œ /login ๊ฒฝ๋กœ๋กœ POST ์š”์ฒญ์„ Gateway๋กœ ๋ณด๋‚ธ ํ›„, Gateway๊ฐ€ http-proxy-middleware๋ฅผ ํ†ตํ•ด ์ด ์š”์ฒญ์„ NestJS์„œ๋ฒ„์˜ /login endp..

Problem Drilling 2025.05.19 0

์ˆ˜๋™ Docker ๋ฐฐํฌ, ์ด์   STOP โ€” GitHub Actions๋กœ ์ž๋™ํ™”ํ•˜๊ธฐ

์ด๋ฒˆ์— ๊ธฐ์กด Express๊ธฐ๋ฐ˜ ํ”„๋กœ์ ํŠธ๋ฅผ NestJS๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋ฉด์„œ, Monorepo ๊ตฌ์กฐ๋กœ ์„œ๋น„์Šค๋ฅผ ์žฌ์ •๋น„ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ์„œ๋น„์Šค๊ฐ€ ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋กœ ๋‚˜๋‰˜์–ด ์žˆ๋‹ค ๋ณด๋‹ˆ, ๋งค๋ฒˆ ์ˆ˜๋™์œผ๋กœ docker build -> tag -> push ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ด์•ผ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ์ด ํด๋”, ์ € ํด๋” ์˜ค๊ฐ€๋ฉฐ ์ˆ˜๋™ ๋ฐฐํฌํ•˜๋Š” ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด๋‚˜ ๋น„ํšจ์œจ์ ์œผ๋กœ ๋А๊ปด์กŒ๋‹ค. ์‚ฌ์‹ค ์ด์ „์— ์ž๋™ํ™”ํ•˜๊ณ  ์‹ถ๊ธฐ๋„ ํ–ˆ์ง€๋งŒ ๋Ÿฌ๋‹์ปค๋ธŒ๊ฐ€ ์žˆ์„ ๊ฑฐ๋ž€ ์ƒ๊ฐ์— ๋ง์„ค์ธ ์ ๋„ ์žˆ์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋˜ ์ค‘, Github Actions๋ฅผ ํ™œ์šฉํ•ดย ํ•ด๋‹น ๊ณผ์ •์„ ์ž๋™ํ™”ํ•œ ์ผ€์ด์Šค๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๊ณ , ์ง์ ‘ ํ…Œ์ŠคํŠธํ•ด๋ณธ ๊ฒฐ๊ณผ ์˜ˆ์ƒ๋ณด๋‹ค ํ›จ์”ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ด์ „์— ๋น„ํ•ด ํ›จ์”ฌ ํŽธํ•ด์กŒ๋‹ค.. ๋น„์Šทํ•œ ๊ณ ๋ฏผ์„ ํ•˜๊ณ  ์žˆ๋Š” ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ๋„์›€์ด ๋˜๊ธธ ๋ฐ”๋ผ๋Š” ๋งˆ์Œ์œผ๋กœ ๊ธ€์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ..

pnpm์€ ์™œ Lifecycle module์„ v10์—์„œ ์ฐจ๋‹จํ–ˆ์„๊นŒ?

pnpm๋ฅผ v10์œผ๋กœ ์—…๋ฐ์ดํŠธํ•œ ๋’ค bcrypt ๋ชจ๋“ˆ์„ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๋ฌธ์ œ์˜ ์›์ธ์„ ํŒŒ์•…ํ•˜๋Š” ๊ณผ์ •์—์„œ v10๋ถ€ํ„ฐ Lifecycle module์„ ๋นŒ๋“œ์‹œ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋‚˜๋Š” ์•ž์œผ๋กœ pnpm v10์„ ์จ์•ผ๋งŒ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ pnpm v10์„ ์•ˆ์ •์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค.ย 1๏ธโƒฃ ์—๋Ÿฌ๊ฐ€ ๋‚œ ์ด์œ ์˜ ํ•ต์‹ฌ, v10 ๋ณ€๊ฒฝ์‚ฌํ•ญ2๏ธโƒฃ Lifecycle module์— ๋Œ€ํ•œ ์ •์˜3๏ธโƒฃ ๋ฐ”๋€ ์ด์œ ๋Š”?4๏ธโƒฃ Lifecycle module์ด ํฌํ•จ๋˜๊ฒŒ ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•!pnpm v10 ๋ณ€๊ฒฝ์‚ฌํ•ญย [Bug]~new pnpm v10 version has conflicts with bcrypt 5.1.1 ยท Issue #9042 ยท pnpm/pnpmVerify la..

Best

React Router ์™€ TanStack Router ๋น„๊ตํ•ด๋ณด๊ธฐ

์ด์ง์„ ํ•˜๊ณ  ์ ์‘ + ์ƒˆ๋กœ์šด ๋ฃจํ‹ด์„ ๋งŒ๋“œ๋А๋ผ ๊ธ€์„ ์˜ค๋žœ๋งŒ์— ์“ด๋‹ค.. (๋ฐ˜์„ฑ)์ด์ „์—” Vite๋กœ ์ ์šฉ๋˜๋Š” React ๊ธฐ๋ณธ ํด๋” ๊ตฌ์กฐ๋ฅผ ์ผ๊ณ  React Router์˜ ์ฝ”๋“œ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…์„ ์‚ฌ์šฉํ•ด ๋ดค๋˜ ๊ฒฝํ—˜์ด ๋งŽ์•˜๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ์ตœ๊ทผ์— Next๋ฅผ ํ”„๋กœ์ ํŠธ์—์„œ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ตฌ์กฐ์— ๋งž์ถฐ์„œ ์ž๋™์œผ๋กœ ๋ผ์šฐํŒ…์„ ์—ฐ๊ฒฐํ•ด ์ฃผ๋Š” File-based Routing์„ ์‚ฌ์šฉํ•ด ๋ณธ ๊ฒฝํ—˜์œผ๋กœ ์ธํ•ด ํŽธ๋ฆฌํ•จ์„ ๋ง›๋ณด์•„์„œ ๊ทธ๋Ÿฐ์ง€ React์—์„œ๋„ ๋น„์Šทํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค TanStack Router๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.TanStack Router๋ฅผ ์ ์šฉํ•ด๋ณด๋ฉด์„œ ๊ธฐ์กด์— ์จ๋ดค๋˜ React router์™€์˜ ์ฐจ์ด๋ฅผ ๋น„๊ตํ•ด๋ณด๋ ค ํ•œ๋‹ค.๋‹จ๊ธฐ๊ฐ„ ์‚ฌ์šฉ์œผ๋กœ ๋А๋‚€ ์ ์„ ๋‹ค๋ฃจ๋‹ค ๋ณด๋‹ˆ ์‹ค์ œ TanStack์˜ ์ž ์žฌ์„ฑ๋ณด๋‹ค ์–„ํŒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ,, ๋ง์”€๋“œ๋ฆฐ๋‹ค.React R..

React 2025.10.26 0
React Fiber... ์–ด๋ ต์ง€๋งŒ ์นœํ•ด์ง€๊ณ  ์‹ถ์€ ๊ณ ๋งˆ์šด ์นœ๊ตฌ

๋ฆฌ์•กํŠธ ์Šคํ„ฐ๋”” ์ค‘ "๊ฐ€์ƒDOM๊ณผ ๋ฆฌ์•กํŠธ ํŒŒ์ด๋ฒ„" ์ฃผ์ œ๊ฐ€ ๋‚˜์™”๋‹ค. ๋ฐœํ‘œ๋ฅผ ๋งก๊ฒŒ๋œ ๋ฆฌ์•กํŠธ ๋ Œ๋”๋ง ๋ถ€๋ถ„์„ ์ค€๋น„ํ•˜๊ณ , ๋ฐœํ‘œ ๋‹น์ผ ์Šคํ„ฐ๋””์›๋“ค๊ณผ ์–˜๊ธฐํ•˜๋ฉฐ ์กฐ๊ธˆ์”ฉ ์œค๊ณฝ์ด ์žกํžˆ๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ์–ด๋ ค์šด ๊ฑด ๋งคํ•œ๊ฐ€์ง€... ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ์ข‹์€ ๊ธ€์„ ๋ฐœ๊ฒฌํ–ˆ๋Š”๋ฐ ํฌ์ŠคํŒ… ์ผ์ž๊ฐ€ ๋ฆฌ์•กํŠธ 15,16 ๊ธฐ์ค€์ด๋ผ ๋ Œ๋”๊ฐ€ ๋™๊ธฐ์‹์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค๊ณ  ๋˜์–ด์žˆ์–ด์„œ ๐Ÿค” ์ œ๋Œ€๋กœ ์Šคํ„ฐ๋”” ๋‚ด์šฉ์„ ๋ณต๊ธฐํ•  ๊ฒธ, ๊ทธ๋ฆฌ๊ณ  ํŒŒ์ด๋ฒ„์™€ ์ข€ ์นœํ•ด์งˆ ๊ฒธ ํฌ์ŠคํŒ… ์ฃผ์ œ๋กœ ์„ ์ •ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์กฐ๊ธˆ ์˜๋ฌธ์ด์—ˆ๋˜ ๊ฒƒ์€ ์žฌ์กฐ์ • ๊ณผ์ •์€ ๋˜‘๊ฐ™๊ณ , ์—ฌ์ „ํžˆ ์œ ํšจํ•  ๊ฒƒ ๊ฐ™์€๋ฐ ๋ฆฌ๋‰ด์–ผ๋œ React ์‚ฌ์ดํŠธ์—๋Š” ํŒŒ์ด๋ฒ„์™€ ๊ด€๋ จ๋œ ๋‚ด์šฉ์ด ์ „๋ถ€ ์ƒ๋žต๋˜์–ด์žˆ๋‹ค. ์™œ์ผ๊นŒ????? ๊ทธ๋ž˜์„œ ๋” ์–ด๋ ต๊ฒŒ ๋А๊ปด์กŒ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๋”์ด์ƒ ๊ด€๋ จ์ด ์—†๋Š” ๋‚ด์šฉ์ธ์ง€? ๋ ˆ๊ฑฐ์‹œํ•œ ๋ถ€๋ถ„์ธ ๊ฑด์ง€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ. ๋ฆฌ์•กํŠธ ํŒŒ์ด๋ฒ„ ์•„ํ‚คํ…์ฒ˜ ..

React 2023.12.18 14
Vite configํŒŒ์ผ ์ˆ˜์ •ํ•ด์„œ ๋ฐฐํฌ ๋””๋ ‰ํ† ๋ฆฌ ์ƒ๋Œ€ ๊ฒฝ๋กœ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ

Vite๋กœ TypeScript + React ํ”„๋กœ์ ํŠธ ์„ธํŒ…์„ ํ•˜๋˜ ์ค‘ pnpm run dev ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋• ์ž˜๋˜์—ˆ๋Š”๋ฐ ๋นŒ๋“œ๋ฅผ ํ•˜๊ณ  ๋ฐฐํฌ ํŒŒ์ผ(dist)์— ์ €์žฅ๋œ ์ •์ ํŒŒ์ผ์€ 404 ์˜ค๋ฅ˜๊ฐ€ ๋–ด๋‹ค. ๋ฐฑ์—”๋“œ ๋ถ„๊ป˜์„œ ๋ฐฐํฌ ํŒŒ์ผ์„ ํ™•์ธํ•ด๋‹ฌ๋ผ๊ณ  ํ•˜์…”์„œ ํ™•์ธํ•ด๋ณด์•˜๋Š”๋ฐ distํด๋” ๋‚ด assetsํด๋”(dist/assets) ์•ˆ์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ์ฝ์–ด๋‚ด์ง€ ๋ชปํ–ˆ๊ณ  ๊ฒฝ๋กœ ์„ค์ •์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ์„ ํ™•์ธํ–ˆ๋‹ค! ์ ˆ๋Œ€๊ฒฝ๋กœ๋กœ ๋˜์–ด์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ์ƒ๋Œ€๊ฒฝ๋กœ๋กœ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ dist ํŒŒ์ผ์˜ ๊ฒฝ์šฐ ์ˆ˜๋™์ ์œผ๋กœ ์ƒ๋Œ€๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•ด์ฃผ์–ด๋„ ๋นŒ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์–ด์ฐจํ”ผ ๋˜‘๊ฐ™์ด ์ ˆ๋Œ€๊ฒฝ๋กœ๋กœ ๋œ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๋นŒ๋“œ์‹œ ์ ์šฉ๋˜๋Š” Default Path๋กœ `/`๋กœ ๋˜์–ด์žˆ๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ ์ด๊ฒƒ์„ `./` ์ด๋ ‡๊ฒŒ ๋ฐ”๊ฟ”์ฃผ๊ณ  ์‹ถ์–ด์„œ Vite config..

Problem Drilling 2023.10.29 0