[TypeORM] AfterUpdate (Executed not after update, but during update)

개발/TypeORM 2021. 8. 31. 08:20

NestJS SubScriber에서 TypeORM AfterUpdate를 활용하여 알림을 구현하던 중, AfterUpdate가 사실상 WhileLoading(?)으로 작동하는 이슈가 발생하게 되었다. 왜 그런가 찾아보니 typeorm 깃헙 이슈에도 등록이 되어있는 이슈였다. 원인은 아마도 typescript가 오래된 버전의 javascript로 컴파일되면서 async & await 쪽에 문제를 일으키는 것 같다고 되어있었다. 어찌됐든 해결책은 AfterUpdate 함수의 맨 앞에 commitTranscation()과 startTrasnsaction()을 아래와 같이 추가하여 현재의 트랜잭션을 커밋하고, 새로운 트랜잭션을 시작하는 것이었다. async afterUpdate(event: UpdateEvent..

Ably.io 와 NestJS를 활용한 실시간 채팅

개발/NestJS 2021. 8. 30. 08:20

Ably.io에 대한 글을 쓰게된 계기 PCUP(가칭)이라는 sns 서비스를 만들면서 채팅 기능을 구현할 일이 생기게 되었고, 정석적으로라면 socket.io와 Redis를 활용하여 채팅을 구현하는 것이 맞겠지만, Redis 서버를 사용함으로서 발생하는 비용면에서 Ably.io를 활용해보는 것이 좋겠다 라는 조언에 삽질을 하게 되었고 아아아악, Ably.io를 쓰시는 다른 분들이 삽질을 하지 않았으면 좋겠어서 이 글을 쓰게 되었다. 주의) 제가 0개 국어라 설명이 외계어처럼 느껴지실 수도 있습니다. :D Ably.io에 대해 Ably.io는 채팅, GPS, Multi-User, 그래프나 차트의 실시간 업데이트를 위한 Realtime 서비스이다. Ably.io의 사이트에 들어가보면 Publish, Subs..

Article Thumbnail