'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..
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..
회원탈퇴 관련 코드를 작성하는 과정에서 해당 회원과 관련된 모든 테이블의 데이터까지 같이 삭제해야 하는 경우가 생겼다 * xml에서 한번에 처리할 수 있는 방법으로 적용 1) xml에 여러 개의 DELETE문을 기입해 주고 2) DELETE문 하나 안에서도 JOIN으로 처리해야 하는 경우 JOIN 된 테이블 데이터를 모두 삭제해 주는 방법을 적용시켜 보았다 user.xml DELETE tpsh, tu FROM tb_user tu LEFT JOIN tb_push_send_hist tpsh ON tu.USER_ID = tpsh.RECV_USER_ID WHERE tu.USER_SN = #{userSn}; DELETE FROM tb_user_noti WHERE USER_SN = #{userSn}; DELETE ..
Windows IntelliJ에서 프로젝트 실행을 시키는데 다음과 같이 java.net.BindException "Address alredy in use: bind" 에러가 발생하여 아래와 같이 해결하였다 1. cmd 실행 (윈도우키 + r) 2. 사용하려는 port의 PID(Process ID) 찾기 $ netstat -ano | find "64932"# 64932는 본인 포트번호 입력 64932 포트를 사용하는 프로세스의 ID(PID)가 17100인 것을 확인 3. PID 종료 $ taskkill /pid 17100 /f * taskkill : 태스크 죽이기, /f : 강제종료 4. 서버 재시작 서버 재시작하면 실행이 잘 됩니다 Linux(Ubuntu) 1. 사용중인 프로세스 아이디(PID) 확인 포..