본문 바로가기

메모 log (간단메모)/backend3

파일 처리 방식 readFile 방식이 편리하지만 용량에 따른 동일 버퍼가 필요 ex) 1GB 파일 읽기 = 1GB 버퍼 생성 = 1GB 메모리 자원 낭비 동시 사용자가 많을 경우 서버 자원 낭비, 메모리 문제 발생 이를 해결하기 위해서 스트림 활용 100MB 버퍼 생성 후 10번 정도 걸쳐서 전송하는 방식 const writeStream = fs.createWriteStream('./profile.txt'); writeStream.on('finish', ()=>{ console.log("입력 종료"); }); writeStream.write("안녕하세요\n"); writeStream.write("일루아에요~!"); writeStream.end(); /*highWaterMark default: 64KB - 기본 버퍼의 .. 2020. 9. 22.
AJAX 요청 - axios 또는 jQuery axios XMLHttpRequest 대신에 사용되는 통신 라이브러리 중 하나 URL에 한글이 포함된 경우 endcodeURIComponent() decodeURIComponent() https://test.com/root/${encodeURIComponent('한글s')} 기본 활용 axios.get("https://test.com").then((result)=>{ console.log(result.data); }).catch((error)=>{ console.error(error); }); promise 활용하여 get (async ()=>{ try{ const result = await axios.get("https://test.com"); console.log(result).data; }catch.. 2020. 9. 20.
Promise Promise 실행 후 결과는 나중에 수신하는 객체 Callback 대신 Promise *ES2015 (ES6)부터 제공 const condition = true; const promise = new Promise((resolve, reject) => { if(condition){ resolve('성공'); } else{ reject('실패'); } }); promise.then((message) => { console.log(message); }) //resolve 실행시 then 실행, 성공 출력 .catch((error) => { console.error(error); }) //reject 실행시 catch 실행, 실패 출력 .finally(() => { console.log('종료 후 반드시 실행.. 2020. 9. 20.