본문 바로가기

Javascript/Node.js18

Puppeteer 새 창 인식 async function getNewTab(browser) { let resultPromise; async function onTargetcreatedHandler(target) { if (target.type() === 'page') { const newPage = await target.page(); const newPagePromise = new Promise(y => newPage.once('domcontentloaded', () => y(newPage))); const isPageLoaded = await newPage.evaluate(() => document.readyState ); // 이벤트 비활성화, 메모리 누수 방지 browser.off('targetcreated', onTarget.. 2024. 2. 7.
Error: listen EACCES: permission denied 해결하기 C:\Users\Smart\geoExcel\server>nodemon app [nodemon] 2.0.7 [nodemon] to restart at any time, enter `rs` [nodemon] watching path(s): *.* [nodemon] watching extensions: js,mjs,json [nodemon] starting `node app.js` body-parser deprecated undefined extended: provide extended option app.js:12:17 node:events:491 throw er; // Unhandled 'error' event ^ Error: listen EACCES: permission denied 0.0.0.0:400.. 2023. 1. 3.
Error (amqplib) : Channel closed by server: 406 (PRECONDITION-FAILED) |Consul| Unregister service! Error: Channel closed by server: 406 (PRECONDITION-FAILED) with message "PRECONDITION_FAILED - delivery acknowledgement on channel 1 timed out. Timeout value used: 1800000 ms. This timeout value can be configured, see consumers doc guide to learn more" at Channel.C.accept (C:\Users\Smart\Project\MSAexpress\node_modules\amqplib\lib\channel.js:422:17) at Connection.mai.. 2022. 4. 12.
Command Pattern - 행위 디자인 패턴 명령 (Command) 가장 일반적 정의 : 실행에 필요한 모든 정보들을 캡슐화 하고 이렇게 만든 모든 객체를 명령이라 할 수 있음 함수나 기능을 직접적으로 호출하는 대신 이러한 호출을 수행하려는 의도롤 나라태는 객체를 만듦 "그 의도를 구체화 하여 실제 작업으로 변환하는것을 다른 컴포넌트가 담당" -명령 : 함수, 함수를 호출하는데 필요한 정보를 캡슐화 하는 객체 -클라이언트 : 명령을 생성하고 호출자에게 제공하는 컴포넌트 -호출자 : 대상에서 명령의 실행을 담당하는 컴포넌트 -대상 : 호출의 주체, 단일한 함수이거나 객체의 멤버 함수일 수도 있음 네 컴포넌트는 패턴을 구현하는 방식에 따라 크게 달라짐 작업을 직접 실행하는 대신 명령 패턴을 사용하는 여러 어플이 있음 -명령은 나중에 실행 예약 가능 -.. 2022. 2. 14.
Middleware Pattern - 행위 디자인 패턴 미들웨어 (Middleware) Node.js 의 가장 독특한 패턴 일반적 미들웨어 : 하위 수준 메커니즘 추상화에 도움되는 소프트웨어 제품군 여기서는 "하위 계층의 서비스들과 응용 프로그램 사이에서 접착제 역할을 한다"라고 보면되겠음 1. Express의 미들웨어 Express 미들웨어는 파이프라인으로 구서오디어 들어오는 HTTP 요청과 요청에 대한 응답을 처리하는 서비스 집합임 Express 는 자유롭고 작은 웹 프레임워크, 개발자가 핵심에 손 대지 않고도 쉽게 기능을 쉽게 만들고 배포 가능 Express 미들웨어 특징 function (req, res, next) { ... } req, res는 이미 알고있고, next : 다음 미들웨어를 트리거 할 때 호출되는 콜백 어플에 대한 지원을 통해 요청을.. 2022. 2. 14.
Iterator Pattern - 행위 디자인 패턴 반복자 (Iterator) 매우 중요하고 일반적으로 사용됨 언어는 어떤 방식으로든 이 패턴을 구현함 배열, 트리 구조와 같은 컨테이너 요소들을 반복하기 위한 공통 인터페이스 또는 포로토콜을 정의 배열은 단순한 루프 필요 트리는 순회 알고리듬 필요 반복자 패턴 사용 시 알고리듬 또는 데이터 구조에 대한 세부정보는 숨기고 모든 유형의 컨테이너를 반복하는데 필요한 공통의 인터페이스를 제공 => 순회 연산의 결과를 처리하는 방식과 순회 안고리듬의 구현을 분리할 수 있음 JS 에서 반복자는 이벤트 이미터와 스트림처럼 반드시 컨테이너일 필요가 없음 다른 유형의 구조에서도 잘 동작 1. 반복자 iterator 프로토콜 = 반환되는 전체가 반복을 위한것 상속 X, 형식적 구조 X, 프로토콜을 통해 구현됨 => 사전에 .. 2022. 2. 14.