몸상태 안 좋은지 13일째 - 정상은 아니다. 어지럼증도 (이건 잠을 못자서 인듯)
다시 책상에 앉았다.
PCRE 방식으로만 개발하다.. POSIX 방식으로 정규식 처리를 하려니 고구마 백만개 먹은 느낌이었다.
Failed to obtain R2DBC Connection; nested exception is io.r2dbc.postgresql.ExceptionFactory$PostgresqlNonTransientResourceException: [53300] Sorry, too many clients already
LocalDateTime
일 경우 에러를 뱉는다. 시작은 어제 마무리 못한 방식을 내가 컨트롤 할 수 있는 방식으로 변경하였다.
DB에서 replace 하는 것이 아닌 데이터를 가져와서 replace 처리하는 방식으로 변경.
잘 처리하고서 Builder 처리의 배치 로직을 수정했다.
복잡하긴해서 걱정이 좀 되는데, 최대한 쉬운 코드 스타일로 작성하려 노력했다.
그 이후엔 TimeRelationBuilder
를 처리했다.
뱃지 서비스를 기반으로 Filtering 및 Decoration 처리를 진행한다.
다만, 명칭의 변경이 필요해보인다. 뱃지만을 처리하는것이 아니라 시간의 흐름에 따른 데이터 필터링 및 뱃지 데코레이션을 진행하기 때문에 BadgeService가 아니라 다른 서비스명칭으로 변경을 해야할 것 같다.
마지막으로 테스트 하려고 했더니 데이터 수정을 해야해서 날짜를 수정하는데.. 오류가 난다.
범용적으로 쓰려고, Map으로 받고 Object와 Merge 하고 그 변경사항을 체크하는 로직을 개발해서 적용했는데 LocalDateTime
에 대한 처리가 없었나보다.
String으로 비교하도록 처리를 해두긴했으나, TypeSafe
하지 않아 수정이 불가피하다.
이 개발들을 진행하면서 Local PostgreSQL
서버가 이상한지 위의 too many clients already
를 내뿜는다.
Production 환경에선 발생하면 골치아픈 문제가 될듯하니 PGPool 등을 미리 설정해서 테스트를 해봐야겠다.
오늘 하루도 전쟁터 였다.
끝.