본문 바로가기

java30

[Spring] 스프링 부트에서 caffeine 캐시 사용하기 최근 스프링 부트를 사용해서 Open API로 부터 데이터를 가져오고 파싱해서 반환하는 API 서비스를 만들고 있었다. Open API에서 제공하는 데이터는 매 한시간 마다 변경되는 데이터였다. 즉 1시간 내에 호출되는 요청은 불필요한 통신을 요구했다. 거기다가 Open API 속도가 매우 느려서 응답시간이 매우 길었다. 그래서 스프링 부트 프로젝트에 캐시를 적용해 보기로 했다. 캐시 프로바이더에는 Ehcache, Caffeine, Redis 등 여러개가 있는데, 난 찾아보다가 설정이 제일 간편해 보이는 Caffeine을 사용해보기로 했다. 🌸 스프링 부트 프로젝트에 Caffeine 캐시 사용해보기 ① build.bradle에 관련 의존성 추가하기 dependencies { // 다른 의존성들... im.. 2023. 6. 13.
[Java] Map 인터페이스의 value 변경하는 법 💚 Map의 값(value)을 변경하는 방법 ⓛ put() 메서드를 사용해서 새로운 값을 키에 매핑한다. · 사용법: put(K key, V value) ② replace() 메서드를 사용해서 기존 키에 새로운 값을 할당한다. · 사용법: replace(K key, V value) or replace(K key, V oldValue, V newValue) 💚 사용 예시 import java.util.HashMap; import java.util.Map; public class MapExample { public static void main(String[] args) { // Map 생성 Map map = new HashMap(); // 값 추가 map.put("키1", 10); map.put("키2",.. 2023. 6. 12.
[Java] Comparator 인터페이스의 compare 메서드 💚 Comparator 인터페이스 - 자바에서 제공하는 인터페이스 - 두 개의 객체를 비교하는 데 사용 - 다양한 정렬 방식을 지원하기 위해 익명 클래스 또는 람다 표현식으로 구현될 수 있다. 💚 Comparator 인터페이스 - compare 메서드 - compare 메서드는 다음과 같은 형식으로 정의 int compare(T obj1, T obj2) - 여기서 T는 비교하려는 객체의 타입을 나타낸다. - compare 메서드는 두 개의 객체 obj1과 obj2를 인자로 받으며, 비교 결과에 따라 세 가지 경우의 값을 반환한다. ① obj1 obj2인 경우 양수를 반환 - 음수 또는 0이면 객체의 자리를 유.. 2023. 5. 30.
[Java] 문자열 자르기 (substring) 💚 문자열을 자르는 substring - 문자열을 원하는 구간만큼 잘라야 하는 경우가 있다. 이때 사용하는 것이 String 클래스의 substring 메서드이다. - substring은 두 종류가 있다. ① substring(int beginIndex) beginIndex부터(포함해서) 문자열의 끝까지 자른다. ② substring(int beginIndex, int endIndex) beginIndex부터(포함해서) endIndex 전까지 자른다. ex) endIndex가 5라면 index 4까지만 자른다. 💚 substring 예시 public class substringTest { public static void main(String[] args) { String str1 = "Hello, Wo.. 2023. 4. 30.
[Java] ArrayList 오름차순/내림차순 정렬 방법 💚 ArrayList 정렬법 - ArrayList는 컬렉션 프레임워크 중 하나이다. - 오름차순 정렬법 Collections.sort(list); - 내림차순 정렬법 Collections.sort(list, Collections.reverseOrder()); - 사용하려면 import를 해줘야 한다. import java.util.Collections; 💚 사용 예시 import java.util.ArrayList; import java.util.Collections; public class ArrayListSortingExample { public static void main(String[] args) { // ArrayList 생성 ArrayList numbers = new ArrayList(); .. 2023. 3. 30.
[Java] key-value 쌍을 가지는 Map 자료구조 인터페이스 💚 Map 인터페이스 - Map 인터페이스는 Key와 Value의 쌍으로 데이터를 저장하는 자료구조 - Map은 중복된 키를 허용하지 않으며, 각 키는 하나의 값과 매핑된다. - java.util 패키지에 속해있다. 💚 Map 인터페이스 주요 메서드 반환형 메서드 설명 V put(K key, V value) key-value 쌍을 만든 후 map에 넣음 V get(Object key) key에 매핑되는 value를 리턴. 없으면 null V remove(Object key) key에 매핑되는 쌍을 제거 boolean containsKey(Object key) 이 map에 지정된 key가 존재한다면 true반환 int size() key-value 쌍의 개수를 반환 void clear() Map에서 모든 .. 2023. 3. 24.