특정 조건으로 SMS 발송 시 사용하는 텍스트 템플릿이 변경되어서 코드를 수정했다. 단순 텍스트만 바꾸면 될 줄 알았는데 전송하는 조건이 좀더 세분화되어서 자바 코드도 수정해야 하는 상황이었다.
과정 정보를 문자에 넣어주어야 하는데, 해당 과정에 시험이 있는지 여부, 이수조건 여부, 상시/비상시 여부 등을 따져야 해서 생각보다 오래 걸렸다.
템플릿 수정을 거의 다 했을 무렵, 운영에서 문자발송 시도 시 에러가 뜬다는 이야기를 들었다. 처음에는 한 번에 너무 많은 사람을 선택해서 그런가 싶었는데, 120명에게 보내기 클릭 시에도 멀쩡한 부분이 50명 보내기할때 에러가 뜨길래 인원과는 관련 없을 거라고 추측했다.
운영 로그를 찾아보니, 해당 화면에서 들어가지 말아야 조건으로 가서 그 안에 있는 함수에서 에러가 나고 있었다.
아이디로 검색하는 기능은 2가지가 있는데, 하나는 유저 아이디만 전달하는 것, 나머지는 유저아이디 + 과정 정보를 '_' 언더바로 연결해서 가져온 값을 split해서 검색하는 기능이었다.
테스트한 곳은 아이디만 사용하는 곳이었는데, 언더바 split을 하는 로직을 타길래 데이터를 잘 보니 어떤 사용자의 아이디에 언더바가 들어가 있는 것을 확인할 수 있었다. 즉 내 코드도 문제가 있었지만, 아이디 생성 규칙에도 문제가 있었던 것이다.
JavaScript: HTML Form - email validation
let regex = new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/); // @앞자리 특수기호는 _, -, .만 허용
if(regex.test(user_id) == false){
alert("이메일 형식으로 입력하셔야합니다.");
}