요청사항 및 인터페이스 처리 관련해서는 보안도 보안이지만
org나 회사마다 다르게 적용될 수 있는 부분이기 때문에 굳이 작성할 필요는 없어보인다.
오늘은 메일 및 문의만 10개정도 우르르 도착했는데
그중에 공유 가능한 부분은 그리니치시(GMT)관련 문제였다.
시간을 입력받고 해당 시간에 특정 작업이 진행된 것을 기록하는데
미래 시간으로 기록된 부분이 있다는 문의사항이 들어와서 확인해보니
새로 값을 입력할 경우 입력 시간 +9시간이 되어버렸다.
그냥 입력되는 시간이 그리니치시 기준으로 입력되어버리고
다시 내부에서는 한국 시간으로 변환하기 때문에 9시간이 추가되는 것이었는데
.addHours(-9)를 사용해서 입력받아온 값을 변경해줬다.
또한 The target object email address is currently marked as bounced라는 끔찍한 문구도 있었는데
일단 원인은 반송된 메일이 있기 때문에 발생한 것으로
인터페이스와 전혀 관계없지만 인터페이스 도중 변경되는 개체와 연관된 트리거 중에
메일 실패가 발생해 인터페이스가 터지는 문제가 있었다.
일단 간단하게 대상 Contact로 이동해보면 email 부분에 불이 들어와 있는데
말 그대로 반송된 이메일이기 때문에 해당 이메일에 발송되지 않는다는 뜻으로
해당 문제를 해결하기 위해서는 이메일 주소를 유효한 값으로 바꿔줘야했다.
또한 애초에 반송된 이메일 주소로 메일을 보내지 않는 방법도 있었는데
Contact의 IsBounced(?) 같은 필드가 존재했기 때문에
해당 필드를 체크한 다음 true인 경우 통과 또는 자체 에러 발생으로 중단 등을 할 수 있다.
(1).백준 26040번 특정 대문자를 소문자로 바꾸기는 지정한 대문자들을 소문자로 바꿔야 하는 문제였다.
조건이 여러개가 넘어올 수 있기 때문에 for문으로 순회하며 split, join을 사용해 변경시켰고
소문자 변환은 해당 값에 toLowerCase()를 사용해 처리했다.
const input = `ABabC
A B D`.split('\n')
let str = input[0]
const arr = input[1].split(' ')
for(let i = 0 ; i < arr.length ; i++){
str = str.split(arr[i]).join(arr[i].toLowerCase())
}
console.log(str)
'회고' 카테고리의 다른 글
[개발일지] - 197(주말) (0) | 2024.01.13 |
---|---|
[개발일지] - 196 (0) | 2024.01.12 |
[개발일지] - 194 (0) | 2024.01.10 |
[개발일지] - 193 (0) | 2024.01.09 |
[개발일지] - 192 (0) | 2024.01.08 |