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

์ด๋…ธ๋ฒ ์ด์…˜์บ ํ”„/์ง€์‹์Œ“๊ธฐ

React DOM, ์„œ๋ฒ„๋ฆฌ์Šค

๐ŸŸจDOM์ด๋ž€?

DOM(Document Object Model)์€ ์›น ํŽ˜์ด์ง€๋ฅผ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋กœ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•˜๋Š” ๋ชจ๋“  HTML ์กฐ๊ฐ์€ ์ด ํŠธ๋ฆฌ์— ๋…ธ๋“œ๋กœ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. JavaScript๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๋…ธ๋“œ(HTML ์š”์†Œ)์— ์•ก์„ธ์Šคํ•˜๊ณ  ์Šคํƒ€์ผ, ์†์„ฑ ๋“ฑ์„ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, DOM์„ ์‚ฌ์šฉํ•˜๋ฉด JavaScript๊ฐ€ ์›น ํŽ˜์ด์ง€์— ์‰ฝ๊ฒŒ ์•ก์„ธ์Šคํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ํŠธ๋ฆฌ์—๋Š” ๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฃจํŠธ ๋…ธ๋“œ๋Š” ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ ๋…ธ๋“œ๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค. ์ž‘์„ฑํ•˜๋Š” ๋ชจ๋“  HTML ํƒœ๊ทธ๋Š” ๋ฃจํŠธ ๋…ธ๋“œ ๋ฌธ์„œ์˜ ์ง์ ‘ ๋˜๋Š” ๊ฐ„์ ‘ ์ž์‹์ด ๋ฉ๋‹ˆ๋‹ค.

๋ฌธ์„œ๋กœ ๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ ์žˆ๋Š” DOM ํŠธ๋ฆฌ

๐Ÿ”ป์•„๋ž˜ ์ด๋ฏธ์ง€๋Š” DOM์˜ ๋™๋“ฑํ•œ ๊ฐœ๋…์  ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋ธŒ๋ผ์šฐ์ € DOM ํŠธ๋ฆฌ

๐ŸŸจ์„œ๋ฒ„๋ฆฌ์Šค๋ž€?

์„œ๋ฒ„๋ฆฌ์Šค(serverless)๋ž€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•  ํ•„์š” ์—†์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ๊ฐœ๋ฐœ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

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

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

 

๐Ÿ”ป์„œ๋ฒ„๋ฆฌ์Šค ํ™œ์šฉ ์‚ฌ๋ก€

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

๐Ÿ”ป์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ…์˜ ์žฅ๋‹จ์ 

์žฅ์ 

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

๋‹จ์ 

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

 

์ถœ์ฒ˜ ๋ฐ ์ฐธ๊ณ ์ž๋ฃŒ

https://www.freecodecamp.org/news/reactjs-basics-dom-components-declarative-views/

 

React.js Basics – The DOM, Components, and Declarative Views Explained

React.js is an open source JavaScript library for creating user interfaces. It was created by Facebook back in 2013. Demand for React developers is skyrocketing, which means that having knowledge of this library is definitely going to be worth it! Some of

www.freecodecamp.org

https://www.redhat.com/ko/topics/cloud-native-apps/what-is-serverless

 

์„œ๋ฒ„๋ฆฌ์Šค๋ž€?

์„œ๋ฒ„๋ฆฌ์Šค(serverless)๋ž€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•  ํ•„์š” ์—†์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ๊ฐœ๋ฐœ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

www.redhat.com