항해14기 본과정/항해14기 개발일지

[항해 14기] 개발일지13 (Node.js 입문)

스쿼트잘함 2023. 4. 24. 22:00

Node.js 입문

 

1. 에러 핸들링

1) 개요

- 에러를 관리하는 방법, 예상치 못한 상황에 대처하는 방식
- 에러는 예상할 수 있는 에러와 예상치 못한 에러로 구분 가능, 일반적인 어플리케이션을 설계할 때는 예상치 못한 에러 상황이 더욱 많이 일어날 것으로 가정해야함

- 프로그래머가 작성한 코드에서 예상치 못한 에러가 일어날 가능성은 언제나 존재

2) try/catch

- 예외 처리 방식, 일반적으로 try/catch문을 사용
- 에러가 발생하더라도 프로그램이 멈추지 않고 에러를 기록할 수 있음

3) throw

- 고의적으로 에러를 발생시켜야 할 경우

- ex) 은행 어플리케이션의 현금 인출 서비스를 만든다고 할 때, 계좌의 잔고가 요청받은 금액보다 적다면 현금 인출을 막고 예외를 발생시켜야함

-  throw를 호출하면 즉시 현재 실행되고 있는 함수의 실행이 중지

4) finally

- try 에서는 HTTP연결이 되고 있거나 파일과 같은 특정한 자원을 처리할 때가 있는데, 해당 자원을 계속 가지고 있으면 무의미한 메모리를 차지하게 됨. 이러한 리소스를 제거하는 용도로 사용
- 에러 여부 상관없이 언제든지 실행됨

 

 

2. http

1) http

- 데이터를 주고 받는 양식을 정의한 통신규약 중 하나

- 매우 범용적인 양식을 가지고 있어 전 세계에서 제일 널리 쓰이는 통신 규약
2) 통신 규약(Protocol)

- 서버와 클라이언트(브라우저)사이에서 데이터를 주고 받을때 정해둔 약속

- 네트워크가 의사 표현의 수단, 통신규약은 의사 표현의 방법
3) 통신 방식

- HTTP에는 Request와 Response가 존재
- 브라우저는 서버에게 자신이 원하는 페이지(URL 등의 정보)를 Request

- 서버는 브라우저가 원하는 페이지가 있는지 확인하고, 있다면 해당 페이지에 대한 데이터를  Response

- 브라우저는 서버에서 전달 받은 데이터를 기반으로 브라우저에 표현

4) Header

- 브라우저의 요청 페이지, 페이지 확인 여부, 요청 처리 완료 여부 등 의사 표현을 위한 데이터가 담긴 필드

5) Payload

- 실질적인 데이터가 담겨있는 필드(GET 메소드 제외)

 

 

3. 웹서버

- HTTP를 통하여 웹상에서 클라이언트의 요청을 응답해주는 통신을 하는 컴퓨터 또는 프로그램
- 이메일이나 웹사이트 등 대부분의 인터넷 사용은 웹서버를 통해 작동됨
- 브라우저를 통해 HTTP request로 웹사이트를 웹서버에 요청, 이후 웹서버에서 요청을 승인하고 HTTP response를 통해 웹사이트 데이터를 브라우저에 전송. 브라우저는 서버에서 받아온 데이터를 이용해 웹사이트를 브라우저에 표현
- 브라우저가 웹서버에 요청을 할때는 항상 기본적으로 GET method 사용

 

 

4. npm

1) package manager

- 패키지 매니저는 패키지를 손쉽게 다루는 작업을 안전하고 편리하게 사용하기 위한 툴
- 다른 사람들의 코드를 다운로드 받거나, 자신의 코드 배포가능
- Node.js에서 대표적으로 사용하는 패키지 매니저는 npm과 yarn

2) package

- npm이나 yarn에 업로드된 Node.js 모듈을 말함
- 모듈이 다른 모듈을 참조하여 사용하는 것과 같이, 패키지도 다른 패키지를 사용가능, 이런 관계를 의존 관계라 표현

3) npm

- js에서 사용할 수 있는 패키지(모듈)관리자

4) yarn

- npm의 대체제로 페이스북에서 출시

- npm을 보완하여 나와 성능이 좋은편

- 하나의 프로젝트에 npm과 yarn을 동시에 쓰면 출돌이 일어날 수 있음

5) package.json

https://jujiprogram.tistory.com/34