생각 5

[Tip]비즈니스 로직은 무엇인가요?

🍎 현업에서 일하기 전 서버 개발을 공부할 때 주변에서 들려왔지만 정의가 되지 않아 멀게만 느껴졌던 비즈니스 로직에 대해 정의합니다. 🍏 비즈니스 로직이란비즈니스 로직이란 개발하고 있는 서비스(애플리케이션) 내부에서만 사용되는 로직을 의미합니다. - 클라이언트 레벨에서 애플리케이션이 실행되는 동안 발생하는 이벤트를 기록하는 로깅 프로세스는 애플리케이션의 특정 요구사항을 처리하는 로직이 아닙니다. 이는 애플리케이션이 정상적으로 동작하기 위해 필요한 기본적이고 기술적인 기능을 처리하는 General 한 로직입니다. - 비즈니스 로직은 특정 도메인의 애플리케이션이 특정 비즈니스 요구 사항을 처리하는 로직으로 애플리케이션의 기능과 관련된 규칙 그리고 절차를 정의합니다.- 예를 들면 온라인 쇼핑몰의 주문 처리..

TIL 2024.09.05

시간값 발행 주체는 누가 되어야 하는가?

🍎 개발에 있어 시간 값을 정확하게 다루는 것은 아무리 강조해도 지나치지 않습니다.- 한 예로 시간 값을 정확하게 관리하지 않으면 데이터의 일관성을 유지하기 어려워질 수 있고 이는 예상치 못한 상황을 발생시키거나 시스템의 신뢰성을 저하시킬 수 있습니다.🍎 상황- 포춘 쿠키 이벤트 요구 사항을 해결하는 중 "하루 한 번의 포춘 쿠키 메시지만 얻을 수 있다"는 세부 요구사항을 해결하기 위해 Application Layer에서 Instant.now()를 사용해 시간값을 발행해 사용 💭 생각하게 된 이유- 위와 같이 Application Layer에서 시간값을 발행한 이유는 아래 두 이유 존재시간값을 외부에서 주입해 사용함으로 시간값이 포함된 로직 테스트 가능하다고 판단23:59:59에 발생한 API가 D..

Dev 2024.09.03

[설계] 순서 결정의 책임을 결정하는 방법

🍎 클라이언트와 서버 간 데이터를 주고받을 때, 데이터 순서 정렬이 필요한 상황에서 고려할 사항들을 정리합니다.🍏 상황 설명- Json Format으로 조회한 제품 리스트의 순서 정렬에 관한 요구사항을 해결 중 정렬의 관한 책임을 서버에 두기로 생각- 생각의 근거는 순서를 정렬하는 것이 비즈니스 로직에 포함되어야 한다고 판단했고 클라이언트에선 서버에 요청값을{ “order” : “ASCENDING” }- 위와 같이 넘겨 정렬이 완료된 값만 받아오는 것이 합리적이라고 생각📝 놓친 부분- 첫 번째 이유는 서버가 정렬하는 것이 비즈니스 로직이라고 판단했는데 이를 잘못 판단비즈니스 로직이라는 것은 운영하는 서비스 내부에 존재하며 다른 도메인(혹은 서비스)에선 적용되지 않은 로직"정렬" 기능은 내가 속한 조..

Dev 2024.09.03

REST API 설계 및 사용 시 참고 사항

🍎 글의 시작점- 서버 애플리케이션을 개발하며 클라이언트와의 통신을 위해 REST API 스펙을 설계할 때, 도움이 될 만한 팁과 방법을 정리한 글입니다.🍏 참고 사항- API는 기본적으로 Client 곳곳에서 사용할 걸 가정하고 만들어야 하므로, 가급적 범용적으로 만들고 갖다 쓰는 쪽에서 응용해서 사용해야 합니다.- 매우 제한적인 이유로 (퍼포먼스라든지) 전용 API를 만들어서 해결해야 하는 경우도 있지만 그건 원칙을 어긋나는 경우라고 생각합니다.제한적인 상황의 전용 API의 예시임시로 백 투 백으로 서버 데이터를 동기화하는 API의 경우 제한적으로 만들어 사용합니다. 이러한 API는 특정 상황이나 기간에만 필요하고, 시스템이 안정화되거나 이전이 완료되면 사용이 중단되는 경우가 많습니다.- AP..

Dev 2024.09.01

[TIP] 필요조건, 충분조건, 필요충분 조건

🍎 해당 글을 정리하게 된 이유?- 개발 시, 모델 A가 모델 B에게 영향을 주는 것을 더 선명하게 알기 위해 정리합니다.- 위 개념을 확실히 이해하면, 논리적 사고와 문제 해결에 필수적인 도구로 작용하며 깊은 사고를 할 수 있게 도와줍니다.🍏 필요조건이란?- 어떤 일이 일어나기 위해 반드시 있어야 하지만 그것만으로는 충분하지 않은 조건e.g) 비가 오기 위해서는 구름이 있어야 한다.- 비가 오려면 구름이 꼭 필요하지만 구름이 있다고 해서 반드시 비가 오는 것은 아닙니다. 따라서 구름은 비가 내리기 위한 필요조건입니다.🍏 충분조건이란?- 어떤 일이 일어나게 하는데 충분하지만 그것이 필요하지 않은 조건e.g) 비가 온다면 땅이 젖는다.- 비가 오면 땅은 반드시 젖습니다. 그러나, 땅이 젖을 수 있는..

잡다한 글 2024.09.01