자바스크립트는 스크립트 언어라서 즉석에서 코드를 실행할 수 있음
노드는 자바스크립트 코드를 모듈로 만들 수 있음
모듈: 특정한 기능을 하는 함수나 변수들의 집합
모듈로 만들면 여러 프로그램에서 재사용 가능
모듈 -> 패키지 -> 라이브러리
자바스크립트 자체 모듈 시스템 문법이 생김
: 노드의 전역 객체
브라우저의 window같은 역할
모든파일에서 접근 가능
window처럼 생략도 가능(console, require도 global의 속성)
global 속성에 값을 대입하면 다른 파일에서도 사용가능
브라우저의 console 객체와 매우 유사
실행 결과
set메서드에 clear 메서드가 대응됨
set 메서드의 리턴값(아이디)을 clear메서드에 넣어 취소
setTimeout(콜백함수, 밀리초):주어진 밀리초 이후에 콜백함수를 실행
setInterval(콜백함수, 밀리초):주어진 밀리초마다 콜백함수를 반복실행
setImmediate(콜백함수):콜백함수를 즉시 실행
cleatTimeout(아이디): setTimeout을 취소
cleatInterbal(아이디): setInterbal을 취소
cleatImmediate(아이디): setImmediate을 취소
타이머 메서드들은 메서드가 선언된 시점에서 바로 시작되어 백그라운드에 올라감!!!!
module.exports 외에도 exports로 모듈을 만들 수 있음
노드에서 this를 사용할 때 주의점이 있음
dep1이 dep2를 require하고 dep2가 dep1를 require하면
dep1의 module.exports가 함수가 아니라 빈 객체가 됨(무한 반복을 막기위해)
현재 실행중인 노드 프로세스에 대한 정보를 담고 있음
시스템 환경 변수들이 들어있는 객체
이벤트 루프가 다른 콜백 함수들 보다 nextTick의 콜백 함수가 우선적으로 처리
현재의 프로세스를 멈춤
운영체제의 정보를 담고 있음
모듈은 require로 가져옴(내장 모듈이기때문에 이름만 적어주면됨)
폴더와 파일의 경로를 쉽게 조작하도록 도와주는 모듈
암호화는 가능하지만 복호화는 불가능
단방향 암호화의 대표주자는 해시 기법
강화된 암호화 알고리즘