월요일 월요일은 힘들

2024년 1월 8일 월요일

Today I Learned

날짜

2024년 1월 8일 월요일

내용

이것 저것 중구난방으로 처리하느라 이도저도 아닌 하루가 된 느낌이다.

Weekly Review Report Email

지난주에 Task로 등록해두었지만, 메일이 발송되지 않았다. Log를 확인해보니 Invalid HTTP request received. 라고 뜬다. 정확히 내가 설정한 Task로 인한 것인지 아직 확실히 확인하지 못했다. 내일 조금 더 본격적으로 확인해서 무엇이 문제인지 찾아볼 예정.

Localization

이전에도 느꼈지만 우리 서비스의 Widget 렌더링 로직은 참 어렵다. 우리 서비스는 리뷰 작성 페이지와 위젯의 언어를 바꿀 수 있는데, 이를 Localization이라 부른다. 이번에 포르투갈어, 독일어, 중국어를 추가해줘야 했다.

각 단어가 들어갈 위치에 맞게 언어를 추가해놓은 dictionary를 포함시킨 class를 만들었다. 예를 들어, 첫번째 자리는 ‘제목’ 이 나타날 위치에 들어가게 될 단어를 넣으면 된다. 따라서 각 나라 언어의 dict의 첫번째에는 ‘제목’을 나타내는 단어들이 들어가 있는 방식이다. 이에 맞게 이번에 추가할 나라들의 class를 만들었다. 그냥 이 단어 모음을 DB에 저장하는 방식이 아니라, 각 shop마다 언어별 설정을 저장해두어야 한다. 현재 언어가 8개라면 각 shop은 8가지 종류의 언어 설정을 DB에 저장하고 있다. 이 중 하나만 active 되어있어 화면에 출력되는 것이고, 이를 위한 필드도 존재한다.

나는 commands를 이용했다. redis에 등록된 shop들의 정보가 있기 떄문에, 존재하는 모든 shop에 새로운 언어 설정을 추가해서 DB에 저장하는 방식으로 구현했다. 앞으로 새로운 localization task가 생길때 마다 쉽게 사용할 수 있을 것 같다.

근데 테스트 서버에서 이 스크립트를 어떻게 실행시킬까? 이것만 해결하면 된다.

회고

월요일이라 집중이 잘 안된다. 그래도 이번주까지 꼭 유지보수를 끝내자.