java

Develop/Spring

[Spring] 캐시란? + Spring Boot 내장 캐시 사용하기

사이드 프로젝트에 캐시를 적용하며 이것저것 알아보는 시리즈 1. [Spring] 캐시란? + Spring Boot 내장 캐시 알아보기2. [Cache/Spring] EhCache vs Cache2k vs Caffeine 캐시 비교하기3. [Cache/Spring] 내 어플리케이션의 캐시 히트율 알아보기 캐시를 왜 쓰나요? 본격적으로 EhCache와 Caffeine을 비교하기에 앞서, 캐시가 무엇이고 왜 쓰는지 먼저 알아보자. 위키피디아는 캐시를 다음과 같이 정의하고 있다. 데이터를 저장하여 향후 데이터에 대한 요청을 더 빠르게 처리할 수 있도록 하는 하드웨어 또는 소프트웨어 구성 요소.캐시에 저장된 데이터는 이전 계산의 결과이거나 다른 곳에 저장된 데이터의 복사본일 수 있다.ref) https://en...

Develop/Java

[Java/Spring] DIP 활용해서 Testability 높이기

개요 최근 참여한 테스트 코드 스터디에서 테스트과 관련된 좋은 인사이트를 많이 얻었다. 평소 테스트가 어려웠는데, 스터디 이후 조금은 재밌다는 생각이 들었다. 스터디에서 배운 점들을 정리하고 복습하고자 포스팅을 작성해본다 ✅ 인프런의 Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트를 학습하며 정리한 포스팅입니다! 왜 테스트 코드를 짜야 하는가?✅  인수 테스트의 한계우리는 보통 내가 만든 코드가 의도대로 잘 돌아가는지 검증하는 목표로 테스트 코드를 짠다. 그러다보니 흔히 이런 생각을 하곤 한다.굳이 테스트 코드를 안짜도, 직접 실행해서 이것저것 눌러보면 충분히 테스트 한 게 아닐까? 예를 들어 REST API를 만든다고 가정할 때, 굳이 테스트 코드를 짜지 않고도 Postman이나 Swa..

Develop/Java

[Java] equals()와 hashCode()를 털어보자 (feat. 동일성 vs 동등성)

개요 지난번 포스팅에서 ==와 equals()에 대해 알아봤다. Object.equals()의 java document를 보면 아래와 같은 내용이 있다. Note that it is generally necessary to override the hashCode method whenever this method is overridden, so as to maintain the general contract for the hashCode method, which states that equal objects must have equal hash codes. equals()를 오버라이딩 할 때마다 hashCode()도 함께 재정의하는 것을 권장하고 있다. equals()는 언제 오버라이딩 되어야 하는지, ..

Develop/Java

[Java] 참조 타입에 ==을 쓰면 안되는 이유 (feat. String Pool, Integer cache)

개요 Java를 이용해 어플리케이션을 만들어봤다면, 아마 equals()나 ==를 한 번쯤은 사용해봤을 거다. 말 그대로 두 대상이 같은지 다른지를 판단해주는 친구들인데, 이전에 이 두 개를 잘못 사용하여 런타임 에러가 발생한 적이 있다 😇 equals()와 ==이 무엇이고 내부 동작 원리는 무엇인지, 어떤때 어느 것을 사용해야 하는지 알아보자. Java에서 동등성을 판단하는 두 가지 방법 == (등가 비교 연산자) 비교 연산자는 두 피연산자를 비교하는 데 사용되는 연산자이다. 이 중 두 피연산자의 값이 같은지 또는 다른지를 비교하는 연산자가 등가 비교 연산자로, Java는 !=와 ==를 제공하고 있다. 비교 연산자 연산 결과 == 두 값이 같으면 true 다르면 false != 두 값이 다르면 true..

스껄한우디
'java' 태그의 글 목록