대청소와 분리수거 빨래 등 주간 밀렸던 일들 때문에 시간을 좀 소모하긴 했지만

일, 월 2일 더 있기 때문에 미리 일처리를 했다고 생각하면 딱히 문제는 없는 것 같다.

 

일단 집에서 작동이 되는지 테스트를 했는데

Org Browser에서 정상적으로 다운받아올 수 있었고

Authorize an Org도 문제없이 진행되었으며

데스크탑에 우분투 환경이기 때문에 훨씬 더 안정적이라

회사에서 가져온 노트북은 사용하지 않고 집에서 그대로 진행하기로 했다.

혹시 집에서 되지 않을 때를 대비해서 회사 노트북과 충전기를 가져왔었다

 

오늘 가장 먼저 해결해야 하는 것은 당연히 데이터 받아오기로

아직 상품명을 가져오지 못했고

테이블에 넣을 데이터 구조를 새로 짜야 하는 것도 진행하지 못했다.

 

두 가지를 마치고 나면 이미지 생성 또한 시도해볼 예정인데

동기분이 걱정이 좀 되셨는지 주말에도 연락해도 되니까 궁금한게 있으면 물어보라고 해주셔서

최대한 해보고 질문리스트가 생길 경우 월요일에 보내볼 예정이다.

 

일단 값 중 일부는 맞는 값이 아닌 해당 타입이 들어오는지를 확인만 했기 때문에

정확히 필요한 값만 분리시키는 과정을 거쳤다.

 

상품명을 조회하기 위해서 PricebookEntryId, Product2Id가 연관이 있다고 생각했고

각각 이름 직접 조회는 없어서 혹시나 하고 OpportunityLineItem도 조회했지만

직접적으로 이름을 조회해주는 것이 아닌 id를 또 타고 건너야 했기 때문에

Product2Id에서 이름과 img를 가져올 수 있다는 생각을 하게 됐다.

 

상품명과 필드를 가져올 수 있다고 좋아하던 것도 잠시

객체형태의 데이터에 있는 값을 하나씩 조회하는 쿼리문을 짜서 각자 넣어줘야 한다는 충격적인 결과를 볼 수 있었다.

 

객체 내부 값을 하나씩 값을 받는 쿼리 작성 자체가 말이 안된다고 생각해서 시도하지 않았고

where in을 사용해서 id만 받아둔 객체에 있는 id와 같은 상품 리스트에서 id, name을 받아온 다음

상품 명과 동일한 값을 매칭시키는 새로운 객체를 만들어야 문제를 해결할 수 있을 것 같았다.

 

결국 얼추 해답을 찾기는 했는데 이미 QuoteId는 알고 있기 때문에

아래와 같이 where id in을 통해 필요한 상품 정보를 가져올 수는 있었고

그 내부에 이미지 url 또한 필드로 넣어줬기 때문에 어떻게 사용은 할 수 있을 것 같았다.

where Id in (select Product2Id from QuoteLineItem where QuoteId = '0Q05i0000017LDNCA2')

 

이제 다음 문제는 합치기와 이미지 출력인데

해당 값에서 이미지를 받아올 경우 출력이 되는지 쿼리에서 받아온 값을 뿌려보니 정상 출력이 되는 것을 볼 수 있었다.

 

필요한 조각은 거의 모은 상태이기 때문에

일요일에는 객체 형태 정리로 데이터를 가공하고(타입 강제 지정 문제)

받아온 값들을 견적서에 맞게 수정하는 것 까지는 해야 할 것 같다.

 

그 뒤로도 저장 기능과 코드 컨벤션 확인 등 여러가지가 있기 때문에

내일까지는 견적서처럼 보이는 것 까지는 진행해야 겠다.

 

 

 

 

 

(1).백준 9366번 삼각형 분류는 세 변의 길이를 제공받았을 때
삼각형을 만들면 정삼각형, 이등변삼각형, 그냥 삼각형인지를 묻는 문제였으며
삼각형이 될 수 없는 조건인 경우에는 invalid!를 출력해야 했다.

처음에는 단순히 정삼각형, 이등변, 삼각형, 불가능 순서로 조건을 나눴지만
실패 메세지를 보고 생각해보니 삼각형이 안되는 조건이라고 하더라도
이등변 삼각형 조건이 달성될 수 있다는 사실을 알 수 있었고(1,1,100)
정삼각형 다음에 불가능 조건 체크를 먼저 하는 방식으로 조건을 체크해 통과했다.

const input =`2
3 3 4
6 4 2`.split('\n')

const result = []

for(let i = 1 ; i < input.length ; i++){
    const [a,b,c] = input[i].split(' ').map(Number).sort((a,b) => a-b)
    if(a === b & b === c){
        result.push(`Case #${i}: equilateral`)
    }
    else if(a + b <= c){
        result.push(`Case #${i}: invalid!`)
    }
    else if(a === b || b === c){
        result.push(`Case #${i}: isosceles`)
    }
    else{
        result.push(`Case #${i}: scalene`)
    }
}

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

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

[수습일지] - 36(근로자의 날)  (0) 2023.05.01
[수습일지] - 35(주말)  (0) 2023.04.30
[수습일지] - 33  (0) 2023.04.28
[수습일지] - 32  (0) 2023.04.27
[수습일지] - 31  (0) 2023.04.26

+ Recent posts