[Spring Boot] 도메인 비즈니스 규칙과 멀티 모듈 아키텍처 설계
·
Backend/Spring Boot & JPA
💡 DDD를 제대로 공부해본 적 없는 학부생 수준의 조잡한 포스팅일 뿐이니 참고만 해주세요!참고로 DDD를 다루는 레퍼런스들이 대부분이 너무 어려운 개념으로 설명을 하는 게 마음에 안 들어서, 나름대로 쉬운 언어를 선택하려고 노력은 했으나, 그 과정에서 오류가 있을 수 있습니다.📕 목차1. Introduction2. Responsibility of Lower-level Modules3. Architecture Improvment4. Reflection and Future Direction1. Introduction 📌 As-is [Spring Boot] 프로젝트 멀티 모듈화 고찰💡 해당 포스트는 필자의 빈약한 이해 지식을 기반으로 한 프로젝트 멀티 모듈화입니다.개발이 진행됨에 따라 추후 지속적으로..
[Spring Boot] 도메인 검증(Validation)의 계층별 책임과 구현 전략
·
Backend/Spring Boot & JPA
📝 DDD 찍먹해봤다가 온갖 물음표들이 머릿속에 휘몰아 치는 중이라, 정리해둘 겸 작성한 포스팅입니다. 정답은 저도 모르겠습니다.📕 목차1. Introduction2. Is validation in both the controller and domain layers redundant?3. When and where should we validate within the domain layer1. Introduction 📌 the reason for writing this postDDD 찍먹..진짜 재밌었고, 새로운 시야가 보이게 된 거 같아서 좋긴 한데.못 보던 것들을 갑자기 마주하게 되니, 온갖 혼란과 기존 코드의 더러움이 거슬려서 미칠 것 같은 상태...그렇다고 죄다 리팩토링할 시간적 여유가 없으..
[Spring Boot] HTTP API 서버와 Socket 서버가 공존하는 채팅방 가입 시나리오를 DDD 관점에서 바라보기
·
Backend/Spring Boot & JPA
💡 구현 방법은 너무 다양한 방법들이 나올 수 있을 거 같기도 하고, 최근 블로그 글이 너무 길어지는 게 마음에 걸려서 생략했습니다. 대신 나름대로의 최종 아키텍처 설계까진 포함했습니다.📕 목차1. Introduction2. How should a subscription request be handled?3. Why can't we use a socket server for join the chatroom?4. Final Design1. Introduction 📌 Design일반적으로 대부분의 요청은 무상태 서버, 즉 일반적인 RESTful server에서 모두 처리가 가능하다.그러나 실시간(real-time)성이 요구되는 경우, socket 서버로 상태 유지 서버를 추가 도입하게 된다. 상태 유지..
[Spring Boot] Heart beating header와 협상 과정 구현에 대하여
·
Backend/Spring Boot & JPA
📕 목차1. Heart beating2. How to define a heartbeat header on the server side?3. Can it be solved using RabbitMQ settings?4. Heartbeat negotiation interceptor1. Heart beating 📌 Introduction이전 포스팅에서 heart beat interval 권장 사항을 제시해주지 않았었다고 한 적이 있던 거 같은데, 추후 확인해보니 IETF에서 박동 검사는 25sec 주기를 권장한다고 한다.그래서 spring boot에서도, 개발자가 별도의 설정을 하지 않으면 25초로 값을 할당한다고 되어 있다. 근데 iOS팀에서 "web socket이 자꾸 끊어졌다가 재연결되는데 이게 맞냐..