주 프로젝트의 발송 중 하나에 불필요 필드를 제외하고 주석 내용들을 삭제 처리했다.

 

중간에 다시 추가 지시가 와서 지원 프로젝트를 운영 배포하고

아직 테스트서버에도 정확하게 발송되지 않은 것 같지만 고객사에서 했다고 하니 운영 발송을 요청했다.

 

주 프로젝트 중 두번째 양방향 발송 부분의 관계 필드들을 정리했는데

확인 도중 이상한 부분들이 있어서 문의를 발송하고

일단 Item 부분의 관계 필드를 생성했다.

 

도중 인터페이스 관련 질문이 들어와서 credential 관련 질문에 답변헀는데

확실히 뭔가 새로운 방식이 생기면 바로 적용해서 기술 발전 전파 속도가 빠른 것 같다.

 

Item 부분의 관계 필드를 연결하고 나니 두번째 개체의 답변이 왔는데

대부분 추측했던 것과 같은 내용이었고 pickList들의 api, label 값을 받아서 생성 후 연결해줬다.

 

바쁘지만 그래도 요즘 유지보수는 잠잠해서 간신히 할만하다 싶었는데

생각하기가 무섭게 갑작스럽게 유지보수 문의들이 들어와버렸고

처음 들어온 내용은 다행히 timeout쪽이었기 때문에 SAP에 전달 후 넘어갔지만

그 뒤로 메인 개체 관련 인터페이스 오류가 발생해서 추가 시간을 많이 소모해야 했다.

 

확인 결과 SAP에서 필수 필드 중 하나를 빼고 발송해서 발생한 문제로 추측됐고

그게 아닌 경우 SAP에서 에러가 발생해서 발송조차 하지 않았을 가능성도 있었는데

문제의 원인으로 추측되는 것들을 정리해서 SAP으로 전달했다.

 

고객사에서 주 프로젝트에서 처음 했던 인터페이스는 언제 사용 가능하냐는 문의를 하셨는데

PM이 있는 것도 아니고 나 혼자 전체 프로젝트를 진행하고 있는 상황이고

딱히 기한이나 정확한 요구사항도 듣지 못했기 때문에 전체 완료가 되면 배포한다고 생각했는데

그래도 테스트클래스를 미리 만들어둬서 바로 배포 후 SAP에 발송 요청을 전달했다.

 

요청을 위해서 token, 정의서 등 여러가지가 필요할 것 같지만

기존에도 인터페이스를 진행하고 있는 회사라 token을 별도로 보낼 필요는 없어보였고

정의서 또한 그쪽에서 요청한 내용대로 만들고 개발서버에서 테스트까지 했기 때문에

그냥 발송 요청만 보냈는데 과연 잘 올지 긴장된다.

 

양방향 관련 추가 확인을 위해 요청받지 않은 type 관련 필드를 추가했고

두번째 양방향 발송 부분을 생성하는데

첫번째 양방향은 10시간 이상 걸려서 간신히 조각을 맞췄던 것 같은데

두번째는 이미 했던 틀이 어느정도 있어서 그런지 1시간이 좀 넘은 시점에 얼추 틀을 잡았고

한두시간이면 세부 필드 조율까지 마칠 수 있을 것 같았다.

 

다음에는 틀이 없다고 해도 정의서만 제대로 작성된 상태라면 몇시간 안걸릴 것 같은데

확실히 처음 해보는 인터페이스는 조금 어렵지만

한번 해보고 나면 그 다음부터는 속도가 붙어서 보람있는 것 같다.

 

 

 

(1).백준 30655번 Pique Esconde는 참여자들의 인원수와 술래가 주어질 때

숨어있는 마지막 한명을 찾아야 하는 문제였다.

 

일단 테스트케이스가 난잡했기 때문에 for문 내부에서 인원수를 x로 받아오고

x-2만큼을 i에 더해서 테스트케이스 단위로 잘라지게 만들었고

쓸대없는 '0  0'이 마지막에 붙어있었기 때문에 0 체크를 해서 for문을 종료시켰다.

 

테스트케이스 내부 for문을 순회하면서 map에 사람을 담아주고

최종적으로 순회를 통해 없었던 사람을 찾아서 출력했다.

const input = `3 2
1
5 1
2
3
4
4 4
3
2
0 0`.split('\n')

const result = []

for(let i = 0 ; i < input.length ; i++){
    const [x, n] = input[i].split(' ').map(Number)
    if(x == 0){break}
    const map = {}
    for(let j = 1 ; j <= x ; j++){
        map[j] = 1
    }
    map[n] = 0
    for(let j = i+1 ; j < i + x - 1 ; j++){
        map[input[j]] = 0 
    }

    for(let key in map){
        if(map[key]){
            result.push(key)
            break
        }
    }
    i += x-2
}

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

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

[개발일지] - 322(주말)  (0) 2024.05.18
[개발일지] - 321  (0) 2024.05.17
[개발일지] - 319(석가탄신일)  (0) 2024.05.15
[개발일지] - 319  (0) 2024.05.14
[개발일지] - 318  (0) 2024.05.13

+ Recent posts