Complexity Budget

Carson Gross

๋ชจ๋“  ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ๋Š” ๋ณต์žก์„ฑ ์˜ˆ์‚ฐ์„ ๊ด€๋ฆฌํ•˜๋Š” ์ž‘์—…์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

๋ณต์žก์„ฑ ์˜ˆ์‚ฐ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „๋ฐ˜์— ๊ฑธ์ณ ๋ณต์žก์„ฑ์„ ๋ช…์‹œ์  ๋˜๋Š” ์•”์‹œ์ ์œผ๋กœ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ

์—ฌ๊ธฐ์„œ โ€œ๋ณต์žก์„ฑโ€œ์€ ํ˜•์‹์ ์œผ๋กœ ์ •์˜๋˜๊ธฐ๋ณด๋‹ค๋Š” ์ฃผ๊ด€์ ์œผ๋กœ, ๊ทธ๋ฆฌ๊ณ  ์ŠคํŠœ์–ดํŠธ์ ์ธ ์˜๋ฏธ์—์„œ โ€œ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋ณด๋ฉด ์•ˆ๋‹คโ€œ๋Š” ์‹์œผ๋กœ ์ •์˜๋ฉ๋‹ˆ๋‹ค.

๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์— ์ ์šฉํ•˜์ž๋ฉด: โ€œ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋Š๋‚„ ๋•Œ ์•ˆ๋‹ค.โ€

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…ํŠธ์˜ ์ฃผ์š” ์—…๋ฌด ์ค‘ ํ•˜๋‚˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ๋ณต์žก์„ฑ ์˜ˆ์‚ฐ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค:

๋ณต์žก์„ฑ๊ณผ ๊ด€๋ จํ•ด ์ •๋ง ๋‹ต๋‹ตํ•œ ์ ์€, ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ์‹œ๋„๊ฐ€ ์‹ค์ œ๋กœ ๋” ๋งŽ์€ ๋ณต์žก์„ฑ์„ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ œ๊ฐ€ ๊ฒช์—ˆ๋˜ ๊ฒฝํ—˜ ์ค‘ ํ•˜๋‚˜๋Š”, ์ œ๊ฐ€ ์ผํ–ˆ๋˜ ํšŒ์‚ฌ์—์„œ ํ”„๋กœ์ ํŠธ์˜ ์ฆ๊ฐ€ํ•˜๋Š” ๋ณต์žก์„ฑ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด OSGi๋ฅผ ์‹œ์Šคํ…œ์— ๋„์ž…ํ–ˆ์„ ๋•Œ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํ•ฉ๋ฆฌ์ ์ธ ์ ‘๊ทผ์ฒ˜๋Ÿผ ๋ณด์˜€๊ณ , ์ •๊ตํ•œ ๋ชจ๋“ˆ ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ–ˆ์œผ๋ฉฐ, ์ƒˆ๋กœ ๊ณ ์šฉ๋œ ์•„ํ‚คํ…ํŠธ๊ฐ€ ์ถ”์ฒœํ•˜๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ โ€œOSGi๋ž€ ๋ฌด์—‡์ธ๊ฐ€โ€œ๋ผ๋Š” ํŽ˜์ด์ง€์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ ํ˜€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค:

OSGi๋Š” ๊ฐœ๋ฐœ์˜ ๊ฑฐ์˜ ๋ชจ๋“  ์ธก๋ฉด์—์„œ ๋ณต์žก์„ฑ์„ ํฌ๊ฒŒ ์ค„์ž…๋‹ˆ๋‹ค: ์ฝ”๋“œ๋ฅผ ๋” ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์žฌ์‚ฌ์šฉ์„ฑ์ด ์ฆ๊ฐ€ํ•˜๊ณ , ๋นŒ๋“œ ์‹œ์Šคํ…œ์ด ํ›จ์”ฌ ๊ฐ„๋‹จํ•ด์ง€๋ฉฐ, ๋ฐฐํฌ๊ฐ€ ๋” ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฌ์›Œ์ง€๊ณ , ๋ฒ„๊ทธ๊ฐ€ ์ดˆ๊ธฐ์— ๋ฐœ๊ฒฌ๋˜๋ฉฐ, ๋Ÿฐํƒ€์ž„์€ ์‹คํ–‰ ์ค‘์ธ ๊ฒƒ์— ๋Œ€ํ•œ ๋ง‰๋Œ€ํ•œ ํ†ต์ฐฐ๋ ฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ข‹์ง€ ์•Š๋‚˜์š”?

๋ถˆํ–‰ํžˆ๋„, OSGi๋ฅผ ํ”„๋กœ์ ํŠธ์— ๋„์ž…ํ•œ ๊ฒฐ๊ณผ ํ”„๋กœ์ ํŠธ ์ „์ฒด๊ฐ€ ์‚ฌ์‹ค์ƒ ์ค‘๋‹จ๋˜๊ณ  ๋ง์•˜์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ์ตœ๊ณ ์˜ ์—”์ง€๋‹ˆ์–ด ๋ช‡ ๋ช…์ด 1๋…„ ๋„˜๊ฒŒ ์ •์ƒ์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์—์„œ ๋น ์ ธ๋‚˜๊ฐ”๊ณ , ๊ทธ๋“ค์ด ๋๋งˆ์ณค์„ ๋•Œ ์ฝ”๋“œ๋ฒ ์ด์Šค๋Š” ์‹œ์ž‘ํ•  ๋•Œ๋ณด๋‹ค ๋” ๋‹ค๋ฃจ๊ธฐ ์–ด๋ ค์›Œ์กŒ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ํ”๋“ค๋ฆฌ๋˜ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์†๋„๋Š” ์™„์ „ํžˆ ๋ฌด๋„ˆ์กŒ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด OSGi๊ฐ€ ๋ณดํŽธ์ ์œผ๋กœ ๋‚˜์˜๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ฒฝ์šฐ, OSGi๊ฐ€ ๊ฐœ๋ฐœ ํŒ€์˜ ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๊ธฐ๋ณด๋‹ค๋Š” ์‚ฌ์‹ค์ƒ ๋์žฅ๋‚ธ ์…ˆ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ข‹์€ ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…ํŠธ๋Š” ๋ช…์‹œ์ ์œผ๋กœ๋“  ์•”์‹œ์ ์œผ๋กœ๋“  ํ”„๋กœ์ ํŠธ์˜ ๋ณต์žก์„ฑ ์˜ˆ์‚ฐ์„ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์ž…๋‹ˆ๋‹ค.

#๋ณต์žก์„ฑ ์ฆ๊ฐ€

๋ช…ํ™•ํ•œ ์ฆ๊ฑฐ๋Š” ์—†์ง€๋งŒ, ์ œ ๋Š๋‚Œ์œผ๋กœ๋Š” ์ŠคํŠœ์–ดํŠธ์‹ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณต์žก์„ฑ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํฌ๊ธฐ์™€ ํ•จ๊ป˜ ๋Œ€๋žต ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฒฝํ—˜ ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ ์ ˆํžˆ ๋ถ„ํ•ดํ•˜๋ฉด ์ด ๊ณก์„ ์„ ๊ฝค ์˜ค๋žซ๋™์•ˆ ๋‚ฎ๊ฒŒ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์ด ์–ด๋”˜๊ฐ€์— ๋ณต์žก์„ฑ์˜ ๋ฒฝ์ด ๋„์‚ฌ๋ฆฌ๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ฐ”๊พธ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ฃผ์˜ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ทธ ๋ฒฝ์— ์ •๋ฉด์œผ๋กœ ๋ถ€๋”ชํ˜€ ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ๋ฉˆ์ถ”๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ €๋Š” ์—ฌ๋Ÿฌ ๋ฒˆ ์ด๋Ÿฐ ๊ฒฝํ—˜์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋Š ๋‚ , ์„ค๋ช…ํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋กœ ์ œ๊ฐ€ ์ž‘์—… ์ค‘์ด๋˜ ์‹œ์Šคํ…œ์˜ ๊ฐœ๋ฐœ์ด โ€œํฌ์ง€๋งŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š”โ€ ์ƒํƒœ์—์„œ โ€œ๋‹ค๋ฃจ๊ธฐ ๋ถˆ๊ฐ€๋Šฅํ•œโ€ ์ƒํƒœ๋กœ ๋Š๊ปด์กŒ์Šต๋‹ˆ๋‹ค.

#๋ณต์žก์„ฑ ์˜ˆ์‚ฐ์„ ํ˜„๋ช…ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ

์—ฌ๊ธฐ ๋ณต์žก์„ฑ ์˜ˆ์‚ฐ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ๋„๊ตฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€, ๊ด€๋ฆฌํ•ด์•ผ ํ•  ๋ณต์žก์„ฑ ์˜ˆ์‚ฐ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  2. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ฐ€์น˜๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ฐจ๋ณ„ํ™”๋˜๋Š” ์˜์—ญ์— ๋ณต์žก์„ฑ ๋น„์šฉ์„ ์ง‘์ค‘ํ•˜์„ธ์š”.
  3. โ€œ์•„๋‹ˆ์˜คโ€œ๋ผ๊ณ  ๋งํ•˜๊ธฐ - ์•„๋งˆ๋„ ๋ณต์žก์„ฑ๊ณผ์˜ ์‹ธ์›€์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ๊ฐ€์žฅ ์‰ฝ๊ณ , ์ข‹์œผ๋ฉฐ, ๋™์‹œ์— ์–ด๋ ค์šด ๋„๊ตฌ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  4. KISS๋ฅผ ๋ฐ›์•„๋“ค์ด์„ธ์š”. ์„ค๋ น ์ž์‹ ์ด ์–ด๋ฆฌ์„์Œ์„ ์ธ์ •ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ํ•ด๋„ ๋ง์ด์ฃ . (์ฐธ๊ณ ๋กœ, ์‹œ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž์‹ ์ด ์‹ค์ˆ˜๋ฅผ ํ•  ์ˆ˜ ์žˆ์Œ์„ ์ธ์ •ํ•˜๋Š” ๊ฒƒ์€ ์กฐ์ง์— ๋งค์šฐ ๊ธ์ •์ ์ธ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)
  5. ์ปดํฌ๋„ŒํŠธ์˜ ์ ์ ˆํ•œ ๋ถ„ํ•ด - ์ด๋Š” ์˜ˆ์ˆ ์ž…๋‹ˆ๋‹ค: ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์œผ๋ฉด ๋ณต์žก์„ฑ์ด ํญ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ์ ์–ด๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.
  6. ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•ด ํ‘œํ˜„๋ ฅ๊ณผ ์ œํ•œ์˜ ์ ์ ˆํ•œ ๊ท ํ˜•์„ ์„ ํƒํ•˜์„ธ์š”.

๋ถˆํ–‰ํžˆ๋„, ๊ฒฝํ—˜์— ๋”ฐ๋ฅด๋ฉด ์ŠคํŠœ์–ดํŠธ์‹ ๋ณต์žก์„ฑ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ์ฃผ๊ด€์ ์ธ ์ž‘์—…์ด๋ฉฐ, ๋งŽ์€ ์žฌ๋Šฅ ์žˆ๊ณ  ๊ฒฝํ—˜ ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ฃผ์–ด์ง„ ๊ฒฐ์ • ์ง€์ ์—์„œ ์˜ฌ๋ฐ”๋ฅธ ์กฐ์น˜์— ๋Œ€ํ•ด ์˜๊ฒฌ์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ์—์„œ ๋ณต์žก์„ฑ ์˜ˆ์‚ฐ์ด๋ผ๋Š” ๊ฐœ๋…์„ ๋ช…ํ™•ํžˆ ํ•จ์œผ๋กœ์จ ์ด๋Ÿฌํ•œ ๋…ผ์˜๋Š” ๋” ์ƒ์‚ฐ์ ์ด ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ถ๊ทน์ ์œผ๋กœ ๋” ๋‚˜์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฒฐ๊ณผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

#๋งˆ์ง€๋ง‰์œผ๋กœ

๊ฑฐ์˜ ๋ชจ๋“  ์„ฑ์ˆ™ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ โ€œ๋ณต์žกํ•˜๋‹คโ€œ๊ณ  ๋Š๋ผ๋Š” ๊ฒƒ์€ ๋ชจ๋“  ๊ฒƒ์„ ๋œฏ์–ด๊ณ ์น˜๊ฑฐ๋‚˜ ๊ณต๊ฒฉ์ ์ธ ๋ฆฌํŒฉํ† ๋ง์„ ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ณ€๋ช…์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ•ญ์ƒ ์ฒด์Šคํ„ฐํ„ด์˜ ์šธํƒ€๋ฆฌ๋ฅผ ์—ผ๋‘์— ๋‘์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ž˜ (๋˜๋Š” ์ ์–ด๋„ ํ•ฉ๋ฆฌ์ ์œผ๋กœ) ์ž‘๋™ํ•˜๊ณ  ์žˆ๋‹ค๋ฉด, ๋ณต์žก์„ฑ ์˜ˆ์‚ฐ์ด ์ž˜ (๋˜๋Š” ์ ์–ด๋„ ํ•ฉ๋ฆฌ์ ์œผ๋กœ) ๊ด€๋ฆฌ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ถˆํ–‰ํ•˜๊ฒŒ๋„, ๊ธฐ์กด์˜ ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ณต์žก์„ฑ์„ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ํฐ ์‹œ๋„๊ฐ€ ์ข…์ข… ์‹คํŒจํ•˜๊ฑฐ๋‚˜, ์•ˆํƒ€๊น๊ฒŒ๋„ ์ƒํ™ฉ์„ ๋” ์•…ํ™”์‹œํ‚จ๋‹ค๋Š” ์‚ฌ์‹ค์„ ํ•ญ์ƒ ๊ธฐ์–ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

</>