구운고기 2022. 9. 14. 16:31
반응형

목록

1. Node.js의 등장 배경

2. V8 엔진과 Node.js

3. Browser의 자바스크립트 vs  Node.js

4. Node.js로 할 수 있는 것들

5. Node.js 특징

6. Thread

7. 싱글 쓰레드 장단점

8. 비동기(非同期,异步)

9. 동기와 비동기 방식 차이

10. 이벤트 기반 (HTML에서 버튼 누르는 거)

11. Node.js 버전 LTS 뜻

12. Node.js 버전 선택하기

13. split 함수 (분할 함수) 활용

 

 

반응형

 

 

 

1. Node.js의 등장 배경

WEB 1.0 단방향 통신 위주      다운로드만

                        ↓

WEB 2.0 사용자와 상호 작용   업로드/다운로드

                        ↓

고성능의 자바스크립트 필요

                        ↓

크롬                                          v8엔진 생김

 


2. V8 엔진과 Node.js

 

1) V8 엔진

고성능 JavaScript 실행 가능

 

2) Node.js

JavaScript를 브라우저 외부에서 사용 가능하게 해주는 실행기

 


3. Browser의 자바스크립트                       vs         Node.js

웹 브라우저에서만 사용 가능                              크로스 플랫폼 실행 (window, Linux, Mac 등 다양한 환경에서 실행 가능)

웹 내부에서 제한된 동작 실행 가능                      동작에 제한이 없음

웹 프론트 개발자만 사용                                     다양한 어플 제작 가능

 


4. Node.js로 할 수 있는 것들

1) Front-End

React.js

웹서비스 구성

 

2) Back-End

Express.js

웹서비스 구성

 

3) Moblle-App

React-Native

한 가지 코드로 ios와 Android 개발

 

4) Desktop-App

Electron

Discord, Slack 등 앱 개발할 때 사용

 

5) Machine-Learning

Brain.js

JavaScript로 구현하는 딥러닝


5. Node.js 특징

싱글 쓰레드 - 비동기 - 이벤트 기반

싱글 쓰레드이기 때문에 비동기 동작이 필요함

비동기 동작을 구현하기 위해 이벤트 기반으로 진행

 


6. Thread

명령을 실행하는 단위

한 개의 쓰레드는 한번에 한 동작만 실행 가능

 

 

싱글 쓰레드                            vs               멀티 쓰레드

싱글 쓰레드                                               쓰레드1

동작1 동작2 동작3                                    동작1

                                                                  쓰레드 2

                                                                  동작2

                                                                  쓰레드 3

                                                                  동작 3

 

한 번에 한 가지 동작만 수행함                   동시에 여러 동작 수행 가능


7. 싱글 쓰레드 장단점

장점 쓰레드가 늘어나지 않기 때문에 리소스 관리에 효율적

단점 쓰레드 기반의 작업들의 효율이 떨어짐

ex) CPU 연산 작업 - 연산 속도 오래 걸림

 

그래서 Node.js는 비동기 동작으로 쓰레드 기반의 작업을 최소화함


8. 비동기(非同期,异步)

동작이 실행한 후 완료가 되길 기다리지 않는 방식

동작 완료를 기다리지 않아 바로 다른 동작을 실행 가능

Node.js는 싱글 쓰레드이기 때문에 비동기 방식 사용


9. 동기와 비동기 방식 차이

1) 싱글 쓰레드 비동기 방식         실행1 실행2 실행3 → 외부 작업 [ex) 데이터 베이스 쿼리] → 완료1 완료2 완료3 

 

2) 멀티 쓰레드 동기 방식            실행1 → 처리 → 완료                 

                                                    실행2 → 처리 → 완료

                                                    실행3 → 처리 → 완료

*처리될 동안 다른 동작을 시키지 않아서 CPU 리소스 낭비가 됨


10. 이벤트 기반 (HTML에서 버튼 누르는 거)

비동기 동작의 완료를 처리하는 방법

비동기 방식은 특정 동작을 실행한 뒤 해당 동작을 신경 쓰지 않음

대신 해당 동작이 완료될 경우 실행할 함수를 미리 등록함

비동기 동작이 완료가 되면 미리 등록된 함수를 실행

→ 실행 미리 준비  완료  실행


11. Node.js 버전

보안 이슈, 버그 수정, 최신 기술이 빠르게 적용하고 있음

지원이 늦어지는 경우가 생김

가장 최신 버전보다는 가장 안정적인 최신 버전을 선택하는 것이 좋음

 

 

* LTS

  Long-Term Support

  Node.js의 안정적이고 오래 지원하는 버전 명


12. Node.js 버전 선택하기

16.17.0 LTS                            vs        18.9.0

안정적이고 신뢰도 높음                     가장 최신 기술 적용


13. split 함수 (분할 함수) 활용

(메서드 안에 지정한 문자열을 기준으로 문자를 자름)

 

fruit 문자열에서 사과를 기준으로 문자열을 나누어 리스트로 반환하기

 

var fruit = "사과 어쩌고저쩌고.";

 

var splitted_fruit = fruit.split("사과")

console.log(splitted_사과) 또는 document.write(splitted_사과)

 

활용
활용

반응형