본문 바로가기

팀프로젝트6

[팀프로젝트] 15일차 - Sse를 이용해 실시간 알림기능 구현2 이전에 공부했던 Server-sent-event 방식의 HTTP통신을 활용하여 메신저가 도착하면, 실시간 알림을 전송하는 기능을 구현했다. 다음 클래스는 서버에서 클라이언트로 이벤트 전송시, 알림에 대한 정보를 담아둔 객체이다. 해당 객체의 멤버로 알림 내용에 메시지정보를 담은 MsgDto와 알림 전송 시간을 추가하였다. 그리고, 클라이언트에서 eventSource.addEventListener를 통해 서버가 보내온 이벤트 데이터들을 자유롭게 꺼내쓸수있도록 JSON형식으로 변환시켜주는 작업이 필요하다. 해당 작업은 서버단에서 클라이언트로 이벤트를 전송하는 NotifycationService클래스의 sendToclient 메소드에서 Notification을 비롯해서 event 안에 담아둘 여러 데이터들을 .. 2024. 2. 2.
[팀프로젝트] 14일차 - SSE를 사용한 실시간 알림 기능 구현 그룹웨어 시스템에서 사용자에게 도착한 메시지,전자결재 내역을 실시간으로 알림을 보내줄 기능을 구현하기위해 웹소켓, Pooling, Sse등 다양한 방법을 찾아보다가, Server-sent-event 방식이 가장 적합하다고 생각하여 Sse를 통해 실시간 알림 기능을 구현해보려고 한다. 관련자료를 찾아보는데 스프링 부트에서 구현한 예제밖에없어서 나는 스프링 레거시에서 진행하고있기에 아예 Sse에 대해 기초부터 공부한뒤 직접 적용시켜볼 예정이다. 우선 맨 처음 클라이언트에서 서버로 연결을 요청하는 것부터 해보았다. 클라이언트 -> 서버로 구독 요청하기 클라이언트 : 클라이언트는 맨 처음 서버에 요청을 보낼때 구독 요청을 하기위해 EventSource 객체를 생성하여 "/connect" 경로로 요청을 보낸다. .. 2024. 2. 1.
[팀프로젝트] 12일차 - 전자결재 시스템 만들기 대망의 전자결재 기능구현을 시작했다..! 결재작성부분에서 넣고 싶었던 기능은 1. 결재문서 타입을 클릭하면 해당 문서 양식 출력 2. 결재라인 지정시 사원검색 칸을 이용하여 선택시 문서양식 결재라인 칸에 자동으로 넣기 이다. 1. 결재문서 타입을 클릭하면 해당 문서 양식 출력하기 해당부분은 제이쿼리를 이용해서 간단하게 버튼 클릭시 display : none -> display : block 를 주었다. 자바스크립트는 여러모로 쓸모가 많은것 같다. 2. 결재라인 지정시 사원검색 칸을 이용하여 선택시 문서양식 결재라인 칸에 자동으로 넣기 여기서 굉장히 많이 헤맸다. 품의서 양식의 결재라인 지정칸에 입력할때, ajax를 통해 서버에서 직원들의 list를 가져와 검색하는 기능이 필요했는데, 페이지를 이동하지않고.. 2024. 1. 30.
[팀프로젝트] 10일차 - 메시지 기능 구현 팀프로젝트 10일차 5명이서 진행하던 프로젝트였는데, 팀원들이 개인사정으로 그만두게되면서 엄청난 난관에 부딪혔다. 앞으로 2주도 안남은 시간안에 과연 완성할수있을지 정말 모르겠다. 평일주말할것없이 하루에 12시간씩 눈떠있는시간에는 개발을 하고있는데도 도무지 진척이 보이질않는다..ㅠㅠ 하면 할수록 실력이 부족해서 개발속도가 더디다는것을 뼈저리게 느끼게되었고, 또 반대로 프로젝트를 시작하고나서 눈에띄게 실력이 늘고있다는것을 느끼고있다. 그룹웨어 시스템을 만들면서 메시지를 주고받을수 있는 기능을 구현중이다. 처음에는 웹소켓을 이용하여 실시간 통신을 주고받는 기능을 만들고싶었는데, 만들고자 하는 기능이 메일에 가까워 socket을 통해 서버와 클라이언트가 계속 연결을 유지하고있을 필요가 없다는 생각이들었다. 카.. 2024. 1. 28.