개발/Java
-
[SpringBoot] URL 이미지 반환하기(2) - Redis Caching개발/Java 2022. 5. 16. 15:55
[SpringBoot] URL 이미지 반환하기 스프링부트를 활용해서 API 서버를 만들면서 이미지가 담긴 URL을 반환해주는 기능이 필요했다. 클라이언트가 서버의 URL로 접근해서 이미지를 요청하면 외부 API의 정적 이미지를 담은 URL을 내 쪽 www.floodnut.com 앞서 구현한 URL 이미지를 캐싱하는 작업을 진행하고자 한다. 우선 캐싱을 진행하고자 한 이유는... 이미지는 외부 API를 통해 요청된다. API 호출 횟수를 줄이기 위해서다. 반복 요청에 대해서 외부 API로의 이미지 요청의 응답 속도를 줄이기 위해서다. 그렇다면 NoSQL인 Redis를 선택한 이유는? Key-Value를 통해 원하는 이미지만 빠르게 반환하기 위해서다. 여러 이미지를 반환한다면 RDBMS가 더 유리할 수도 있..
-
[JAVA] 입출력개발/Java 2022. 4. 25. 20:37
우리가 자바를 통해서 일반적으로 입출력을 처리하는 방법에 대해서 알아본다. 파이썬의 경우 sys.stdin.readline(), input(), map(), split() 등을 이용하는 것처럼 여러가지의 경우를 정리할 것이다. 추가 내용이 있을 경우 업데이트 예정 일반적인 입출력 import java.io.*; import java.util.*; public class Main { public static void main(String[] args){ /* 입력 */ Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLine()); /* 출력 */ System.out.println(n); } } Scanner와 표준 출력을 활용한 ..
-
[Spring Boot] URL 이미지 반환하기개발/Java 2022. 4. 25. 17:14
스프링부트를 활용해서 API 서버를 만들면서 이미지가 담긴 URL을 반환해주는 기능이 필요했다. 클라이언트가 서버의 URL로 접근해서 이미지를 요청하면 외부 API의 정적 이미지를 담은 URL을 내 쪽으로 끌고와서 해당 URL의 이미지를 내 서버의 URL로 접근할 수 있도록 해야했다. 외부 API에 직접 접근하면서 생기는 두 가지 문제점을 해결하고 싶었다. API키가 노출되는 점 URL 길이가 길어지는 점 위 두 개의 문제점을 해결하기 위해서 다음과 같은 방법을 생각했다. 외부 API URL에 접근해서 이미지만 객체 또는 바이트 배열로 받아오기 해당 이미지 객체를 바이트 배열로 반환하기 우선 아래와 같은 클래스와 함수를 만들었다. 파라미터로 전달되는 값들을 통해 URL을 구성하고 이를 통해서 URL 객체..
-
[Java] Error : new double no suitable constructor found for Double(no arguments)개발/Java 2022. 3. 27. 19:01
소수 값을 이용해야해서 Double 형의 변수를 선언해줄 필요가 있었다.Double var = new Double();/*error: no suitable constructor found for Double(no arguments) Double var = new Double(); ^ constructor Double.Double(double) is not applicable (actual and formal argument lists differ in length) constructor Double.Double(String) is not applicable (actual and formal argument li..
-
[Java] java.lang.UnsupportedOperationException개발/Java 2021. 11. 20. 22:36
안드로이드 앱 개발 중 에러가 발생해서 찾아보았다. Array를 List로 변환할 때 생기는 에러라고 한다. 아래 코드에서 처럼 Arrays.asList(배열명)를 사용해서 리스트로 변환하고 변수에 할당하면그 변수는 수정할 수 없다고 한다. 따라서 생성자를 통해 변환해주는 것으로 해결했다. //String 배열 선언String[] localNodes;...//변환 전arrayList = new ArrayList();list = Arrays.asList(localNodes);arrayList.addAll(list);//변환 후//Array -> List를 asList 변환 시, 아래와 같이로 선언해야 수정가능.arrayList = new ArrayList();list = new ArrayList(Array..