본문 바로가기
반응형

전체글589

망했을때 어떻게 할 것인가 한참 리그오브레전드 (a.k.a LOL)에 빠진적이 있었다. 그때 Top 신지드에 꽂혀서 주구장창 그것만 했다. 잘 풀리는 판에서는 하드 캐리하는 내 모습에 골드까지는 그냥 갈 줄 알았다. 근데 수백판을 해도 실버를 못벗어 났다. (다 정글탓이다….) 그러다가 갑자기 다음 시즌부터 실버에서 플레티넘까지 티어가 급 상승하게 되었다. 이렇게 된 계기는 모 커뮤니티의 베스트 공략글 때문이였는데, 그 글에서는 망했을때 어떻게 1인분 할 것인가를 아주 중요하게 다루고 있었다. 모든 라인전에서 항상 이길 수는 없다. 그럼 라인전을 지면 게임도 지는 건가? 라고 하면 그건 아니라는 것이다. 망한 판에서 어떻게 복구할 것인가를 아주 상세하게 다룬 그 글을 보고 난 뒤부터 티어가 급 상승하게 되었다. 0/7/0 으로 쫄.. 2021. 9. 12.
gitbook CLI 실행시 cb.apply 발생할 경우 외부 강의를 위해 gitbook을 처음 사용해보았습니다. 설치나 사용법 자체는 워낙 다른 블로그들에서 소개를 많이 해주기 때문에 여기서 소개하지는 않겠습니다. 간단하게 다음과 같이 설치와 프로젝트를 구성할 수 있습니다. npm install -g gitbook-cli 문제 설치가 잘되었는지 확인을 해보면 gitbook -h 다음의 에러를 만나게 됩니다. Installing GitBook 3.2.3 /usr/local/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:287 if (cb) cb.apply(this, arguments) TypeError: cb.apply is not a function at .. 2021. 9. 9.
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.

728x90
반응형