HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🧚
[1기]최종 프로젝트 데브코스
/
🏄‍♂️
[팀8] 어푸(Ah puh) - Surf
/
🧐
참고
/KREAM/
🛠️
수정사항 & 이슈/고민
🛠️

수정사항 & 이슈/고민

상태
구현
속성
🗣
공통으로 수정된 부분(컬럼명, 컬럼 타입)이 있으면 작성해주세요 :)
 

10월 26일


  • 소프트 삭제를 위한 isDeleted 플래그 추가
  • 스타일, 구매 입찰, 판매 입찰, 거래 엔티티에 createDate 컬럼 추가

10월 27일


  • size 컬럼 INT → VARCHAR 타입으로 변경
  • 객체 엔티티에 컬럼정보 확인하기 위한 @Column 넣기
 
 

10월 29일


  • selling_bid, buying_bid 테이블
    • status 컬럼 NN으로 변경
    • deadline (입찰기한) 컬럼 추가

10월 31일


  • 관심상품/스타일 도메인 제거
  • 상품 옵션의 즉시 구매가(등록된 판매 희망가 중 최저가), 즉시 판매가(등록된 구매 희망가 중 최고가) 변수명 변경
    • buyingLowestPrice → highestPrice
    • sellingHighestPrice → lowestPrice
 

11월 02일


  • (수정해야 할 사항)
  • DealStatus '진행중', '종료' 관련 추가 및 변경
  • 진행중
    • 검수합격 / 배송중 / 보류 추가
  • 종료
    • 취소완료 추가
    • 결제완료 → 정산완료로 수정
    •  
       

11월 03일


 

🗣
코드를 구현하다 발생한 이슈 또는 고민에 대해서 공유하고 같이 해결해봅시다!
 

10월 31일


  • 같은 상품, 같은 사이즈, 같은 가격으로 구매 입찰 시 CREATE가 아닌 UPDATE
    • 같은 상품, 같은 사이즈를 구매입찰 한다면 가격, 입찰 기한으로 기존 입찰 내역 UPDATE
    • 같은 가격, 입찰기한만 다르게 주면 기존 입찰 내역 입찰기한만 UPDATE
    • 사이즈가 다르면 상관없음
    • POST → PUT 수정해야할듯
    •  
  • 즉시 구매 기능에서 즉시 구매가는 판매 입찰에 등록된 판매 희망가 중 최저가를 보여줘야하는데 이전의 변수명인 buyingLowestPrice 를 이용하니 구매 희망가 중 최저가를 보여주더라....
    • ⇒ 컬럼(변수명)을 잘못 설계한 것으로 생각하여 아래와 같이 변경!!
      • buyingLowestPrice → highestPrice (구매희망가 중 최고가)
      • sellingHighestPrice → lowestPrice (판매희망가 중 최저가)
 

11월 01일


  • 서비스에서 다른 서비스 공유 → 재사용, 확장성
    • 부리 : A 서비스의 한 기능에만 필요한 로직이고 단순 조회 로직인 경우에는 다른 B 서비스를 참조하지 않는 것보다 B 레포를 주입해서 구현해도 되지 않을까.....?
  • 위와 비슷한 주제로 서비스 간 서로 참조하고 있다보니 순환참조 발생!!
    • 스프링 순환 참조(Circular Reference)
      순환 참조에 대한 설명은 책과 인터넷에 널린 전반적인 내용(지식)을 기반으로한 내용이고, 에러를 해결하면서 얻은 개인적인 생각이 담겨있습니다. 다르게 생각하시는 분이나, 혹은 정확한 정보를 기반으로 더 좋은 내용을 공유해주실 분들은 댓글 남겨주시면 감사하겠습니다!! 웹 개발을 하다보면 비지니스 로직을 서비스에서 작성하고(정확히 말하자면 서비스 구현체, serviceImpl) 다른 서비스에서 작성된 로직을 이용하기 위해서 생성자를 통한 의존성 주입 을 통해 해당 로직을 재사용하는 경우가 많습니다.
      스프링 순환 참조(Circular Reference)
      https://webdevtechblog.com/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%88%9C%ED%99%98-%EC%B0%B8%EC%A1%B0-circular-reference-d01c6beee7e6
      스프링 순환 참조(Circular Reference)
    • 단순 조회 로직이기 때문에 도메인의 레포를 하여 해결
    •  

11월 02일


  • 구매/판매내역 조회 DTO 형식
    • DTO 세 종류로 만들고 / status 받아서 해당 데이터 보내주기 / enum 3개로 나누기
    • 컨트롤러 반환 객체 형식
      @Getter public class SellingHistoryResponse{ private List<SellingBidResponse> sellingBidResponse; private List<UserDealResponse> ongoingUserDealResponse; private List<UserDealResponse> completeUserDealResponse; public SellingHistoryResponse( List<SellingBidResponse>sellingBidResponse, List<UserDealResponse>ongoingUserDealResponse, List<UserDealResponse>completeUserDealResponse ) { this.sellingBidResponse =sellingBidResponse; this.ongoingUserDealResponse =ongoingUserDealResponse; this.completeUserDealResponse =completeUserDealResponse; } }
      컨트롤러 반환 객체에 담을 판매 입찰 dto 형식
      @Getter public class SellingBidResponse { private String image; private String name; private String size; private int price; private String expiredDate; public SellingBidResponse( String image, String name, String size, int price, String expiredDate ) { this.image = image; this.name = name; this.size = size; this.price = price; this.expiredDate = expiredDate; } }
      컨트롤러 반환 객체에 담을 거래 완료 dto 형식
      @Getter public class UserDealResponse{ private String image; private String name; private String size; private int price; private String dealDate; private String status; public UserDealResponse( String image, String name, String size, int price, String dealDate, String status ) { this.image =image; this.name =name; this.size =size; this.price =price; this.dealDate =dealDate; this.status =status; } }
 

11월 03일


  • 원래 S3Uploader.java 서비스 단 자체에서 @Value 를 이용해 엑세스 키와 시크릿 키를 접근하여 AWS와의 연결을 확인했는데 S3 관련하여 로컬 환경과 달리 배포 환경에서는 yml 파일로 엑세스키와 시크릿키를 접근하지 않기 때문에 S3Uploader.java에서 앞서 말한 부분을 제거하였고...
 
 
11월 04일

배포 관련 이슈 :
[Spring] @Profile, @ActiveProfiles 에 대해
로컬로 애플리케이션을 돌릴 때와 테스트를 돌릴 때 그리고 실제 운영을 하기위한 배포를 할 때, 각기 다른 설정을 주고 싶을 수가 있다. 또는 각 설정에 맞는 빈을 가져와서 사용하고 싶을 수가 있다.예를 들면, 배포를 할 때에는 실제 실무에서 사용하는 DB에다가 연결하고 싶을 것이고 테스트나 로컬 시에는 인메모리 DB를 사용하고 싶을 수도 있다.
[Spring] @Profile, @ActiveProfiles 에 대해
https://bepoz-study-diary.tistory.com/371
[Spring] @Profile, @ActiveProfiles 에 대해
 

11월 05일

  • 링크 연결시키기
  • 수량 - 입찰 중인 것만
  • 즉시 판매가 0원
  • 입찰 완료 → 리스트에 안보이게(전체-입찰완료가 아닌것)