마이그레이션 인터페이스를 드디어 다시 진행할 수 있었는데
이론적으로는 완료된 상태였기 때문에 인터페이스를 마무리하고 개발서버에서 테스트를 진행했다.
전체 회원을 대상으로 인터페이스 시도를 해야 했기 때문에 시간이 오래 걸렸는데
중간에 자꾸 중복 관련 문제가 발생헀는데
다행히 대부분은 SFDC가 아닌 내 코드가 문제였기 때문에 하나씩 수정해서 해결할 수 있었다.
인터페이스 작성 및 개발서버에 전체 데이터 마이그레이션 확인까지 마치고
운영에서 진짜 마이그레이션을 진행하기 위해 테스트클래스를 작성했는데
조건들이 많아서 추가 데이터 생성들과 JSON 데이터를 추가해야 했지만
그래도 정상적으로 작동하는 모습이 만족스러웠다.
오후에 세일즈포스 중단 관련 전체 회의에 참여했는데
확실히 고객사의 입장을 생각하지 않고 실시간 대응 부분을 소홀히 했는데
만약 유사한 문제가 생길 경우 사건 해결까지 집중해서 케어하려는 자세가 필요할 것 같다.
중단사항 관련 리스트 작성, SAP 해당 일정 재전송 요청, 고객사 관련사항 전달 등
중단으로 인해 발생한 후속조치를 마무리한 다음
운영에 마이그레이션용 인터페이스를 배포해줬고
실제 마이그레이션을 진행할 때 초반 몇천개는 잘 되었지만 그 이후 갑자기 문제가 발생했는데
황당하게 데이터가 많아서 그런건지 아니면 inactive 데이터가 안되는건지
아니면 .invalid 데이터가 문제인건지 중복이 아닌데 중복이라고 하거나
중복체크 로직이 있는데도 불구하고 중복이라 생성이 안된다는 에러가 발생했다.
결국 전달하는 데이터를 이분탐색 느낌으로 에러가 날때마다 반토막씩 줄여서 범위를 좁히고
문제가 발생한 에러 데이터들만 제거해서 다시 진행하는 방식으로 해결해줬는데
간단한 문제지만 이분탐색을 떠올리지 않고 했으면 막막했을 것 같기도 하고
마이그레이션이 입, 출력 DB의 차이로 인한 변수가 많다는 것을 배울 수 있었다.
이전에 추가로 답변이 오면 정의서를 수정하려고 방치했던 내용이 있었지만
협력사쪽에서 영 답변을 하지 않고 있었기 때문에 해당 내용을 먼저 정의서에 추가해줬고
중개서버 관련 내용을 확인했는데 2시간가량 삽질하다가 결국 담당자분에게 문의 후 파일을 확인했고
그 이후 간단한 내용 파악을 하는데 2시간을 넘게 또 소비한 다음 9시가 되기 전에 퇴근했다.
(1).백준 9296번 Grading Exams는 각각의 테스트케이스에서 오답의 개수를 출력해야 하는 문제로
str1, str2로 각각의 답안, 제출된 내용을 구분해준 다음
index 0부터 순회하며 비교 후 wrongCount를 증가시켜 result에 담아주는 방식으로 해결했다.
const input = `2
5
abadd
abada
3
cba
abc`.split('\n')
const result = []
let count = 1
for(let i = 2 ; i < input.length ; i+=3){
const str1 = input[i]
const str2 = input[i+1]
let wrongCount = 0
for(let j = 0 ; j < str1.length ; j++){
if(str1[j] != str2[j]){
wrongCount++
}
}
result.push(`Case ${count++}: ${wrongCount}`)
}
console.log(result.join('\n'))
'회고' 카테고리의 다른 글
[개발일지] - 506 (2) | 2024.11.20 |
---|---|
[개발일지] - 505 (2) | 2024.11.19 |
[개발일지] - 503(주말) (0) | 2024.11.17 |
[개발일지] - 502(주말) (0) | 2024.11.16 |
[개발일지] - 501 (0) | 2024.11.15 |