๋ชฉ๋กProgramming/DevOps (4)

๐Ÿ“ ์ ์–ด์„œ ๋จธ๋ฆฟ์†์œผ๋กœ

๐Ÿšฉ [2ํŽธ] Jekins / vite ๋นŒ๋“œ ์ค‘ OOM ํ•ด๊ฒฐ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์†๋„ ๊ฐœ์„ ํ•˜๊ธฐ

๋ฐ์ดํ„ฐ๊ฐ€ ์•Œ๋ ค์ค€ ํ•ด๊ฒฐ์ฑ…: '๋บ„์…ˆ'์˜ ๊ธฐ์ˆ ๊ณผ ์˜์‚ฌ๊ฒฐ์ • ๊ณผ์ • [1ํŽธ]์—์„œ ์šฐ๋ฆฌ๋Š” ์ž์ฒด ๊ตฌ์ถ•ํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์„ ํ†ตํ•ด, ๋นŒ๋“œ ์ค‘ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํญ๋ฐœํ•˜๋Š” ์›์ธ์ด ๊ณผ๋„ํ•˜๊ฒŒ ๋ณต์žกํ•œ Chunking ์„ค์ •'๊ณผ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋นŒ๋“œ๋˜๋Š” ๋ชจ๋“ˆ์ด ์žˆ์Œ์„ ๋ฐ์ดํ„ฐ๋กœ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ์›์ธ์„ ์•Œ์•˜๋‹ค๊ณ  ํ•ด์„œ ๋ฌด์ž‘์ • ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๊ธฐ์กด ์ฝ”๋“œ์˜ ์˜๋„๋ฅผ ํŒŒ์•…ํ•˜๋ฉฐ ์•ˆ์ „ํ•˜๊ฒŒ ๊ฐœ์„ ํ•˜๋Š” ๊ณผ์ •๊ณผ, ์‹ค์ œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€๋Š” ๊ธฐ์ˆ ์  ์˜์‚ฌ๊ฒฐ์ •์„ ๋‹ด์•˜์Šต๋‹ˆ๋‹ค.1. ์ฒซ ๋ฒˆ์งธ ๋‚œ๊ด€: manualChunks, ๊ณผ์—ฐ ์ค„์—ฌ๋„ ๋˜๋Š”๊ฐ€?๊ฐ€์žฅ ํฐ ๋ฉ”๋ชจ๋ฆฌ ๋ณ‘๋ชฉ์ง€์ ์€ vite.config.js์˜ manualChunks ์„ค์ •์ด์—ˆ์Šต๋‹ˆ๋‹ค.๋งŽ์€ if-else ๋ฌธ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ์ž˜๊ฒŒ ์ชผ๊ฐœ๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.๐Ÿค” ๊ณ ๋ฏผ: "์ด ์ฝ”๋“œ๋Š” ์ด์œ ๊ฐ€ ์žˆ์–ด์„œ ์กด์žฌํ•˜์ง€ ์•Š์„๊นŒ..

Programming/DevOps 2026. 1. 5. 23:16
๐Ÿš€ [1ํŽธ] Jekins / vite ๋นŒ๋“œ ์ค‘ OOM ํ•ด๊ฒฐ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์†๋„ ๊ฐœ์„ ํ•˜๊ธฐ

ํ์‡„๋ง ํ™˜๊ฒฝ์—์„œ OOM ์žก๊ธฐ: "๋„๊ตฌ"๊ฐ€ ์—†์œผ๋ฉด ๋งŒ๋“ค์–ด ์“ด๋‹ค. ๋“ค์–ด๊ฐ€๋ฉฐ: ๋ณด์ด์ง€ ์•Š๋Š” ์ ๊ณผ์˜ ์‹ธ์›€์ตœ๊ทผ ์ €ํฌ ํŒ€์ด ์šด์˜ํ•˜๋Š” ๋Œ€๊ณ ๊ฐ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ์ค‘, JavaScript heap out of memory (OOM) ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.๋‹น์žฅ ๊ธ‰ํ•œ ๋ถˆ์„ ๋„๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น๋Ÿ‰์„ ๋Š˜๋ฆฌ๋Š” ์กฐ์น˜๋ฅผ ์ทจํ–ˆ์ง€๋งŒ, ์ด๋Š” ๊ทผ๋ณธ์ ์ธ ํ•ด๊ฒฐ์ฑ…์ด ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค."๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋Š˜๋ ค์„œ ํ•ด๊ฒฐ"ํ•˜๋Š” ๋ฐฉ์‹์€ ์–ธ์  ๊ฐ€ ์ž„๊ณ„์น˜๋ฅผ ๋„˜์œผ๋ฉด ๋ฐ˜๋“œ์‹œ ์žฌ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ๋” ํฐ ๋ฌธ์ œ๋Š” "์ •ํ™•ํžˆ ์–ด๋””์„œ, ์™œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํŠ€๋Š”์ง€ ๋ชจ๋ฅธ๋‹ค"๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. "๊ด€์ธกํ•  ์ˆ˜ ์—†์œผ๋ฉด, ๊ฐœ์„ ํ•  ์ˆ˜ ์—†๋‹ค."๊ธˆ์œต๊ถŒ์ด๋ผ๋Š” ํŠน์ˆ˜ํ•œ ํ™˜๊ฒฝ(ํ์‡„๋ง) ํƒ“์— Prometheus๋‚˜ Grafana ๊ฐ™์€ ํ™”๋ คํ•œ ๋„๊ตฌ๋ฅผ ์“ธ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.๊ทธ๋ž˜์„œ ๊ฒฐ์‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค."์ง์ ‘ ๊ณ„์ธก ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค์–ด, ๋ณด..

Programming/DevOps 2025. 12. 22. 23:10
[ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค] ์„œ๋ฒ„ ๊ธฐ๋ฐ˜ IaaS์™€ ์„œ๋ฒ„ ๋ฆฌ์Šค PaaS์˜ ์ฐจ์ด์ (ft.Vercel, Render)

ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์˜ ์ „ํ†ต ์ ์ธ ์„œ๋น„ ๊ธฐ๋ฐ˜ IaaS์™€ ์ตœ๊ทผ ์‚ฌ์šฉ์ด ์ฆ๊ฐ€ํ•˜๋Š” ์„œ๋น„ ๋ฆฌ์Šค PaaS์˜ ๊ฐœ๋…๊ณผ ์ฐจ์ด์ ์„ ์•Œ์•„๋ด…์‹œ๋‹ค. โœ… IaaS๋ž€?์‚ฌ์šฉ์ž๊ฐ€ ๋ฌผ๋ฆฌ์ ์ธ ์„œ๋ฒ„๋ฅผ ์†Œ์œ ํ•˜์ง€ ์•Š๊ณ , ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ฐ€์ƒํ™”๋œ ์„œ๋ฒ„, ์Šคํ† ๋ฆฌ์ง€, ๋„คํŠธ์›Œํฌ ๋“ฑ ์ธํ”„๋ผ ์ž์›์„ ์„œ๋น„์Šค ํ˜•ํƒœ๋กœ ๋นŒ๋ ค ์“ฐ๋Š” ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.โœ… PaaS๋ž€?Platform as a Service→ “๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ฑฐ๋‚˜ ์šด์˜ํ•˜์ง€ ์•Š์•„๋„, ์•ฑ ์‹คํ–‰์— ํ•„์š”ํ•œ ํ”Œ๋žซํผ ํ™˜๊ฒฝ์„ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด๊ฐ€ ๋Œ€์‹  ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค” โœ… ์š”์ ๊ตฌ๋ถ„๊ฐœ๋…๋ณ„์นญIaaS์ธํ”„๋ผ๋ฅผ ๋นŒ๋ ค์„œ ์ง์ ‘ ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์šด์˜"์„œ๋ฒ„ ๊ธฐ๋ฐ˜(Server-based)" ํ˜น์€ "์ „ํ†ต์  ๊ฐ€์ƒ ์„œ๋ฒ„(VM)" ๋ฐฉ์‹PaaS์•ฑ๋งŒ ์˜ฌ๋ฆฌ๋ฉด ์„œ๋ฒ„ ํ™˜๊ฒฝ์€ ์ž๋™ ๊ตฌ์„ฑ, ์ž๋™ ํ™•์žฅ“์„œ๋ฒ„๋ฆฌ์Šค(Serverless) ํ”Œ๋žซํผ..

Programming/DevOps 2025. 5. 11. 15:10
[DevOps] ๋„์ปค(Docker)๋Š” ์™œ ์“ธ๊นŒ?

๋„์ปค๋Š” ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์—์„œ ๋ฆฌ๋ˆ…์Šค์˜ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ์—”์ง„ ์ž…๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ(container)๋Š” ๋ญ˜๊นŒ? ์ปจํ…Œ์ด๋„ˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ์™€๋Š” ๋‹ค๋ฅธ ๊ฐœ๋…์œผ๋กœ ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋…๋ฆฝ๋œ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ ์ด๋•Œ, ๋…๋ฆฝ๋œ ํ™˜๊ฒฝ์ด ์ปจํ…Œ์ด๋„ˆ ์ž…๋‹ˆ๋‹ค. ์กฐ๊ธˆ ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ฐจํ›„ ๊ธ€ ์ž‘์„ฑ์œผ๋กœ ๋Œ€์ฒดํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋„์ปค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  1. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ๋™ํ•˜๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ์„ ์ œ๊ณต ๋™์ผํ•˜๊ฒŒ ์ž‘์„ฑ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ผ๋„ ์‹คํ–‰ํ•˜๋Š” ํ™˜๊ฒฝ์ด ๋‹ฌ๋ผ์ง€๋ฉด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ, Java 11์—์„œ๋งŒ ์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž‘์„ฑํ–ˆ๋Š”๋ฐ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์— Java 11์„ ์œ„ํ•œ JVM์ด ์—†๋‹ค๋ฉด ๋™์ž‘ํ•˜์ง€ ์•Š๊ฒŒ๋ฉ๋‹ˆ๋‹ค. (๋˜‘๊ฐ™์ด ์ณค๋Š”๋ฐ ์™œ ์•ˆ๋˜์ง€..

Programming/DevOps 2022. 5. 17. 01:17