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
'항해14기 본과정 > 항해14기 개발일지' 카테고리의 다른 글
[항해 14기] 개발일지15 (몽고디비, npm 명령어) (0) | 2023.04.24 |
---|---|
[항해 14기] 개발일지14 (Node.js 입문) (0) | 2023.04.24 |
[항해 14기] 개발일지12 (동기/비동기, 객체 리터럴) (0) | 2023.04.24 |
[항해 14기] 개발일지11 (Node.js) (0) | 2023.04.24 |
[항해 14기] 개발일지10 (프로그래머스 1LV - 카카오 기출) (1) | 2023.04.23 |