오늘도 케이스를 등록하려고 했는데

이미 케이스를 모아서 고객사에 전달된 상황이라 조금 당황했지만

그렇다고 금요일에 한 작업을 오늘 했다고 올리는 것도 뭔가 많이 이상하기 때문에

그냥 금요일 작업으로 올리기로 헀다.

 

어지간한 인터페이스 작업이라면 그냥 덩어리로 해도 계약상 문제는 없지만

실시간으로 전화를 받으며 인터페이스 관련 답변을 했던 내용이기 때문에 어쩔 수 없었다.

 

드디어 여신관연 잔액 프로세스를 진행할 수 있었는데

출하된 총 금액 쿼리 플로 추가 후 해당 값들을 전부 합산하고

기존에 주문할 때 들어간 값들도 전부 합한 후 실시간으로 받아온 잔액과 비교 후 처리했다.

 

중간에 특정 필드에 20글자가 넘을 경우 경고문을 띄워주는 부분도 처리했는데

input text의 경우 유효성검사에 "LEN({!inputTextApiName}) <= 20" 형태로 넣어줘서 해결했다.

 

해당 내용 진행내용을 고객사에 전달했고

바로 운영에 배포를 해보고 싶긴 헀지만 운영에 넣는 동안 해당 프로세스가 멈추기 때문에

개선사항이 있는지 먼저 확인 후 고객사 승인된 시점에 적용하려고 했지만

담당자분이 오늘은 휴가신지 접속을 하지 않으셔서 진행이 불가능했다.

 

이후 다른 인터페이스에서 여러 개체들 인터페이스 추가 요청을 진행했는데

SAP쪽에 전달 후 처리가 된 상태에서 들어온 내용 재확인과 레이아웃 정리 정도로 진행했고

그 와중에 SAP에서 3개정도 잘못 보내거나 누락되는 필드들이 존재했기 떄문에 해당 내용은 정리해서 SAP으로 전달했다.

 

고객사 요청 17개 필드는 거의 완료되었는데

특정 필드가 제대로 진행되지 않는 부분은 사유와 함께 따로 정리했고

각 개체별로 사진을 찍은 다음 추가 및 변경된 필드들은 하이라이트를 주고

요청사항의 번호에 맞게 수정된 필드 옆에 번호를 기입해서 전달했다.

 

팀장님과 진행하는 프로젝트쪽에서 이제 7번 인터페이스 배포가 될 것 같다고 하셔서

현재 인터페이스 관련 내용을 고객사에 전달하자마자 테스트해봤는데

배포가 정상적으로 작동했고 그 김에 다른 인터페이스 배포 여부도 확인 요청하셔서

전체 인터페이스 배포가 일회는 진행되었다는 사실과 일부 인터페이스 수정 내용을 공유헀다.

 

다른 인터페이스를 재배포해야 할 것 같았지만

최종 배포 전에는 계속 수정이 될 수 있기 떄문에 굳이 배포할 필요는 없다고 하셨고

그 말대로 얼마 지나지 않아 연결 프로세스를 확인해달라고 하시더니

11번 인터페이스 연결 조건 등과 비연결 처리 및 return 값 변경 작업을 해야 했다.

 

내일 진행될 회의는 혼자 참여하려고 하다가 어드민분에게도 문의드렸는데

사장님도 같이 들어가시면 좋을 것 같다는 의견을 주셔서 사장님에게도 해당 내용을 공유드렸다.

 

사실 해당 인터페이스의 경우 그냥 제대로 발송만 하면 되는데

내부적으로 무슨 정합성 문제가 있는지는 의문이지만

사실 그냥 계속 보내기만 하더라도 upsert를 하는 방식으로 SFDC쪽에서 처리는 될 것 같았다.

 

다른 개체 생성 버튼 관련 연결에서 특정 필드들이 잘못 연결된 모습이 발견됐는데

해당 필드의 정확한 기준 필드에 대해 문의를 했지만

이 부분도 오늘 휴가로 추정되는분이 담당하시는 내용이기 때문에 다시 다른 쪽 작업으로 넘어갔다.

 

11번 인터페이스는 수정된 내용이 있었기 때문에 주석을 추가했고

변경된 부분들에서 노테이션이 변경이 필요한 곳도 있어서 해당 부분들도 수정해줬다.

 

이번에는 다우오피스쪽으로 넘어갔는데

이번에도 정상적으로 진행되지 않고 FOMR_CODE를 확인하라는 에러를 자꾸 받았는데

발송되는 FORM_CODE는 문제가 없는 것을 보면 3개워정도 지나서 기존 코드가 만료되었던지

아니면 누군가 실수로 해당 코드를 지워서 에러가 발생한 것으로 추정됐다.

 

사실 지금 FORM_CODE는 테스트용으로 test123 같은 느낌의 대충 생성된 코드기 때문에

기존에 각 기안별로 지정된 FORM_CODE를 정리해서 내일 정식으로 생성 요청하기로 했고

해당 부분을 정리하다 6시 5분쯤 퇴근했다.

 

(1).프로그래머스 홀짝에 따라 다른 값 반환하기/홀짝에 따라 다른 값 반환하기는

주어진 값이 홀인 경우 그 이하의 홀수들의 합을

짝수인 경우 그 이하의 짝수의 제곱들의 합을 출력해야 하는 문제로

삼항연산자를 통해 제곱 또는 합을 for문 내부에서 결정했으며

for문의 시작 값은 짝수 및 홀수로 시작하게 하기 위해 %2를 처리해서 i에 할당했고

그 외에 2씩 증가하게 해서 홀수는 홀수, 짝수는 짝수만 순회할 수 있도록 했다.

function solution(n) {
    let answer = 0
    for(let i = n % 2 ; i <= n ; i+=2){
        answer += (i % 2) ? i : i**2
    }
    return answer;
}

 

 

(2).프로그래머스 n 번째 원소까지는 첫번째 원소부터 n개까지의 원소를 반환해야 하는 문제였는데

간단하게 slice를 사용해서 0부터 n번까지 반환하도록 해서 문제를 해결했다.

function solution(num_list, n) {
    return num_list.slice(0,n);
}

 

 

(3).프로그래머스 n개 간격의 원소들은 이름처럼 간격을 두고 배열을 만드는 문제로

for문으로 순회할 때 i를 1이 아닌 n씩 증가시키며 순회 후 새 배열에 담아주는 방식으로 해결했다.

function solution(num_list, n) {
    const answer = [];
    for(let i = 0 ; i < num_list.length ; i+=n){
        answer.push(num_list[i])
    }
    return answer;
}

 

 

(4).프로그래머스 n보다 커질 때까지 더하기는 주어진 배열 내부에서

0번째 index부터 계속해서 값을 더하다 주어진 값보다 커질 경우 반환해야 하는 문제로

while을 사용해서 값이 제한보다 커질 경후 중단하게 했으며

만약 index가 초과될 경우 undefined가 더해져서 NaN 처리가 될 수 있기 때문에 길이 제한도 추가했다.

function solution(numbers, n) {
    let sum = 0
    let index = 0
    while(sum <= n && index < numbers.length){
        sum += numbers[index]
        index++
    }
    return sum
}

 

 

(5).프로그래머스 조건에 맞게 수열 변환하기는 50보다 작은 홀수, 50보다 큰 짝수일 경우

*2 또는 /2 처리 후 넣어야 하는 문제로

for문으로 순회하며 if문으로 조건 확인 후 배열에 담는 방식으로 해결했다.

function solution(arr) {
    const result = []
    for(let i = 0 ; i < arr.length ; i++){
        const x = arr[i]
        if(x < 50 && x % 2){
            result.push(x * 2)
        }
        else if(x >= 50 && x % 2 == 0){
            result.push(x / 2)
        }
        else{
            result.push(x)
        }
    }
    return result
}

 

 

(6).프로그래머스 길이에 따른 연산은 길이가 10보다 큰 경우 합을 출력했으며

10 이하인 경우 곱을 출력하기 위해 result를 1로 초기화한 다음 for문 순회로 전부 곱해줬다.

function solution(num_list) {
    let result = 0

    if(num_list.length > 10){
        for(let i = 0 ; i < num_list.length ; i++){
            result += num_list[i]
        }
    }
    else{
        result = 1
        for(let i = 0 ; i < num_list.length ; i++){
            result *= num_list[i]
        }

    }

    return result
}

 

 

(7).프로그래머스 첫 번째로 나오는 음수는 말 그대로 처음 나오는 음수의 index를 출력하는 문제로

for문을 순회하며 음수를 찾은 다음 음수가 나온 경우 해당 i값을 result에 담고 break로 종료 후 출력했고

전체 순회 시 안나올 경우를 대비해 미리 result 값은 -1로 할당해줬다.

function solution(num_list) {
    let result = -1;
    
    for(let i = 0 ; i < num_list.length ; i++){
        if(num_list[i] < 0){
            result = i
            break
        }
    }
    return result;
}

 

 

(8).프로그래머스 n 번째 원소부터는 n번째 원소부터 배열을 만들어야 하는 문제로

간단하게 slice를 사용해서 n-1을 입력해 n번째 원소부터 마지막 원소까지 담겨있는 배열을 반환했다.

function solution(num_list, n) {
    return num_list.slice(n-1);
}

 

 

(9).프로그래머스 순서 바꾸기는 주어진 인덱스에서 자른 다음 앞 뒤를 바꿔야 하는 문제로

간단하게 구조분해할당으로 각각 자른 배열의 순서를 거꾸로 위치시킨 후 새 배열에 담아줬다.

function solution(num_list, n) {
    return [...num_list.slice(n), ...num_list.slice(0,n)];
}

 

 

(10).프로그래머스 flag에 따라 다른 값 반환하기는

flag 조건에 따라 a+b, a-b를 출력해야 하는 문제로

간단하게 삼항연산자를 넣어 true인 경우 a+b, false인 경우 a-b가 출력되게 했다.

function solution(a, b, flag) {
    return flag ? a+b : a-b
}

 

 

(11).프로그래머스 카운트 다운은 주어진 숫자부터 다른 숫자까지 1씩 줄여나가는 배열을 출력하는 문제로

for문에서 i의 시작 값, 종료 값에 넣고 i—로 감소시키며 모두 배열에 담아 출력했다.

function solution(start_num, end_num) {
    const result = []
    for(let i = start_num ; i >= end_num ; i--){
        result.push(i)
    }
    return result;
}

 

 

(12).프로그래머스 배열 만들기 1은 주어진 숫자의 배수가 담긴 배열을 만들어야 하는 문제로

for문으로 i += k 형식으로 순회하며 해당 값 이하까지 만들 수 있게 구성해서 해결했다.

function solution(n, k) {
    const result = []
    for(let i = k ; i <= n ; i += k){
        result.push(i)
    }
    return result;
}

 

 

(13).프로그래머스 접두사인지 확인하기는 주어진 값으로 시작하는지 여부를 1, 0으로 출력해야 했다.

indexOf를 사용해서 index가 0인 경우 해당 값으로 시작한다는 의미라1을 출력헀고

아닌 경우 삼항연산자로 0이 출력되는 방식으로 문제를 해결했다.

function solution(my_string, is_prefix) {
    return my_string.indexOf(is_prefix) == 0 ? 1 : 0;
}

 

 

(14).백준 28701번 세제곱의 합은 n까지의 합이 있을 때

n까지의 합의 제곱이 1부터 n까지의 각각 세제곱의 합이랑 같은지 확인하기 위해

합, 합의 제곱, 세제곱의 합을 각각 출력해야 하는 문제였다.

 

합과 세제곱의 합은 각각 for문을 순회하며 구해줬고

합의 제곱은 **2를 사용해서 제곱된 값을 출력했다.

const input = Number('5')

let sum = 0
let powpowSum = 0
for(let i = 1 ; i <= input ; i++){
    sum += i
    powpowSum += i**3
}

console.log(sum)
console.log(sum**2)
console.log(powpowSum)

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

[개발일지] - 429  (1) 2024.09.04
[개발일지] - 428  (0) 2024.09.03
[개발일지] - 426(주말)  (0) 2024.09.01
[개발일지] - 425(주말)  (0) 2024.08.31
[개발일지] - 424  (0) 2024.08.30

+ Recent posts