-
#4. 노드의 기본 기능 알아보기■ Front-End/- Node.js 2019. 6. 25. 00:52
http://www.yes24.com/Product/goods/32442876
Do it! Node.js 프로그래밍
지금 당장 서버가 필요하다면? 실제 서버로 구동 가능한 코드로 배워라! 웹 서버, 채팅 서버, 모바일 서버, 위치 기반 서비스 서버, JSON-RPC 서버까지 한 권으로 끝낸다! 이 책은 누구나 쉽게 접근할 수 있는 자바스크립트 언어로 웹 서버를 만들며 서버 개발에 입문한다. 웹 서버를 만들며 작성한 소스 코드를 바로바로 수정해서 다양한 서버를 단박...
www.yes24.com
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
File System | Node.js v12.4.0 Documentation
File System# The fs module provides an API for interacting with the file system in a manner closely modeled around standard POSIX functions. To use this module: const fs = require('fs'); All file system operations have synchronous and asynchronous forms. T
nodejs.org
'■ 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