오늘은 평소와 유사한 작업을 진행하던 중 황당한 유지보수 사항을 처리했다.
파트너 사용자(SFDC Sites)의 페이지에서 값이 등록되지 않는 문제가 발생했는데
오류의 원인은 일단은 null값이 들어간다는 에러 딱 하나만 보이고 있었다.
class를 다 뒤져봐도 찾을 수 없었고
Create 버튼을 눌렀을 때 그냥 생성되는 부분이었기 때문에 page layout도 열심히 확인했지만
안타깝게도 문제는 전혀 해결되지 않았다.
간신히 버튼에 overriding이 되었다는 사실을 파악하고
해당 버튼을 처리하는 aura를 확인했는데 정상적으로 모든 필드가 다 들어있었고
해당 컴포넌트가 생성된 시점도 22년도로 여태까지 잘 작동했었다.
필드 권한 문제라고 방향을 전환했는데
이미 프로필에 필드 권한을 다 확인했었고
Sharing Setting 등 이런저런 설정까지 다 확인했는데
안타깝게도 모두 권한이 부여된 상황이었다.
권한문제라고 생각하고 조금 더 권한을 집중 분석하게 된 이유 중 하나는
관리자 계정으로 확인할 때는 정상적으로 진행되었기 때문에
component나 class가 조금 연관되었기 때문에 그 권한이 빠졌는지를 확인했지만
최종적으로 알게 된 결과는 많이 허탈했는데
그냥 세일즈포스 오류였다.
생각해보면 조금 다르지만 유사하게 억울했던 적이 있는데
이렇게 원인을 알 수 없는 권한 관련 문제는 해당 권한을 제거 후 다시 넣어주면 해결된다.
이렇게 되는 가장 큰 원인은 아마 저장될 때 뭔가 충돌이 나서 반영되지 않게 되는 것인데
해당 권한에 변경을 주게 되면 그제서야 설정된 권한이 부여되기 때문에
권한집합을 부여헀다가 제거했지만 제거 후에도 정상적으로 작동하는 것이 확인되었다.
(1).백준 14182번 Tax는 세금이 부과된 이후 소득을 구해야 하는 문제였다.
100만, 500만을 기점으로 0, 10, 20%였기 때문에
그만큼을 제외한 값을 *0.9, 0.8 처리로 해결했다.
const input = `10000
50000
2000000
7500000
0`.split('\n').map(Number)
const result = []
for(let i = 0 ; i < input.length - 1 ; i++){
if(input[i] <= 1000000){
result.push(input[i])
}
else if(input[i] <= 5000000){
result.push(input[i] * 0.9)
}
else{
result.push(input[i] * 0.8)
}
}
console.log(result.join('\n'))
'회고' 카테고리의 다른 글
[개발일지] - 240(주말) (0) | 2024.02.25 |
---|---|
[개발일지] - 239(주말) (0) | 2024.02.24 |
[개발일지] - 237 (0) | 2024.02.22 |
[개발일지] - 236 (0) | 2024.02.21 |
[개발일지] - 235 (0) | 2024.02.20 |