.ssh/config를 활용하여 ssh 원격 접속하기

개발/AWS 2021. 11. 28. 01:00

기존의 경우, ssh를 통해 AWS 또는 다른 컴퓨터에 접속할 때, 매번 ip 주소를 아래와 같이 입력하였었다. $ ssh "사용자 계정"@"IP 주소" 매번 위와 같이 명령어를 [사용자 계정]@[IP 주소]를 입력하는 것은 번거롭고, IP 주소를 기억해야된다는 단점이 있다. ~/.ssh내에 있는 config 파일에 호스트 이름, IP 주소, 사용자 계정을 등록하고, "$ ssh 호스트 이름" 과 같이 사용하면 위와 같은 불편함을 해소할 수 있다. $ vi ~/.ssh/config vim을 통해 ~/.ssh/config 파일을 아래와 같은 형태로 수정한다. Host "원하는 호스트 이름" HostName "Ip 주소" User "사용자 계정 이름" 저장한 후엔 아래와 같이 ssh 접속을 할 수 있다. $..

[TypeORM] QueryFailedError: column "relation_Id" does not exist

개발/TypeORM 2021. 11. 25. 08:20

아래와 같이 creaeteQueryBuillder를 통해 Join 테이블에서 'storyId' 칼럼의 값만을 가져오는 쿼리를 구성하는데 QueryFailedError: column "storyId" does not exist와 같이 QueryFailed가 발생하였는데 typeorm 깃헙에도 이슈로 남아있다. const likeList = await this.connection .createQueryBuilder(Like, 'like') .where('like.userId = :userId', { userId: user.id }) .select(['storyId']); const filter = await this.repository .createQueryBuilder('story') .where('sto..

[TypeScript] for (let tag of data.tags)) 사용시 TypeError: 'x' is not iterable

개발/NestJS 2021. 11. 22. 08:20

원인 data.tags가 Promise.all 타입의 non-iterable 객체여서 for - of를 사용하지못하므로 TypeError가 발생하였다. 해결방법 Object.keys()를 통해 for (let tag of Object.keys(data.tags))처럼 사용하여 TypeError 문제를 해겷하였다.

[TypeORM] subQuery 사용하여 정보 가져오기

개발/TypeORM 2021. 11. 19. 08:20

pagination이 적용된 GET 메소드 API를 구성할 때, 주로 createQueryBuilder()를 활용하여 쿼리를 구성하고, .skip()과 .take()를 통해 pagination을 적용시킨다. 만약 다른 테이블에서 특정 칼럼의 값을 가져와 해당 값을 통해 현재 createQueryBuilder가 작동하는 테이블에서 필터링을 통해 값을 가져와야되면, TypeORM 공식 문서에 나와 있는 것과 같이 .getQuery(), .getParameter()를 사용하여 subQuery를 구성할 수 있다. TypeORM - Amazing ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, PostgreSQL, MariaDB, SQLite..