TypeScript

    [fake-trip]TypeORM 1:1관계 조회 쿼리 한번으로 줄이기(findOne)

    [fake-trip]TypeORM 1:1관계 조회 쿼리 한번으로 줄이기(findOne)

    프로젝트 진행중 TypeORM의 orm 을 사용하여 유저데이터를 조회할때 불필요하게 쿼리가 두번날라가는 현상을 발견하였습니다. users 테이블 users 와 social_platform은 1:1 관계를 형성합니다. 원본 코드 return await this.findOne({ where: { userSocialPlatform: { pk:'카카오서버의 pk값', type:'kakao_talk' } }, relations: ['userSocialPlatform'], }); 카카오 소셜로그인시 받아온 카카오측DB의 id(pk)값과 type을 기반으로 유저데이터를 조회합니다. 이때 발견한 문제는 쿼리가 불필요하게 두번나간다. 입니다. 조회시 사용된 쿼리문 console.log query: SELECT DISTI..

    [nest.js & jest] nest 에서 jest 사용시 Cannot find module 해결

    FAIL test/auth.e2e-spec.ts ● Test suite failed to run Cannot find module 'src/apps/booking/entities/booking.entity' from '../src/apps/auth/entities/user.entity.ts' e2e test를 진행하던중 발견한 내용입니다. 해당 내용은 모듈을 import문에서 발생하는것입니다. 여기사 말한 모듈은 외부라이브러리를 포함한 해당 파일내에서 불러오는 다른 모든 외부파일을 의미하게 됩니다. 오류가 발생한 import 문 살펴보기 import { Booking } from 'src/apps/booking/entities/booking.entity'; 해당 import문은 프로젝트 root폴더를 기..

    [VScode] VScode 모듈 자동 import 상대경로로 변경하기

    [VScode] VScode 모듈 자동 import 상대경로로 변경하기

    VScode에서는 모듈에 관련한 메소드 등을 사용시 자동으로 import를 해주는 좋은 기능이 있습니다. (외부라이브러리 혹은 개인이 작성한 모듈 역시 가능합니다) 이때 모듈을 상대경로로 가져올지 절대 경로로 가져올지에 대한 설정이 있습니다. 이에 대해 알아보려 합니다. VScode import 설정 확인해보기 1.VScode의 설정으로 들어갑니다 맥북의 경우 단축키는 Command + , 입니다. 2.import 설정 확인하기 설정에서 Import Module Specifier를 검색해줍니다. 언어 별로 해당 설정이 존재하는 걸 볼 수 있습니다. shortest(경로문이 가장 짧은)은 default값입니다. 3.relative(상대경로)로 바꿔주기 저는 TypeScript도 바꿔주었습니다. 설정 적용 ..

    [nest.js] nest에서 git 없이 프로젝트 생성하기

    네스트 cli로 프로젝트를 시작하게 되면 git이 자동으로 초기화되서 제공됩니다. 저같은경우 이번에 Git WokrFlow 설정 후 작업을해서 불필요 했습니다. 아래와 같은 명령어를 통해 Git을 제외 한 후 프로젝트를 생성할 수 있습니다. nest new 프로젝트이름 --skip-git .git 폴더만 아니라 .gitignore 역시 생성되지 않습니다.

    [nest.js]nest.js 시작하기

    [nest.js]nest.js 시작하기

    시작하기 사용환경 node.js : v16.15.1 yarn : 1.22.19 nest : 9.1.4 mysql : 8.0.29 사용모듈 mysql2, typeorm, @nestjs/typeorm 1. @nestjs/cli 전역설치 nestjs는 cli로 여러가지 기능들을 제공합니다. nestjs 프레임워크 기본 뼈대를 생성해주기도 하고 module, controller등의 파일들을 생성해주고 각각 필요한곳에 자동으로 import, export까지 해준다 yarn global add @nestjs/cli 권한 오류시 명령어 제일 앞에 sudo를 붙이시면 됩니다. 2.새 프로젝트 생성 아래의 명령어로 프로젝트를 시작할 수 있습니다. nest new dingwan-project ******dingwan-pr..