2023. 1. 26. 22:14, TIL
오늘 진행한 것들 🤔
- 토이프로젝트
- 전체 코드 리팩토링
- 알림 기능 추가
- Sse 를 활용한 알림기능 구현
- 알림 뷰 구현
- 알림 링크 클릭시 확인된걸로 변경하도록 구현
- 캐릭터 정보 불러올시에 스프링 Async 기능을 이용해 비동기처리로 받아오도록 구현했다. (속도가 조금 빨라졌으려나..? 실감이 되지 않아서 불안정한 작업을 할 바엔 돌려놓는게 좋겠다라는 생각으로 두고보고있다. 하지만 캐릭터 정보는 내가 처리하는 데이터가 아닌 외부에서 안전한 데이터를 가져오는것이니.. 아직 확실하지 않다.)
오늘 겪었던 문제 🤔
- 해당 기능을 구현할때 보통 프론트쪽에서 세션스토리지에서 토큰정보를 가져와서 구현하는 글들을 많이 보았는데 나는 세션스토리지를 쓰지 않던 상황이라 로그인시에 세션에 로그인 정보를 저장하고 뷰의 헤더에 로그인 정보를 인풋밸류로 저장해 로그인을 안했을땐 anonymousUser 로 입력하도록 하고, 로그인시에는 계정이름을 입력하도록 한 후에 구독을 하도록 했더니 동작이 되었다.
오늘 해결한 오류 🤔
오늘의 배운점🤔
- Sse (Server - sent - event) 를 알게되었다.
- 기존에 알림기능을 구현했지만, 실시간으로 알림을 전달하도록 하는 기능은 구현하지 못해서 약간 애물단지? 굳이 구현했어야했나? 하는 느낌으로 Notification 도메인이 남아있었다.
- 마찬가지로 생각해보니 구조상 알림이 생성되어야 하는 동작에서 컨트롤러단에서 서비스를 분리해 로직을 실행한게 아닌, 각 도메인 서비스별로 레포지토리를 주입시켜서 생성시키고 있었다. 이건 결합도가 높아질 수 있는 행동 (이런식으로 코드를 짜게되면 부품처럼 사용하지 못하게 된다. )
- 따로 알림 서비스와 컨트롤러를 생성하고 분리를 진행했다. 훨씬 깔끔하고 보기 좋았다.
- 마찬가지로 알림이 필요한 기능에 단순히 Sse 메소드만 집어넣으면 전송이 되었다.
- 거기에 +@ 로 부트스트랩의 toast 에 대해서 알게되었다.
- 이제 alert() 가 아닌 토스트에 메시지를 띄워도 되겠다는 생각이 들었다...... 굿
'TIL' 카테고리의 다른 글
23-01-30 TIL (0) | 2023.01.30 |
---|---|
23-01-29 TIL (0) | 2023.01.30 |
23-01-20~23 TIL (0) | 2023.01.25 |
23-01-19 TIL 토이 프로젝트(게임 랭킹전적 조회 커뮤니티) 중간점검 (0) | 2023.01.19 |
23-01-17~18 TIL (0) | 2023.01.19 |
Comments, Trackbacks