오자마자 하이퍼포스 정상 이관에 대해 확인 요청이 들어왔고
인터페이스 기록이나 회사 정보 탭에서 확인한 결과 이관도 됐고 그 사이 에러도 발생하지 않았다.
인터페이스 발송에서 에러가 발생하지 않았기 때문에 하이퍼포스 이관은 정상처리된 것 같았고
추가로 자동 프로세스 같은 경우에는 발송이 아니기 때문에 수신은 신경쓸 필요 없어 보였고
전반적으로 잘 돌아가서 정상적으로 이관된 것 같다고 보고드렸다.
저번주 월요일에 처리했던 전체 검색 관련해서
담당자분이 컴퓨터로 10분 넘게걸리는데 속도 개선에 대해 문의주셨고
애초에 SFDC쪽에서 heap size limit으로 인해서 배치로 받아와서 붙이는 방식인데
이걸 수만건을 하는 것이 문제가 있어서 검색 조건들을 덕지덕지 붙여둔 것이기 때문에
추가적으로 해당 기능만 하게 구현하지 않는 이상 개선은 어려울 수 있고
실제로 개발한다고 하더라도 얼만큼의 성능 개선이 될지도 알 수 없으며
개발 시간도 얼마나 걸릴지 모르겠다는 답변을 할 수밖에 없었다.
저번주 내내 너무 바빴기 때문에
유지보수 처리 시간 관련 케이스 등록을 지금 진행했고
이후에는 1.13~1.17 작업내용을 다시 회사 내부 진행업무에 등록했다.
갑작스럽게 다른 유지보수 업무를 담당하시는 분이
특정 요청사항 관련된 인터페이스들에 대해서 문의주셨는데
초반에는 대부분 답변 가능했지만 애초에 22년도에 다른분이 개발하신 인터페이스기 때문에
전혀 손대보지 않은 부분까지 질문이 진행되서 그 부분은 답변을 제대로 하지 못했다.
오전 중 작업내용 정리도 마친 다음
이사님이 내부 프로그램(?) 개발을 우선적으로 하고
다른 작업은 올스탑하라고 하셨던게 일단은 끝났기 때문에
팀장님에게 당장 해야 하는 업무들에 대해 문의드려서 업무를 할당받았다.
갑자기 또 유지보수 문의가 들어왔는데
왜 갑자기 우르르 오는지는 모르겠지만 SAP쪽 오류였고
SFDC쪽에서 확인 가능한 데이터들을 모아서 첨부한 다음
더 자세한 내용은 SAP에서만 확인 가능하며 추측되는 원인들을 전달했다.
주로 담당하는 고객사 관련해서 3건이나 문의가 왔지만
홈페이지 이전 관련 회의 일정 문의가 들어왔고
이미 다 끝난 것 같은 상태로 몇주가 지났는데 수요일에 실시간 회의를 요청했다.
전체공지로 예정된 연말정산에 대해 잠깐 확인해본 다음
간소화 자료를 받아보긴 했는데
월세액감면을 받으려면 또 추가 자료가 필요했고
일단 영수증을 어떻게 받을 수 있는지 확인하다가 일단 포기했다.
인터페이스 구조 관련된 회의를 잠깐 진행하다가
첨부파일의 링크관련 수신은 개체를 따로 파서 연관필드를 두개 넣어주기로 하고
발송할 때는 파일과 관련된 contentDocumentLink를 생성하려고 헀는데
오랜만이라 헷갈렸지만 막상 만들고 보니 링크가 들어있지 않고
이 링크는 그냥 파일에 연결하는 것이었기 때문에 contentDistribution을 사용해야 했다.
trigger ContentVersion_trig on ContentVersion (after insert) {
// 새로운 ContentVersion이 생성된 후에 실행
List<ContentDistribution> insertDistList = new List<ContentDistribution>();
// 생성된 ContentVersion 목록 가져오기
for (ContentVersion cv : Trigger.new) {
// ContentVersion이 Case에서 생성된 경우만 처리
if (cv.FirstPublishLocationId != null && cv.FirstPublishLocationId.getSObjectType() == Case.SObjectType) {
// ContentDistribution 객체 생성
ContentDistribution dist = new ContentDistribution();
dist.ContentVersionId = cv.Id;
dist.Name = cv.Title; // 파일 이름
dist.PreferencesAllowOriginalDownload = true;
dist.PreferencesNotifyOnVisit = false;
dist.PreferencesLinkLatestVersion = true; // 최신 버전 링크
insertDistList.add(dist);
}
}
// ContentDistribution 객체를 삽입
if (!insertDistList.isEmpty()) {
insert insertDistList; // ContentDistribution 삽입
}
}
결국 트리거를 수정하고 다시 발송 구조를 짠 다음
특정 Id값을 넣으면 연결된 파일들의 외부 다운로드 링크들을 발송하는 것 까지 확인하고 퇴근했다.
(1).백준 15516번 Array Manipulation at Moloco (Easy)는 해당 index보다 앞에 있는 숫자들 중
현재 index에 있는 값보다 작은 숫자의 갯수를 각각 출력해야 하는 문제였다.
for문으로 값을 순회하며 다시 내부에서 for문으로 index 0부터 바로 앞 숫자까지 순회해서
더 작은 값인 경우 count를 증가시키는 방식으로 진행했는데
shift()를 쓰지 않고 i, j를 둘다 1부터 시작했어도 괜찮았을 것 같다.
const input = `5
10
5
12
1
11`.split('\n').map(Number)
input.shift()
const result = []
for(let i = 0 ; i < input.length ; i++){
let count = 0
for(let j = 0 ; j < i ; j++){
if(input[j] < input[i]){
count++
}
}
result.push(count)
}
console.log(result.join('\n'))
'회고' 카테고리의 다른 글
[개발일지] - 569 (0) | 2025.01.22 |
---|---|
[개발일지] - 568 (0) | 2025.01.21 |
[개발일지] - 566(주말) (0) | 2025.01.19 |
[개발일지] - 565(주말) (0) | 2025.01.18 |
[개발일지] - 564 (0) | 2025.01.17 |