어제 진행하려는 트리거를 진행해야 하는 이유는 아래의 4가지 처리 과정의 문제가 있는데
1.출고요청시 해당 제품 출고요청됨 상태로 변경 ( 상태 = 포뮬러, 갯수로 처리)
2.출고 취소시 해당 제품 출고요청됨 취소
3.출고 완료됨 삭제시?
4.제품 일정 갯수 배송 희망시?
1번의 상태 직접 변경 불가, 2~3번의 삭제시 어떤 기준을 세우는지
특히 출고 완료된 출고 관련 레코드를 지울 경우 해당 차일드 레코드도 지워지는데
해당 레코드들이 삭제된 후 트리거가 자동 발동해서 미배송 상태로 가는게 맞는지
아니면 출고완료 상태가 되면 삭제가 금지되는지?
출고처리를 위해서는 계약 갯수와 배송요청됨 갯수가 일치해야 하는데
일일히 해당 수치를 추가하며 진행해야 하는지? 아니면 그냥 완료처리에 필요한 값을 넣는지
특히 세개의 빌더 중 2개는 갯수 선택 미지원이기 때문에 더 좋은 기능인 갯수 입력으로 가기가 애매한 상황이었다.
마스터 디테일 두개를 하나에 엮은 경우 자식 삭제 불가능하지만
마스터 디테일을 통해 롤업 기능이 가능하다고 해서 롤업에 대해 학습했다.
설계를 2시간 가량 진행한 다음 1시간 가량 회의 끝에 방향을 잡았지만
내용을 적용시키려고 보니 다른 데이터와 같이 있어서 마스터 디테일을 추가할 수 없었다.
(이미 부모 객체와 연결된 상태였고 자식이 두가지 타입에서 룩업관계였기 때문에 분리하지 않으면 마스터 두개가 불가능)
Validation rull을 설정했을 때 전체 페이지에서 한번에 수정하고 넘어가는 경우
현 재고와 수정 재고가 충돌하는 경우가 있는데 해당 부분도 이론적으로 해결할 수 있었고(내일 진행 예정)
9단계에 걸쳐 설계한 부분이 마스터-디테일을 생성할 수 없어 삐끗했지만
초코칩쿠키 하나를 먹고 금방 기운을 차린 다음 해당 부분을 트리거 플로우로 대체하는 설계로 대체했다.
내일은 실제 구현을 하고 오후에 회의를 진행할 예정이다.
(1).백준 11368번 A Serious Reading Problem은 문제의 설명만 보면 조합 같은데
테스트케이스를 보면 거듭제곱 횟수가 출력되는 모습을 볼 수 있었고
테스트케이스에 따라 거듭제곱을 시도하니 해결할 수 있었다.
const input = `4 2 2 2
4 3 2 2
0 0 0 0`.split('\n')
const result = []
for(let i = 0 ; i < input.length-1 ; i++){
const [a,b,c,d] = input[i].split(' ').map(Number)
result.push(((a**b)**c)**d)
}
console.log(result.join('\n'))'회고' 카테고리의 다른 글
| [개발일지] - 35 (0) | 2023.08.04 |
|---|---|
| [개발일지] - 34 (0) | 2023.08.03 |
| [개발일지] - 32 (1) | 2023.08.01 |
| [개발일지] - 31 (0) | 2023.07.31 |
| [개발일지] - 30(주말) (0) | 2023.07.30 |
