'Enum'은 클래스의 일종으로 열거형 클래스라고도 불리며, JDK 1.5 이상의 버전에서 사용이 가능하다 enum의 메서드를 이용해 목록 및 값을 가져오는 방법을 정리해 보았다 java8 이상을 사용한다면 stream(Stream.of)를 이용해 Enum의 목록을 가져와 보자! 1. enum 정의 public class Constants { public enum Country { KOREA("KR"), JAPAN("JP"), CHINA("CN"); private final String value; Country(String value){ this.value = value; } public String getValue() { return value; } } public enum CountryCode { ..
당연시하게 REST API 웹 개발을 해오면서 문득 왜 사용하고 꼭 사용해야 하는가? 에 대해 의문이 들어서 다양한 자료를 참고하여 개념 정리를 해보는 시간을 갖게 되었다 1. REST 란? - Representational State Transfer - 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미 - 웹의 장점을 최대한 활용할 수 있는 아키텍처 - REST는 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나이다 2. REST 구성 - 자원(Resource) : URI - 행위(Verb) : HTTP Method(POST, GET, PUT, DELETE) - 표현(Representations) Client가 자원의 상태(정보)에 대한 조작을 요청하면 Serve..
docker logs 옵션 --tail, -n : 로그 끝에서 표시할 줄 수(default : all) --since : 유닉스 시간 이후의 로그를 확인 -t : 타임스탬프 표시 -f, --follow : 로그를 계속 모니터링할 때 사용, tail -f와 같음 컨테이너 모든 로그 및, 이후 발생하는 로그 실시간으로 확인 $ docker logs -f [CONTAINER] $ docker logs -f my_docker 컨테이너의 로그를 NUMBER(30)만큼 보여줌 $ docker logs -n [NUMBER] [CONTAINER] $ docker logs -n 30 my_docker 마지막에 찍히는 NUMBER(10) 개의 로그만 보고 싶을 때 $ docker logs --tail [NUMBER] [C..
서버 로그 확인 중 DB 커넥션 오류 발생을 확인. DB에 접속 중인 세션을 오랫동안 사용하지 않거나 네트워크에 문제가 발생하는 경우 DB세션이 끊어질 수 있는데, 해결방법으로 wait_timeout, autoReconnect=true, validationQuery 등이 있다. 찾아본 결과 대부분 validationQuery 방법을 추천했다 오류 로그 o.a.c.dbcp2.PoolableConnectionFactory : Failed to validate a poolable connection. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 34,..
Thymeleaf는 대부분 Spring Boot에서 사용하는데, 나는 아직 SpringFramework에서 xml설정을 사용하므로 해당 방법을 찾아보고 정리해 보았다. 1. pom.xml 추가 pom.xml 파일에 타임리프 dependency 추가 org.thymeleaf thymeleaf-spring5 3.0.15.RELEASE 2. XML설정 - ThymeleafViewResolver 예시 1) ChatGPT * templateEngine : 'SpringTemplateEngine' 빈을 여기에 주입하여 타임리프 엔진을 설정 * characterEncoding : 문자 인코딩을 설정 (기본적으로 UTF-8을 사용) * viewNames : 리졸버가 처리할 뷰 이름 패턴을 설정 (필요에 따라 사용) 예..
안드로이드 기준으로 작성된 Base64 인코딩을 자바로 바꿔야 해서 찾아보다, Base64.NO_PADDING -> withoutPadding으로 대체가 가능하다는 점을 발견하고 자바에서 Base64 인코딩 시 withoutPadding 적용 후 차이점도 정리해 보았다 안드로이드 NO_PADDING import android.util.Base64; public static String base64UrlEncodeStr(byte[] bytes) { return Base64.encodeToString(bytes, Base64.URL_SAFE | Base64.NO_WRAP | Base64.NO_PADDING); } 자바 withoutpadding import java.util.Base64; public cla..