SMALL

분류 전체보기 645

[노드JS] 스트림 단위로 파일 읽고 쓰기

『스트림 단위로 파일 읽고 쓰기』_________________________________________________________________________________________________________ 파일을 읽거나 쓸 때는 데이터 단위가 아닌 스트림 단위로 처리할 수도 있다.스트림은 데이터가 전달되는 통로와 같은 개념이다. 파일에서 읽을 때는 createReadStream(), 파일에 쓸 때는 createWriteStream() 메소드로 스트림 객체를 만든 후 데이터를 읽고 쓰게 된다. 메소드 이름 설명 createReadStream(path, [options]) 파일을 읽기 위한 스트림 객체를 만든다. createWriteStream(path, [options]) 파일을 쓰기 위한..

Study/Node.js 2019.03.23

[노드JS] 버퍼 객체 사용하는 방법 알아보기

『버퍼 객체 사용하는 방법』_______________________________________________________________________________________ Buffer 객체를 사용하는 방법에 대해 알아보자. -------------------------------------------------------------------------------- // 버퍼 객체를 크기만 지정하여 만든 후 문자열을 쓴다. var output = '안녕 1!';var buffer1 = new Buffer(10);var len = buffer1.write(output, 'utf8');console.log('첫 번째 버퍼의 문자열 : %s', buffer1.toString()); //버퍼 객체를..

Study/Node.js 2019.03.23

[노드JS] 파일을 직접 열고 닫으면서 읽거나 쓰기

『파일을 직접 열고 닫으면서 읽거나 쓰기』______________________________________________ 실제로 파일을 읽거나 쓸 때는 한꺼번에 모든 데이터를 읽거나 쓰지 않고 조금씩 읽거나 쓰는 방식을 사용하는 경우도 많다. 또한, 다른 곳에서 받아 온 데이터를 파일에 쓰는 경우도 있기 때문에 파일을 다루는 다양한 방식이 따로 정의되어 있다. 파일을 직접 열고 닫으면서 읽거나 쓰고 싶다면 다음 메소드들을 사용할 수 있다. 메소드 이름 설명 open(path, flags, [mode], [callback] 파일을 연다. read(fd, buffer, offset, length, position, [callback] 지정한 부분의 파일 내용을 읽어 들인다. write(fd, buffer..

Study/Node.js 2019.03.23

[노드JS] 파일 다루기

『파일 다루기』_________________ 노드의 파일 시스템은 파일을 다루는 기능과 디렉터리를 다루는 기능으로 구성되어 있으며, 동기식 IO와 비동기식 IO 기능을 함께 제공한다. 동기식 IO는 파일 작업이 끝날 때까지 대기하며, 비동깃기 IO는 파일 작업을 요청만 하고, 그 다음 자겅ㅂ을 바로 수행한다. 이후 파일 작업이 끝나면 그 상태는 이벤트로 받아서 처리한다. 동기식 IO와 비동기식 IO를 구별하기 위해 동기식 IO 메소드는 Sync라는 단어를 붙인다. ※ 동기식 방식(동기식 IO)을 사용할 때는 파일 처리가 끝날 때까지 대기하므로 처리 속도에 영향을 미칠 수 있다. 파일을 읽어 들이거나 파일에 쓰기파일을 읽어 들이는 기능을 확인하기 위해 ch04_test5.js 파일을 만들고 다음 코드를 ..

Study/Node.js 2019.03.23

[노드JS] 계산기 객체를 모듈로 만들어 보기

지금까지 실행해 본 코드만으로도 한쪽에서 이벤트를 만들어 전달할 수 있고, 다른 쪽에서 그것을 받아 처리할 수 있다는 것을 알 수 있었다. 그런데 항상 process 객체를 사용해 이벤트를 전달한다면, 같은 이름의 이벤트를 사용하는 경우에 충돌이 생길 수도 있다. 이 때문에 별도의 모듈 파일을 만들고 그 안에서 이벤트를 처리하도록 만드는 것이 좋다. 그러면 앞에서 다룬 모듈 구성 방법을 잘 생각하면서 새로운 모듈을 만들어 보자. 먼저 계산기 객체를 모듈로 만들기 위해 calc3.js 파일에 다음 코드를 입력하자. var util = require('util');var EventEmitter = require('events').EventEmitter; var Calc = function(){ var sel..

Study/Node.js 2019.03.23

[노드JS] 이벤트 보내고 받기

노드의 객체는 EventEmitter를 상속받을 수 있으며, 상속받은 후에는 EventEmitter 객체의 on()과 emit() 메소드를 사용할 수 있다. on() 메소드는 이벤트가 전달될 객체에 이벤트 리스너를 설정하는 역할을 하는데 이 리스너 함수는 객체로 전달된 이벤트를 받아 처리할 수 있다. 보통은 노드 내부에서 미리 만들어 제공하는 이벤트를 받아 처리하지만, 필요할 때는 직접 이벤트를 만들어 전달 할 수도 있다. on()메소드 이외에 once() 메소드를 사용할 수도 있다. once() 메소드를 사용할 때는 이벤트 리스너 함수가 한 번이라도 실행하고 나면 자동으로 제거되므로 이벤트를 딱 한 번만 받아서 처리할 수 있다. 이벤트를 다른 쪽으로 전달하고 싶다면 emit() 메소드를 사용한다. 메소..

Study/Node.js 2019.03.23

[노드JS] 이벤트 이해하기

노드는 대부분 이벤트를 기반으로 하는 비동기 방식으로 처리한다. 그리고 비동기 방식으로 처리하기 위해 서로 이벤트를 전달한다.예를 들어, 어떤 함수를 실행한 결과물도 이벤트로 전달한다. 이벤트는 한쪽에서 다른 쪽으로 알림 메시지를 보내는 것과 비슷하다. 즉, '지금 이쪽의 상태는 이렇다'는 정보를 다른 쪽으로 보내는 것이다. 노드에는 이런 이벤트를 보내고 받을 수 있도록 EventEmitter라는 것이 만들어져 있습니다. 다음은 EventEmitter를 사용해 이벤트를 주고받는 방법을 보여 준다. >> 이벤트는 한쪽에서 다른 쪽으로 어떤일이 발생했음을 알려주는 것이다. 이때 다른 쪽에서 이 이벤트를 받고 싶다면 이벤트 리스너(Event Listener)를 등록할 수 있다. 이벤트리스너는 특정 이벤트가 전..

Study/Node.js 2019.03.19

[노드JS] 요청 파라미터 확인하기

URL 객체의 속성을 보면 주소 문자열의 여러 가지 정보가 포함되어 있다.그 중에서도 query 속성은 요청 파라미터 정보를 가지고 있는데, 이 정보를 잘 살펴보면 여러 개의 요청 파라미터가 모두 들어있다. 웹 서버에서는 클라이언트에서 요청한 요청 파라미터를 받아 처리할 때가 많으므로 이 query 속성에 들어 있는 문자열을 다시 각각의 요청 파라미터로 분리해야 한다. 요청 파라미터는 &기호로 구분되는데 querystring 모듈을 사용하면 요청 파라미터를 쉽게 분리할 수 있다. ch04_test1.js 파일에 다음 코드를 추가로 입력한다. // 요청 파라미터 구분하기var querystring = require('querystring');var param = querystring.parse(curURL..

Study/Node.js 2019.03.18

[노드JS] 주소 문자열을 URL 객체로 변환하기

url 모듈에서 문자열을 객체로 만들건아 객체를 문자열로 만들기 위해 사용하는 주요 메소드는 다음과 같다. 메소드 이름 설명 parse() 주소 문자열을 파싱하여 URL 객체를 만들어 준다. format() URL 객체를 주소 문자열로 변환한다. 그러면 네이버 모바일 사이트에서 steve jobs를 검색할 때 사용되는 주소 문자열을 URL 객체로 만들거나 URL 객체에서 다시 원래의 주소 문자열로 바꾸는 방법을 간단하게 확인해보자. ch04_test1.js 파일을 새로 만들고 다음과 같이 url 모듈을 사용하는 코드를 입력한다. var url = require('url'); // 주소 문자열을 URL 객체로 만들기var curURL = url.parse('https://m.search.naver.com/..

Study/Node.js 2019.03.16

[노드JS] 주소 문자열과 요청 파라미터 다루기

웹 사이트에 접속하기 위한 사이트 주소 정보는 노드에서 URL 객체로 만들 수 있다.예를 들어, 구글 사이트에서 영화배우 정보를 찾기 위해 키워드로 actor를 넣고 [검색] 버튼을 누르면, 다음과 같은 주소 문자열을 만들어 검색 요청을 하게 된다. https://www.google.co.kr/?gws_rd=ssl#newwindow=1&q=actor 그런데 이렇게 만들어진 주소 문자열은 단순 문자열이므로 서버에서 이 정보를 받아 처리할 때는 어디까지가 사이트 주소인지, 그리고 어떤 내용이 요청 파라미터인지 구별해야 한다. 이 구별을 위해서 ? 기호를 기준으로 앞에 있는 문자열과 뒤에 있는 문자열을 분리하는 경우가 많다. 이 작업을 쉽게 할 수 있도록 노드에 미리 만드어 둔 모듈이 url 모듈이다. URL..

Study/Node.js 2019.03.16
반응형