서버에 맞게 다시 작성된 자바스크립트이다.
웹 브라우저 없이 사용이 가능하다.
일렉트론 : html css js만 가지고 pc 응용 프로그램을 만들 수 있다.
npm 패키지는 세계에서 가장 큰 오픈 소스 라이브러리
npm이란 Javascript로 개발된 각종 모듈의 설치, 업데이트, 구성, 제거 과정을 자동화하여 관리해주는 기능이다.
Node.js 설치
LTS를 설치해야한다 오른쪽은 계속해서 업그레이드하는 버전이고 LTS는 안정화된 버전이다.
설치 후 설치 되었는지 확인하는 방법은 cmd 창에 node -v를 검색하여 설치한 버전이 뜨는지 확인해보면 된다.
npm도 npm -v로 버전 확인을 할 수 있다.
터미널에서 바로 실행도 가능하다
이를 노드의 REPL 콘솔이라고 한다.
테스트 용도로 사용한다.
npm
노드 패키지를 저장하는 저장소이다
즉 노드 패키지를 관리해주는 틀이다.
이미 만들어진 것을 가져와서 사용하는 것이다.
직접 만들고 싶다면 코드를 만들어 npm 저장소에 올리면 다른 사람의 나의 패키지를 사용할 수 있다.
npm을 통해 package.json을 생성할 수 있고, package.json이란 패키지들이 서로 의존되어 있어, 문제가 발생할 수 있는데 이를 관리하기 위해 필요하고 프로젝트에 대한 정보와 사용 중인 패키지 이름 및 버전 정보 가 담겨 있는 파일이다.
“name” : 패키지 이름
“version” : 패키지의 버전
“main” : 자바스크립트 실행 파일 진입점 ( 문답식에서의 entry point )
“description” : 패키지에 대한 설명
“scripts” : npm run 을 이용해 정해놓는 스크립트 명령어(이를 통해 다른 컴퓨터엣도 run으로 설치하여 그대로 사용할 수 있다.)
“license” : 해당 패키지의 라이센스
Node.js의 특징
1. js 사용
2. 하나의 스레드를 사용한다.
싱글스레드는 에러를 처리하지 못할 경우 멈추기 때문에 예외처리가 정말 중요하다.
3. Non-blocking I/O
I/O 작업 : 파일 시스템 접근 ( 읽기, 쓰기, 만들기 등 ), 네트워크 요청
Node.js는 표준 라이브러리의 모든 I/O 메서드를 비동기 방식으로 제공한다.
4. Event-Driven
이벤트 리스너와 콜백 함수 사용 가능
Call Stack ( 호출 스택 ) LIFO(Last In Frist Out) 방식이다.
Event Loop
https://www.korecmblog.com/node-js-event-loop/
Node.js의 역할
• 간단한 로직
• 대량의 클라이언트가 접속하는 서비스 ( 입출력이 많은 서비스 )
• 빠른 개발 요구
• 빠른 응답시간 요구
• 비동기 방식에 어울리는 서비스 ( 스트리밍 서비스, 채팅 서비스 등 )
모듈
모듈이란
특정한 기능을 하는 함수들이나 변수들의 집합
재사용 가능한 코드 조각
코드 추상화/ 코드 캡슐화/ 코드 재사용/ 의존성 관리
클래스와 거의 유사하다.
모듈은 다음과 같이 만든다.
자바스크립트 자체 모듈 시스템 문법 -> package.json 에
“type”: “module” 을 추가해 사용
이 경우에 require을 사용할 수 없다
추가적으로 중간에 객체를 알려주셨는데
키 : 값
이 형태에서 키와 값이 같다면 키만 적어줘도 작동하고 키와 값이 다르면 키와 값을 같이 작성해야한다.
즉
const aba = "a";라고 하고 이를
module.exports = {a : abc}; 에 넣을때 이렇게 넣어줘야 하는 것이다.
만약에 변수가 a라면 a만 적어줘도 불러올 수 있다.
서버만들기
http 모듈
• 웹 서버를 구동하기 위한 node.js 내장 웹 모듈
• server 객체, request 객체, response 객체를 사용한다.
• server 객체 : 웹 서버를 생성할 때 사용하는 객체
• response 객체 : 응답 메시지를 작성할 때 두 번째 매개변수로 전달되는 객체
• request 객체 : 응답 메시지를 작성할 때 첫 번째 매개변수로 전달되는 객체
listen(port, callback) 서버를 첫번째 매개변수의 포트로 실행한다.
Response 객체
writeHead : 응답 헤더 작성
write : 응답 본문 작성
end : 응답 본문 작성 후 응답 종료
localhost
• localhost는 컴퓨터 내부 주소 (127.0.0.1 )
• 자신의 컴퓨터를 가리키는 호스트이름(hostname)
Port
• 서버 내에서 데이터를 주고받는 프로세스를 구분하기 위한 번호
• 기본적으로 http 서버는 80번 포트 사용 ( 생략 가능, https는 443 )
html 파일 전송은 try catch 문으로 작성한다.
http 응답
• 1XX : 처리중
• 100: Continue, 102: Processing
• 2XX : 성공 • 200: OK, 201: Created, 202: Accepted
• 3XX : 리다이렉트(다른 페이지로 이동)
• 4XX : 요청 오류 • 400: 잘못된 요청, 401: 권한 없음, 403: 금지됨 • 404: 찾을 수 없음(Page not found)
• 5XX : 서버 오류
'포스코x코딩온 KDT 8기 풀스택 과정 회고록' 카테고리의 다른 글
[포스코 코딩온 KDT 8기] 웹 풀스택 과정 24일(07.29)차 회고 | 비동기 처리 (0) | 2023.07.29 |
---|---|
[포스코 코딩온 KDT 8기] 웹 풀스택 과정 23일(07.28)차 회고 | Node.js : express (0) | 2023.07.28 |
[포스코 코딩온 KDT 8기] 웹 풀스택 과정 21일(07.26)차 회고 | 프로젝트 후기 (0) | 2023.07.27 |
[포스코x코딩온 KDT 8기] 웹 풀스택 과정 1-2주차 회고 | JQuery 정리 (0) | 2023.07.15 |
[포스코x코딩온 KDT 8기] 웹 풀스택 과정 1일차 회고 (0) | 2023.07.03 |