회고

[개발일지] - 54

Happy Programmer 2023. 8. 23. 23:11

오자마자 메뉴얼을 다시 보는데

에러 발생 구간(개발만)이나 상세 내용이 적혀있지 않은 부분들을 볼 수 있었다.

 

특히 특정 상태에서만 값을 가져오는지 아닌지에 대한 확인이 필요했는데

적용된 것인지 메뉴얼 작성 후 확인해보니 특정 상태가 아닌 전체 값을 가져왔기 때문에

나중에 주문 제품의 특정 상태값만 가져오게 변경할 예정이다.

 

메뉴얼에서 특이사항이 있는 부분들은 정리해주고

빠진 것 같은 부분의 이미지를 추가해 보충한 다음

다시 메뉴얼 작성을 시작했다.

 

내용 검증 도중

첫번째 프로필에서 과다한 필드 수정 권한을 보유하고 있어서

필요한 필드 수정 권한을 제외한 수정 권한을 제거했다.

납품으로 변경이 절대 되지 않았는데 아래의 내용들은 권한을 부여해 해결했다.

(대충 apex, 라이트닝 페이지, )

 

메뉴얼을 모두 작성하고 확인한 다음 메일을 발송했다.

 

메일을 발송했지만 여러 에러가 발생하면서 진행이 되지 않았는데

GACK라는 유명한 세일즈포스 에러 페이지로

블루스크린과 유사한 취급을 받는 것 같았다.

GACK 에러?

주된 문제점은 로그인을 했을 때 지역 등이 달라서 확인 메일에 발송된 코드를 입력해야 하는데

테스트용으로 생성한 계정이었기 때문에 해당 메일은 실존하지 않아서

발송된 코드는 허공으로 증발해 버리기 떄문에 로그인이 불가능했다.

 

해당 부분을 어떻게 처리해야 하는지 열심히 검색한 결과

신뢰할 수 있는 IP를 등록하면 된다는 것 같은데

신뢰할 수 있는 IP라는건 보이지 않았고

프로필 내부에서 접속 IP 부분이 있어서 해당 부분에서 IP를 지정하니 해결할 수 있었다.

 

만약 테스트용도 등으로 아이디를 제공해줘야 할 때는

해당 IP 또는 전체 IP(개발용이라면)를 허용해줘야 로그인시 코드입력창이 뜨지 않아서

원활한 테스트를 진행할 수 있다.

 

그 뒤에는 예정대로 isLock에 대해서 알아보는데

lock으로 잠구고 Unlock으로 풀 수 있다는 것 같아서

확인했지만 제대로 되지 않았다.

 

isLock이나 lock으로 처리하라고 공식문서에도 써있지만

왜 안되는지 원인을 찾지 못했는데(아래는 공식문서)

https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_approval.htm

알고보니 System.debug처럼 Approval.lock(); 형태로 사용해야 적용되는 것이었다.

 

또한 lock으로 데이터를 잠궈도 데이터의 무제한 수정이 가능했는데

상당히 어이가 없었지만 원인을 찾아보니

관리자 계정의 “모두 수정”권한은 모든걸 무시하기 때문이었고

테스트 용도로 생성했던 사용자 계정으로 접속하니 정상적으로 아무것도 하지 못했다.

 

 

(1).백준 11718번 그대로 출력하기는 황당하게도 주어진 문자열을 그대로 출력하는 문제였다.

 

input으로 받은 값을 그대로 console.log로 출력했다.

const input = `Hello
Baekjoon
Online Judge`

console.log(input)