글 작성자: 망고좋아
반응형

📖 오늘 배운 내용 - 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는 문법과 기본적인 동작 방식이 다르다.
  • commonjsmodule.exports와 require로 모듈을 만들고 사용한다.
  • ES Moduleexportimport로 모듈을 만들고 사용한다.

 

📕 그래서 어떤 모듈을 사용해야 할까?

  • 현재 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를 구현하고 싶다.
반응형