회고

[개발일지] - 75

Happy Programmer 2023. 9. 13. 23:28

어제 작성해야 하는데 까먹은 부분은

비밀번호 재설정을 해주기 위해서는 WorkBench를 사용해야 하는줄 알았는데

알고보니 익명함수에서도 아래와 같은 방식으로 비밀번호를 바꿔줄 수 있었다.

system.setPassword('005xx0000000XXX', 'passwordText');

 

또한 첨부파일 삭제 권한을 지정하려고 보면 권한을 찾기 쉽지 않았는데

조금 더 간단하게 파일 액세스를 레코드별 설정으로 변경할 경우

개체에 대한 권한에 따라 파일 접근 권한이 달라지기 때문에

파일에 대한 설정 권한 자체가 없다가

그나마 자기가 생성한 파일에 대해서는 삭제 권한이 생기는 모습을 볼 수 있었고

sharing setting을 건드리면 다른 유저의 파일도 삭제가 가능해질 것 같지만

고객사에서 필요한 기능인지는 의문이 들기 때문에 일단 그 상태를 유지했다.

 

오자마자 메일을 봤지만 다행히 에러발생이나 추가문의사항은 없었고

어제 보낸 인터페이스 에러 관련 메일 응답도 없었기 때문에

다시 요청사항 해결로 들어갔는데 하나의 요청사항에 구겨넣은 조건이 많아서 쉽지 않았다.

 

상태값들이 변경될 때마다 값을 넣어줘야 하는데

flow에서 입력받는 값을 추가하고 각각의 상태를 체크해서

상태 관여자와 시간을 기록해야 하는 것이었다.

 

필드를 전체 조회해서 자동 기입이 필요한 부분을 체크하는 것이 어려웠지만

의외로 트리거 내부에 작성하는 것은 어렵지 않게 상태값 if문을 통해 해결할 수 있지만

요청 관련 상태변경 5가지를 처리하려고 상태값을 확인하던 도중

재고쪽에도 4가지의 상태가 더 있었기 때문에 9개의 상태를 처리했다.

 

수정 부분에서도 수량을 제외한 다른 필드 접근을 막기를 원했기 때문에 해당 부분을 수정하였으며

검색이 불가능한 필드가 패키지 문제로 담겨져 있던 것도 패키지를 업데이트해주셔서 해결되었다.

 

리스트뷰 관련해서 필드 추가와 요청 목록을 변경했고

납품처 코드 관련해서 필드를 추가로 생성했다.

 

빌더를 사용할 때는 필터를 위해 fm 필드를 필수로 만들어야 하기 때문에

필터 요구사항이 늘어날 때마다 필드가 늘어나는데 필드 비교 프로그램이 있어야 할 것 같다.

 

권한이 없어서 버려둔 항목을 제외하고는 요청사항을 전부 처리했지만

요청사항 처리가 안되는 부분들은 패키지의 기능 관련해서 제공되지 않기 때문에

대응을 할 수 없는게 많이 안타까웠다.

 

 

(1).백준 20410번 추첨상 사수 대작전!은 주어진 공식에 맞는 숫자를 찾아야 하는 문제였다.

처음에는 c가 고정이었기 때문에 조건에 따라 공식을 만들 수 있어 보여서 시도하다가

브루트포스 문제임을 알고 m이 100까지밖에 되지 않기 때문에 그냥 숫자를 때려박았다.

 

다음에도 규칙이 보인다고 해도 범위가 좁다면 브루트포스로 하는게 더 빠른 결과를 가져올 수 있음을 기억해야곘다.

const [m,seed, x1, x2] = `13 5 2 9`.split(' ').map(Number)

let result = ''
for(let i = 0 ; i < m ; i++){
    for(let j = 0 ; j < m ; j++){
        const calX1 = (seed * i + j) % m
        const calX2 = (x1 * i + j) % m
        if(calX1 === x1 && calX2 === x2){
            result = `${i} ${j}`
        }
    }
}

console.log(result)