본문 바로가기

TIL150

버퍼, 스트리밍 (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.