Notice
Recent Posts
Link
Today
Total
10-06 00:17
๊ด€๋ฆฌ ๋ฉ”๋‰ด

dingdong coding

Node๋ž€ ๋ณธ๋ฌธ

๐ŸŒฟNode.js

Node๋ž€

๐Ÿถ ๊ฐœ๋ฐœ๊ฐœ๋ฐœ ๐Ÿพ 2023. 1. 22. 19:16

๋…ธ๋“œ์˜ ์ •์˜

์„œ๋ฒ„๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋Ÿฐํƒ€์ž„.

์ž๋ฐ”์Šคํฌ๋ฆฝ๋“œ๋กœ ๋งŒ๋“  ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฐ€์ƒ๋จธ์‹ ์œผ๋กœ์„œ ์„œ๋ฒ„์‹คํ–‰์„ ์œ„ํ•ด http/https/http2 ๋ชจ๋“ˆ์ œ๊ณต  ๋‹ค๋ฅธ ๋Ÿฐํƒ€์ž„์˜ ์˜ˆ์‹œ๋กœ๋Š” ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์žˆ๋‹ค.

๋…ธ๋“œ์˜ ํŠน์ง•

1) ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜

์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ๋ฏธ๋ฆฌ ์ง€์ •ํ•ด์ค€ ์ง์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹

• ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ : ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋กํ•˜๋Š” ํ•จ์ˆ˜

 ์ฝœ๋ฐฑํ•จ์ˆ˜ : ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์‹คํ–‰๋  ํ•จ์ˆ˜

 

 

์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜  |  Eventarc  |  Google Cloud

์˜๊ฒฌ ๋ณด๋‚ด๊ธฐ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜ ์ปฌ๋ ‰์…˜์„ ์‚ฌ์šฉํ•ด ์ •๋ฆฌํ•˜๊ธฐ ๋‚ด ํ™˜๊ฒฝ์„ค์ •์„ ๊ธฐ์ค€์œผ๋กœ ์ฝ˜ํ…์ธ ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถ„๋ฅ˜ํ•˜์„ธ์š”. ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๊ฐ€ ์ด๋ฒคํŠธ๋ผ๊ณ  ํ•˜๋Š” ์ƒํƒœ ๋ณ€ํ™”์—

cloud.google.com

 

2) ๋…ผ๋ธ”๋กœํ‚น I/O

๋…ผ๋ธ”๋กœํ‚น : ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ๋ณด๋‚ด์„œ ๋‹ค์Œ ์ฝ”๋“œ๊ฐ€ ๋จผ์ € ์‹คํ–‰๋˜๊ฒŒ ํ•˜๊ณ , ๋‚˜์ค‘์— ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ 

 

 ๋…ผ๋ธ”๋กœํ‚น ๋ฐฉ์‹ํ•˜์—์„œ ์ผ๋ถ€์ฝ”๋“œ๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰

    - ์ผ๋ถ€์ฝ”๋“œ : I/O ์ž‘์—… (ํŒŒ์ผ์‹œ์Šคํ…œ ์ ‘๊ทผ, ๋„คํฌ์›Œํฌ ์š”์ฒญ), ์••์ถ•, ์•”ํ˜ธํ™” ๋“ฑ

 ๋‚˜๋จธ์ง€ ์ฝ”๋“œ๋Š” ๋ธ”๋กœํ‚น ๋ฐฉ์‹์œผ๋กœ ์‹คํ–‰

 I/O ์ž‘์—…์ด ๋งŽ์„ ๋•Œ ๋…ธ๋“œ ํ™œ์šฉ์„ฑ์ด ๊ทน๋Œ€ํ™” 

 

๋™๊ธฐ๋ฉด์„œ ๋ธ”๋กœํ‚น / ๋น„๋™๊ธฐ๋ฉด์„œ ๋…ผ๋ธ”๋กœํ‚น

 

๋ธ”๋กœํ‚น(Blocking)/๋…ผ๋ธ”๋กœํ‚น(Non-Blocking), ๋™๊ธฐ(Sync)/๋น„๋™๊ธฐ(Async) ๊ตฌ๋ถ„ํ•˜๊ธฐ

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

joooing.tistory.com

 

3) ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ  

๋…ธ๋“œ ํ”„๋กœ์„ธ์Šค๋Š” ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ์ด์ง€๋งŒ ์ง์ ‘ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ์Šค๋ ˆ๋“œ๋Š” ํ•˜๋‚˜์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹ฑ๊ธ€์Šค๋ ˆ๋“œ๋ผ ํ‘œํ˜„

 

  ๋…ธ๋“œ๋Š” ์ฃผ๋กœ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๋Œ€์‹  ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์Šค ํ™œ์šฉ

  ๋…ธ๋“œ๋Š” 14๋ฒ„์ „๋ถ€ํ„ฐ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ์‚ฌ์šฉ๊ฐ€๋Šฅ

 

[ OS ] ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ Process, Thread

1 ) ํ”„๋กœ์„ธ์Šค Process In computing, a process is the instance of a computer program that is being executed by one or many threads. ์ปดํ“จํ„ฐ ๋ถ„์•ผ์—์„œ ํ”„๋กœ์„ธ์Šค๋Š” ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์˜ ์ธ์Šคํ„ด์Šค๋กœ, ํ•˜๋‚˜ ์ด์ƒ์˜ ์Šค๋ ˆ๋“œ๋ฅผ ํ†ตํ•ด ์‹ค

dodokwon.tistory.com

 

4) ์‹ฑ๊ธ€์Šค๋ ˆ๋“œ

์‹ฑ๊ธ€์Šค๋ ˆ๋“œ๋ผ ์ฃผ์–ด์ง„ ์ผ์„ ํ•˜๋‚˜๋ฐ–์— ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•œ๋‹ค.

 

  ๋ธ”๋กœํ‚น์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ๋‚˜๋จธ์ง€ ์ž‘์—…์€ ๋ชจ๋‘ ๋Œ€๊ธฐํ•ด์•ผํ•ด์„œ ๋น„ํšจ์œจ์ด ๋ฐœ์ƒํ•œ๋‹ค.

  ๋Œ€์‹  ๋…ผ๋ธ”๋กœํ‚น ๋ชจ๋ธ์„ ์ฑ„ํƒํ•˜์—ฌ ์ผ๋ถ€ ์ฝ”๋“œ (I/O)๋ฅผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ(๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค)์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅ

  ์š”์ฒญ์„ ๋จผ์ € ๋ฐ›๊ณ  ์™„๋ฃŒ๋  ๋•Œ ์‘๋‹ตํ•จ

  I/O ๊ด€๋ จ ์ฝ”๋“œ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ, ๋ธ”๋กœํ‚น ๋ชจ๋ธ๊ณผ ๊ฐ™์•„์ง

๋…ธ๋“œ์˜ ์žฅ์ 

1. ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๋ฐฉ์‹์— ๋น„ํ•ด ์ปดํ“จํ„ฐ ์ž์›์„ ์ ๊ฒŒ ์‚ฌ์šฉํ•จ

2. I/O ์ž‘์—…์ด ๋งŽ์€ ์„œ๋ฒ„๋กœ ์ ํ•ฉ

3. ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๋ฐฉ์‹๋ณด๋‹ค ์‰ฌ์›€

4. ์›น ์„œ๋ฒ„๊ฐ€ ๋‚ด์žฅ๋˜์–ด ์žˆ์Œ

5. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•จ

6. JSON ํ˜•์‹๊ณผ ํ˜ธํ™˜ํ•˜๊ธฐ ์‰ฌ์›€

7. CPU ์ž‘์—…์„ ์œ„ํ•ด AWS Lambda๋‚˜ Google Cloud Functions ๊ฐ™์€ ๋ณ„๋„ ์„œ๋น„์Šค ์‚ฌ์šฉ. ์„œ๋ธŒ์„œ๋ฒ„๋กœ๋„ ๋งŽ์ด ์‚ฌ์šฉํ•จ

 

ํ•™์Šต์— ๋งŽ์€ ๋„์›€์ด ๋œ ๋งํฌ๋ฅผ  ์ฐธ์กฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ™‚

 

์ฐธ์กฐ ๋ฐ ์ถœ์ฒ˜

 

[๋ฆฌ๋‰ด์–ผ] Node.js ๊ต๊ณผ์„œ - ๊ธฐ๋ณธ๋ถ€ํ„ฐ ํ”„๋กœ์ ํŠธ ์‹ค์Šต๊นŒ์ง€ - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜

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

www.inflearn.com

 

Comments