-
#4. 노드의 기본 기능 알아보기■ Front-End/- Node.js 2019. 6. 25. 00:52
http://www.yes24.com/Product/goods/32442876
1. 주소 문자열과 요청 파라미터 다루기
URL 모듈의 주요 메소드
(1) parse() : 주소 문자열을 파싱하여 URL 객체를 만든다.
(2) format() : URL 객체를 주소 문자열로 변환한다.
querystring 모듈의 주요 메소드
(1) parse() : 요청 파라미터 문자열을 파싱하여 요청 파라미터 객체를 만든다.
(2) stringify() : 요청 파라미터 객체를 문자열로 변환한다.
2. 이벤트 이해하기
이벤트란?
한 쪽에서 다른 쪽으로 어떤 일이 발생했음을 알려주는 것.
노드는 대부분 이벤트를 기반으로 하는 비동기 방식으로 처리한다. 그리고 비동기 방식으로 처리하기 위해 서로 이벤트를 전달한다.
이벤트를 주고받는 방법
EventEmitter의 주요 메소드
(1) on(event, listener) : 지정한 이벤트의 리스너를 추가한다.
(2) once(event, listener) : 지정한 이벤트의 리스너를 추가하지만, 한 번 실행한 후에는 자동으로 리스너가 제거된다.
(3) removeListener(event, listener) : 지정한 이벤트에 대한 리스너를 제거한다.
예제 코드
// 미리 정의된 이벤트 실행 process.on('exit', function(){ console.log('exit 이벤트 발생함'); }); // 사용자 정의 이벤트 실행 process.on('test', function(count){ console.log('test 이벤트 발생함 : %s', count); }); setTimeout(function(){ console.log('2초 후에 test 이벤트 전달 시도함.'); process.exit(); process.emit('test', '2'); },2000);
결과 값
2초 후에 tick 이벤트 전달 시도함.
exit 이벤트 발생함
Program exited with code 0
3. 파일 다루기
파일 읽고 쓰기 관련 메소드(fs 모듈에 존재)
(1) readFile(filename, [encoding], [callback])
비동기식 IO로 파일을 읽어온다.
(2) readFileSync(filename, [encoding])
동기식 IO로 파일을 읽어온다.
(3) writeFile(filename, data, encoding='utf8', [callback])
비동기식 IO로 파일을 쓴다.
(4) writeFileSync(filename, data, encoding='utf8')
동기식 IO로 파일을 쓴다.
파일을 직접 열고 닫으면서 읽거나 쓰기(fs 모듈에 존재)
(1) open(path, flags, [mode], [callback])
파일을 연다.
(2) read(fd, buffer, offset, length, position, [callback])
지정한 부분의 파일 내용을 읽는다.
(3) write(fd, buffer, offset, length, position, [callback])
파일의 지정한 부분에 데이터를 쓴다.
(4) close(fd, [callback])
파일을 닫는다.
파라미터 설명
buffer : 바이너리 데이터를 읽고 쓸 때 사용하는 객체. write() 메소드를 사용해 문자열을 버퍼에 쓰거나, 처음부터 문자열을 사용해 버퍼 객체를 만들 수 있다.
offset : 파일을 읽거나 쓰기 위한 시작점
length : 파일을 읽거나 쓰기 위한 길이
position : 파일에서 읽을 위치를 지정하는 인수. position이 null의 경우, 현재의 파일 위치에서 데이터를 읽고 파일 위치가 갱신된다. position이 정수이면 파일 위치는 변경되지 않는다.
파일을 열 때 사용하는 대표적인 flags
(1) r
읽기에 사용하는 플래그. 파일이 없으면 예외 발생.
(2) w
쓰기에 사용하는 플래그. 파일이 없으면 만들어지고, 파일이 있으면 이전 내용을 모두 삭제한다.
(3) w+
읽기와 쓰기에 모두 사용하는 플래그. 파일이 없으면 만들어지고, 파일이 있으면 이전 내용을 모두 삭제한다.
(4)a+
일기와 추가에 모두 사용하는 플래그. 파일이 없으면 만들어지고, 있으면 이전 내용에 새로운 내용을 추가한다.
예제 코드
참고 사이트
https://nodejs.org/api/fs.html#fs_fs_read_fd_buffer_offset_length_position_callback
'■ Front-End > - Node.js' 카테고리의 다른 글
gyp: No Xcode or CLT version detected! 에러 해결하기 (0) 2020.04.02 #5-1. http 모듈을 이용한 웹 서버 만들기 (0) 2019.06.26 # 연습문제 1 (0) 2019.06.25 #2-3. 노드의 자바스크립트와 친해지기 (0) 2019.05.09 #1. 노드 간단하게 살펴보기 (0) 2019.05.01