오자마자 api 관련 문의사항에 답변해야 했는데

예시로 보낸 값이 아닌 다른 테스트 값을 발송했을 때 에러가 발생하는 부분에 대한 문의로

pickList 값이 특정 값들로 지정된 필드들에 대한 정의가 없어서 발생한 문제였다.

 

사실 해당 값들은 기존에 존재하던 홈페이지에서 선택목록에 존재헀고

해당 값들만 넘겨주면 굳이 문제가 없을 것 같아서 추가하지 않았는데

일부 변환하는 값도 존재하는 등 일치하지 않는 부분이 있기 때문에 해당 내용에 대해 설명했고

추가 요청에 따라 가능할 때 정의서에 해당 제한값들을 모두 정리해서 전달하기로 했다.

 

휴가를 다녀오셨던 팀원분이 휴가 중 있었던 일들에 대해 문의하셔서

인터페이스 관련된 내용에 대해 전달드리고

주 고객사에서 추가로 대소문자 일괄 대문자 적용 관련 인터페이스 요청을 헀기 때문에

해당 내용도 바로 처리 후 운영 배포해서 테스트한다음 고객사에 전달했다.

 

협력사쪽에서 SFDC에서 적용된 내용을 어떻게 확인해야 하는지 문의가 들어왔는데

모든 인터페이스 관련 페이지들을 각각 스크린샷을 찍어서 안내를 전달했고

오전에 진행되는 팀장님이 안계셔서 갑작스럽게 혼자 투입된 인터페이스 회의에 들어갔다.

 

중간에 팀원분이 response를 다른 코드와 유사하게 작성헀는데 반환되지 않는다는 문의를 하셨고

오히려 이게 반환이 되면 문제가 아닌가 싶었는데

다른 코드들에서도 다 이런 방식으로 작성되었다고 하셔서 다른 코드도 살펴봤다.

 

여기에서 참조에 의한 값 전달을 통해서 맨 앞단에서 인터페이스가 시작될 때 response 부분을 넘겨주고

최종 코드에서 다른 클래스의 함수를 호출하는데

해당 함수에서 response에다 outerWrapper를 전달하는 방식으로 세팅되고 있었고

새로 작성된 코드는 다른 회사라 해당 처리내용이 없어서 안되는 부분이었다.

 

중간에 gpt에게 물어보니 return이 없어도 마지막 개체를 넘겨준다는 이상한 소리도 하고

오히려 혼란만 커지는 일도 있었는데 어쨌거나 신선한 질문으로 response에 대해 한번 더 확인해볼 기회가 됐다.

 

추가 인터페이스 관련 맵핑을 진행하고 개체들을 열심히 확인했지만 감이 오지 않았고

기존에 주고 받았던 몇 안되는 전달받은 예전 대화내용을 확인해도 확실하지 않았다.

 

결국 모든 내용을 정리한 상태에서 상무님에게 해당 내용에 대해 문의드렸는데

이미 작성한 필드들도 잘못된 내용이 발견되었고

미스테리였던 필드들에 대해서도 명쾌하게 정리해주셔서 인터페이스가 좀 더 간단해졌다.

 

저녁 식사 후 인터페이스 정리 후 검토사항에 대한 코멘트들을 달아주고

협력사쪽에 해당 인터페이스에 대한 문제와 추가 인터페이스 관련 문의를 전달했고

pickList 제한값들을 6개 개체에 대해 확인해서 전부 정의서에 추가한 다음 전달해준 다음 8시 30분쯤 퇴근했다.

 

 

(1).백준 1380번 귀걸이는 입력값이 조금 까다로운 문제였는데

학생들이 주어지고 압수, 반환한 숫자가 주어질 때 반환받지 못한 사람을 출력해야 하는 문제였다.

 

처음 작동시키고 무한대로 돌아서 당황했는데

마지막이 뜬금없이 0으로 끝나서 i - 1 처리로 무한순회가 되어버렸던 것으로 early return을 넣어줘서 해결했고

그 외로는 변수명들을 추가해서 조금 더 가독성을 올리려고 노력은 했는데

map, arr 등 간단하게 체크 후 넘어가는 방식으로는 작성이 편했지만

변수들을 사용하다보니 변수명 명명 시간과 긴 변수명을 적는 것도 시간이 걸려서 은근히 귀찮았다.

 

학생 리스트에 학생들을 담아주고

리스트에 학생 인덱스에 true, false를 통해 압수 및 반환 여부를 저장해준 다음

마지막으로 true인 학생의 index를 찾아서 해당 학생을 템플릿 리터럴을 통해 요청받은 형식대로 result에 담아 출력했다.

const input = `3
Betty Boolean
Alison Addaway
Carrie Carryon
1 B
2 A
3 B
3 A
1 A
2
Helen Clark
Margaret Thatcher
1 B
2 B
2 A
0`.split('\n')

const result = []
let count = 1

for(let i = 0 ; i < input.length ; i++){
    if(input[i] == 0){
        break
    }
    const studentNum = Number(input[i])
    const studentArr = []
    const studentCheckList = []
    for(let j = i+1 ; j <= i + studentNum ; j++){
        studentArr.push(input[j])
    }

    for(let j = i + 1 + studentNum ; j < i + studentNum * 3 ; j++){
        let index = input[j].split(' ')[0]
        if(studentCheckList[index]){
            studentCheckList[index] = false
        }
        else{
            studentCheckList[index] = true
        }
    }

    result.push(`${count++} ${studentArr[studentCheckList.indexOf(true) - 1]}`)

    i += studentNum * 3 - 1
}

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

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

[개발일지] - 499  (1) 2024.11.13
[개발일지] - 498  (1) 2024.11.12
[개발일지] - 496(주말)  (0) 2024.11.10
[개발일지] - 495(주말)  (0) 2024.11.09
[개발일지] - 494  (1) 2024.11.08

+ Recent posts