[Java, Spring, Aop] SoftDelete 적용기 (2)
- 배경 - [Java, Spring, Aop] SoftDelete 적용기Troublog 에서는 일부 테이블의 데이터에 대해 softDelete를 적용하고 있다. 적용 대상이 되는 테이블은 terms, users, projects, posts, contents, post_tags, comments (대댓글이 존재하는 경우)로, 단순 데이터 삭제redcalender.tistory.com이전 포스팅에서 @Filter, @FilterDef, Aop, 어노테이션을 이용해 엔티티 조회 시점에 동적으로 개발자가 지정한 SQL조건을 추가하여 softDelete를 선언적으로 on/off 할 수 있도록 구현하였다. 그런데 이후 리팩토링을 진행하던 중 치명적인 문제를 발견했고, 이를 다룬 내용을 적어보고자 한다. 1. F..
[Java, Spring, Aop] SoftDelete 적용기
Troublog 에서는 일부 테이블의 데이터에 대해 softDelete를 적용하고 있다. 적용 대상이 되는 테이블은 terms, users, projects, posts, contents, post_tags, comments (대댓글이 존재하는 경우)로, 단순 데이터 삭제보다 히스토리 보존이 더 중요한 경우 softDelete를 적용했다. 그러나 softDelete를 적용한 후에 몇 가지 문제점(불편한 점)을 발견했고, 이를 개선해 나간 내용을 공유하고자 한다. - 기존 구현 방식 -1. softDelete여부 칼럼을 is_deleted (boolean) 혹은 deleted_at (timestamp)로 둠 2. is_deleted : false -> true로 변경 혹은 deleted_at : null ..
벤처투자 ERP 개발을 위한 도메인 공부 (1)
기본용어 VC (Venture Capital, 벤처캐피탈) 우리가 흔히 볼 수 있는 xxx인베스트먼트, xx파트너스 등의 이름을 갖고 있으며경쟁력 있는 스타트업을 발굴해 투자하고, 성장을 지원하는 기업.기본적으로 VC가 스타트업에 투자를 진행할 때, 펀드를 통해 LP의 자금을 조달한다. LP (Limited Partner, 유한책임조합원) VC가 만든 펀드에 자본을 제공하는 투자자펀드의 출자액 내에서만 유한책임을 지는 조합원이며 한국벤처투자, 성장금융, KDB뿐 아니라 공제회, 일반기업, 개인들도 LP의 역할로 펀드에 출자할 수 있다. GP (General Partner, 업무책임조합원/무한책임조합원) 펀드의 운용 및 모든 것을 관리하며 무한책임을 지는 조합원. VC가 결성한 펀드를 직접 운용하는 역할...