20240129 (월) BackOffice 프로젝트 발표 및 회고

2024. 1. 29. 19:57TIL

내가 이번 프로젝트를 진행하면서 새로 배운것

 

<SoftDelete>

협업에서는 데이터 삭제 로직은 ‘절대절대’ 두세번 고민해봐야합니다. 데이터는 회사의 자산이예요(삭제하면 사장과 면담 좀 해야할지도..)
  • 그래서 보통 삭제로 로직은 soft-delete로 작성됩니다.
  • Entitiy 클래스에서 ‘@Where(clause = “is_deleted=0”)’를 작성해두면 삭제되지 않은 데이터만 조회할 수 있습니다. 여기서 is_deleted는 삭제여부 컬럼이겠죠

위는 코틀린1기 잡담방에 올라온 튜터님의 메세지이다.

 

일단 우리조는 처음에 어떤방식으로 소프트삭제를 구현할까 고민하다가 튜터님께 자문을 구해서 SQL 쪽에서 자동으로 딜리트 문구를 날리면 업데이트로 바뀌는 식으로 했다.

 

이에 따라 딜리트가 이뤄지면 하위객체에서도 같은 방식의 쿼리가 날라가도록 해서 고아객체가 남지 않도록 하였다.

 


 

BackOffic B02 조 KPT 회고

 

Keep

1. 시연시에 실제 기능과 DB에 어떻게 반영이 되는지 보여주는것 잘함

백엔드 개발자로서는 당연시되는 부분인듯 함

2. modified_at 시간 기록하는거 잘했음

자동으로 업데이트 시간 기록하는 키워드 공부해보자
3. 소프트딜리트 구현 잘했음

다음번 프로젝트때에도 이어서 써보면 좋을듯 함

Problem - Try1. 여러기능을 구현하고자하는 욕심이 생겨서 구분이 없이 너무 많은 패키지가 생겨남- 기능에따라 패키지를 나누는 공부가 조금 필요할것 같음

2. 겟매핑을 이용할 때 반환되어 나오는 순서가 조금 뒤죽박죽인것 같음

- 정렬순서를 정해놓고 ( 생성시간, 사용자이름 등)  이에따라 알맞게 반환해주는 코드를 짜면 좋을것 같음