본문 바로가기

전체 글266

[20220505] TIL TIL 어제 발견한 equals()와 hashCode() 오버라이드를 계기로 객체 비교에 대해 조금 알아보고 싶어서 공부해봤다. 간단하게 String 리터럴 선언과 객체 선언 비교 문제에 대한 글들을 읽어보았다. '==' 연산자는 주소 값을 비교 String 값이 선언되면 같은 값들은 heap 영역 내 String Constant Pool 내의 같은 곳을 가리키게 된다. 그렇기 때문에 리터럴 선언 시 같은 값이면 '==' 연산자를 사용해도 동일하다. 반면에 new로 선언한 객체와 리터럴 선언의 String을 비교하거나 new로 선언한 String 객체 간을 같은지 비교하면 false가 출력된다. 2022. 5. 5.
[20220504] 개발자 일기 & TIL JPA 프로젝트에서 Entity를 통해서 데이터를 받아오려고 했는데, 파라미터를 입력했지만, 제대로 된 데이터가 나오지 않아서 고심하고 있었다. 그러다가 입력한 값이 어떻게 출력되는지 보려고 쿼리를 변경했는데 입력한 값이 제일 처음에 입력한 값으로 계속 나오고 있었다. 뭐지 영속성 컨텍스트가 제거되지 않고 남아 있나 생각하면서 원인을 찾다 보니 Id로 넣었던 값을 변경하지 않고 고정시켜 놓았더니 조회하면서 id가 같으니 동일한 로우를 리턴하고 있던 것이었다. JPA에서 ID로 설정한 칼럼의 값이 영속성 컨텍스트의 ID 칼럼 값과 같으면 같은 로우로 보고 영속성 컨텍스트의 데이터를 가져온다. 이걸 생각 못하고 계속 여러 가지 변경해보는 고생을 한 하루였다. 그래도 원인을 찾았으니 오늘도 하나 배워서 좋은 .. 2022. 5. 4.
[20220502] 개발자 일기 & TIL Heap space 에러를 내면서 다운되는 서버를 자바 코드 개선을 통해서 해결해야 되는데 쉽지 않다. 단순히 메모리가 부족해서 일어나는 일일 수도 있겠지만, 내부 코드가 쓰레기인 것을 본 이상 서버를 증설한다고 해서 근본적인 문제가 해결되지 않는다. 또 얼마만큼 자원이 부족한지도 모르니 어느 정도 서버를 늘려야 할지 확신할 수 없고 따라서 해결되리라 장담할 수도 없는 노릇이다. 이것 때문에 여러 가지 찾아보면서 배운 건 많은데 그러다 보니 너무 많고 복잡해서 정리를 제대로 할 수 없을 거 같다. 엔티티 vs. DTO를 정리해본다. TIL DTO(Data Transfer Object)는 말 그대로 데이터 전송을 위한 객체이다. 멤버 필드와 getter, setter로 이루어져 있다. 엔티티는 DB의 테이.. 2022. 5. 2.
[20220429] 개발자 일기 & TIL 팀원 분께 코딩 원칙에 대한 한 블로그 글을 추천받았다. 객체지향 생활체조 9가지(https://jamie95.tistory.com/99)라는 글인데 코딩을 하면서 지켜야 할 원칙들을 잘 정리해놓은 것 같았다. 평소에 알고 있었던 early return이나 변수명 컨벤션 같은 거 외에도 새로운 원칙들을 알 수 있게 되어서 좋았다. 클린 코드도 사놓고 읽다가 못 읽고 있다. 사둔 책은 자꾸 늘고 있는데 읽지를 못한다. 개발자들이 읽어야 할 책은 너무 많은데 일도 많고 해야 할 것도 많다. 시간이 해결해주기를... TIL 최근 읽고 정리하던 책은 애시시 사린과 제이 샤르마 저의 "배워서 바로 쓰는 스프링 프레임워크"인데, 그중 1~5장이 스프링의 기본 원리나 설정 방식들을 담고 있는 거 같아서 자세히 읽어보.. 2022. 4. 29.
728x90