Amazon SES에서 DMARC 설정하기

Today I Learn 날짜 2024년 1월 11일 목요일 내용 하루종일 코드보단 AWS 설정만 건드렸다. DMARC Shopify에서 메일이 왔다. Gmail과 Yahoo에서 DMARC에 관한 정책이 바뀌었다는 내용이다. 우리가 커스텀 도메인을 사용하기 위해, 이 정책에 맞게 DMARC를 추가해주어야 한다. 아니면, 2월부터는 Shopify 쪽에서 제공하는 계정으로 발송처리 된다. 고객들이 알파리뷰가 보낸 메일임을 알 수 있도록 커스텀 메일주소를 계속 유지시켜야 한다. DMARC(Domain-based Message Authentication, Reporting and Conformance)는 이메일 인증 프로토콜이다. 이메일 도메인 소유자가 이메일 스푸핑으로 알려진 무단 사용에서 도메인을 보호할 수 있도록 설계되었다. DMARC의 구현 목적은 비즈니스 이메일 공격, 피싱 이메일, 이메일 사기 등 사이버 위협 행위에 도메인이 이용되지 않게 보호한다. <위키백과> ...

2024년 1월 11일 · 2 분 · 배준수

공부한 보람 느끼기

Today I Learned 날짜 2024년 1월 10일 수요일 내용 빨리 빨리 처리를 못하니 업무가 쌓인다. 똑띠 한번에 처리하자. 리뷰 처리 오늘 또 실수를 했다. 리뷰가 작성되면, 유저는 이름, 성 , 이메일 등을 입력해야 한다. 이때 입력한 이메일로 DB에서 고객정보를 탐색해 이름과 성을 덮어쓰고 저장했다. 어제 이 부분을, 덮어쓰지 않고 저장하도록 코드를 변경했다. 확인해보니 이름이 저장되지 않고 비어있었다. 작성된 리뷰를 저장할 때 사용하는 클래스는 여러가지가 있다. 기본 클래스를 바탕으로, 스토어 리뷰와 주문한 고객의 리뷰(검증된 리뷰), 주문하지 않은 고객의 리뷰(검증되지 않은 리뷰), 관리자의 리뷰가 모두 대동소이하다. 각 클래스는 비슷한 메서드를 필요에 맞게 각각 정의하고 있다. ...

2024년 1월 10일 · 2 분 · 배준수

ECS에서 스크립트 실행하기

Today I Learned 날짜 2024년 1월 9일 화요일 내용 이거하랴 저거하랴 정신 없는 하루였다. 내일 별일 없겠지.. Weekly Review Report email 보완 어제 전송되었어야 할 메일들이 전송되지 않았다. 해당 Task가 등록된 service의 로그를 확인해보았는데, 두가지 오류를 발견했다 invalid HTTP request received 라는 오류가 있었는데, 내가 새로운 Task 예약 규칙을 생성하기 전부터 찍혀오던 오류였다. 따라서 내가 추가한 것과는 무관한 로그라고 판단했다. ResponseValidationError : UTC 시간 기준으로 어제 오전 10시에 한번 찍혀있는 로그였다. 이전에 비슷한 오류가 발생하지 않아 내 Task가 작동하지 않은 원인일 거라고 추정했지만 석연치 않은 부분도 있었다. 내 Task는 매주 월요일 오전 0시 부터 1시간 간격으로 24번 실행되야 한다. 따라서 코드가 잘못되어 에러가 발생했으면 오전 1시 이전에 발생했어야 맞다. 혹시 설정이 잘못되었나 싶어 이것저것 살펴보다가 내가 만든 예약 Task의 Task definition이 개정된 버전이 지정되있지 않아 잘못된 Task definition이 걸려있었다. 수정하려고 설정에 들어갔을 때는 제대로 설정되어 있는데.. 버그인가 싶어 제대로 고쳐주고 내일 다시 실행되도록 했다. 내일은 제발 되었으면.. ...

2024년 1월 9일 · 3 분 · 배준수

월요일 월요일은 힘들

Today I Learned 날짜 2024년 1월 8일 월요일 내용 이것 저것 중구난방으로 처리하느라 이도저도 아닌 하루가 된 느낌이다. Weekly Review Report Email 지난주에 Task로 등록해두었지만, 메일이 발송되지 않았다. Log를 확인해보니 Invalid HTTP request received. 라고 뜬다. 정확히 내가 설정한 Task로 인한 것인지 아직 확실히 확인하지 못했다. 내일 조금 더 본격적으로 확인해서 무엇이 문제인지 찾아볼 예정. Localization 이전에도 느꼈지만 우리 서비스의 Widget 렌더링 로직은 참 어렵다. 우리 서비스는 리뷰 작성 페이지와 위젯의 언어를 바꿀 수 있는데, 이를 Localization이라 부른다. 이번에 포르투갈어, 독일어, 중국어를 추가해줘야 했다. ...

2024년 1월 8일 · 2 분 · 배준수

1/52

Today I Learned 날짜 2024년 1월 5일 금요일 내용 한 주간 있었던 리뷰 현황에 대한 변화를 ECS 예약된 Task로 설정했다. 아마 다음주 월요일 오전에 발송될테니, 테스트 샵의 계정으로 들어가 월요일에 출근해서 확인해보면 될 듯. 곧 시작될 스프린트의 공수에 대해 견적을 열심히 냈는데 아직 내가 개발해야될 것에 대해 감이 잘 안 온다. 하룻강아지 범 무서운 줄 모른다고 온보딩때 까불다 그렇게 망해놓고 아직 멀었나보다. 회고 올 해 첫 주가 끝났다. 아직 갈 길 이 참 멀었으니 올해도 화이팅 ...

2024년 1월 5일 · 1 분 · 배준수

머리가 나빠 몸을 고생시킴

Today I Learned 날짜 2024년 1월 4일 목요일 내용 목표 없는 노력만큼 바보 같은 것도 없다. 그럼 나는 꽤 바보다. 매일 노션에서 Todo 작성하고, 업데이트하면서 볼 수 있는 문구다. 근데 내가 그렇다. 조금 더 정확히 말하자면 목표가 있었는데 잘못된 목표였다. 그래서 아예 바보까진 그렇고 약간 바보라고 하겠다. 그래도 얻은 것은 있으니까… index.html만 화면이 안나타나서 어제부터 머리를 쥐어뜯었다. 문득 어떤 화면이 떠야 정상일까 궁금해서 로컬에서 index.html을 크롬으로 열어봤는데 아무 것도 안뜬다. 안 뜨는게 문제가 아니였다. 로컬에서 확인해보니 루트 경로로 들어가서 index.html로 가도 결국 메인 랜딩페이지(home/main)이 뜨게 된다. ...

2024년 1월 4일 · 3 분 · 배준수

아마존엔 없는 것 빼고 다 있다.

Today I Learned 날짜 2024년 1월 3일 수요일 내용 SQLAlchemy 매주 새로 생성된 리뷰들에 관한 정보를 담은 메일을 보내는 Task를 얼추 완성했다. CSS에 대해 추가적인 피드백이 필요하긴 하지만 우선 로직과 코드 자체에 대해 확인이 필요했다. 명명 이번엔, 변수나 함수 이름, 엔드포인트에 대해서 조금 더 신경썼다. 맨 처음 코드를 작성할 떈 아무래도 머릿속에 생각나는대로 적거나 GPT가 써준대로 적게 된다. Task를 진행하다보면 어느새 이 이름에 익숙해져 그대로 PR을 올리는 경우가 많았다. 다른사람이 내 코드를 볼 때, 이름의 의미를 쉽게 파악할 수 있다면 코드를 읽기 훨씬 수월해지기 떄문에 PR올리기 전 코드를 정리하는 시간을 따로 가졌다. 요청을 주고 받을 때 양쪽의 변수 이름을 동일하게 해서 함수의 흐름을 따라가는 사람이 헷갈리지 않도록 했다. 함수가 결국 반환하는 데이터가 무엇인지를 이름을 통해 알 수 있게 했다. 예를 들어, 내 Task가 결국 email을 보내야 하는 거지만 내가 구현할 함수 중에는 그저 Email을 위해 필요한 데이터만 조회하는 함수도 존재한다. 이 함수의 이름에는 email이 들어갈 필요가 전혀 없다. 나야 Task를 진행하면서 자연스레 넘어가게 되지만, 배경을 모르는 사람이 보면 코드를 볼 때 존재하지도 않는 메일 전송과 관련된 로직을 신경써야 하니까. ...

2024년 1월 3일 · 4 분 · 배준수