일정을 정리하고 중복처리 자동화 코드를 쭉 읽어보는데

예상 외로 틀린 부분들이 발견되었다.

 

가장 간단한 실수 중 하나는 업데이트 목적으로 생성한 다음

내부에는 업데이트할 개체들을 새로 생성해서 담는 것이 아니라

그냥 아이디(String)만 담아버렸는데

다행히 String과 개체의 타입 충돌로 인해 발견할 수 있었다.

 

그 외에 처리순서에 따라 읽어보다 황당한 실수도 있었는데

x List에서 y List를 생성할 목적으로 for문을 돌려야 하는데

y List에서 yList를 만들고 있었다.

 

정적분석으로는 아무 문제가 없지만

빈 리스트를 순회하지 않기 때문에

실제로 코드가 돌아가면 해당 부분은 처리되지 않을 뻔 헀다.

 

이후 생성요청 코드를 작성하는데

ContentVersion에는 단순히 생성 위치, 파일명만 저장되기 때문에

공통 파일들을 추적하는 것은 가능하지만

원본 파일의 부모인 파일정보를 찾을 수는 없었다.

 

물론 단일 DML을 통해서 생성된 개체 Id와 FileName을 통해 조회하면 부모를 찾을 수는 있지만

두개의 where을 사용하기 떄문에 결국 해당 두개 필드를 fm 필드로 만들어서 키로 사용했다.

 

해당하는 파일정보에 접근하기 위해서는 부모Id, 파일명을 사용하고

공통 파일들을 조회하기 위해서는 Order, 파일명을 키로 사용하고

Document Id를 조회하기 위해서 ContentDocument를 사용하고

다시 또 ContentDocument와 Document Id, 파일정도를 연계하기 위해 Map을 사용했다.

 

Component에서 개발한 컴포넌트의 권한을 부여하려고 헀지만

도저히 권한을 부여할 수 없었다.

결국 검색 끝에 component의 위치를 찾았는데 Visualforce Components에서 visualforce가 생략된 것이었다.

 

Visualforce Components의 키워드로 검색하니 드디어 답을 찾을 수 있었는데

해당 페이지의 접근 권한을 상속받는다는 허탈한 결말이었다.

 

값을 출력할 때 !IF를 사용해 삼항연산자를 대체할 수 있다.

<div>{!IF(items.xxxxx, 'xxxxx = true', 'xxxxx = false')}</div>

 

오늘은 너무 바빠서 회고 내용도 정리되지 않았는데

9시 20분쯤 퇴근헀기 때문에 회고를 추가로 정리할 시간도 없다.

 

첫번째, 두번째, 세번째 프로젝트 동시가동이 제대로 되고 있는데

첫번째 프로젝트는 운영으로 전체 코드 반영을 해야 하는데

이전 2개월 가량 진행했던 내용이라 상당히 많고 복잡할 것 같고

두번째 프로젝트는 리뷰하기 전 오늘 들어온 추가 요청사항을 끝내야 하는데

마감일이 목요일이기 때문에 수요일까지 끝내버려야 해서 상당히 다급하다.

 

마지막으로 세번째 프로젝트도 자동화 과정 및 이런저런 인터페이스인데

리팩토링은 커녕 작동하는 것 확인도 쉽지 않은데

오늘 간신히 자동화 코드를 완료했지만 대량 데이터 전송시 에러가 발생하기 때문에

원인을 찾다가 요청사항이 들어와서 요청사항을 먼저 처리하고 있지만

마음 한구석이 찜찜하다.

 

네번째로 들어올 개인 프로젝트도 있을 것 같은데

2~3주 전에 올 것 같았지만 이제는 2~3주는 지난 후 들어와야 할 것 같다.

 

 

(1).백준 21603번 K 2K 게임은 특정 숫자의 첫번째 자릿수와 2배가 되는 숫자인 경우 세지 않는

369 유사게임을 한다고 가정할 때

외쳐야 하는 숫자들을 나열해야 하는 문제였다.

 

처음에는 단순하게 값을 %10으로 처리헀지만

2배가 되는 숫자는 나눈 후 10으로 처리해서 부분 점수를 받아버렸고

곰곰이 생각해보니 예쁘게 되지는 않지만 나머지 처리를 if문 내부에서 처리해서 통과했다.

const input = `16 12`.split(' ').map(Number)
const limit = input[1]
const result = []

for(let i = 1 ; i <= input[0] ; i++){
    if(i % 10 == limit % 10 || i % 10 == (limit * 2) % 10){
        continue
    }
    else{
        result.push(i)
    }
}

console.log(result.length)
console.log(result.join(' '))

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

[개발일지] - 124  (1) 2023.11.01
[개발일지] - 123  (0) 2023.10.31
[개발일지] - 121(주말)  (0) 2023.10.29
[개발일지] - 120(주말)  (0) 2023.10.28
[개발일지] - 119  (0) 2023.10.27

+ Recent posts