일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- objecterror
- 싱글톤
- 프로그래머스
- 참조변수
- 티스토리챌린지
- java
- 테스트코드
- 스프링컨테이너
- equals()
- 의존관계
- 추상클래스
- fielderror
- DI
- 코드트리
- 예외와 트랜잭션 커밋
- HttpServletResponse
- 프록시
- 오버라이딩
- html form
- 스프링
- 다익스트라
- 코드트리조별과제
- @configuration
- 코딩테스트
- 오블완
- 인터페이스
- 백준
- 김영한
- http 메시지 컨버터
- 서블릿
- Today
- Total
목록전체 글 (182)
minOS

비즈니스 예외란? 비즈니스 로직을 다루다 보면 "비즈니스 예외"라는 개념이 등장한다.단순한 시스템 오류와는 다른 개념인데, 정확히 어떤 의미일까?간단한 주문 예제를 통해 쉽게 이해해보자.주문 처리 흐름온라인 쇼핑몰에서 고객이 상품을 주문하면 다음과 같은 과정이 진행된다.정상적인 주문 처리주문 후 결제가 성공하면주문 데이터를 저장하고결제 상태를 "완료"로 변경한다.시스템 예외 (예상하지 못한 오류)주문 과정에서 복구 불가능한 예외 발생 (예: DB 장애, 네트워크 오류 등)전체 데이터를 롤백하고 주문을 취소한다.비즈니스 예외 (업무 규칙에 따른 예외)결제 잔고가 부족하면주문 데이터를 그대로 저장하지만결제 상태를 "대기"로 설정고객에게 잔고 부족을 알리고 별도의 계좌로 입금하도록 안내비즈니스 예외의 핵심비즈..

예외와 트랜잭션 커밋,롤백package com.example.springtx.exception;import lombok.extern.slf4j.Slf4j;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.boot.test.context.TestConfiguration;import org.springframework.context.annotation.Bean;imp..

프록시 내부 호출 문제 예시package com.example.springtx.apply;import lombok.extern.slf4j.Slf4j;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.boot.test.context.TestConfiguration;import org.springframework.context.annotation.Bean;import org.springframework.transaction.annota..
팀원 A와 이야기 한 후 어찌어찌 코드를 고쳤지만 .. 근본적인 문제가 고쳐지지 않은 것 같다고 생각했다 A는 해당 문제를 프론트에서 해결하면 된다고 했는데 , 처음엔 그 말을 이해하지 못했다. 4시 이후에 A 코드를 뜯어 봤는데 응답 값으로 UUID를 주기 때문에 프로트에서 해결하면 된다는 말이 이해가 됐다. 이번 계기로 느꼈지만 남의 코드를 보는 건 진짜 어렵다 .. 아마 역으로 내 코드도 남이 보기 어려울 것이다. 그래서 가독성 좋은 코드가 높은 평가를 받는다는 것을 느꼈다. 오늘 또 알게된 사실은 요청 후 응답객체를 반환해줘야 한다는 것이다. 이걸로도 사실 팀원들과 이야기를 나누었는데 나 빼고는 전부 요청이 성공했다는 상태코드와 메세지만 반환하자고 했다. 나는 여러 이유로 , 그리고 느낌 상 ..

프로젝트 시작일 2/12 이슈 : 사다리 타서 팀장이 됐다.첫날에는 자진해서 팀장이 된 것이 아니라서 나는 허수아비 팀장이라고 생각했다. 실제로 그 날은 리더 역할도 하지 않았다.나는 특정 튜터님께 하루에 한번씩 방문하는데 과정이 어떻든 나는 팀장이고 맡은 역할에 있어 최선을 다해야한다는 말씀을 듣고 팀장으로서 책임감이 생겼다. 내가 팀장으로서 가장 중요한 역할은 일정 관리 , 개발 과정 를 진행하는 것이다 이를테면 언제까지 구현하고,테스트 코드를 작성하고 , 디벨롭을 할 일정들을 먼저 정했다. 그리고 "개발 규약을 정하자" 이렇게 주제를 던져서 단계 단계 별로 이야기를 나눌 수 있는 분위기를 형성하였다. 그리고 모든 팀원의 상태를 확인하고 , 의견을 말하지 않으면 특정하여 의견을 말해달라고 하기도 하였..

주문 관리 플랫폼 프로젝트 시작 전 API 명세서, 테이블 명세서,ERD명세서,인프라 설계서 작성을 했습니다.API 명세서API 명세서란?API의 사용 방법, 요청 및 응답 형식, 엔드포인트, 인증 방식 등을 정의한 문서입니다. 개발자들이 API를 효율적으로 사용하고 유지보수할 수 있도록 돕습니다.✅ API 명세서를 개발 전에 작성하면 좋은 점원활한 협업 → 백엔드·프론트엔드 간 API 형식을 미리 정의해 혼선 방지 개발 속도 향상 → 프론트는 목업 데이터 활용 가능, 불필요한 커뮤니케이션 감소 테스트 및 문서화 용이 → 자동화 테스트 작성 가능, 유지보수 쉬움 일관된 API 디자인 유지 → HTTP 메서드·응답 형식 통일, RESTful 원칙 준수 변경 사항 관리 용이 → API 변경 이력 추적 가능,..