[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 특징
🎯 Node.js 특징 싱글 쓰레드이기 때문에 비동기 동작이 필요하고 비동기 동작을 구현하기 위해 이벤트 기반의 동작 방식을 사용한다. 📝 쓰레드란? 쓰레드란 명령을 실행하는 단위 한 개의 쓰레
lakelouise.tistory.com
📝 Node.js 시작하기
📕 어떤 버전으로 시작?
- Node.js는 빠르게 개발 중이다.
- 보안 이슈 및 버그 수정, 최신 기술 빠르게 적용
- 급변하는 기술은 가장 안정적인 최신 버전을 선택하는 것이 최선
- LTS
- Long-Term Support 버전
- Node.js의 안정적이고, 오래 지원하는 버전 명
가장 최신의 LTS 버전을 사용 :: 안정적이고 오래 지원되는 버전을 설치!
📝 이벤트 루프
[Node.js] Node.js 이벤트 루프
🎯 Node.js 이벤트 루프 이벤트(event)를 처리하는 반복되는 동작(loop)이다. 즉, Node.js가 비동기-이벤트 동작을 처리하는 일련의 반복 동작이다. 이벤트 루프는 Node.js만의 특징은 아니다. JavaScript의
lakelouise.tistory.com
📝 npm과 npx란?
[Node.js] npm과 npx는 무엇인가?
🎯 NPM이란? Node Package Manager Node.js 프로젝트를 관리하는 필수적인 도구 온라인 저장소 + 커맨드 라인 도구 온라인 저장소란 수많은 오픈소스 라이브러리와 도구들이 업로드되는 저장소이다. 필
lakelouise.tistory.com
📝 Node.js 모듈
[Node.js] Node.js 모듈
🎯 Node.js 모듈 간단한 프로그램이라면 파일 하나로도 가능하다. 그러나 프로젝트가 커지면 기능에 맞게 코드를 분리하는 것이 중요하다. 모듈은 코드를 분리하기 위한 방법이다. 📝 모듈과 패
lakelouise.tistory.com
📝 모듈의 작성과 사용
[Node.js] Node.js 모듈의 작성과 사용
🎯 [Node.js] Node.js 모듈의 작성과 사용 📝 모듈의 기본적인 작성법 // elice.js const name = "elice"; const age = 5; const nationality = "korea"; module.exports = { name, age, nationality, }; const s..
lakelouise.tistory.com
📝 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를 같이 사용하기에 부적절하다.
📝 웹 서비스 동작 방식
[Node.js] Node.js 웹 서비스 동작 방식, 정적 웹과 동적 웹
🎯 웹 서비스 동작 방식, 정적 웹과 동적 웹 웹 서비스는 기본적으로 HTTP 요청과 응답의 반복으로 이루어진다. HTTP 요청은 사용자가 어떤 데이터가 필요한지를 서버에게 알리는 역할 HTTP 응답은
lakelouise.tistory.com
📝 Express.js
[Node.js] Express.js 사용법
🎯 Express.js Express.js는 Node.js의 웹 프레임워크 중 가장 유명한 웹 프레임워크 필요에 따라 유연하게 구조 설정 가능 다양한 미들웨어를 통해 필요한 기능을 간단하게 추가 가능하다. 모든 동작이
lakelouise.tistory.com
📝 Express.js 동작 방식
[Node.js] Express.js 동작 방식
🎯 Express.js 동작 방식 📝 Express 동작시키기 express-generator로 만들어진 프로젝트 디렉터리에 접근하여, npm start로 Express.js 프로젝트를 실행할 수 있다. localhost:3000에 접속하여 Welcome to Expre..
lakelouise.tistory.com
💡 오늘 깨달은 것
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