๋กœ์ผ“๐Ÿพ
article thumbnail
๋ฐ˜์‘ํ˜•
์ด ๊ธ€์€ Song Seunggeun ๋‹˜์˜ ๊ธ€์„ ๋ณด๊ณ  ์ž‘์„ฑํ•œ ๊ธ€์ด๋ฉฐ, ํ—ˆ๋ฝ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

 

๋…ผ๋ž€์˜ ์—ฌ์ง€๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” 2021๋…„ ํ˜„์žฌ ์†Œํ”„ํŠธ์›จ์–ด ์—…๊ณ„์—์„œ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์–ธ์–ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2020๋…„ Github์˜ ๋ถ„์„์— ๋”ฐ๋ฅด๋ฉด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” 2014๋…„ ์ด๋ž˜๋กœ ํ•ญ์ƒ ์˜ํ–ฅ๋ ฅ ์žˆ๋Š” ์–ธ์–ด์˜€๊ณ , ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์นœ์ฒ™์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ๋˜ํ•œ ๊ทธ ์ˆœ์œ„๊ฐ€ 4์œ„์— ๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

 

github

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์–ด๋–ป๊ฒŒ ์ด๋ ‡๊ฒŒ ์œ ๋ช…ํ•ด์งˆ ์ˆ˜ ์žˆ์—ˆ์„๊นŒ์š”? ํŒŒ์ด์ฌ, ์ž๋ฐ”, C ๋“ฑ์˜ ์ „ํ†ต์˜ ๊ฐ•์ž๋“ค, ๊ทธ๋ฆฌ๊ณ  Golang, Rust, Swift, Dart ๋“ฑ์˜ ์‹ ํฅ ๊ฐ•์ž๋“ค๊ณผ์˜ ๊ฒฝ์Ÿ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์–ด๋–ป๊ฒŒ ์šฐ์œ„๋ฅผ ์ ํ•  ์ˆ˜ ์žˆ์—ˆ์„๊นŒ์š”?

 

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ํด๋ ˆ์ดํŠผ ํฌ๋ฆฌ์Šคํ…์Šจ ๊ต์ˆ˜์˜ ํŒŒ๊ดด์  ํ˜์‹  ์ด๋ก ์„ ์ด์šฉํ•ด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

 

ํŒŒ๊ดด์  ํ˜์‹  ์ด๋ก  - ๋ˆ ์•ˆ๋˜๋Š” ๊ธฐ์ˆ  ๋ฌด์‹œํ•˜๋‹ค๊ฐ€ ๋งํ•œ๋‹ค

 

https://www.christenseninstitute.org/

 

ํŒŒ๊ดด์  ํ˜์‹  ์ด๋ก ์€ ํฌ๋ฆฌ์Šคํ…์Šจ์ด ‘์œ„๋Œ€ํ•œ ๊ธฐ์—…๋“ค์กฐ์ฐจ ์™œ ์‹คํŒจํ•˜๋Š”๊ฐ€’ ๋ผ๋Š” ์งˆ๋ฌธ์— ๋Œ€ํ•œ ํ•ด๋‹ต์„ ์ฐพ๋Š” ๊ณผ์ •์—์„œ ์ œ์•ˆํ•œ ์ด๋ก ์ž…๋‹ˆ๋‹ค. ํ•„๋ฆ„ ์นด๋ฉ”๋ผ ์‹œ์žฅ์˜ 1์œ„ ๊ธฐ์—…์ด์—ˆ๋˜ ์ฝ”๋‹ฅ์ด ๋””์ง€ํ„ธ ์นด๋ฉ”๋ผ ์‹œ๋Œ€์— ์ ์‘ํ•˜์ง€ ๋ชปํ•œ ์‚ฌ๋ก€๋ฅผ ํ†ตํ•ด์„œ ์ด๋ฒˆ ๊ธ€์˜ ์ฃผ์ œ์™€ ๊ด€๋ จ์ด ์žˆ๋Š” ๋ถ€๋ถ„๋งŒ์„ ์ข€ ๋” ์ž์„ธํžˆ ๋“ค์—ฌ๋‹ค๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

 

ํŒŒ๊ดด์  ๊ธฐ์ˆ ์ด ๋“ฑ์žฅํ•œ๋‹ค

ํŒŒ๊ดด์  ๊ธฐ์ˆ ์ด๋ž€ ๋‹จ๊ธฐ์ ์œผ๋กœ ์ œํ’ˆ์˜ ์„ฑ๋Šฅ์„ ๋–จ์–ด๋œจ๋ฆฌ์ง€๋งŒ ๊ธฐ์กด ๊ธฐ์ˆ ์ด ์ œ๊ณตํ•˜์ง€ ๋ชปํ•˜๋Š” ๋‹ค๋ฅธ ๊ฐ€์น˜๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ธฐ์ˆ ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํŒŒ๊ดด์  ๊ธฐ์ˆ ์— ๊ธฐ์ดˆํ•œ ์ œํ’ˆ๋“ค์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋” ์‹ธ๊ณ , ๋” ๋‹จ์ˆœํ•˜๊ณ , ๋” ์ž‘๊ณ , ์‚ฌ์šฉํ•˜๊ธฐ ๋” ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. (ํ˜์‹  ๊ธฐ์—…์˜ ๋”œ๋ ˆ๋งˆ, 1997). ์˜ˆ๋ฅผ ๋“ค์–ด, ์ดˆ๊ธฐ์˜ ๋””์ง€ํ„ธ ์‚ฌ์ง„์€ ๊ธฐ์กด์˜ ํ•„๋ฆ„ ์‚ฌ์ง„์— ๋น„ํ•ด์„œ ์‚ฌ์ง„์˜ ์งˆ์€ ๋‚ฎ์•˜์ง€๋งŒ ํ•„๋ฆ„ ์ธํ™” ๊ณผ์ •์„ ๊ฑฐ์น  ํ•„์š”๊ฐ€ ์—†๋‹ค๋Š” ํŽธ๋ฆฌํ•จ์„ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.

 

๊ธฐ์กด ๊ธฐ์—…์€ ํŒŒ๊ดด์  ๊ธฐ์ˆ ์ด ๋ˆ์ด ์•ˆ ๋˜์„œ ๋ฌด์‹œํ•œ๋‹ค

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

 

ํŒŒ๊ดด์  ๊ธฐ์ˆ ์ด ์„ฑ์ˆ™ํ•ด์ ธ์„œ ๊ธฐ์กด ์ง€๋ฐฐ์  ๊ธฐ์—…์˜ ์‹œ์žฅ์„ ์ž ์‹ํ•œ๋‹ค

ํŒŒ๊ดด์  ๊ธฐ์ˆ ์ด ๋ฐœ์ „ํ•˜๋ฉด์„œ ๊ทธ ์„ฑ๋Šฅ์ด ๊ณ ๊ฐ์ด ๋งŒ์กฑํ• ๋งŒํผ ์„ฑ์žฅํ•˜๋ฉด ๊ธฐ์กด ์‹œ์žฅ์„ ์ž ์‹ํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋””์ง€ํ„ธ ์นด๋ฉ”๋ผ์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์ง€๊ณ  ํ™”์งˆ์ด ์ข‹์•„์ง€๊ณ  ์ผ๋ฐ˜ ์†Œ๋น„์ž๋“ค์—๊ฒŒ ํŒ๋งคํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ ์ €๋ ดํ•ด์ง€๋ฉด์„œ ๋””์ง€ํ„ธ ์นด๋ฉ”๋ผ์˜ ํ•„๋ฆ„ ์‹œ์žฅ ํŒŒ๊ดด๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋‹ฅ์€ ๋’ค๋Šฆ๊ฒŒ ๋””์ง€ํ„ธ ์นด๋ฉ”๋ผ ์‹œ์žฅ์— ์ฐธ์—ฌํ•˜์ง€๋งŒ, ์บ๋…ผ๊ณผ ๋‹ˆ์ฝ˜ ๋“ฑ์˜ ๋””์ง€ํ„ธ ์นด๋ฉ”๋ผ ์‹œ์žฅ ์„ ๋„ ์—…์ฒด์™€์˜ ๊ฒฝ์Ÿ์—์„œ ์ด๊ธธ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

 

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

 

 

[DBR] ์‚ฌ์ง„์™•๊ตญ ์ฝ”๋‹ฅ์˜ ๋ชฐ๋ฝ… ๋„๋Œ€์ฒด ๋ฌด์Šจ ์ผ์ด?

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

dbr.donga.com

 

 

Kodak’s Downfall Wasn’t About Technology

What it missed was the business model.

hbr.org

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํƒ„์ƒ๊ณผ ๋ฐœ์ „ (1995 ~ 2008)

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ, ์ ‘์ฐฉ์ œ (Glue language) ๋กœ์„œ ํƒ„์ƒํ•˜๋‹ค

 

1990๋…„๋Œ€ ์ค‘๋ฐ˜, ์›น (World Wide Web) ์ด ๋ณธ๊ฒฉ์ ์œผ๋กœ ์†Œ๋น„์ž๋“ค์—๊ฒŒ ๋ฐ›์•„๋“ค์—ฌ์ง€๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์›น์ด๋ผ๋Š” ์‹ ๋Œ€๋ฅ™์˜ ํŒจ๊ถŒ์„ ์ฐจ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์‹ธ์›€์—์„œ ๋‘๊ฐ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ธฐ์—… ์ค‘ ์›น ๋ธŒ๋ผ์šฐ์ € ๋„ท์Šค์ผ€์ดํ”„๋ฅผ ๋งŒ๋“  ๋„ท์Šค์ผ€์ดํ”„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ฆˆ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

 

์ดˆ๊ธฐ์˜ ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” ํŒ€ ๋ฒ„๋„ˆ์Šค ๋ฆฌ๊ฐ€ ์›น์„ ๋งŒ๋“ค ๋•Œ ์ œ์•ˆํ•œ ๊ฒƒ์ฒ˜๋Ÿผ HTML ๋กœ ์ด๋ฃจ์–ด์ง„ ์ •์ ์ธ ์›น ๋ฌธ์„œ๋ฅผ ๋ณด์—ฌ์ค„ ๋ฟ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—…๊ณ„๋Š” ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ข€ ๋” ๋™์ ์œผ๋กœ ๋งŒ๋“ค ๋ฐฉ๋ฒ•, ์‚ฌ์šฉ์ž์—๊ฒŒ ํ’๋ถ€ํ•œ ์ƒํ˜ธ์ž‘์šฉ์„ ์ž˜ ์ง€์›ํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ์ƒ‰ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

์ด๋ฅผ ์œ„ํ•ด์„œ ๋„ท์Šค์ผ€์ดํ”„๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ž‘ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ฅผ ๋„์ž…ํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋Š” ์ „๋ฌธ์ ์ธ ์ˆ˜์ค€์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ๋„์ž…๋œ ๊ฒƒ์€ ์•„๋‹ˆ์—ˆ๊ณ , ์ž๋ฐ”์™€ ๊ฐ™์ด ์„ฑ๋Šฅ์ด ์ข‹๊ณ  ํ’๋ถ€ํ•œ ์ƒํƒœ๊ณ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ (ex. Java Applet) ์„ ์›น ๋ฌธ์„œ์™€ ์—ฐ๊ฒฐํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ์ ‘์ฐฉ์ œ ์—ญํ•  (Glue Language) ์„ ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์›น ๋ฌธ์„œ์˜ ํŠน์ • ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ํŠน์ •ํ•œ Java Applet์ด ์‹คํ–‰๋˜๋„๋ก ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ, ๋ฒ„ํŠผ์ด ํด๋ฆญ๋˜์—ˆ์„ ๋•Œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜์–ด ๊ทธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ Java Applet์„ ์‹คํ–‰ํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•˜๋Š” ๊ธฐ์กด ๊ธฐ์ˆ ๋กœ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์˜คํ”ผ์Šค์˜ Visual Basic์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” 1995๋…„ ๋„ท์Šค์ผ€์ดํ”„ ๋ธŒ๋ผ์šฐ์ €์— ํƒ‘์žฌ๋˜์–ด ์„ธ์ƒ์— ์ฒซ ์„ ์„ ๋ณด์ด๊ณ , 1996๋…„ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ์œ ์‚ฌํ•œ JScript๋ฅผ ์ž์‚ฌ์˜ ๋ธŒ๋ผ์šฐ์ € ์ต์Šคํ”Œ๋กœ๋Ÿฌ์— ๋„์ž…ํ–ˆ์œผ๋ฉฐ, ์ดํ›„ 1997๋…„ ํ‘œ์ค€ํ™”๋˜์–ด ECMAScript ๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ถˆ๋ฆฌ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

์›น ๋ธŒ๋ผ์šฐ์ € ์•ˆ์—์„œ ์กฐ์šฉํžˆ ํž˜์„ ํ‚ค์šฐ๋‹ค

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๊ณต์‹ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋กœ ์ฑ„ํƒ๋˜๊ธฐ๋Š” ํ–ˆ์ง€๋งŒ ๊ทธ๊ฒƒ์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์„ฑ๊ณต์„ ๋ณด์žฅํ•˜์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค.

 

๋„ท์Šค์ผ€์ดํ”„์˜ ์ „๋žต์  ์‹ค์ฑ…๊ณผ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ OS ์‹œ์žฅ ์ง€๋ฐฐ๋ ฅ์„ ์ด์šฉํ•œ ๋ผ์›ŒํŒ”๊ธฐ ์ „๋žต ๋“ฑ์˜ ์š”์†Œ๊ฐ€ ๊ฒน์ณ์„œ 2000๋…„๋Œ€ ์ดˆ์ค‘๋ฐ˜ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ ์ต์Šคํ”Œ๋กœ๋Ÿฌ ๋ธŒ๋ผ์šฐ์ €๋Š” 90%์— ๋‹ฌํ•˜๋Š” ์›น ๋ธŒ๋ผ์šฐ์ € ์‹œ์žฅ ์ ์œ ์œจ์„ ์ฐจ์ง€ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. OS์™€ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์ง€๋ฐฐ๊ถŒ์„ ๋™์‹œ์— ๊ฐ€์ง„ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๋Š” ์›น ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ActiveX ์™€ ๊ฐ™์€ ๊ธฐ์ˆ ์„ ์ด์šฉํ•ด์„œ ์›นํŽ˜์ด์ง€๊ฐ€ ์ผ์ข…์˜ ์œˆ๋„์šฐ์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ฒ˜๋Ÿผ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์›น์ด ์œˆ๋„์šฐ์ฆˆ์šฉ ์•ฑ์Šคํ† ์–ด ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•˜๊ฒŒ ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ ๊ฐœ๋ฐœ์ž๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ณด๋‹ค๋Š” ActiveX ๋ชจ๋“ˆ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” C++, C# ๋“ฑ์˜ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

๊ทธ ๋ฐ–์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ์›น์‚ฌ์ดํŠธ ๊ธฐ๋Šฅ์„ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์–ด๋„๋น„์˜ Flash, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ Sliverlight ๋“ฑ์˜ ๊ธฐ์ˆ ๋“ค์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํ•ด์•ผ ํ–ˆ์„ ์—ญํ• ์„ ๋Œ€์‹ ํ•˜๋ฉฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ž…์ง€๋ฅผ ์œ„ํ˜‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

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

 

์—”์ง„ ์„ฑ๋Šฅ์˜ ํญ๋ฐœ์ ์ธ ํ–ฅ์ƒ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ฐœ์ „์„ ํ–ˆ๋‹ค ํ•˜๋”๋ผ๋„ ์•„์ง ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์›น ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์— ์ง€๋‚˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ ์œ ๋ช…์„ธ๋‚˜ ํ™œ์šฉ๋„๋Š” ์•„์ง C++ ์ด๋‚˜ Java ์™€ ๊ฐ™์€ ์ฃผ๋ฅ˜ ์–ธ์–ด์— ๋น„ํ•ด์„œ๋Š” ์ดˆ๋ผํ•œ ์ˆ˜์ค€์ด์—ˆ์Šต๋‹ˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” 2008๋…„ ํฐ ์„ฑ์žฅ์˜ ๊ณ„๊ธฐ๋ฅผ ๋งž๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ์†๋„๋ฅผ ํฌ๊ฒŒ ๊ฐœ์„ ํ•˜๋Š” JIT (Just in time) ๊ธฐ์ˆ ์ด ๋„์ž…๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Google ํฌ๋กฌ์€ JIT๋ฅผ ์ด์šฉํ•œ V8 ์—”์ง„ ๋•๋ถ„์— ์ต์Šคํ”Œ๋กœ๋Ÿฌ๋ฅผ ํฌํ•จํ•œ ๊ธฐ์กด ๋ธŒ๋ผ์šฐ์ €์— ๋น„ํ•ด ๋น ๋ฅธ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ์—ˆ๊ณ , ํŒŒ์ด์–ดํญ์Šค๋„ JIT๋ฅผ ์ ์šฉํ•œ TraceMonkey ์—”์ง„์„ ๋‚ด๋†“์•˜์Šต๋‹ˆ๋‹ค.

 

ํฌ๋กฌ ์ถœ์‹œ ์งํ›„์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์„ฑ๋Šฅ ๋ฒค์น˜๋งˆํฌ

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋…ํŠนํ•œ ์žฅ์ 

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

 

์›น ๋ธŒ๋ผ์šฐ์ € ์ด์™ธ์˜ ์‹œ์žฅ์— ๋Œ€ํ•ด์„œ ๋…ผ์˜ํ•˜๊ธฐ์— ์•ž์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋‹ค๋ฅธ ์–ธ์–ด์— ๋น„ํ•ด ์šฐ์œ„๋ฅผ ๊ฐ€์ง€๋Š” ์ ์ด ๋ฌด์—‡์ธ์ง€ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์•„๋ž˜์˜ ๋„ค ๊ฐ€์ง€ ์žฅ์ ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

  • ๋‹จ์ˆœํ•˜๊ณ  ์‰ฝ๋‹ค.
  • ๋น„๋™๊ธฐ ์ฝ”๋“œ๋ฅผ ์งœ๊ธฐ ์ข‹๋‹ค.
  • ํ˜ธํ™˜์ด ์ž˜ ๋˜๋Š” UI ๊ธฐ์ˆ ์ด ์กด์žฌํ•œ๋‹ค.
  • ์‹คํ–‰ ์„ฑ๋Šฅ์ด ์ข‹๋‹ค.

๋‹จ์ˆœํ•˜๊ณ  ์‰ฝ๋‹ค

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ํƒ„์ƒ๋ถ€ํ„ฐ ๋น„์ „๋ฌธ๊ฐ€๋ฅผ ์œ„ํ•œ ์–ธ์–ด์˜€์Šต๋‹ˆ๋‹ค. ์›น ๋””์ž์ด๋„ˆ๋‚˜ ์ดˆ๊ธ‰ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์›นํŽ˜์ด์ง€์—์„œ ๊ณ ๊ธ‰ ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ฐœ๋ฐœํ•œ Java Applet ๋“ฑ์˜ ๊ณ ๋„ํ™”๋œ ํ”„๋กœ๊ทธ๋žจ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ๋ฐœ๋œ ์ ‘์ฐฉ์ œ์˜€์Šต๋‹ˆ๋‹ค. Java๋‚˜ C++ ๋“ฑ์˜ ์–ธ์–ด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋†’์€ ์„ฑ๋Šฅ์„ ๊ฐ€์ ธ๋‹ค ์ฃผ์ง€๋งŒ ๊ฐœ๋ฐœํ•˜๊ธฐ ์–ด๋ ค์šด ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๊ธฐ๋Šฅ์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๊ฐ€๋Šฅํ•˜์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ ์€ Java๋‚˜ C++ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณด๊ธฐ์—๋Š” ์•„์‰ฌ์šด ๋ถ€๋ถ„์ด์ง€๋งŒ, ์ดˆ๊ธ‰ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์ž…์žฅ์—์„œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋‚œ์ด๋„๋Š” ๋‚ฎ์ถ”๊ณ  ์ƒ์‚ฐ์„ฑ์„ ๋”ํ•˜๋Š” ๋ถ€๋ถ„์ด๊ธฐ๋„ ํ•˜๋‹ค.

๋น„๋™๊ธฐ ์ฝ”๋“œ๋ฅผ ์งœ๊ธฐ ์ข‹๋‹ค

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์˜ UI ์™€ ๊ด€๋ จ๋œ ์ž‘์—…(ex. ํด๋ฆญ)๊ณผ AJAX๋ฅผ ์ด์šฉํ•œ ๋„คํŠธ์›Œํฌ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋งŽ์ด ์ด์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. UI ๊ด€๋ จ ์ž‘์—…๊ณผ ๋„คํŠธ์›Œํฌ ์ž‘์—…์˜ ๊ณตํ†ต์ ์€ ํ›„์† ์ž‘์—…์ด ์–ธ์ œ ์‹คํ–‰๋˜์–ด์•ผ ํ•  ์ง€ ์˜ˆ์ธกํ•  ์ˆ˜๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋” ์ž์„ธํžˆ ๋งํ•˜์ž๋ฉด, “์œ ์ €๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ๋•Œ ์ด๋Ÿฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด" ๋ผ๋Š” ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ์ˆœ๊ฐ„์—๋Š” ์œ ์ €๊ฐ€ ์–ธ์ œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์ง€ ์•Œ ์ˆ˜ ์—†๊ณ , “์„œ๋ฒ„์— ์ด๋Ÿฐ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์ด ์˜ค๋ฉด ์ด๋ ‡๊ฒŒ ์ฒ˜๋ฆฌํ•ด” ๋ผ๋Š” ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ์ˆœ๊ฐ„์—๋Š” ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต์ด ์˜ค๋Š” ์ •ํ™•ํ•œ ์‹œ์ ์„ ์•Œ ์ˆ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ ํŠน์ • ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜์–ด์•ผ ํ•  ์‹œ์ ์„ ์ •ํ™•ํ•˜๊ฒŒ ์•Œ๊ธฐ ์–ด๋ ค์šด ๊ฒฝ์šฐ์— ๋ณดํ†ต ์‚ฌ์šฉํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํ•˜๋‚˜๋Š” ๊ทธ ์‹œ์ ์ด ์˜ค๊ธฐ๊นŒ์ง€ ๋ฌดํ•œํžˆ ๋Œ€๊ธฐํ•˜๋Š” ๋ฐฉ๋ฒ• (๋™๊ธฐ์  ๋ธ”๋กœํ‚น, Synchronous blocking) ์ด๊ณ , ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๊ทธ ์‹œ์ ์ด ์˜ค๋ฉด ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ง€์ •ํ•ด๋‘๊ณ  ๋‹ค๋ฅธ ํ•  ์ผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ• (๋น„๋™๊ธฐ์  ๋…ผ๋ธ”๋กœํ‚น, Asynchronous non-blocking) ์ž…๋‹ˆ๋‹ค.

 

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

๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ฐ•๋ ฅํ•œ UI ๊ธฐ์ˆ ์ด ์กด์žฌํ•œ๋‹ค

์›น ๋ธŒ๋ผ์šฐ์ €์˜ UI ๊ธฐ์ˆ  (HTML, CSS, ๋ Œ๋”๋ง ์—”์ง„…) ์€ ๋‹ค์–‘ํ•œ OS ์œ„์—์„œ ์ „ ์„ธ๊ณ„์˜ ์ˆ˜์–ต๊ฐœ์˜ ์›น์‚ฌ์ดํŠธ๋ฅผ ๊ทธ๋ฆฌ๋ฉด์„œ ์‰ฝ๊ณ  ์œ ์—ฐํ•˜๋ฉด์„œ๋„ ๊ฐ•๋ ฅํ•˜๊ฒŒ ๋ฐœ์ „ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด UI ๊ธฐ์ˆ ์€ ๋‹น์—ฐํ•˜๊ฒŒ๋„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ๊ถํ•ฉ์ด ์ž˜ ๋งž์Šต๋‹ˆ๋‹ค.

์‹คํ–‰ ์„ฑ๋Šฅ์ด ์ข‹๋‹ค

๊ตฌ๊ธ€์˜ V8์„ ์œ„์‹œํ•œ JIT ๊ธฐ์ˆ ์„ ์ฑ„ํƒํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ๋Œ์–ด์˜ฌ๋ ค์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋•๋ถ„์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” C++์ด๋‚˜ Java์™€ ๊ฐ™์€ ์ •์  ์–ธ์–ด์—๋Š” ๋ฏธ์น˜์ง€ ๋ชปํ•˜์ง€๋งŒ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด ์ค‘์—์„œ๋Š” ์ตœ๊ณ  ์ˆ˜์ค€์˜ ์„ฑ๋Šฅ์„ ๊ฐ–๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

์ด์ œ ์ด๋Ÿฌํ•œ ์žฅ์ ์„ ๋ฐ”ํƒ•์œผ๋กœ ์›น ๋ธŒ๋ผ์šฐ์ € ์™ธ์˜ ์‹œ์žฅ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ํŒŒ๊ดด์  ํ˜์‹ ์„ ์ด๋ฃจ์—ˆ๋Š”์ง€๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ธฐ์กด ์‹œ์žฅ ํŒŒ๊ดด

์‚ฌ๋ก€1 - Node.js์˜ ๋“ฑ์žฅ๊ณผ ์„œ๋ฒ„ ์‹œ์žฅ ์ง„์ถœ

 

V8์ด ์ถœํ˜„ํ•œ ์ง€ ์–ผ๋งˆ ๋˜์ง€ ์•Š์€ 2009๋…„, ๋ผ์ด์–ธ ๋‹ฌ์€ ๊ตฌ๊ธ€์˜ V8 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„๊ณผ ๋น„๋™๊ธฐ ๋„คํŠธ์›Œํฌ API๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ฐ€๋Šฅ์ผ€ ํ•ด์ฃผ๋Š” Node.js๋ผ๋Š” ์„œ๋ฒ„์‚ฌ์ด๋“œ ๋Ÿฐํƒ€์ž„์—”์ง„์„ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.

 

 

Node.js์— ๊ด€ํ•œ 10๊ฐ€์ง€ ํ›„ํšŒ - ๋ผ์ด์–ธ ๋‹ฌ๊ณผ Deno.js

Node.js๋ฅผ ๊ฐœ๋ฐœํ•œ ๋ผ์ด์–ธ ๋‹ฌ(Ryan Dahl) ์€ ์ง€๋‚œ 2018๋…„ 6์›” Javascript ์ตœ๋Œ€ ์ฝ˜ํผ๋Ÿฐ์Šค์ธ JSConf 2018์—์„œ 10 Things I Regret About Node.js ์„ ๋ฐœํ‘œํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ ํ›„ Node.js๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์ƒ๊ฒผ๋˜ ํ›„ํšŒ๋ฅผ ๋ฐ”ํƒ•..

kingofbackend.tistory.com

 

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

 

Node.js๊ฐ€ ๊ธฐ์กด ์„œ๋ฒ„ ๊ธฐ์ˆ ๊ณผ ๊ฒฝ์Ÿํ•  ๋•Œ ๋„์›€์ด ๋œ ๊ฒƒ์€ ํ™˜๊ฒฝ์˜ ๋ณ€ํ™”์˜€์Šต๋‹ˆ๋‹ค. ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์„ฑ๋Šฅ์ด ๊ฐœ์„ ๋˜๋ฉด์„œ Backbone๊ณผ Angular.js๋ฅผ ์œ„์‹œํ•œ Single Page Application(SPA)์ด ์œ ํ–‰ํ–ˆ๊ณ , ์Šค๋งˆํŠธํฐ์˜ ์•ฑ ์ƒํƒœ๊ณ„๊ฐ€ ํ™œ์„ฑํ™”๋˜๋ฉด์„œ ์„œ๋ฒ„๋Š” ์›น ๋ธŒ๋ผ์šฐ์ € ์ด์™ธ์— ๋ชจ๋ฐ”์ผ ์•ฑ์„ ์ง€์›ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋‘ ๊ฐ€์ง€ ํ๋ฆ„์— ๋งž์ถฐ์„œ ์„œ๋ฒ„๋Š” JSON, XML ๋“ฑ์˜ ํ˜•์‹์œผ๋กœ ํด๋ผ์ด์–ธํŠธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” API ์„œ๋ฒ„์˜ ์—ญํ• ์„ ํ•  ํ•„์š”๊ฐ€ ๋”์šฑ ์ปค์กŒ์Šต๋‹ˆ๋‹ค. ์ด์— ๋”ฐ๋ผ UI์™€ ๊ด€๋ จํ•œ ๋งŽ์€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ์ด์ „๋˜์—ˆ๊ณ , ์„œ๋ฒ„๋Š” ๋” ๋‹จ์ˆœํ•œ ์ž‘์—…์„ ๋” ๋งŽ์ด ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

ํด๋ผ์ด์–ธํŠธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธก๋ฉด์—์„œ๋„ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Oracle, MySQL ๋“ฑ์˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDB)๋Š” ์˜ค๋žœ ๊ธฐ๊ฐ„ ์ฃผ๋ฅ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ์„œ ๊ฐ•๋ ฅํ•œ ์œ„์ƒ์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์ง€๋งŒ, ์ธํ„ฐ๋„ท ์„œ๋น„์Šค์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์ง€๊ณ  ์„œ๋น„์Šค ๋ณ€ํ™”์˜ ์†๋„๊ฐ€ ๋นจ๋ผ์ง€๋ฉด์„œ ๊ทธ ํšจ์šฉ์— ์˜๋ฌธ์„ ๊ฐ€์ง€๋Š” ์‚ฌ๋žŒ๋“ค์ด ์ƒ๊ฒจ๋‚ฌ์Šต๋‹ˆ๋‹ค. SQL์„ ์ด์šฉํ•˜๋Š” RDB๋Š” ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์—„๊ฒฉํ•˜๊ฒŒ ์ •์˜ํ•˜๊ณ  ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฐ•์ ์ด ์žˆ์—ˆ๋Š”๋ฐ, ์ด ๊ฐ•์ ์ด ์„œ๋น„์Šค์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์กŒ์„ ๋•Œ ์˜คํžˆ๋ ค ํ™•์žฅ์„ฑ์„ ๋ฐฉํ•ดํ•˜๋Š” ์š”์†Œ๊ฐ€ ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์„œ๋น„์Šค๊ฐ€ ๋น ๋ฅด๊ฒŒ ๋ณ€ํ™”ํ•  ๋•Œ๋Š” ๋ฐ์ดํ„ฐ์˜ ํ˜•ํƒœ(Schema)๋ฅผ ์—„๊ฒฉํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด(Schemaless) ์„œ๋น„์Šค ๋ณ€ํ™”์— ๋”์šฑ ๊ธฐ๋ฏผํ•˜๊ฒŒ ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋น„ํŒ ๋˜ํ•œ ์ƒ๊ฒจ๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ•œ๊ณ„์— ๋Œ€ํ•œ ๋Œ€์•ˆ์œผ๋กœ SQL์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” MongoDB, Cassandra ๋“ฑ์˜ NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.

 

 

[DB] RDS, NoSQL ๊ทธ๋ฆฌ๊ณ  NewSQL

๋Œ€๋ถ€๋ถ„ ์‚ฌ๋žŒ๋“ค์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(DBMS : DataBase Management System)์„ ๊ตฌ๋ณ„ํ•˜์ง€ ์•Š๊ณ  ํ”ํžˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ํ†ตํ•ฉํ•ด์„œ ๋งํ•˜๊ณค ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ •ํ™•ํžˆ ์ด ๋‘˜์˜ ๊ฐœ๋…์€ ์—„์—ฐํžˆ ๋‹ค

kingofbackend.tistory.com

 

๊ธฐ์กด ์„œ๋ฒ„ ๊ธฐ์ˆ ๋“ค์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์žฅ์ ๋“ค(RDB์™€์˜ ์—ฐ๋™, HTML ์ƒ์„ฑ)์˜ ์ค‘์š”์„ฑ์ด ์ค„์–ด๋“  ํ™˜๊ฒฝ์€ Node.js์—๊ฒŒ ๊ธฐํšŒ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ์„œ๋ฒ„ ๊ธฐ์ˆ ๋“ค์ด ๊ฐ€์ง„ ๊ธฐ๋Šฅ์ด ์—†๋‹ค๋Š” ๊ฒƒ์ด ์˜คํžˆ๋ ค Node.js๋Š” ๋ฐฐ์šฐ๊ธฐ ์‰ฝ๋‹ค๋Š” ์ธ์‹์„ ๋งŒ๋“ค์—ˆ๊ณ , ๋น„๋™๊ธฐ ๋ฌธ๋ฒ•๊ณผ V8์—์„œ ๋น„๋กฏํ•œ ๊ฐ•๋ ฅํ•œ ์‹คํ–‰ ์„ฑ๋Šฅ์€ Node.js์˜ ํŠน๋ณ„ํ•œ ์žฅ์ ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

Node.js๋Š” ๋‹น์‹œ์˜ ์ตœ์‹  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(MongoDB)์™€ ์ตœ์‹  ํด๋ผ์ด์–ธํŠธ ๊ธฐ์ˆ (Angular.js)๊ณผ ํ•จ๊ป˜ MEAN(MongoDB, Express(Node.js๋‚ด ์„œ๋ฒ„ ๊ธฐ์ˆ ), Angular.js, Node.js)์ด๋ผ๋Š” ์„ธํŠธ ์ƒํ’ˆ์„ ๊ตฌ์„ฑํ•˜์—ฌ ํ™๋ณด๋˜๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ผ ์ œํ’ˆ ๋‹จ์œ„๊ฐ€ ์•„๋‹Œ ์ฃผ๋ณ€ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๋Š” ์ „์ฒด ์•„ํ‚คํ…์ฒ˜ ๋‹จ์œ„์˜ ๋ณ€ํ™”๋Š” ํŒŒ๊ดด์  ํ˜์‹ ์˜ ์ฃผ์š” ํŠน์ง• ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

 

MongoDB, AngularJS, Node.js ๊ฐ€ ํ•จ๊ป˜ ์„ฑ์žฅํ–ˆ๋‹ค

๋˜ ์–ธ๊ธ‰ํ• ๋งŒํ•œ Node.js์˜ ๋‹ค๋ฅธ ์žฅ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ, ๊ทธ๊ฒƒ์€ ์‹ค์‹œ๊ฐ„(Real-time) ์„œ๋ฒ„๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์ข‹๋‹ค๋Š” ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. Node.js๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋น„๋™๊ธฐ์ ์ธ ๋ฌธ๋ฒ•๊ณผ ๋‚ด๋ถ€์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋น„๋™๊ธฐ ๋„คํŠธ์›Œํฌ API ๋•ํƒ์— ์„ฑ๋Šฅ์ด ์ข‹์€ ์‹ค์‹œ๊ฐ„ ์„œ๋ฒ„๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ ๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” FaceBook๊ณผ Twitter ๋“ฑ์˜ ์‹ค์‹œ๊ฐ„์„ฑ์ด ๊ฐ•์กฐ๋˜๋Š” SNS์˜ ๊ธ‰์†ํ•œ ๋ฐœ๋‹ฌ๊ณผ ๋งž๋ฌผ๋ ค์„œ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ์–ดํ•„ํ•˜๋Š” ์š”์†Œ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

Node.js๊ฐ€ ์„œ๋ฒ„ ์‹œ์žฅ์— ์ž๋ฆฌ๋ฅผ ์žก์€ ์ด์ƒ ์‹œ๊ฐ„์ด ๊ฐˆ์ˆ˜๋ก ์˜ํ–ฅ๋ ฅ์„ ํ‚ค์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Google์˜ V8 ํŒ€ ๋•๋ถ„์— ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์˜ ์„ฑ๋Šฅ์€ ๋‹ค๋ฅธ ์–ธ์–ด์— ๋น„ํ•ด์„œ ์•ˆ์ •์ ์œผ๋กœ ์„ฑ์žฅ์„ ์ง€์†ํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , RDB ์ง€์› ๋“ฑ์˜ ๊ธฐ์กด ๊ธฐ์ˆ ์˜ ์žฅ์ ๋„ Node.js๊ฐ€ ํก์ˆ˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

์‚ฌ๋ก€2 - Electron์œผ๋กœ ๋ฐ์Šคํฌํƒ‘ ์•ฑ ๊ฐœ๋ฐœ ์‹œ์žฅ์„ ์„ฑ๊ณต์ ์œผ๋กœ ๊ณต๋žตํ•จ

 

Node.js์˜ ์„ฑ๊ณต์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์„œ๋ฒ„ ์‹œ์žฅ์—์„œ์˜ ์„ฑ๊ณต ์ด์ƒ์˜ ์˜๋ฏธ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋“ฑ์˜ OS ์ž์›์— ์•ˆ์ •์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ๊ฐ€ ์ƒ๊ฒผ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ NPM(node package manager)์„ ์ค‘์‹ฌ์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ƒํƒœ๊ณ„๊ฐ€ ํฌ๊ฒŒ ํ™œ์„ฑํ™”๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

์˜คํ”ˆ ์†Œ์Šค ํ”Œ๋žซํผ์œผ๋กœ ์ž˜ ์•Œ๋ ค์ง„ Github์˜ ์ง์›๋“ค์€ Node.js์˜ ์„ฑ๊ณต์„ ๋ณด๊ณ  ๋งค์šฐ ์ฐฝ์˜์ ์ธ ์ƒ๊ฐ์„ ๋– ์˜ฌ๋ฆฌ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Node.js์™€ Google Chrome ๋ธŒ๋ผ์šฐ์ €์˜ ์˜คํ”ˆ์†Œ์Šค ๋ฒ„์ „์ธ Chromium์„ ์„ž์–ด์„œ ํ™•์žฅ์„ฑ์ด ๋›ฐ์–ด๋‚œ ํ…์ŠคํŠธ ์—๋””ํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Chromium์€ ์ด๋ฏธ ๊ฑฐ์˜ ๋ชจ๋“  OS์—์„œ ์›น ํŽ˜์ด์ง€๋ฅผ ๋น ๋ฅด๊ณ  ์œ ์—ฐํ•˜๊ฒŒ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋Š” ์ตœ๊ณ  ์ˆ˜์ค€์˜ UI ๊ธฐ์ˆ ์„ ํƒ‘์žฌํ•˜๊ณ  ์žˆ์—ˆ๊ณ , Node.js๋ฅผ ์ด์šฉํ•˜๋ฉด ์šด์˜์ฒด์ œ์˜ ์ž์›์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ณ  NPM์„ ์ค‘์‹ฌ์œผ๋กœ ๊ตฌ์ถ•๋œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ƒํƒœ๊ณ„์˜ ์ž‘์—…๋ฌผ๋“ค์„ ๊ฐ€์ ธ๋‹ค ์“ธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์กฐํ•ฉ์€ ํ…์ŠคํŠธ ์—๋””ํ„ฐ ํ•˜๋‚˜๋งŒ ๋งŒ๋“ค๊ณ  ๊ทธ์น˜๊ธฐ์—๋Š” ์•„๊นŒ์šด ๊ฒƒ์ด์—ˆ๊ณ , ํ…์ŠคํŠธ ์—๋””ํ„ฐ ์š”์†Œ๋ฅผ ์ œ์™ธํ•œ Node.js + Chromium ์กฐํ•ฉ์ด Electron์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ถœ์‹œ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

Electron์˜ ๊ฒฝ์Ÿ์ž๋Š” ํฌ๊ฒŒ ๋‘ ๋ถ„๋ฅ˜๋กœ ๋‚˜๋ˆ„์–ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” OS ๋งˆ๋‹ค ์ง์ ‘ ์ œ๊ณตํ•˜๋Š”(Native) ๋ฐ์Šคํฌํƒ‘ ์•ฑ ๊ฐœ๋ฐœ ๋„๊ตฌ์ด๋ฉฐ, ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ์—ฌ๋Ÿฌ OS๋ฅผ ์ง€์›ํ•˜๋Š” ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์•ฑ ๊ฐœ๋ฐœ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

 

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

 

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

 

๊ฒฐ๊ตญ Eletron์€ ๋ฐ์Šคํฌํƒ‘ ๊ฐœ๋ฐœ ์‹œ์žฅ์—์„œ ๊ฒฝ์Ÿ์ž๋“ค์„ ๋ฌผ๋ฆฌ์น  ์ˆ˜ ์žˆ์—ˆ๊ณ , Microsoft, Facebook, Twitch, Slack, Discord, Skype, WhatsApp ๋“ฑ ํฐ ๊ทœ๋ชจ์˜ ์„œ๋น„์Šค๋“ค์ด Electron์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์Šคํฌํƒ‘ ์•ฑ์„ ์ œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

๋งŽ์€ ๊ธฐ์—…๋“ค์ด Electron์„ ์“ฐ๊ณ  ์žˆ๋‹ค

์ •๋ฆฌํ•˜๊ธฐ - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ˜„์žฌ ์œ„์ƒ

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

 

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

 

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

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํŒŒ๊ดด๋  ๊ฐ€๋Šฅ์„ฑ

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

 

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ณด๋‹ค ์„ฑ๋Šฅ์€ ๋–จ์–ด์ง€์ง€๋งŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ฐ–์ง€ ๋ชปํ•œ ์žฅ์ ์„ ๊ฐ€์ง„ ํŒŒ๊ดด์  ๊ธฐ์ˆ ์ด ๋“ฑ์žฅํ•œ๋‹ค
  • ์ด ํŒŒ๊ดด์  ๊ธฐ์ˆ ์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์‹œ์žฅ(๋กœ์šฐ ์—”๋“œ ์‹œ์žฅ์ด๋‚˜ ์‹ ๊ทœ์‹œ์žฅ)์—์„œ ๊ณ ๊ฐ์„ ๋งŒ๋“ค๋ฉด์„œ ๋ฐœ์ „ํ•˜๋‹ค
  • ์ด ํŒŒ๊ดด์  ๊ธฐ์ˆ ์˜ ์„ฑ๋Šฅ์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ณด๋‹ค๋Š” ๋–จ์–ด์ง€์ง€๋งŒ ๊ณ ๊ฐ์ด ๋งŒ์กฑํ•  ๋งŒํ•œ ์ˆ˜์ค€์ด ๋˜์—ˆ์„ ๋•Œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค

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

 

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

 

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

 

์ด๋ ‡๊ฒŒ ์กฐ์šฉํ•˜๊ฒŒ ํŒŒ๊ดด์  ํ˜์‹  ์ผ์–ด๋‚˜๊ณ  ์žˆ์„์ง€๋„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.

 

 

๋ฐ˜์‘ํ˜•
profile on loading

Loading...