[부트캠프] 백엔드(nodeJS) 1일차

RedPanda·2022년 8월 9일
1

NodeJS

목록 보기
1/11

📃 필기내용

📌 서버

  • 클라이언트의 요청에 대해 정보나 서비스를 제공하는 컴퓨터 장치

  • 클라이언트와 서버는 상대적인 것 -> 누구나 서버 또는 클라이언트가 될 수 있음.

  • 서버의 부하 : 많은 요청에 대해 서버가 처리하면서 부하가 걸림

    스케일업(수직스케일링) : 서버의 사양을 높이는 방법
    스케일아웃(수평스케일링) : 서버의 개수를 늘려 처리를 분산시키는 방법
    로드벨런싱 : 컴퓨터 자원들에게 작업을 분산시키는 방법 (한 곳에 반복적으로 처리를 시키기보다 골고루 처리를 부담하는 것)
    마이크로서비스 : 각 기능에 대해 구조화하는 소프트웨어 개발 기법 (기능별로 전문화시킴)

📌 NodeJS

< NodeJS는 V8엔진으로 빌드된 JS 런타임입니다. >
: 웹브라우저 없이 웹서버를 실행할 수 있는 JS의 실행환경

  • 브라우저에서만 동작하는 JS를 웹브라우저 없이 자바스크립트를 실행하기 위해 만들어짐. (웹서버가 내장되어 있음)

  • 멀티 스레드 방식보다 쉬움, I/O작업이 많은 서버로 적합, JSON형식을 다루기 편함, 빠른 서버 개발이 가능(?)

  • 이벤트 기반 : 이벤트 기반의 서버 작동 방식. 다음과 같은 방법으로 이벤트가 실행됨.

    이벤트 등록 -> 이벤트 발생 -> 콜백함수 호출 -> 성공 결과

  • 싱글 스레드 : OS의 프로세스를 관리하는 것이 스레드 -> 단일 스레드로, 비용이 적게 들지만 처리 양이 많아질수록 추가적인 처리 시간이 늘어남.

  • NVM : 협업에서 버전이 다를 때의 문제를 미리 방지하기 위해 사용하는 nodeJS의 버전관리 도구

nodeJS의 모듈 관리

  • 파일 하나에 작업하는 것 보다 잘게 쪼개서 모듈화하면 더 편리하게 작업할 수 있다.

  • 방법

module.exports = { // 모듈 파일에서 데이터를 리턴
 	data
 } 
.
.
.
 const {data} = require("adress"); // 모듈에서 data를 불러옴
  • 파일 위치 확인

    현재폴더에 위치해 있는 경우 : "./index.js"
    '현재폴더 -> module폴더'의 경로에 있는 경우 : : "./module/index.js"
    현재폴더보다 상위폴더에 있는 경우 : "../index.js"
    <js파일이 실행되는 위치를 확인하고 실행해줄 것>

VS 단축키 추가

  • alt + shift + 방향키 : 선택한 곳 복사
profile
끄적끄적 코딩일기

0개의 댓글