목록2024/09 (9)
JustDoEat
개요RabbitMQ를 사용하는 도중 RabbitMQ 같은 경우는 메시지를 큐에 넣을 때 메시지를 직렬화해서 값을 넣는다는 것을 알았다. 반대로 redis를 사용할 때도 Value 값에 Object가 들어갈 때는 JackSon 라이브러리를 사용했던 기억이 났어서 어떻게 의존성을 주입받고 동작하는 건지 알고 싶어서 한번 파해쳐 보았다. 추가로 convertAndSend를 했을 때 직렬화를 자동으로 해준다고 하는데 "자동으로 해준다"이게 너무 궁금해서 클래스 간의 상속관계를 통해 알아보는 글입니다! 아래 내용은 기본적으로 RabbitMQ의 설정이 되어있다는 전재하에 설명이 되어있습니다. 솔직히 메서드들의 연관관계를 다 타고 확인은 하지만 세세한 모든 부분을 전부 알 수는 없습니다, 이미 남들이 잘 만들어놓은 ..
목차1. 개요2. WebSocket+ Stomp 설정파일 작성 및 동작예시3. WebSocket+ Stomp 브로드캐스팅을 위한 컨트롤러 작성 및 동작예시 - 발행(publish), 구독(subscribe), 브로드캐스팅(broadcasting) 개념 알고 가기4. 테스트 - STOMP 란 무엇인가? 예시로 보기.(STOMP 프로토콜과 HTTP 프로토콜의 비교) 개념을 처음에 설명을 안 하고 중간중간에 껴놓은 이유는, 나 같은 경우는 개념만 봤을 때 머릿속에서 개념과 코드의 연관관계가 잘 맺어지지 않아서 이렇게 구성을 하였다.개요.이전 게시물에 Stomp 없이 Spring WebSocket만 써서 웹소켓을 구현을 해보았는데,이번에는 Stomp를 같이 사용 후 같은 서비스를 구현할 예정이..
개요.stomp라는 서브 프로토콜을 이용해서 웹소켓을 구현을 해보았는데, stomp에 대해 자세하게 공부하기 전 그냥 웹소켓만 써보면 왜 stomp를 쓰는지 더 알 수 있을 거 같아서 그냥 웹소켓만 써서 같은 기능을 구현해 봄. 이번 프로젝트를 하면서 웹소켓을 사용할 일이 있는데 프로젝트 시작하기 전 공부한다는 느낌으로 해봄! 개인적으로 이론과 지식에 대해서는 어느 정도 숙지를 하였지만, 이걸 코드로 옮겼을 때 어떤 모양이 나오는지 전체적인 그림이 잡히지 않았다.. postman이나 크롬 확장 툴 중에 웹소켓을 테스트해 볼 수 있는 툴이 있지만, 이것만으로는 찝찝해서 리엑트+vite로 서버를 올린 후 테스트를 진행하였다. 이로 인해 발행/구독 및 브로드케스트 등 의 개념이 머릿속에서 흩어져서 조립이 잘..
개요. 효율적으로 예외 처리 해보기,Custom Exception과 GlobalErrorHandler로 예외 관리하기 1편개요. GitHub - woosungking/Good-Night-3rd-Hackathon: Hackathon 이후 후속조치 및 추가기능 구현 Docker 연동 및 프론트Hackathon 이후 후속조치 및 추가기능 구현 Docker 연동 및 프론트, 백엔드 통합 테스트를 위한kingmusung.tistory.com 1편에서는 예외처리를 효율적으로 하는 방법에 대한 큰 그림을 그렸었다.2편에서는 예외가 핸들러에 의해 처리가 되는 과정을 나름대로(?) 순서도 느낌으로 기록해 보겠다.1. 소원조회 시 없는 ID값을 입력 후 일부로 예외를 만듦.public Wish getWish(Long i..
개요. GitHub - woosungking/Good-Night-3rd-Hackathon: Hackathon 이후 후속조치 및 추가기능 구현 Docker 연동 및 프론트Hackathon 이후 후속조치 및 추가기능 구현 Docker 연동 및 프론트, 백엔드 통합 테스트를 위한 레포지토리임. - woosungking/Good-Night-3rd-Hackathongithub.com 헤커톤 프로젝트로 진짜 기본 중에 기본인 CRUD 구현을 했다, 코드 품질 및 예외처리도 안되어있고 엉망이다..잘하시는 분 레포지토리도 보고, 다른 사람이 한 프로젝트를 보면서 적용도 해보고 공부를 해보는 중이다.오히려 API도 기본적인 것만 있어서, 이것저것 해보기가 편한 거 같다.(가독성이 좋고 간결해서 공부하는 부분이 눈에 딱 ..
개요. 헤커톤 프로젝트로 진짜 남들이 보면 비웃을 수도 있는 Spring Boot로 기본적인 CRUD 구현을 했다,헤커톤이 끝난 후 다른 사람들이 spring boot로 만든 프로젝트를 보면서 이건 왜 이렇게 했지 등을 연구하면서 공부를 하고 있었다! 공부를 하면서 이해하기 어려웠던 부분이나, 나의 회로구조로 이해한 경험을 적어보고 싶었다. 비록 미흡할 수는 있지만 추후 추가적인 공부가 필요하거나, 비슷한 내용에 관해서 새로운 지식을 얻는다면 이어서 써보고 싶다. 1편에서 ResponseEntity에 대해 설명을 했고,ResponseEntity 에 RestApiResponse 부분에 대해서는 설명을 하지 않았다, 2편에서는 해보려고 한다. https://kingmusung.tistory.com/61 Sp..
개요.헤커톤 프로젝트로 진짜 남들이 보면 비웃을 수도 있는 Spring Boot로 기본적인 CRUD 구현을 했다,헤커톤이 끝난 후 다른 사람들이 spring boot로 만든 프로젝트를 보면서 이건 왜 이렇게 했지 등을 연구하면서 공부를 하고 있었다! 공부를 하면서 이해하기 어려웠던 부분이나, 나의 회로구조로 이해한 경험을 적어보고 싶었다. 비록 미흡할수는 있지만 추후 추가적인 공부가 필요하거나, 비슷한 내용에 관해서 새로운 지식을 얻는다면 이어서 써보고 싶다. 컨트롤러에서 프론트엔드로 API응답을 넘겨줄 때ResponseEntity 객체를 사용해서 넘겨주는 방법에 대해 적어보겠다. RestApiResponse는 사용자가 정의하는 클래스 이므로, 2편에서 이어서 설명하겠다!!ResponseEntity Re..
회고(에러를 바라보는 관점)https://kingmusung.tistory.com/59 [오류해결] 머리박고 배운 cookie개요.프런트엔드에서 사용자인증을 하는 과정에서(JWT사용을 하지 않고, cookie를 이용한 인증 방법 구현임.) 서버에서 넘겨준 JSESSIONID 쿠키는 HTTPONLY로 설정이 되어있으므로 JS, TS 즉 프런트엔드kingmusung.tistory.com 위 글에서는 다 안 담았지만, 더보기에러 로그를 살펴보았는데, 뜬금없이 CORS에러가 뜨는 것이다. 백엔드 서버에서도 CORS설정을 잘했고, api요청 시에도 "withcredential:true" 설정으로 분명 전까지 잘 되었는데 무엇이 문제일까 하고. 찾아본 결과"쿠키의 값은 일반적으로 ASCII 문자로만 저장되기 때문에..