본문 바로가기

전체 글60

Type에서 데코레이터 사용하기 데코레이터 TypeScript 및 ES6에 클래스가 도입됨에 따라, 클래스 및 클래스 멤버에 어노테이션을 달거나 수정하기 위해 추가 기능이 필요한 특정 시나리오가 있습니다. 데코레이터는 클래스 선언과 멤버에 어노테이션과 메타-프로그래밍 구문을 추가할 수 있는 방법을 제공합니다. 데코레이터는 JavaScript에 대한 2단계 제안이며 TypeScript의 실험적 기능으로 이용 가능합니다. 설정방법 명령줄 tsc --target ES5 --experimentalDecorators tsconfig.json { "compilerOptions": { "target": "ES5", "experimentalDecorators": true } } 데코레이터 합성 function first() { // 데코레이터 팩토리.. 2022. 11. 5.
TypeORM에서 메모리DB(pg-mem) 사용해서 테스트 코드 만들기 repository를 테스트 할 때 mock을 사용하면 정확한 테스트가 어렵고 그렇다고 실제 DB를 사용하자니 설정이라든가 롤백작업을 해주어야 한다. 그래서 메모리DB를 사용해서 테스트를 하는 경우가 있는 데 TypeORM에서 메모리 DB 사용해서 테스트 하는 방법을 정리한다. pg-mem 설치 npm i --save pg-mem pg-mem import 및 db 가져오기 import { DataType, newDb } from 'pg-mem'; const db = newDb(); current_database 함수 만들기 db를 실행하면 current_database 함수가 실행이 되는 데 해당 함수가 pg-mem에는 없어서 에러가 나온다. 해당 함수를 추가해 주자 db.public.registerFu.. 2022. 11. 4.
개발환경 도입기5편 - Docker Swarm으로 테스트 서버 구축하기 현재 개발되고 있는 투자플랫폼 테스트 서버를 재구축을 해서 거기에 대한 애기를 할려고 합니다. 다시 서버를 구축하게 된 이유 현재 개발중인 투자플랫폼 같은 경우 정식으로 런칭이 안되었기 때문에 테스트(개발) 서버만 구축이 되어있는 상태였습니다. 그런데 개발되고 있는 투자플랫폼 서비스를 투자자쪽에서 개발상태를 보기를 원했고 문제는 해당서버는 아슬아슬할 정도로 자원을 최대한으로 사용하고 있어 안정적이지 못했습니다. 서버가 안정적이지 못하니 서비스가 죽는 경우가 빈번했고 투자자에게 혹은 다른 사람들에게 소개를 하기 어려웠습니다. 그래서 안정적으로 서버를 바꿔달라는 요청이 있어 서버환경을 수정하게 되었습니다. 이전 테스트 서버 기존의 테스트 서버의 경우 하나의 AWS EC2 인스턴스를 사용하였고 배포의 경우 각.. 2020. 4. 21.
개발환경 도입기4편 - CI 서버 설정을 해보아요~ 안녕하세요 개발팀 김형진입니다. 이번에는 최근에 설정한 CI서버에 관해서 이야기할려고 합니다. Jenkins를 사용해 CI서버를 구축하였고 아직 개선해야 할 점이 많지만 현재까지 구축한 방법과 앞으로의 개선사항을 애기해 볼까 합니다. CI 서버의 필요성 일단 이전 방식 같은 경우 개발자PC에서 바로 빌드하고 배포를 하는 방식이였습니다. 수동으로 하는 방식이였고 프로파일에 따른 빌드도 잘 관리가 안되고 있었습니다. 이제 CI 서버가 생김으로써 이제 개발자 PC에서 소스를 빌드해서 배포하지 않고 SCM 서버에 있는 master 브런치에 해당하는 소스를 CI 서버에서 빌드해서 테스트 서버에 배포합니다. 이전 방식은 이번에 새로 MSA방식으로 구축되는 프로젝트에 맞지 않았습니다. MSA 방식으로 개발되면서 이전.. 2020. 4. 20.