오늘은 타 인터페이스 관련 확인을 많이 했는데

확실히 다른 회사에서 짠 코드들을 보면 상당히 어지럽지만

접해보지 못한 새로운 체계가 있기 때문에 여러가지로 배우게 되는 것 같다.

 

10일정도 모인 사레를 한번에 정리 후 등록하는데

6일인가 연속으로 야근을 해서 그런지 업무량이 훨씬 많아서

생각보다 사례 정리시간이 오래걸렸다.

 

어제 완료한 내용에 대한 테스트 문의가 들어왔는데

해결 방법이 없어서 일단 시도해보겠다고 했지만

[{”xxxx”:”yyyy”}] 형태로 들어와야 하는 값이 “yyyy”형태로 들어오는 것이기 때문에

기존 코드, 테스트클래스를 전부 고치지 않는 이상 특정 레코드만 string으로 받는건 이상했는데

이 문제를 우리쪽에서 어떻게 해결할 수 있을까 고민해보니

배열인지 확인을 위해 Contains로 ‘[’를 체크했고

만약 배열이 아니라면 앞에 [{”xxxx”:와 뒤에 }]로 감싸서 배열로 들어온 것처럼 속이는 방식을 선택했다.

 

해당 방식대로 수정 후 postman으로 발송해보니 정상 인터페이스가 진행됐고

해당 내용을 협업사에 전달한 다음 테스트를 진행하는데

정상적으로 CRUD 기능테스트가 끝나서 다음주에 다시 다음 인터페이스를 진행하기로 헀다.

 

다른 프로젝트 연결 개체 확인 및 인터페이스를 구경했는데

확실히 팀장님은 본인이 짠 코드가 아니지만 에러코드만 보고 바로 원인을 해결하시는데

SFDC 내부 개체간 구조 이해가 상당히 높으신 것 같아보였고

인터페이스를 위해서는 SFDC 내부 기본 개체들의 관계에 대해 파악하는 시간도 필요할 것 같았다.

 

 

(1).백준 23663번 Deja vu of Go Players는 각자 백여개의 말을 가지고

각자 10억까지의 수치를 가지고 있을 때 각자 말을 제거해서 빨간색이 이길 수 있는지를 물었는데

처음에는 각자 말을 동일 양으로 제거해야 하는줄 알고 훨씬 더 복잡하게 진행하고 BigInt 처리를 했는데

오답으로 나와서 설마 이건 아니겠지 싶게 그냥 뭉치 제거라고 생각하고 위아래 줄을 무시하고

각자 덩어리 개수인 각 테스트케이스 첫번째 줄만 비교해서 통과하니 상당히 허탈했다.

 

굳이 왜 쓸모없는 데이터를 십억단위로 잔뜩 집어넣었는지 모르겠고

번역도 제대로 되지 않아서 문제 이해가 어렵긴 했지만 해결은 할 수 있었다.

const input = `2
3 2
1 1 1
2 2
1 1
4
3`.split('\n').map(el => el.split(' ').map(BigInt))

const result = []

for(let i = 1 ; i < input.length ; i+=3){
    const [red, white] = input[i]
    result.push(red <= white ? 'Yes' : 'No')
}

console.log(result.join('\n'))

'회고' 카테고리의 다른 글

[개발일지] - 289(주말)  (0) 2024.04.14
[개발일지] - 288(주말)  (0) 2024.04.13
[개발일지] - 286  (0) 2024.04.11
[개발일지] - 285(국회의원선거)  (0) 2024.04.10
[개발일지] - 284  (0) 2024.04.09

+ Recent posts