혼새미로의 블로그
close
프로필 배경
프로필 로고

혼새미로의 블로그

  • 분류 전체보기 (701)
    • 일상다반사 (7)
    • 교양 (6)
    • 생활 유용 정보 (230)
    • 유용한 웹사이트 (4)
    • 유틸리티 (38)
    • 컴퓨터 공학 (351)
      • WebAssembly (1)
      • JavaScript (39)
      • Algorithm (12)
      • Web (3)
      • C++ (31)
      • Go (2)
      • Qt (51)
      • OS (2)
      • A.I. (8)
      • 작업일지 (2)
      • Backend Engineering (3)
    • 게임 (38)
      • 포탈 : 스마일 (9)
      • 하이더 온라인 - 개발일지 (1)
    • 전문연구요원 (11)
    • 감상문 (3)
      • 책 (2)
      • 영화 (1)
      • 게임 (0)
    • 사진 (1)
      • 자연의 모습 (1)
  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
pkg 모듈 실행 시 "(0, assert_1.default)(!this.bar)" 에러 발생하는 경우

pkg 모듈 실행 시 "(0, assert_1.default)(!this.bar)" 에러 발생하는 경우

발생문제 Node.js를 v14에서 v16으로 버전업 후 pkg 모듈을 통해 실행파일을 생성하려고 하면 아래와 같은 에러가 발생할 수 있습니다. > pkg@5.7.0 > Fetching base Node.js binaries to PKG_CACHE_PATH fetched-v16.15.0-win-x64 [ ] 0%> Not found in remote cache: {"tag":"v3.4","name":"node-v16.15.0-win-x64"} > Building base binary from source: built-v16.15.0-win-x64 > Fetching Node.js source archive from nodejs.org... > Error! AssertionError [ERR_ASSERTI..

  • format_list_bulleted 컴퓨터 공학/JavaScript
  • · 2022. 12. 4.
  • textsms
JavaScript로 interface 모사하기

JavaScript로 interface 모사하기

소개 JavaScript에는 class만 존재하고, interface가 없습니다. 따라서, interface를 이용한 아키텍처를 불완전하게 적용할 수 밖에 없습니다. class만으로 interface와 비슷한 기능을 하도록 모사하는 방법을 제안합니다. Step 1. interface base 생성 프로젝트에서 소스 폴더 내에 interfaces 폴더를 생성하고, 그 안에 base.interface.js 파일을 만들어 다음과 같이 작성합니다. /** * 인터페이스 정의 헬퍼 함수 * * @template T * @param {T} newInterface * @returns {T} */ function defineInterface(newInterface){ const NOT_IMPLEMENTED = "thr..

  • format_list_bulleted 컴퓨터 공학/JavaScript
  • · 2022. 8. 6.
  • textsms
쿼리 대신 TypeOrm으로 DB 통신하기 (샘플)

쿼리 대신 TypeOrm으로 DB 통신하기 (샘플)

웹 앱에서 MariaDB, MySQL 등의 RDB와 통신할 때 보통 쿼리와 파라미터를 넘기는데, 사용하는 DB, 테이블, 칼럼이 많아지면 쿼리도 많아지게 되면서 나중에는 프로젝트에 쿼리 문자열로 가득차게 된다. TypeOrm 패키지는 쿼리 대신 객체와 클래스를 이용해서 DB와 통신할 수 있는 방법을 제공한다. 타입스크립트에서 기본 예제를 소개한다. 우선 프로젝트에 mysql, reflect-metadata, typeorm을 설치한다. $ npm install --save typeorm $ npm install --save reflect-metadata $ npm install --save mysql tsconfig.json 파일에 다음의 속성을 추가한다. { "compilerOptions": { "exp..

  • format_list_bulleted 컴퓨터 공학/JavaScript
  • · 2022. 2. 8.
  • textsms
Node.js 버전 강제하기

Node.js 버전 강제하기

설정 루트 디렉토리에 .npmrc 파일 추가하기 engine-strict=true package.json에 engines 속성 추가하기 { "engines": { "node": ">=14.16.0" } } 사용자 관점 리파지토리 클론 후 npm install 입력 (버전 옵션 조건을 만족하지 못한 경우) npm ERR! code EBADENGINE npm ERR! engine Unsupported engine npm ERR! engine Not compatible with your version of node/npm: js_test_01@1.0.0 npm ERR! notsup Not compatible with your version of node/npm: js_test_01@1.0.0 npm ERR! ..

  • format_list_bulleted 컴퓨터 공학/JavaScript
  • · 2022. 1. 19.
  • textsms
Node.js 객체 복사 방식에 따른 수행시간 간단 비교

Node.js 객체 복사 방식에 따른 수행시간 간단 비교

개요 JS에서 각 객체의 깊은 복사 방식에 따른 수행시간을 간단하게 비교한다. 원본 객체 const obj1 = { a: 1, b: "string", c: { name: "Leon", age: "29" } }; JSON 복사 function jsonCopy(obj){ return JSON.parse(JSON.stringify(obj)); } Lodash 복사 function lodashCopy(obj){ return lodash.cloneDeep(obj); } 재귀함수 복사 /** 객체 깊은 복사 */ function cloneObjectDeep(obj) { const clone = {}; if (typeof obj !== 'object') return obj; for (const key in obj) ..

  • format_list_bulleted 컴퓨터 공학/JavaScript
  • · 2022. 1. 12.
  • textsms
C++ vs Node.js vs Go - 멀티스레드 퀵정렬 수행속도 비교

C++ vs Node.js vs Go - 멀티스레드 퀵정렬 수행속도 비교

[실험환경] CPU : AMD Ryzen 7 1700 8-Core Processor Memory : 32.0 GB OS : Windows 10 Pro 데이터 개수 : 2천만개 ~ 3억 2천만개 스레드 개수 : 16개 값의 범위 : 0 ~ 1,000,000,000 [분석] 데이터 개수가 적을 때는 Node.js 가 가장 느린 성능을 보여주었으며, 데이터 개수가 증가함에 따라 Node.js가 Go를 제치고 더 빠른 성능을 보여주었다. Node.js는 멀티스레드를 사용하기 위해 worker_thread를 사용하는데, 각 스레드들이 수행할 작업이 적힌 스크립트 파일 (js)을 읽어서 수행하기 때문에 초반에 지연이 걸리게 되었다. 모든 경우에서 C++가 가장 빠른 속도를 보여주었다. 데이터 개수가 1억 6천만개 ..

  • format_list_bulleted 컴퓨터 공학
  • · 2021. 6. 7.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (701)
    • 일상다반사 (7)
    • 교양 (6)
    • 생활 유용 정보 (230)
    • 유용한 웹사이트 (4)
    • 유틸리티 (38)
    • 컴퓨터 공학 (351)
      • WebAssembly (1)
      • JavaScript (39)
      • Algorithm (12)
      • Web (3)
      • C++ (31)
      • Go (2)
      • Qt (51)
      • OS (2)
      • A.I. (8)
      • 작업일지 (2)
      • Backend Engineering (3)
    • 게임 (38)
      • 포탈 : 스마일 (9)
      • 하이더 온라인 - 개발일지 (1)
    • 전문연구요원 (11)
    • 감상문 (3)
      • 책 (2)
      • 영화 (1)
      • 게임 (0)
    • 사진 (1)
      • 자연의 모습 (1)
최근 글
인기 글
최근 댓글
태그
  • #qt프로그래밍
  • #알고리즘
  • #c++
  • #큐티프로그래밍
  • #JavaScript
  • #QT
  • #nodejs
  • #It
  • #컴퓨터
  • #게임
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바