본문 바로가기
반응형

전체글587

2. NestJS & TypeORM 환경에서 Monorepo 구성하기 - TypeORM 추가하기 지난 시간 에 이어, Monorepo로 구성된 프로젝트에 TypeORM을 추가해보겠습니다. 1. 환경 설정 저 같은 경우 PostgreSQL을 사용할 예정이라 pg 를 기반으로 진행하겠습니다. 필요한 패키지들을 먼저 추가합니다. yarn add @nestjs/typeorm typeorm pg typeorm-naming-strategies class-transformer typeorm-naming-strategies TypeORM에서 Camelcase 필드를 Snake 컬럼에 매핑하기 를 위해 사용됩니다. class-transformer Entity Json을 Dto Instance으로 편하게 변환하기 위해 사용합니다. 그리고 TypeORM과 연동되어 로컬에서 실행할 PostgreSQL DB를 위해 doc.. 2021. 9. 3.
PostgreSQL에서 Order By가 선적용되는 슬로우 쿼리 해결책 PostgreSQL 10.x 를 사용하다보면 간혹 옵티마이저가 잘못된 판단을 할때가 있습니다. 이번 경우에는 Order By 가 선 적용되는 실행계획을 어떻게 개선할지 알아보겠습니다. 1. 문제 상황 이를 테면 아래 쿼리의 경우 보통 1~5초 정도 수행됩니다. SELECT "vouchers"."id" FROM "vouchers" AS "vouchers" WHERE "course_id" in (select "id" from "courses" WHERE ("slug" = '코딩테스트-자바-실전' AND "deleted_at" IS NULL)) AND "user_id" in (select "id" from "users" WHERE ("deleted_at" IS NULL)) AND "deleted_at" IS .. 2021. 8. 21.
IntelliJ & WebStorm에서 ES6(& TS) Import 문에 space 포함시키기 IntelliJ나 WebStorm의 기본 import 구문은 space가 없는 형태인데요. NestJS를 비롯해서 사내 프로젝트등의 Lint 규칙이 space가 포함된 형태라면 import 템플릿을 변경할 필요가 있습니다. import 템플릿 변경 IntelliJ나 WebStorm에서 아래를 따라 체크박스를 해줍니다. Preferences -> Editor -> Code Style -> JavaScript TypeScript -> Spaces -> Within -> ES6 import/export braces 그럼 아래와 같이 import시에도 자동으로 space가 포함된 형태가 됩니다. 2021. 8. 17.
1. NestJS & TypeORM 환경에서 Monorepo 구성하기 - 기본 환경 구성 및 명령어 지난 시간에 yarn workspace 를 활용한 Monorepo를 소개 드렸는데요. 이번 시간에는 NodeJS의 대표적인 MVC/DI 프레임워크인 NestJS 를 활용한 모노레포 구성을 진행해보겠습니다. 가끔 NestJS를 Spring 프레임워크와 비교하는데요. NestJS는 Spring 중에서도 Spring MVC와 같은 역할을 하는 것이지 Batch / Cloud / Security / Data 등을 모두 지원하는 엔터프라이즈 프레임워크인 Spring 프레임워크 전체와 비교하기엔 어렵습니다. 누가 더 뛰어난 프레임워크를 이야기하는건 아니지만, 100% 대칭된다고 보기는 어려워서 오해하시는 분들이 계셔서 먼저 말씀드립니다. 이번 편에서는 TypeORM 등의 다른 프레임워크까지의 통합은 배제하고, Ne.. 2021. 8. 16.
(Windows) 프린터 없을 때 PDF로 인쇄 대체하기 부동산 등기를 비롯해서 공공 사이트를 통해 서류를 뽑을때 프린터가 없는 경우 제대로 뽑을 수가 없는데요. 이럴때 알 PDF를 이용하면 인쇄를 PDF로 대체할 수가 있습니다. 최근 이사를 하는 지인이 이걸 몰라해서 작성하게 되었습니다. 진행하시기전에 알 PDF가 설치되어있어야 합니다. 알 PDF 알 PDF 가 설치되어 있으면, 바로 등기부등본을 통해 진행해보겠습니다. 방법 등기부 등본 열람 화면에서 열람을 선택하면 아래와 같이 출력 버튼이 있는데요. 여기서 프린터 선택 화면에서 ALPDF를 선택합니다. 그리고 출력 혹은 확인 버튼을 클릭해 인쇄를 하게 되면, 아래와 같이 알 PDF로 문서가 열람 됩니다. 이를 PC에 저장하면 PDF로 저장 완료 됩니다. 2021. 8. 15.
객체지향 (Object Oriented) 디자인 (Design) 여기서 이야기하는 디자인은 코드 설계와 동일하게 봐도 무방하다. 디자인이 왜 중요한가? 요즘의 웹 애플리케이션 개발에서는 디자인에 대한 지식이 없더라도, 원하는 바대로 작동하는 웹 애플리케이션을 만들 수 있다. 특히나 최근의 언어들은 문법이 너무나 친절하여 자신의 생각을 순차적으로 정리만 할 수 있다면 누구나 원하는 웹 애플리케이션을 만들 수 있다. 작은 규모의 웹 애플리케이션에서는 이렇게 디자인을 전혀 고려하지 않고, 기능 구현에만 신경써도 문제는 없다. 아니, 아예 좋지 못한 디자인이라해도 문제가 되지 않는다. 객체간의 복잡한 관계, 계층화 되지 않은 구조 등 모듈화가 전혀 없어도 개발자의 머릿속에 모든 것들을 담아두고 개발을 할 수 있기 때문이다. 반대로 얘기하면 특정 누군가만 손댈수 있고, 그 사.. 2021. 8. 13.

728x90
반응형