TypeORM 4

<TIL> git reset, TypeORM, Jest

🧭 깃 git cherry-pick [커밋해시] - 현재 브랜치로 [커밋해시]에 해당하는 커밋 가져오기 git reset --hard [커밋해시] - 현재 브랜치를 [커밋해시]까지 강제로 되돌리기 TypeORM JOIN JOIN 방법 4가지 https://seungtaek-overflow.tistory.com/9 [TypeORM] Relation 관계에서 Join을 하는 방법들 RDBMS를 사용할 때 테이블 간의 참조를 통한 관계는 필수적이다. Node.js 진영에서 가장 핫한 ORM 라이브러리인 TypeORM에서 관계가 맺어져 있는 테이블을 다음 4가지 Join 하는 방법들을 통해 실제 쿼리 seungtaek-overflow.tistory.com https://velog.io/@josworks27/Ty..

클래스/└ TIL 2022.05.14

<TIL> 오늘 만난 에러들

🧭 [ExceptionHandler] Nest can't resolve dependencies of the ... 에러 해당 기능의 Module에서 의존성을 설정하면 해결됩니다. MissingPrimaryColumnError: ... 에러 @PrimaryColumn을 추가하면 해결됩니다. UpdateValuesMissingError: ... 에러 DB의 데이터를 업데이트하는데 값이 제대로 들어가지 않아서 발생하는 에러입니다. DB에 넣을 데이터를 DB에서 찾아오는데 await를 누락했습니다. await만 추가하니 정상 작동하였습니다.

클래스/└ TIL 2022.05.11

<TIL> 외부 API 요청 응답 시간 개선

🧭 깃헙 이슈 생성 깃헙에서는 프로젝트에 대한 이슈를 생성해서 필요 기능 구현, 디버깅, 마일스톤 관리 등을 할 수 있습니다. 외부 API 요청 성능 개선 좌표값을 구하기 위해 카카오 API 및 공공 API를 활용하고 있습니다. 요청 3개를 보낼 경우 3.022s, 10개를 보낼 경우 9.666s 정도 소요되었습니다. 각각의 요청을 병렬처리하여 응답속도를 개선하였습니다. 요청 3개를 보낼 경우 1.027s, 10개를 보낼 경우 1.353s 정도 소요되었습니다. 그러나 429 Too Many Requests 에러를 응답받았습니다. 40~50개의 요청을 한번에 보내다보니 kakao API에서 응답을 거부하였습니다. 어쩔 수 없이 요청을 20회로 나누어 보냈습니다. 대신 시간이 4초대로 늘어났습니다. 프로젝트..

클래스/└ TIL 2022.05.10

<TIL> IoC / DI, unknown database

🧭 IoC / DI 네스트(NestJS)를 공부하다가 IoC와 DI라는 개념을 접했습니다. 클래스의 생성과 사용을 구분해서 관심사를 분리합니다. IoC(Inversion of Control, 제어 역전)란 생성의 제어권을 프레임워크에 넘겨주는 것입니다. IoC의 방법으로 DL과 DI가 있고, 다시 DI에는 Setter, Constructor, Method 방식이 있습니다. 일반적으로 IoC는 DI를 사용하며, DI 중에서 Constructor 방식을 사용합니다. 네스트에서는 서비스 클래스를 컨트롤러 클래스에 주입하게 됩니다. 에러 네스트에 MySQL을 연결하던 중 "Unknown database 'DB이름'" 에러가 발생했습니다. TypeOrm이 알아서 데이터베이스를 생성해 줄 것이라고 착각했기 때문입니..

클래스/└ TIL 2022.04.28