분류 전체보기76 DB 분할? 이번 팀프로젝트를 진행하며, 처음으로 DB를 나누어서 서비스를 만들어보기로했다. 처음에는 프로젝트에서 DB를 나눈다는 것이 생소하게 느껴졌으나, DB를 나눠보자는 의견이 나와 이것저것 찾아보았다. DB분할은 어떨때 하는것일까?DB 분할 장점- 성능 향상:부하 분산: 데이터베이스를 분리하면 각 데이터베이스에 대한 부하를 분산시킬 수 있어 성능 향상캐싱 및 인덱싱 최적화: 각 데이터베이스를 개별적으로 최적화할 수 있어 더 나은 성능 구현- 관리 용이성:독립적인 스키마 변경: 하나의 데이터베이스에서 스키마를 변경할 때 다른 데이터베이스에 영향을 주지 않으므로 더 유연하게 스키마를 관리할 수 있다.데이터베이스 크기 제한: 데이터베이스 크기가 너무 커지는 것을 방지할 수 있어 관리가 더 쉬워진다. - 보안 강화:.. 2024. 7. 22. distinctAlias 문제 (쿼리 빌더) 알림기능을 구현하던중 알 수 없는 오류에 빠졌다. 쿼리가 'distinctAlias.Cards_card_id'라는 칼럼을 찾지 못한다는 것이다.알 수 없는 별칭을 찾으려는 TypeORM정확히 말하면, 이 부분은 알림 기능을 위해 카드의 이름과, 카드에 속한 worker들을 불러올 때 생긴 문제이다. cardRepository에서 직접 불러오는데 왜 저 별칭이 생기는 것일까? 의문인 점은 동일한 코드로 card service 파일에서는 잘 불러와졌다는 것이다. //카드 제목 조회 const card = await this.cardsRepository.findOne({ where: { cardId }, select: ['title'], relations: ['worker.. 2024. 7. 22. 웹소켓 웹 알림 기능 구현(할당받은 멤버에게만) 지난번 글을 통해 소켓을 통한 알림기능 구현을 결정했다. 알림 기능 프로세스결정 후 가장 처음으로 한 것은 프로세스의 흐름을 이해한 것이다.위 그림처럼 'client1'이 action을 하면 기존 흐름처럼 controller -> service로 동일하게 흘러간다.service에서 비즈니스 로직 수행을 마친 후, 다시 controller로 반환해주기 전에 작성해준 websoket gateway코드를 통해 해당 action에 대한 알림을 client들에게 보내주는 흐름이다.(소켓을 사용해 client와 server가 항상 연결되어있기때문에, 요청을 보내지 않은 clients들에게도 실시간 알림을 보내줄 수 있는것!) 알림을 주는 websocket gateway그 다음으로 한 일이 알림을 전해주는 역할을 하.. 2024. 7. 16. 댓글/상태변화 알림 기능 구현 (왜 http 요청이 아닌 웹소켓인가?) 이번 칸반보드 팀프로젝트에서 필수 구현 중 내가 맡은 댓글 CRUD를 빠르게 마쳤다. 그리고 처음으로 웹 알림 기능을 도전했다. 칸반 보드 내 카드에 변화가 생기거나, 댓글이 달릴 경우, 알림이 가는 기능이다. 사실 알림 기능에 대해 조금도 알지 못해서 처음부터 공부해나가는 느낌으로 공부하기 시작했다. 그렇게 알림기능 구현에 웹소켓을 이용한다는 것을 알게되었다. 기존 http 요청이 아닌 웹소켓을 사용하는 이유는 무엇일까?1. 실시간 양방향 통신웹소켓은 클라이언트와 서버 간에 지속적인 연결을 유지하여 양방향 통신을 가능하게 한다. 이는 사용자가 알림을 즉시 받을 수 있게 하며, 실시간 상호작용을 필요로 하는 기능에 적합하다. (HTTP는 클라이언트가 요청을 보내고 서버가 응답을 반환하는 단방향 통신 모델.. 2024. 7. 12. 이전 1 2 3 4 5 6 7 ··· 19 다음