JAVA
-
자바 8에서의 CharBuffer와 ByteBuffer의 flip() 메소드 문제JAVA 2024. 12. 26. 11:04
나는 현재 자바 8을 사용중이고 아래와 같이 코드를 작성했다.java.nio.CharBuffer charBuffer; java.nio.ByteBuffer byteBuffer; charBuffer.flip();byteBuffer.flip(); 이 코드에서 컴파일 시에는 오류가 발생하지 않았지만, 프로그램을 실행할 때 런타임 오류가 발생했다. 오류 메시지는 다음과 같다.java.lang.NoSuchMethodError: java.nio.CharBuffer.flip()Ljava/nio/CharBuffer; 찾아보니 자바 8에서 실행하기 위한 프로그램을 컴파일하기 위해 JDK 11(상위 JDK 버전)을 사용하고 있기 때문에 실행시에는 예외가 발생할수있다고 한다. 문제의 원인1. 자바 8의 filp() 메소드pu..
-
Jackson Object Mapper 사용시 UPPER_SNAKE_CASE to camelCase 변환JAVA 2023. 8. 16. 19:45
교육청(neis) API를 호출하여 학교 정보를 조회하고있다. 교육청 API의 응답값은 대문자 + 스네이크 케이스(UPPER_SNAKE_CASE)로 내려온다. { "ATPT_OFCDC_SC_CODE":"B10", "ATPT_OFCDC_SC_NM":"서울특별시교육청", "SD_SCHUL_CODE":"7081450", "SCHUL_NM":"서울신곡초등학교", "ENG_SCHUL_NM":"Seoul Sin-gok Elementary School", "SCHUL_KND_SC_NM":"초등학교", "LCTN_SC_NM":"서울특별시", "JU_ORG_NM":"서울특별시강서양천교육지원청", "FOND_SC_NM":"공립", "ORG_RDNZC":"07731 ", "ORG_RDNMA":"서울특별시 강서구 등촌로13자..
-
[JAVA] Google Authenticator (구글 OTP) 연동하기 (1) - TOTP 알고리즘(HMAC, OTP, HOTP) 분석JAVA 2023. 5. 24. 15:27
내가 하고있는 프로젝트에서 관리자 로그인 페이지가 보안취약점에 위배되었다고 수정하기를 권고하였다. 위배된 이유는 관리자 페이지가 모든 사용자에게서 접근이 된다는 점이였다. 개선할 수 있는 방법을 두가지를 제시하였습니다. 1. VPN 2.OTP 2차 인증 VPN으로 하게되면, 나는 작업할게 없고 해당 업체 인프라팀에서 작업해주면 됩니다. 고객은 OTP 2차 인증을 선택하였습니다. 해당 업체는 개발, 운영 PC에 접근할 때 VPN 연결을 해야하는데, Google Authenticator를 이용하여 인증코드를 발급받아 VPN 연결을 하고있습니다. 따라서 관리자페이지도 Google Authenticator 를 연동하여 2차 인증을 진행해보려고 합니다. OTP (One-Time-Password) 일회용 비밀번호라..
-
[JAVA] String으로 받은 날짜와 시간 값을 LocalDateTime 객체로 변환하여 원하는 날짜포맷으로 리턴하기 (+ Date 객체)JAVA 2023. 5. 12. 15:29
호출하는 API에서 등록일자와 등록시간을 따로 내려주고있습니다. createDate = "20230502" createTime = "09225511" 업무를 할때 날짜와 시간데이터의 형식은 거의 일치하는 경우가 없었던것같습니다. 단순 DB 조회 뿐만 아니라 여러가지 외부 API 데이터 등을 이용하기 때문입니다. 위처럼 날짜와 시간을 별도로 내려주기도하고, 한번에 내려주기도 하고 또 다양한 형식으로 내려주고있습니다. 해당 날짜데이터를 받아 원하는 형식으로 포맷팅하여 클라이언트에게 내려주는게 저의 목표입니다! (물론 저값을 그대로 클라이언트에게 내려주고 포맷팅해서 렌더하라고.. 할수도있겠죠?ㅎㅎ;) 이미 짜져있는 프로젝트들의 Util 소스들을 보게 되면 거의 SimpleDateFormat 를 사용하고 있으나..