본문 바로가기

타입스크립트8

쿼리 대신 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.. 2022. 2. 8.
데스크탑에서 JS 또는 TS Playground 앱 (RunJS) RunJS는 데스크탑에서 JavaScript 또는 TypeScript에 대한 Playground를 제공합니다. 아래 그림과 같이 소스코드를 작성하는 즉시 결과값이 우측에 표출됩니다. 다운로드는 RunJS - A playground for JavaScript and TypeScript 에서 가능합니다. 탭을 추가하거나, 테마를 변경하거나, NPM 모듈을 설치하고자 하는 경우 22,000원 가량의 라이선스를 구매해야 합니다. 2022. 1. 13.
TypeScript 4.3 신기능 정리 목차 클래스 오버라이드 플래그 템플릿 문자열 타입 개선 ECMAScrpt #private 클래스 요소 ConstructorParameters를 추상클래스에서 사용 항상 참인 Promise 검사 Import 자동완성 편집기 지원 @link 태그 Enum과 임의의 값 비교 불가 클래스 오버라이드 플래스 부모 클래스를 상속받은 자식 클래스가 부모의 메소드를 재정의할 수 있는데, 이때 어떠한 이유로 부모 클래스의 해당 메소드가 삭제되는 경우, 자식 클래스에서는 별도의 오류를 발생시키지 않아 해당 메소드가 오버라이드된 것인지 아닌지 확인하기 어렵다. class SomeComponent{ show(){ console.log('show a1'); } hide(){ console.log('hide a1'); } } c.. 2022. 1. 13.
현재 시간을 filetime, unixtime, 포맷 형식으로 출력하는 프로그램 @용어정리 유닉스 시간 (Unix time) : 1970년 1월 1일 00:00:00 UTC 부터 경과 시간을 초 (또는 밀리초) 로 환산하여 정수로 나타낸 것이다. Node.js의 Date.now() 함수는 밀리초를 나타내기 위해 64비트를 사용한다. 파일타임 (Filetime) : 윈도우가 지원하는 시간 포맷 중 하나이다. 1000만 분의 1초 단위 (100 나노초)로 표현되며, 1601년 1월 1일을 기준으로 경과한 시간을 표현한다. @본문 현재 시간 또는 현재 시간으로부터 일정 시간 이전/이후의 시간을 유닉스 시간과 파일타임으로 변환하는 프로그램입니다. ./time_printer.exe [unixtime/filetime/format] [현재로부터 시간 차이 (밀리초) (기본값 0)] ./time_.. 2021. 2. 23.
타입스크립트에서 worker_threads 사용 기본 예제 const { threadId, parentPort } = require('worker_threads'); parentPort.on('message', value => { console.log('threadID: ' + threadId); console.log('parent message: ' + value); parentPort.postMessage('World'); parentPort.close(); }); @개발환경 Node v14.13.0 TypeScript v4.0.3 @사전설치 npm install --save ts-node npm install --save typescript main.ts /** * INFO: ts-node와 typescript가 설치되어 있어야 합니다. * npm inst.. 2021. 2. 23.
VS Code에서 타입스크립트 디버깅하는 법 [개발환경] Node.js 버전: 12.14.0 VS Code 버전: 1.47.2 타입스크립트 버전: 3.9.5 [사전조건] 타입스크립트가 글로벌 모드로 설치되어 있어야 한다. npm install -g typescript [작업순서] 타입스크립트 프로젝트를 위한 폴더를 생성한다. (예시: tsc_deb_001) npm init -y tsc -init tsconfig.json에서 다음 항목을 수정한다. (sourceRoot는 주석처리) { "compilerOptions":{ "target": "ES2019", "sourceMap": true, "rootDir": "./" } } 루트 폴더에 app.ts 파일을 생성한다. 그리고 다음과 같이 작성한다. function add(a: number, b: num.. 2020. 7. 21.
타입스크립트 Logger 클래스 작성 [원본]에서 보시는게 더 깔끔합니다. www.notion.so/logger-5955a78345c44fb4886c88c00000bba8 [개발환경] 운영체제: 윈도우 10 Pro 64비트 빌드버전: 1903 CPU: Intel(R) Core(TM) i7-7700 램: 32GB Node.js 버전: v12.18.2 TypeScript 버전: 3.9.5 winston 버전: 3.3.3 [tsconfig.json] { "compilerOptions": { "target": "ES2019", "module": "commonjs", "noImplicitAny": false, "skipLibCheck": true, "forceConsistentCasingInFileNames": true } } 이 중에서 특히 "no.. 2020. 7. 2.
타입스크립트 기반 간단한 TCP 서버/클라이언트 개발 이번에는 타입스크립트를 사용하여 간단한 TCP 서버/클라이언트를 만드는 방법에 대해 설명합니다. [TCP 서버] tcp_server라는 폴더를 생성한 후에 터미널에서 다음과 같이 입력하여 프로젝트를 초기화합니다. yarn init 그러면 다음과 같은 package.json 파일이 생성됩니다. { "name": "tcp_server", "version": "1.0.0", "main": "index.js", "license": "MIT", "private": true } 그리고 다음과 같이 입력하여 타입스크립트 환경을 구성합니다. yarn add -D typescript tsc --init 그러면 다음과 같이 tsconfig.json 파일이 생성됩니다. 아래 내용과 다르면 같게 변경해줍니다. { "compi.. 2019. 12. 29.