


zlib 사용 - gs 형식의 압축 파일 생성
기타 fs메서드(파일 및 폴더 생성, 삭제
(폴더 내용 확인 및 삭제)
(파일 복사)
필요한 거 있으면 공식 문서에서 찾아서 사용한다.
fs, crypto, zlib 모듈의 메서드는 백그라운드에서 동시에 실행
const crypto = require('crypto');
const pass = 'pass';
const salt = 'salt';
const start = Date.now();
crypto.pbkdf2(pass, salt, 1_000_000, 128, 'sha512', () => {
console.log('1', Date.now() - start);
});
이제 이 crypto를 8번 반복하면 다음과 같다.
이 코드를 여러 번 실행시켜보면
1-4, 5-8 묶어서 실행됨을 알 수 있다.
=> 코어 4개씩 동시에 돌린다
사용하는 코어 개수를 조절하고자 하면 콘솔에
SET UV_THREADPOOL_SIZE=(개수)
명령어를 사용한다.
이벤트 등록 -> 나중에 호출해서 콜백 함수를 실행할 수 있다
이벤트를 로드하여 사용하는 방식은 다음과 같다.
const EventEmitter = require('events');
const myEvent = new EventEmitter();
이벤트 사용 방식은 다음과 같다.
myEvent.addListener('event', () => {
console.log('이벤트1');
});
myEvent.on('event2', () => {
console.log('이벤트2');
});
myEvent.on('event2', () => { //event2에 on을 여러 개 생성 가능
console.log('이벤트2 추가');
});
myEvent.once('event3', () => { // 한 번만 실행됨
console.log('이벤트3');
});
myEvent.emit('event1'); //이벤트 호출
myEvent.emit('event3'); // on 이벤트 호출
myEvent.emit('event3'); // 실행 안됨(once라서)
myEvent.removeAllListeners('event1');
myEvent.removeListener('event2');
myEvent.listenerCount('event3');
에러 발생해도 프로세스 멈춤 없음
promise의 에러는 따로 처리 x
process 객체에 event를 달음('uncaughtException')
단순히 에러를 기록해주는 용도
복구 작업용으로 사용하는 것은 부적합 : 복구 코드가 동작하는 것을 node가 보장해주지 않음
=> 빨리 알림을 받아서 코드를 수정하는 것이 좋음
func.js | index.js |
|---|