๐Ÿ“• 3. Week03 ํšŒ๊ณ  (22.10.02 ~ 22.10.09)

Lee Jinoยท2022๋…„ 10์›” 10์ผ
0

๐Ÿ“• 3. Week03 ํšŒ๊ณ  (22.10.02 ~ 22.10.09)

๐Ÿš€ ์ฃผํŠน๊ธฐ์˜ ์‹œ์ž‘, React์™€์˜ ๋งŒ๋‚จ

  • ์ด๋ฒˆ์ฃผ ๋ถ€ํ„ฐ ์ฃผํŠน๊ธฐ 3์ฃผ์ฐจ๊ฐ€ ์‹œ์ž‘๋˜์—ˆ๋‹ค.
    ์ด๋ฒˆ์ฃผ ๋ถ€ํ„ฐ ๋ฐฐ์šฐ๋Š” Reac๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ์„ ์–ธ์ ์ด๊ณ  ํšจ์œจ์ ์ด๋ฉฐ ์œ ์—ฐํ•œ JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.

  • ๋ฆฌ์•กํŠธ์—์„œ๋Š” "์ปดํฌ๋„ŒํŠธ"๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์ž‘๊ณ  ๊ณ ๋ฆฝ๋œ ์ฝ”๋“œ์˜ ํŒŒํŽธ์„ ์ด์šฉํ•˜์—ฌ ๋ณต์žกํ•œ UI๋ฅผ ๊ตฌ์„ฑํ•˜๋„๋ก ๋•๋Š”๋‹ค๊ณ  ํ•œ๋‹ค.

  • ์‰ฝ๊ฒŒ ์ƒ๊ฐํ•˜์ž๋ฉด, ์›๋ž˜ html ํŒŒ์ผ ์•ˆ์—๋‹ค๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ํ•œ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๊ตฌ์กฐ๋ฅผ ์ „๋ถ€ ํ•œ ํŒŒ์ผ์— ๋‹ค ๋„ฃ์–ด๋†จ๋‹ค๋ฉด, ์ดํ›„์— ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ ๊ฒฝ์šฐ์— ์† ๋ณด๋Š”๊ฒŒ ์ƒ๋‹นํžˆ ํž˜๋“œ๋‹ˆ

  • ์ด๊ฑธ ๋‹จ๋ฝ? ๋ณ„๋กœ ๋‚˜๋ˆ ์„œ ํŠน์ • ๊ฐ’๋งŒ ๋ฐ”๊พธ๋ฉด ๋ ๋•Œ ๊ทธ ๋‹จ๋ฝ์ด ์žˆ๋Š” ํŒŒ์ผ๋กœ ๊ฐ€์„œ ์ˆ˜์ •ํ•˜๋ฉด ๋˜๋Š”๊ฒƒ์ด๋‹ค.

  • Angular,Vue.js ์™€ ๋”๋ถˆ์–ด ๋งŽ์ด ์“ฐ์ด๊ณ  ์žˆ๋Š”๋ฐ ์ด๊ฒŒ ๊ฐ€์žฅ ์ธ๊ธฐ๊ฐ€ ๋งŽ๋‹ค๊ณ  ํ•œ๋‹ค.

  • ์ฒ˜์Œ์—๋Š” ํ• ๋งŒํ•œ๊ฑฐ ๊ฐ™์œผ๋ฉด์„œ๋„,, ๋„ˆ๋ฌด ์–ด๋ ต๋‹ค. ์ปดํฌ๋„ŒํŠธ, props, state ๋“ฑ์„ ๋ฐฐ์šฐ๋Š”๋ฐ
    state ์–ด๋ ต๋‹ค, props๋„ ์–ด๋ ต๋‹ค..

  • ๊ทธ ์ฃผ์— ๊ฐœ์ธ ๊ณผ์ œ๋กœ TodoList๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์žˆ์—ˆ๋Š”๋ฐ, ๋‚ด์šฉ์ž…๋ ฅํ•ด์„œ ์ถ”๊ฐ€๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด

์ง  !

  • ์ด๋Ÿฐ ๋ฅ˜์˜ ํฌ๋งท์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

  • ์ด๊ฑฐ ํ•˜๋Š๋ผ,, ๋„ˆ๋ฌด ํž˜๋“ค์—ˆ๋‹ค ๋ผˆ๋Œ€๋Š” ๋‹ค ์งฐ๋Š”๋ฐ, ์ด๋ฒคํŠธ๋ฅผ ๋งŒ๋“ค์–ด์•ผํ–ˆ๋‹ค.

  1. ๋‚ด์šฉ ์ž…๋ ฅํ›„ ์ถ”๊ฐ€ํ•˜๊ธฐ ๋ˆ„๋ฅด๋ฉด Working์— Todo ์ƒ์„ฑ
  2. Working์— ์žˆ๋Š” Todo ์™„๋ฃŒ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด Done..!์œผ๋กœ ์ „์†ก ๋ฐ ์ทจ์†Œ๋ฒ„ํŠผ์œผ๋กœ ๋ณ€๊ฒฝ
  3. ์‚ญ์ œํ•˜๊ธฐ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์‚ญ์ œ
  • ์ด ์„ธ๊ฐ€์ง€๋ฅผ ํฌ๊ฒŒ ๋ณด์ž๋ฉด ๊ตฌํ˜„ํ•ด์•ผํ–ˆ๋Š”๋ฐ,, ์ •๋ง ๊พธ์—ญ๊พธ์—ญํ•œ๊ฒƒ๊ฐ™๋‹ค. ๋ญ”๊ฐ€ ๋จธ๋ฆฟ์†์—๋Š” ๋“ค์–ด์˜ค์ง€ ์•Š๋Š”๋ฐ ํ•ด์•ผํ•˜๋‹ˆ๊นŒ ํ•˜๋Š”๋Š๋‚Œ..?

  • ๋น ๋“ฏํ•˜๊ณ  ๋นก๋นกํ•˜๋‹ค. ํž˜์ด๋“ค์ง€๋งŒ ํ•ด๋ด์•ผ์ง€,,

  • React๋ฅผ ๋ฐฐ์šฐ๋ฉด์„œ ๋ฐฐ์šฐ๊ฒŒ ๋œ ๊ฐœ๋…์ด ์žˆ๋Š”๋ฐ, ๊ทธ๊ฒƒ์€ ๋ฐ”๋กœ DOM์ด๋ผ๋Š” ๊ฐœ๋…์ด๋‹ค.


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

  • DOM์€ HTML, XML document์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ณ  ํ‘œํ˜„ํ•˜๋Š” API์ด๋‹ค.
    DOM์€ browser์—์„œ ๋กœ๋“œ๋˜๋ฉฐ,
    Node(์ดํ•˜ ๋…ธ๋“œ) ํŠธ๋ฆฌ(๊ฐ ๋…ธ๋“œ๋Š” document์˜ ๋ถ€๋ถ„์„ ๋‚˜ํƒ€๋‚ธ๋‹ค)๋กœ ํ‘œํ˜„ํ•˜๋Š” document ๋ชจ๋ธ์ด๋‹ค.
    ex. element, ๋ฌธ์ž์—ด, ํ˜น์€ ์ฝ”๋ฉ˜ํŠธ

  • ์œ„ ์‚ฌ์ง„์„ ๋ณด๊ณ  HTML์ด DOM์ธ๊ฐ€? ์‹ถ๊ฒ ์ง€๋งŒ ์•„๋‹ˆ๋ผ๊ณ  ํ•œ๋‹ค.

  • IDE์—์„œ ์ž‘์„ฑํ•œ HTML์€ DOM์ด ์•„๋‹ˆ๊ณ 
    ์ž‘์„ฑ๋œ HTML ๋ฌธ์„œ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์— ์˜ํ•ด ํ•ด์„๋˜์–ด ์‹ค์ œ ๋ฌธ์„œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋…ธ๋“œ ํŠธ๋ฆฌ๊ฐ€ DOM

  • ์ด๋ ‡๊ฒŒ ํ•˜๋Š” ์ด์œ ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ํŽ˜์ด์ง€์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.

  • DOM API๋Š” JavaScript์™€ ๊ฐ™์€ ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด๋ฅผ ์ด์šฉํ•ด์„œ ํ•ด๋‹น ๋ฌธ์„œ์— ๋…ธ๋“œ ์ถ”๊ฐ€, ์‚ญ์ œ, ๋ณ€๊ฒฝ, ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ, ๋“ฑ ์ˆ˜์ •์„ ๊ฐ€๋Šฅ์ผ€ ํ•œ๋‹ค.

  • ์šฐ๋ฆฌ๊ฐ€ Javascript๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉฐ ์‚ฌ์šฉํ–ˆ๋˜ document.getElementById, document.querySelector, document.addEventListener ๋“ฑ์ด DOM API


๐Ÿš€ DOM์„ ์กฐ์ž‘ํ–ˆ์„๋•Œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹

  • ์‹ค์งˆ์ ์œผ๋กœ ์œ„์˜ ์‚ฌ์ง„๋„ ์ค‘์š”ํ•˜์ง€๋งŒ, ์ด๊ฒƒ์ด ์•ž์„œ ๋‚˜์˜จ DOM, ๋‚˜์•„๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์„ ๋‚˜ํƒ€๋‚ด๊ณ  ์žˆ์–ด ์ด๊ฑด ๊ผญ ์•Œ์•„์•ผ ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.
  1. DOM Tree ์ƒ์„ฑ

    ๋ธŒ๋ผ์šฐ์ €๊ฐ€ HTML์„ ์ „๋‹ฌ ๋ฐ›์œผ๋ฉด ๋ธŒ๋ผ์šฐ์ €์˜ ๋ Œ๋” ์—”์ง„์ด ์ด๋ฅผ ํŒŒ์‹ฑํ•ด์„œ DOM ๋…ธ๋“œ๋กœ ์ด๋ฃจ์–ด์ง„ ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  2. Render Tree ์ƒ์„ฑ
    DOM ํŠธ๋ฆฌ์˜ ๋…ธ๋“œ๋“ค์˜ attach ๋ฉ”์†Œ๋“œ๊ฐ€ ์‹คํ–‰๋œ๋‹ค. attach ๋ฉ”์†Œ๋“œ๋Š” ์Šคํƒ€์ผ ์ •๋ณด๋ฅผ ๊ณ„์‚ฐํ•ด์„œ ๊ฐ์ฒด ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด ๋ Œ๋” ํŠธ๋ฆฌ ๊ณผ์ •์—์„  ๊ฐ ์š”์†Œ๋“ค์˜ ์Šคํƒ€์ผ์ด ๊ณ„์‚ฐ๋˜๊ณ  ์ด ๊ณ„์‚ฐ๋˜๋Š” ๊ณผ์ •์—์„œ ๋‹ค๋ฅธ ์š”์†Œ๋“ค์˜ ์Šคํƒ€์ผ ์†์„ฑ๋“ค์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

  3. Layout (reflow)
    ๋ Œ๋” ํŠธ๋ฆฌ๊ฐ€ ๋งŒ๋“ค์–ด์ง€๊ณ  ๋‚˜๋ฉด ๊ฐ ๋…ธ๋“œ๋“ค์€ ์Šคํฌ๋ฆฐ์˜ ์ขŒํ‘œ๊ฐ€ ์ฃผ์–ด์ง€๊ณ  ์ •ํ™•ํžˆ ์–ด๋””์— ๋‚˜ํƒ€๋‚˜์•ผ ํ• ์ง€ ์œ„์น˜๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

  4. Painting
    ๋ Œ๋”๋ง๋œ ์š”์†Œ๋“ค์— ์ƒ‰์„ ์ž…ํžˆ๋Š” ๊ณผ์ •, ํŠธ๋ฆฌ์˜ ๊ฐ ๋…ธ๋“œ๋“ค์„ ๊ฑฐ์ณ๊ฐ€๋ฉฐ paint ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.


๐Ÿš€ ์„œ๋ฒ„๋ฆฌ์Šค๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

  • ์„œ๋ฒ„๋ฆฌ์Šค, ์ด๊ฒƒ์€ ์ง์—ญํ•˜์ž๋ฉด "์„œ๋ฒ„๊ฐ€ ์—†๋‹ค"๋ผ๋Š” ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค.
    ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ ์„œ๋ฒ„๊ฐ€ ์—†๋Š”๊ฑด ์•„๋‹ˆ๋‹ค.

  • ๋Œ€์‹  ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ปดํ“จํ„ฐ๋‚˜ ๊ฐ€์žฅ๋จธ์‹ ์— ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•˜๊ณ , ์ด๋ฅผ ํ†ตํ•ด ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹˜์„ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ ๋Œ€์‹ , BaaS(Backend as a Servie) ํ˜น์€ FaaS(Function as a Service) ์— ์˜์กดํ•˜์—ฌ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋œ๋‹ค.

์—ฌ๊ธฐ์„œ Baas์™€ Faas๋ฅผ ๋ณด์•„ํ•˜๋‹ˆ, ์–ด๋ฆผ์ง์ž‘ํ•ด๋ณด๋ฉด ๋ฐฑ์—”๋“œ์™€ ํ”„๋ก ํŠธ์—”๋“œ ์ฐจ์ด์ธ๊ฐ€ ์‹ถ์—ˆ๋‹ค.
๊ทผ๋ฐ ๋ฐ˜๋งŒ ๋งž์•˜๋”๋ผ. Faas๋Š” ํ”„๋ก ํŠธ๋Š” ์•„๋‹ˆ๋”๋ผ. ์ด์ฏค์—์„œ ๋‚ด์šฉ ํ•œ ๋ฒˆ ์งš๊ณ  ๋„˜์–ด๊ฐ€๋ณด์ž.

โ–ถ๏ธ BaaS (Backend as a Service)

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

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

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

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

โ–ถ๏ธ ๊ฐ€๊ฒฉ
ใ…ก> Firebase ์˜ ๊ฒฝ์šฐ ์ดˆ๋ฐ˜์—๋Š” ๋ฌด๋ฃŒ๋ผ ์†Œ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—๋Š” ๋งค๋ ฅ์ ์ธ ์žฅ์ ์ด๋‹ค. ํ•˜์ง€๋งŒ ์•ฑ์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์ง€๋ฉด ๊ฐ€๊ฒฉ์ด ๊ฝค ๋น„์‹ธ์ง„๋‹ค. ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— 10G ๊ฐ€ ์Œ“์ด๊ณ , ํ•œ ๋‹ฌ ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์ด 20G ์ •๋„๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋น„์šฉ์œผ๋กœ๋งŒ $70 ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ฐธ๊ณ ๋กœ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ํ˜ธ์ŠคํŒ…์„ ํ•ด์ฃผ๋Š” ์„œ๋น„์Šค Vultr ์˜ ๊ฐ€๊ฒฉ๋Œ€๋ฅผ ๋ณด๋ฉด, $10 ์ด๋ฉด 40GB SSD, 2000GB ์›” ๋Œ€์—ญํญ์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ณต์žกํ•œ ์ฟผ๋ฆฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•จ

โ–ถ๏ธ FaaS (Function as a Service)

  • FaaS ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ•จ์ˆ˜๋กœ ์ชผ๊ฐœ์„œ ๋งค์šฐ ๊ฑฐ๋Œ€ํ•˜๊ณ  ๋ถ„์‚ฐ๋œ ์ปดํ“จํŒ… ์ž์›์— ์ค€๋น„ํ•ด๋‘” ํ•จ์ˆ˜๋ฅผ ๋“ฑ๋กํ•˜๊ณ , ์ด ํ•จ์ˆ˜๋“ค์ด ์‹คํ–‰๋˜๋Š” ํšŸ์ˆ˜, ์‹œ๊ฐ„๋งŒํผ ๋น„์šฉ์„ ๋‚ด๋Š” ๋ฐฉ์‹์ด๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ๋“ฑ๋กํ•œ ํ•จ์ˆ˜๋Š” ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„๋•Œ ์‹คํ–‰๋œ๋‹ค.

  • ์ฃผ๊ธฐ์ ์œผ๋กœ ์‹คํ–‰๋˜๊ฒŒ๋” ์„ค์ • ํ•  ์ˆ˜ ์žˆ๋‹ค. 5๋ถ„๋งˆ๋‹ค, 1์‹œ๊ฐ„๋งˆ๋‹ค, ํ•˜๋ฃจ๋งˆ๋‹ค ์ด๋Ÿฐ์‹์œผ๋กœ ๊ฐ€๋Šฅํ•˜๊ณ  ํฌ๋กค๋ง ์ž‘์—…, ์ฃผ๊ธฐ์  ์ฒ˜๋ฆฌ๋ฅผ ํ•  ๋•Œ ์ข‹๋‹ค.
  • ์›น ์š”์ฒญ์„ ์ฒ˜๋ฆฌ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํŠน์ • URL ๋กœ ๋“ค์–ด์˜ค๋ฉด ์–ด๋– ํ•œ ์ž‘์—…์„ ํ•˜๊ฒŒ๋” ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฐฑ์—”๋“œ API ๋ฅผ ๊ตฌ์„ฑ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
  • ์ฝ˜์†”์„ ํ†ตํ•˜์—ฌ ์ง์ ‘ ํ˜ธ์ถœ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

โ–ถ๏ธ์žฅ์ 

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

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

  • ๋‹จ์ 

    ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ํ•จ์ˆ˜๋กœ ์ชผ๊ฐœ์„œ ์ž‘์—…ํ•˜๋‹ค๋ณด๋‹ˆ, ํ•จ์ˆ˜์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ž์›์— ์ œํ•œ์ด ์žˆ๋‹ค.

    FaaS ์ œ๊ณต์‚ฌ์— ๋งค์šฐ ์˜์กดํ•˜๋ฏ€๋กœ AWS, Azure, Google ๋“ฑ์˜ FaaS ์ œ๊ณต์‚ฌ์— ๊ฐ•ํ•œ ์˜์กด์„ ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ฐ‘์ž๊ธฐ ์ด ํšŒ์‚ฌ๋“ค์ด ๋งํ•ด๋ฒ„๋ฆฌ๋ฉด ๋งค์šฐ ๊ณจ์น˜ ์•„ํ”„๊ฒŒ ๋œ๋‹ค.

    ๋น„๊ต์  ์‹ ๊ธฐ์ˆ ์ด๋ผ ํ•ด์™ธ์—์„œ๋Š” ๊ด€๋ จ ์ž๋ฃŒ๋“ค์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฐ˜๋ฉด, ๊ตญ๋‚ด์—์„œ๋Š” ๊ด€๋ จ ์ž๋ฃŒ๋ฅผ ์ฐพ์•„๋ณด๊ธฐ ํž˜๋“ค๋‹ค.


    ๐Ÿš€ ๋งˆ์น˜๋ฉฐ

    ํšŒ๊ณ ๋ฅผ ํ•˜๋ฉด ํ• ์ˆ˜๋ก ๋‹ค ๋‚ด์šฉ์ด ๋‹ด๊ธฐ์ง„ ์•Š์ง€๋งŒ, ์ „์— ํ–ˆ๋˜ ๋‚ด์šฉ์„ ์–ด๋–ป๊ฒŒ๋“  ํ•œ ๋ฒˆ ๋” ๋ณผ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์€ ์ƒ๋‹นํžˆ ์ข‹์€ ๊ฒƒ ๊ฐ™๋‹ค.

    ํ•˜์ง€๋งŒ, ์ €๋ฒˆ์ฃผ๋Š” ์ €๋ฒˆ์ฃผ๋Œ€๋กœ ์–ด๋ ค์› ๊ณ , ์ด๋ฒˆ์ฃผ๋Š” ์ด๋ฒˆ์ฃผ๋Œ€๋กœ ์–ด๋ ต๊ฒ ์ง€..

    ๊ทธ๋ž˜๋„ ๊ธฐ์ˆ ๋งค๋‹ˆ์ €๋‹˜๋“ค๊ณผ ํŒ€์›๋“ค๊ณผ ํ•˜๋‹ˆ๊นŒ ๊ทธ๋‚˜๋งˆ ์žก๊ณ  ์ข€ ํ•  ์ˆ˜์žˆ๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ

    ํ˜ผ์ž์˜€์œผ๋ฉด,, ํ›„,, ์•„๋ฌดํŠผ ์ด๋ฒˆ์ฃผ๋„ ํ™”์ดํŒ… ํ•ด๋ด์•ผ๊ฒ ๋‹ค.

profile
์•ˆ๋…•ํ•˜์„ธ์š”

0๊ฐœ์˜ ๋Œ“๊ธ€