본문 바로가기

전체 글266

[20220310] 개발자 일기 & TIL 개발일기 & TIL은 좀 더 간결하게 쓰기로 마음 먹었다. 길어질수록 쓰기 싫어지고 무슨 말을 하는지 모르게 되는 것 같아서이다. 대신에 꾸준하게 써야겠다고 생각했다. 그래서 가능하면 자정 전에 쓰기보다 퇴근하자 마자 쓰려고 한다. TIL Mybatis에서는 where 태그를 이용해서 where 절을 쉽게 사용할 수 있다. and로 시작하거나 끝날 경우 알아서 생략해준다. 물론 where 도 앞에 붙여준다. 2022. 3. 10.
[20220309] TIL 스프링 부트 관련 책을 보다가 로그 로테이션이라는 개념을 보았다. 로그 무한으로 찍으면, 메모리 용량의 한계가 있으니 일정 한도에 다다르면, 기존 로그를 지우고 새로운 로그를 기록하는 것이라고 한다. 2022. 3. 9.
[20220307] 개발자 일기 & TIL 문제가 있었던 서버의 로그 중에 "java.lang.OutOfMemoryError: Java heap space"이 있었다. 결국 JVM의 힙 메모리가 부족할 수하다는 것인데, 기존 다른 팀원분들은 톰캣의 catalina.out에 문제가 있지 않은가 추측하고 있다. 근데 로그가 찍혔다는 것은 결국 catalina 자체에 문제가 있다기보다 heap 용량이 초과되어 생기는 문제가 아닐까 생각하고 있다. 코드의 변수 선언 중에 BigDecimal을 사용한 부분이 있다. 쓰지도 않는 변수를 나열했다는 부분인데, BigDecimal은 float과 double의 부정확한 소수점 문제를 해결하기 위한 데이터 타입으로, 두 원시형 타입보다 더 많은 소수점 자릿수를 정확하게 표현할 수 있다. 그러다 보니 당연히 변수의 .. 2022. 3. 7.
[20220306] 개발자 일기 & TIL 가면 갈수록 그 회사의 코드가 문제를 일으킨다. 계속해서 '그 회사'라고 할 수 없으니 앞으로 클라이언트 S라고 하겠다.(Spaghetti code에서 따옴) 클라이언트 S의 코드는 고의로 유지보수가 어려우라고 짰다고 볼 수밖에 없을 정도로 악랄하다. 스프링 부트 프로젝트의 controller에서 repository를 이용해 필요한 데이터를 담은 객체에 필요한 데이터만 getter와 setter로 접근하는 것이 아니라, 일단 controller에서 repository를 이용해서 가격 변수를 모두 꺼낸다. 그리고 요청이 들어오면 if문을 통과하면서 필요한 변수를 예약 정보를 위한 다른 DTO에 넣어준다. 문제는 if문 분기에 해당하는 변수만 넣어준다는 말이다. 모든 가격 변수를 쓰지도 않을 거면서 일단 변.. 2022. 3. 6.
728x90