본문 바로가기

전체 글20

Collections.emptyList()와 Collections.EMPTY_LIST의 차이 개발을 하다 보면 return type은 정해뒀지만, 어느것도 return할 필요가 없는 상황이 생긴다. 단순하게 null을 반환할 수도 있겠지만 null로 인한 오류 발생 가능성도 있고, 후에 null 체크를 해줘야 한다는 점에서 null을 리턴하는 것엔 주의가 필요하다. 대신 빈 객체를 return하는 것이 좋은데, Collections는 아래의 빈 컬렉션을 return하는 메서드를 제공한다. Collections.emptyList(); Collections.emptySet(); Collections.emptyMap(); 그런데, 메서드 뿐만 아니라 상수 또한 제공하고 있다. Collections.EMPTY_LIST; Collections.EMPTY_SET; Collections.EMPTY_MAP; .. 2023. 4. 27.
Git :: Amend Commit 마지막 커밋에 메시지, 코드, 파일 아무거나 추가할 사항이 있는 경우 마지막 커밋을 덮어씌우는 옵션이다. git commit --amend git commit --amend m "add File in last commit " 좋더라 맨날 주석 수정하고 커밋하고는 했는데.. 2023. 3. 29.
RestTemplate _GET에 body를 넣어서 보내고 싶지만 조회 API 설계 중 HttpMethod GET에 body를 넣어서 개발을 하고 싶었다. WebClient를 사용하고싶지만 기존에 개발되어 있는 관련 API 코드들이 RestTemplate을 사용하고 있어 일단은 동일하게 RestTemplate으로 개발을 하기로 했다. 그러다보니 RestTemplate이 GET에 body 넣을 수 있도록 지원을 하고 있는지 궁금했다. 전에 봤는데 ... 기억이 가물가물.. 아니나 다를까 exception 발생했다. org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 : [{ "code" : -1, "message" : "Required request body is missing:.. 2022. 7. 7.
Java 기초 :: JVM과 컴파일 컴퓨터 언어와 사람이 쓰는 언어 컴퓨터는 사람이 ‘가', ‘나', ‘다'를 쓰는 것과는 다르게 ‘0’과 ‘1’로만 명령을 이해하고 실행한다. 이 차이점으로 컴퓨터가 쓰는 언어와 사람이 쓰는 언어를 기계 중심 언어인 저급언어, 사용자 중심 언어인 고급언어라고 부른다. 컴파일과 링크 사용자가 고급 언어로 프로그래밍을 하면 기계가 이해할 수 있도록 기계어로 번역하는 과정이 필요한데, 이를 컴파일이라고 한다. 사용자가 이해하는 언어로 작성된 코드를 원시 코드, 기계가 이해하는 언어로 번역한 것을 목적 코드(목적 파일)라고 한다. 따라서 컴파일을 원시코드를 목적 코드로 번역하는 것이라고도 표현할 수 있다. 컴파일 한 목적 파일을 실행 파일로 바꾸는 것을 링크라고 말하는데, 컴파일과 링크를 수행하는 것을 컴파일러라.. 2022. 5. 9.