[TIL] 엘리스 SW 엔지니어 트랙 Day 028
글 작성자: 망고좋아
반응형
📖 오늘 배운 내용 - 2021.12.01
- Node.js
- npm, npx
- Express.js
📝 Node.js의 특징
- 크래스 플랫폼에서 실행된다.
- 동작에 큰 제한이 없다.
- 사용 분야의 제한 없이 다양한 분야에서 사용 가능하다.
- 하나의 쓰레드를 사용한다.
- 비동기 동작의 완료를 확인하기 위해 이벤트 방식을 사용한다.
- 비동기 방식으로 작동한다.
📕 Node.js 이해하기
- 복잡한 JS를 실행하기 위해 고성능의 자바스크립트 실행기가 필요했는데 구글에서는 크롬 V8엔진을 만들었다. ⇒ 자바스크립트 실행 속도가 상당히 빨라짐 ⇒ JS를 브라우저 외부에서 사용 ⇒ Node.js 탄생
- 즉, Node.js는 자바스크립트를 어느 환경에서나 실행할 수 있게 해주는 실행기이다.
📕 Node.js vs Browser
- 브라우저에서의 javascript
- 브라우저에서만 실행
- 웹 내부 제한된 동작
- 웹 프론트 개발자의 언어
- Node.js
- 크로스 플랫폼 실행(어느 환경에서도 실행 가능)
- 제한 없는 동작
- 다양한 애플리케이션 개발 ⇒ 모든 개발자의 언어
📕 Node.js로 할 수 있는 것들
Front-End | Back-End | Mobile-App | Desktop-App | Machine-Learning |
React.js | Express.js | React-Native | Electron | Brain.js |
최근 가장 인기 있는 웹 서비스 구성 | 한가지 코드로 IOS, Android 개발 | JS로 구현하는 딥러닝 |
📝 Node.js 특징
📝 Node.js 시작하기
📕 어떤 버전으로 시작?
- Node.js는 빠르게 개발 중이다.
- 보안 이슈 및 버그 수정, 최신 기술 빠르게 적용
- 급변하는 기술은 가장 안정적인 최신 버전을 선택하는 것이 최선
- LTS
- Long-Term Support 버전
- Node.js의 안정적이고, 오래 지원하는 버전 명
가장 최신의 LTS 버전을 사용 :: 안정적이고 오래 지원되는 버전을 설치!
📝 이벤트 루프
📝 npm과 npx란?
📝 Node.js 모듈
📝 모듈의 작성과 사용
📝 ES Module
- 실제 프로젝트에서 사용할 일은 많이 없지만 알고 있으면 좋은 내용
- ES6에서 등장한 JavaScript의 공식적인 표준 모듈이다.
- JavaScript는 기본적으로 '모듈'을 제공하고 있지 않았다.
- Node.js는 독자적인 방식을 통해 모듈을 지원하고 있었음 (commonjs)
- ES Module의 등장으로 Node.js에선 두 가지 모듈을 지원할 필요가 생겼다.
📕 ES Module과 commonjs
- ES Module과 commonjs는 문법과 기본적인 동작 방식이 다르다.
- commonjs는
module.export
s와require
로 모듈을 만들고 사용한다. - ES Module은
export
와import
로 모듈을 만들고 사용한다.
📕 그래서 어떤 모듈을 사용해야 할까?
- 현재 ES Module은 Node.js에서 기본적으로 사용하기에 제약이 많다. (프로젝트 타입을 module로 변경, commonjs 모듈 import 시에 문제 발생 등)
- Node.js는 14 버전부터 ES Module을 안정적으로 지원하지만 commonjs가 일반적으로 많이 사용되고 있었고, 두 모듈의 동작 방식이 크게 달라서 require를 import로 대체할 수 없다.
- Node.js는 ES Module과 commonjs를 같이 사용하기에 부적절하다.
📝 웹 서비스 동작 방식
📝 Express.js
📝 Express.js 동작 방식
💡 오늘 깨달은 것
const duck = {
name: "duck",
sound: "quack",
};
const { name: newName, sound: newSound } = duck;
- 주어진 key값과 다른 변수로 선언하고 싶다면 콜론을 붙여서 사용
- express.js 코드 몇 줄로 서버를 열 수 있다니!!! 통신을 하니까 재밌다...! 그리고 역시 자바스크립트 최고야...
- DB도 배워서 기본적인 CRUD를 구현하고 싶다.
반응형
'프로그래밍 > Today I Learned' 카테고리의 다른 글
[TIL] 엘리스 SW 엔지니어 트랙 Day 030 (0) | 2021.12.07 |
---|---|
[TIL] 엘리스 SW 엔지니어 트랙 Day 029 (0) | 2021.12.07 |
[TIL] 엘리스 SW 엔지니어 트랙 Day 027 (0) | 2021.11.30 |
[TIL] 엘리스 SW 엔지니어 트랙 Day 026 (0) | 2021.11.29 |
[TIL] 엘리스 SW 엔지니어 트랙 Day 025 (0) | 2021.11.27 |
댓글
이 글 공유하기
다른 글
-
[TIL] 엘리스 SW 엔지니어 트랙 Day 030
[TIL] 엘리스 SW 엔지니어 트랙 Day 030
2021.12.07 -
[TIL] 엘리스 SW 엔지니어 트랙 Day 029
[TIL] 엘리스 SW 엔지니어 트랙 Day 029
2021.12.07 -
[TIL] 엘리스 SW 엔지니어 트랙 Day 027
[TIL] 엘리스 SW 엔지니어 트랙 Day 027
2021.11.30 -
[TIL] 엘리스 SW 엔지니어 트랙 Day 026
[TIL] 엘리스 SW 엔지니어 트랙 Day 026
2021.11.29