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

Lect & Tip143

๋ฆฌ์•กํŠธ์™€ ์›น์†Œ์ผ“ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๋ฐ ๋ฉ”์‹œ์ง€ ์ปดํฌ๋„ŒํŠธ ๊ฐœ๋ฐœ ์˜ˆ์‹œ ๋ฆฌ์•กํŠธ์™€ ์›น์†Œ์ผ“ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๋ฐ ๋ฉ”์‹œ์ง€ ์ปดํฌ๋„ŒํŠธ ๊ฐœ๋ฐœ ์˜ˆ์‹œํ˜„๋Œ€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‹ค์‹œ๊ฐ„ ์†Œํ†ต ๊ธฐ๋Šฅ์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX)์„ ๊ทน๋Œ€ํ™”ํ•˜๋Š” ์ค‘์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ, ์ฑ„ํŒ… ์‹œ์Šคํ…œ์ด๋‚˜ ์•Œ๋ฆผ ๊ธฐ๋Šฅ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์›น ์„œ๋น„์Šค๋ฅผ ๋ณด๋‹ค ์ง๊ด€์ ์ด๊ณ  ์ฆ‰๊ฐ์ ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์›น์†Œ์ผ“(WebSocket)๊ณผ ๋ฆฌ์•กํŠธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ์‹œ์Šคํ…œ ๋ฐ ๋ฉ”์‹œ์ง€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ UI ๊ตฌ์„ฑ ์‚ฌ๋ก€์— ๋Œ€ํ•ด ์ƒ์„ธํžˆ ์„ค๋ช…๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์˜ ํ•„์š”์„ฑ๊ณผ ์›น์†Œ์ผ“ ๊ฐœ์š”์ „ํ†ต์ ์ธ HTTP ์š”์ฒญ ๋ฐฉ์‹์€ ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ๋งˆ๋‹ค ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์‘๋‹ต์„ ๋ฐ›์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด ์›น์†Œ์ผ“์€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์— ์ง€์†์ ์ธ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๋ฉฐ, ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž.. 2025. 8. 29.
REACT Axios, fetch API, SWR, React Query ์„œ๋ฒ„ ํ†ต์‹  ๋ฐ ๋ฐ์ดํ„ฐ ํŽ˜์นญ ์ตœ์ ํ™” ์ปดํฌ๋„ŒํŠธ REACT Axios, fetch API, SWR, React Query ์„œ๋ฒ„ ํ†ต์‹  ๋ฐ ๋ฐ์ดํ„ฐ ํŽ˜์นญ ์ตœ์ ํ™” ์ปดํฌ๋„ŒํŠธํ˜„๋Œ€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์™€ ์ฃผ๊ณ ๋ฐ›์œผ๋ฉฐ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ํšจ์œจ์ ์ด๊ณ  ์•ˆ์ •์ ์ธ ๋ฐ์ดํ„ฐ ํŽ˜์นญ์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜๊ณผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” REACT axios, fetch API, SWR, React Query ๋“ฑ ๋‹ค์–‘ํ•œ ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์„œ๋ฒ„์™€์˜ ํ†ต์‹ ์„ ์ตœ์ ํ™”ํ•˜๊ณ , ๋ฐ์ดํ„ฐ ํŽ˜์นญ์„ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ปดํฌ๋„ŒํŠธ ๋””์ž์ธ ์ „๋žต์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.REACT ์„œ๋ฒ„ ํ†ต์‹  ๋ฐ ๋ฐ์ดํ„ฐ ํŽ˜์นญ์˜ ์ค‘์š”์„ฑ๋ฐ์ดํ„ฐ ํŽ˜์นญ ์ตœ์ ํ™”๋Š” ์—ฌ๋Ÿฌ ์ธก๋ฉด์—์„œ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.๋น ๋ฅธ ์‘๋‹ต ์†๋„: ์„œ๋ฒ„์™€์˜ ํ†ต์‹  ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜์—ฌ, ์‚ฌ์šฉ์ž์—๊ฒŒ ๋น ๋ฅธ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.๋„คํŠธ.. 2025. 8. 21.
๋ฆฌ์•กํŠธ ์ปค์Šคํ…€ ํผ ์ปดํฌ๋„ŒํŠธ์™€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๊ธฐ๋ฒ• ๋ฆฌ์•กํŠธ ์ปค์Šคํ…€ ํผ ์ปดํฌ๋„ŒํŠธ์™€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๊ธฐ๋ฒ•๋ฆฌ์•กํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํผ์€ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๋ฐ›์•„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•ต์‹ฌ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ๋‹จ์ˆœํ•œ ์ž…๋ ฅ ์š”์†Œ๋ถ€ํ„ฐ ๋ณต์žกํ•œ ํผ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ํผ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด์„œ, ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์™€ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ ์šฉํ•˜๋Š” ๊ฒƒ์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX) ํ–ฅ์ƒ๊ณผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•ˆ์ •์„ฑ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ฆฌ์•กํŠธ์—์„œ ์ปค์Šคํ…€ ํผ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ํ•จ๊ป˜, ๋Œ€ํ‘œ์ ์ธ ํผ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Formik๊ณผ React Hook Form์„ ํ™œ์šฉํ•˜์—ฌ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฐ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.ํผ ์ปดํฌ๋„ŒํŠธ ๊ตฌ์„ฑ์˜ ์ค‘์š”์„ฑํผ ์ปดํฌ๋„ŒํŠธ๋Š” ๋‹จ์ˆœํžˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š” ์—ญํ• ์„ ๋„˜์–ด์„œ, ์‚ฌ์šฉ์ž์™€์˜ ์ธํ„ฐ๋ž™์…˜์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•์„ฑ์„ ๋ณด์žฅํ•˜๊ณ , ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ ๋ช…ํ™•ํ•œ .. 2025. 8. 19.
๋ฆฌ์•กํŠธ) ๋ฐ˜์‘ํ˜• ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ” ๋ฐ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ ๋ฐ˜์‘ํ˜• ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ” ๋ฐ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ํ˜„๋Œ€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ๋‹ค์–‘ํ•œ ๋””๋ฐ”์ด์Šค ํ™˜๊ฒฝ์— ๋งž์ถฐ UI๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ, ๋ฐ˜์‘ํ˜• ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”์™€ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ ๋‚ด์—์„œ ์‰ฝ๊ฒŒ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ํ•ต์‹ฌ ์š”์†Œ์ž…๋‹ˆ๋‹ค.์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ฐ˜์‘ํ˜• ์›น ๋””์ž์ธ์„ ๊ณ ๋ คํ•œ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”์™€ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์˜ UI/UX ๋””์ž์ธ ํŒจํ„ด๊ณผ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์ƒ์„ธํžˆ ์‚ดํŽด๋ณด๊ณ , ์‹ค์ œ ์ฝ”๋“œ ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ๋‹จ๊ณ„๋ณ„ ๊ตฌํ˜„ ์ „๋žต์„ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.๋ฐ˜์‘ํ˜• ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”์˜ ํ•„์š”์„ฑ๊ณผ ๊ธฐ๋ณธ ์›์น™๋ฐ˜์‘ํ˜• ์›น ๋””์ž์ธ์€ ๋ฐ์Šคํฌํƒ‘, ํƒœ๋ธ”๋ฆฟ, ๋ชจ๋ฐ”์ผ ๋“ฑ ๋‹ค์–‘ํ•œ ํ™”๋ฉด ํฌ๊ธฐ์— ๋”ฐ๋ผ ์œ ๋™์ ์ธ ๋ ˆ์ด์•„์›ƒ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์ดํŠธ ์ „์ฒด๋ฅผ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ค‘์š”ํ•œ ๋ฉ”๋‰ด๋“ค์„ ์ œ๊ณตํ•˜๋Š”๋ฐ, ๋ฐ˜์‘ํ˜•.. 2025. 8. 15.
centos 7, ์šฐ๋ถ„ํˆฌ, ๋ฆฌ๋ˆ…์Šค root ๋น„๋ฐ€๋ฒˆํ˜ธ ์ดˆ๊ธฐํ™”, ๋ณ€๊ฒฝ centos 7, ์šฐ๋ถ„ํˆฌ, ๋ฆฌ๋ˆ…์Šค root ๋น„๋ฐ€๋ฒˆํ˜ธ ์ดˆ๊ธฐํ™”, ๋ณ€๊ฒฝ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„๋ฅผ ์šด์šฉํ•˜๋‹ค ๋ณด๋ฉด root ๊ณ„์ • ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ถ„์‹คํ•˜๊ฑฐ๋‚˜ ๊ต์ฒดํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ CentOS 7๊ณผ Ubuntu๋Š” ๋ถ€ํŒ… ๋กœ๋”์™€ ์ดˆ๊ธฐํ™” ์ ˆ์ฐจ๊ฐ€ ์ƒ์ดํ•˜๋ฏ€๋กœ ๊ฐ ๋ฐฐํฌํŒ์— ๋งž๋Š” ์ ˆ์ฐจ๋ฅผ ์ˆ™์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.์ด ๊ธ€์—์„œ๋Š” CentOS 7, Ubuntu, ๊ทธ๋ฆฌ๊ณ  ๊ธฐํƒ€ ๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌํŒ์—์„œ root ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋ณด์•ˆ ๊ด€์ ์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ •์ฑ…, SELinux ๊ณ ๋ ค ์‚ฌํ•ญ, UEFI/Legacy ๋ชจ๋“œ ์ฐจ์ด๋ฅผ ๋‹ค๋ฃจ์–ด ์•ˆ์ •์ ์ธ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ๋ฅผ ๋•์Šต๋‹ˆ๋‹ค.์™œ root ๋น„๋ฐ€๋ฒˆํ˜ธ ์ดˆ๊ธฐํ™”๊ฐ€ ํ•„์š”ํ•œ๊ฐ€?๋น„๋ฐ€๋ฒˆํ˜ธ ๋ถ„์‹ค ์‹œ ์›๊ฒฉ ์ ‘์† ๋ถˆ๊ฐ€๋กœ ๊ธด๊ธ‰ ๋ณต๊ตฌ ํ•„์š”๊ด€๋ฆฌ์ž ๊ต์ฒด ๋˜๋Š” ํ‡ด์‚ฌ์— ๋”ฐ๋ฅธ ๋ณด์•ˆ ์ •์ฑ… ๊ฐ•ํ™”์ž๋™ํ™” ์Šคํฌ๋ฆฝํŠธ ์˜ค๋ฅ˜๋กœ .. 2025. 6. 29.
๋ชจ๋“ˆ์‹ CSS์™€ ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ๋ง ์ „๋žต ๋ชจ๋“ˆ์‹ CSS์™€ ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ๋ง ์ „๋žตํ˜„๋Œ€ ์›น ๊ฐœ๋ฐœ์—์„œ๋Š” ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ UI๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , ๊ฐ๊ฐ์˜ ์ปดํฌ๋„ŒํŠธ์— ๋…๋ฆฝ์ ์ธ ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์œ ์ง€๋ณด์ˆ˜์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๋Š” ํ•ต์‹ฌ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ๋ฆฌ์•กํŠธ(React) ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜์˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ๋Š” CSS ํŒŒ์ผ์ด ์ „์—ญ์ ์œผ๋กœ ์ ์šฉ๋˜๊ฑฐ๋‚˜, ์Šคํƒ€์ผ์ด ์ค‘๋ณต๋˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋“ˆ์‹ CSS ์ ‘๊ทผ๋ฒ•์ด ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” CSS Modules, SASS, LESS ๋“ฑ ๋‹ค์–‘ํ•œ ์Šคํƒ€์ผ๋ง ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•˜์—ฌ ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ์˜ ์Šคํƒ€์ผ์„ ๋ชจ๋“ˆํ™”ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ตฌ์ฒด์ ์œผ๋กœ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.๋ชจ๋“ˆ์‹ CSS์˜ ํ•„์š”์„ฑ๊ณผ ๊ฐœ๋…์ „ํ†ต์ ์ธ CSS ๋ฐฉ์‹์€ ์ „์—ญ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋ฌธ์ œ๋กœ ์ธํ•ด ์Šคํƒ€์ผ ์ถฉ๋Œ, ์ค‘๋ณต ์ฝ”๋“œ ๋“ฑ์˜ ๋ฌธ์ œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ํŠนํžˆ ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ์ˆ˜.. 2025. 6. 23.