node.js 에대해 배웠던 내용들을 이해하면서 정리해 본다.
🤔어플리케이션을 개발하려면
클라이언트 프로그램과 서버프로그램을 모두 개발해야 완성이 된다.
근데 두가지의 언어가 모두 다르다. 최소한 2가지 언어를
알아야만, 개발이 됨.
📍 node.js -> 자바스크립트 로 만들어짐. 클라이언트 프로그래밍 언어
node.js 가 자바스크립트고 그말은 즉슨, nodeJS 를 하면
자바스크립트로 서버 프로그래밍까지도 다 가능하다.
이 언어 하나로 어플리케이션 하나를 만들수 있다.
-> 크롭의 v8 엔진의 자바스크립트 엔진으로 빌드된 js 런타임. (실행환경) 크롬 뿐만 아니라 자바스크립트 실행 환경을 외부로 빼놓은것.
📍그럼 node.js 는 백엔드 일까? 🙄
-> 대중적으로는 그렇게 쓰이고 있지만,
백엔드가 아니다 라고 생각하는게 맞다.
노드js 에서는 지원하는 모델들이 있다.
ex) express 모델 (라이브러리 모듈)
nestJs, http, fs... 등등 백엔드를 구성하기 편하고 쉽게 해주는
모듈들이 존재할뿐이지 이 자체를 백엔드 라고 부를수 는 없다.
그래서 node.js 중에서도 / nestJs 를쓰냐, express 를 쓰냐에 따라
다르다.
( 함수형 -> oop -> 객체지향형태 로 바꾼상태 따라 , spring
이랑 유사하다)
보통 express, nestJS를 이용해서 많이 개발하는 추세이다.
백과 프론트를 같은 언어로 사용할수 있다.
웹서버와 WAS(tomcat) 같은 소프트웨어가 필요 없이 웹 서버역할을
대신 하는 내장 라이브러리가 존재한다.
(그래서 3000 포트로 웹 실행 결과를 볼수 있음)
보통은 서버를 띄어야만 실행 할수 있음
(웹서버 : Apache, zeus, nginx 등등 )
=> package.json을 만들어주는 역할.
=> express 나 백엔드 서버를 만들기 위해 지원하는 가장
기본적인 모듈
파일 처리와 관련된 모듈
nodejs http와 함께 가장 기초적인 모듈
📍readFile() : 파일을 비동기적으로 읽음
📍readFileSync() : 파일을 동기적으로 읽음
📍writeFile() : 파일을 비동기적으로 씀
📍writeFileSync() : 파일을 동기적으로 씀