header-img
Info :
728x90

Node.js

- Javscript ์–ธ์–ด ๊ธฐ๋ฐ˜

- Javascript๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ Non-blocking I/O๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ์ตœ์ ํ™”๋œ ํ”Œ๋žซํผ

   (๋น„๋™๊ธฐ ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ, System call์ด ๋“ค์–ด์˜ค๋ฉด, ์ปค๋„์€ I/O ์ž‘์—… ์™„๋ฃŒ ์—ฌ๋ถ€์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ์ฆ‰์‹œ ์‘๋‹ต์„ ํ•ด์คŒ)

non-blocking I/O ์ฒจ๋ถ€

- ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ๊ธฐ๋ฐ˜. 

   ์žฅ์ : context switch ํ”„๋กœ์„ธ์Šค ๋น„์š”๊ตฌ, ์ž์› ์ ‘๊ทผ ๋™๊ธฐํ™” ์‹ ๊ฒฝ ์•ˆ์จ๋„ ๋จ, CPU ์‚ฌ์šฉ ํšจ์œจ์  ๋“ฑ..

   ๋‹จ์ : ํ•˜๋‚˜ ์ฃฝ์œผ๋ฉด ์„œ๋ฒ„ ๋, ์—ฐ์‚ฐ๋Ÿ‰์ด ๋งŽ์€ ์ž‘์—…์˜ ๊ฒฝ์šฐ ํ•œ ์ž‘์—… ์™„๋ฃŒ๋˜์•ผ ๋‹ค๋ฅธ ์ž‘์—… ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ, ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ถˆ๊ฐ€ํ•œ ๊ฒฝ์šฐ stop ๋จ ๋“ฑ..

- NPM(node package manager)๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ํŒจํ‚ค์ง€ ์ œ๊ณต

- ์„œ๋น„์Šค ๋กœ์ง์ด ๋ณต์žกํ•ด์ง€๊ฑฐ๋‚˜, ์—…๋ฌด ๋‚œ์ด๋„๊ฐ€ ๋†’์€ ๊ฒฝ์šฐ๋Š” Javascript์˜ ํŠน์„ฑ(ํƒ€์ž…์ด ๋น„๊ณ ์ •์ ์ž„)์œผ๋กœ ์ธํ•˜์—ฌ Type์œผ๋กœ ์ธํ•œ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๋ฅผ ๋ฑ‰์–ด๋‚ด๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. : ํ”„๋กœ์ ํŠธ ํ™•์žฅ ๋‹จ์œ„๊ฐ€ ์ปค์งˆ ์‹œ์— ๋ฆฌํŒฉํ† ๋ง๊ณผ ํ™•์žฅ์— ๋‚œํ•ญ์„ ๊ฒช๊ฒŒ ๋จ.

 

์œ„์™€ ๊ฐ™์€ ํŠน์„ฑ์œผ๋กœ ์ธํ•˜์—ฌ 

ํ•˜๋‚˜์˜ ์ž‘์—… ์ž์ฒด๊ฐ€ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š”(๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒŒ๊ฐ€ ๋ฌด๊ฑฐ์šด) ์›น ์„œ๋น„์Šค์—๋Š” ์–ด์šธ๋ฆฌ์ง€ ์•Š์œผ๋ฉฐ,

๊ฐ€๋ฒผ์šด I/O๋ฅผ ๋งŽ์ด ์š”๊ตฌํ•˜๋Š” ๊ฒŒ์‹œํŒ, ์ฑ„ํŒ…, ์ŠคํŠธ๋ฆฌ๋ฐ๊ณผ ๊ฐ™์€ ์›น์„œ๋น„์Šค์— ์ ํ•ฉํ•˜๋‹ค.

 

Spring boot

- Java ๊ธฐ๋ฐ˜์œผ๋กœ ์•ˆ์ •์ ์ด๋‹ค.

- POJO(Plan Old Java Object: ์˜ค๋ž˜๋œ ๋ฐฉ์‹์˜ ๊ฐ„๋‹จํ•œ ์ž๋ฐ” ์˜ค๋ธŒ์ ํŠธ) ๋ฐฉ์‹์˜ ํ”„๋ ˆ์ž„์›Œํฌ. ๊ธฐ์กด์— ์กด์žฌํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ์„ ์ง€์›ํ•˜๊ธฐ์— ์šฉ์ดํ•˜๊ณ  ๊ฐ์ฒด๊ฐ€ ๊ฐ€๋ฒผ์›€
- ์ œ์–ด ๋ฐ˜์ „(IoC: Inversion of Control) ์ง€์›: ์ปจํŠธ๋กค์˜ ์ œ์–ด๊ถŒ์ด ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ํ”„๋ ˆ์ž„์›Œํฌ์— ์žˆ์–ด์„œ ํ•„์š”์— ๋”ฐ๋ผ ์Šคํ”„๋ง์—์„œ ์‚ฌ์šฉ์ž์˜ ์ฝ”๋“œ๋ฅผ ํ˜ธ์ถœ.

- ์˜์กด์„ฑ ์ฃผ์ž…(DI: Dependency Injection) ์ง€์›: ๊ฐ๊ฐ์˜ ๊ณ„์ธต์ด๋‚˜ ์„œ๋น„์Šค๋“ค ๊ฐ„์— ์˜์กด์„ฑ์ด ์กด์žฌํ•  ๊ฒฝ์šฐ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์„œ๋กœ ์—ฐ๊ฒฐ ์‹œ์ผœ์คŒ

- ๊ด€์  ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Aspect-Oriented Programming) ์ง€์›.

   ( ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ•ต์‹ฌ ์—…๋ฌด ๋กœ์ง์—์„œ ๊ณตํ†ต ๊ธฐ๋Šฅ ๋กœ์ง๋“ค์„ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ)

AOP. Aspect-Oriented Programming ์ฒจ๋ถ€ ์‚ฌ์ง„

 

๋”๋ณด๊ธฐ
BACKEND