본문 바로가기

전체 글164

버퍼, 스트리밍 (2) const fs = require('fs'); const readStream = fs.createReadStream('./readme.txt , { highWaterMark: 1}'); // ./readme.txt 읽는다. // highWaterMark :16 => 16 바이트 식으로 읽을 것이 다. // 16바이트 버퍼를 채우면 읽고, 그 다음 16바이트를 또 읽고, 스트리밍 흘러가는 방식. const data = [ ]; readStream.on('data', (chunk) => { //16바이트씩 오는 것을 chunk(버퍼들)라고 부른다. data.push(chunk); console.log('data', chunk, chunk.length); }) // 스트림은 => 이벤트 기반으로 동작한다. d.. 2019. 10. 20.
버퍼, 스트리밍 (1) * 버퍼를 사람이 읽을 수 있도록 string 으로 바꿔준다. DATA => BUFFER (작은 저장 공간) 데이터를 조각조각 때서 버퍼에 채운다. => 다음 버퍼로 옮긴다. => 반복작업 공간에 다 찰때까지 기다리는 시간. 유튜브에서 버퍼링 걸리는것이, 촬영 데이터가 옮겨지는 버퍼가 다 차지 않아서 버퍼링이 걸린다. 버퍼링을 채우고 옮겨야 한다. 다 채워진 버퍼를 상대방에게 보낸다. 스트리밍이란 (stream)=> 버퍼링해서 다 채워진 버퍼를 상대방에게 보낸다. 또 새로운 공간을 만들어서 버퍼를 채워서 보낸다. 버퍼링 공간에서 조금씩 조금씩 나눠서 전달된다. 나눠진 조각을 chunk라고 부른다. 2019. 10. 20.
promisify, callback, promise, async // callbackify 다시 콜백으로 되돌려줌. // promisefy!!!!!!! 제일 중요하다. // deprecate 서비스 중단 하기전 미리 warning 줄 수 있음. const util = require('util'); const crypto = require('crypto'); const dontuseme = util.deprecate( (x,y) =>{ console.log(x + y); }, ' 조금 있으면 지원하지 않습니다. (12월) ') dontuseme(1,2); // 지원이 조만간 중단될 메서드임을 알려줄때 사용 // ex) 서비스가 바로 망가지는 것을 막아주기 위해 알려줌. const randomBytesPromise = util.promisify(crpyto.randome.. 2019. 10. 20.
URL 모듈 , querystring 모듈 url.URL ; search 처리가 편함. (WHATWG) 쿼리문 자유롭게 관리 할 수 있음. searchParams 불러오고 관리를 끝낸 후 => toString으로 바꿔주기만 하면 됨. (객체불러와서 고치는 것이기 때문) WHATWG searchParams로 가져와서 따로 쿼리 string 모듈은 필요 없음. url.parse ; 기존 방식은 호스트가 없을 때도 쓸 수 있다. const querystring = require('querystring'); 쿼리 스트링 모듈로 불러와서 다시 파싱함. querystring.stringify(query) 파싱된 커리를 다시 집어 넣으면 하나로 합쳐줌. 2019. 10. 20.