Project/팀프로젝트 - 운동메이트

Project/팀프로젝트 - 운동메이트

Sse를 활용해 실시간 알림기능 어떤기술을 사용해야할까?

팀프로젝트를 진행하면서 로그인, Oauth, 알림기능을 구현하였습니다. 알림기능을 구현하다보니 순간 실시간 알림이 있으면 좋겠는데?라는 생각을 하였고 실시간 알림을 구현하기 위한 방법이 여러개 있다는 것을 알게되었습니다. 여러개의 방법 중 저는 실시간 알림기능을 SSE를 사용해 구현하기로 했습니다. 그 이유는 알림같은경우는 알림이 발생했을 경우에만 해당 클라이언트에게 응답해주면 되는 단방향 소통이기 때문입니다. 요청이 필요 없기때문에 웹소켓을 사용하지 않았고, 서버에 Traffic을 생각해 polling방식을 사용하지 않았습니다. 그럼 실시간 알림을 구현하는 방법들을 알아봅시다. 💡 실시간 알림 구현방법 1. polling 실시간을 흉내내는 방식입니다. 클라이언트가 일정한 시간마다 request 요청을 ..

Project/팀프로젝트 - 운동메이트

[Refectoring] Sse를 Strategy Pattern -> 컴포넌트(Bean)으로 리펙토링!

[Refectoring] Sse로직을 재사용을 해보자 (Static, 메소드 오버로딩(overloading)) 국비를 통해 처음 프로그래밍을 배우면서 팀프로젝트 진행하였습니다. 프로젝트의 기능은 잘 구현해서 해커톤 우수상을 받았지만, 코드는 당연히(?) 엉망이였습니다. 그리고 몇개월이 지난 지 sol-b.tistory.com 이전 글에서 이어지는 Sse 실시간 알림 기능을 리펙토링하는 글입니다. 이전에는 Static으로 Sse기능을 Static영역에서 공통으로 관리하여 사용했습니다. 이후 Sse기능을 Strategy pattern으로 리펙토링하였습니다. 그 이유는 각 서비스마다 Sse를 사용하여 알림을 보내는것을 전략으로 생각한다면 Strategy Pattern으로 적용하면 되지 않을까? 라는 생각에서부..

Project/팀프로젝트 - 운동메이트

[Refectoring] Sse로직을 재사용을 해보자 (Static, 메소드 오버로딩(overloading))

국비를 통해 처음 프로그래밍을 배우면서 팀프로젝트 진행하였습니다. 프로젝트의 기능은 잘 구현해서 해커톤 우수상을 받았지만, 코드는 당연히(?) 엉망이였습니다. 그리고 몇개월이 지난 지금... 리펙토링을 해보려고 합니다. 우선 SSE기능에대한 리펙토링을 해보려고 합니다. 사실 SSE는 SSE Emitter에 등록을 하고 삭제한는것을 빼면 전부 같은로직을 반복하는것입니다. 그래서 저는 이 기능을 재사용할 수 있는 코드로 리펙토링 하겠다고 생각하였습니다. 기능 영상 SSE의 기능 SSE를 사용하는 이유는 실시간으로 알림을 보내기 위해서입니다. 그리고 프로젝트에서 SSE는 알림이 발생했을때 (좋아요, 팔로우, 댓글) 사용자에게 알림이 전송되는 기능입니다. 즉, 메인 기능은 1가지입니다. 접근 방식 우선 재사용을..

Sol b
'Project/팀프로젝트 - 운동메이트' 카테고리의 글 목록