본문 바로가기
728x90
반응형

전체 글182

[Java] java.time.format.DateTimeParseException: Text 'yyyyMMdd' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to yyyy-MM-dd of type java.time.format.Parsed LocalDateTime.parse("20220720", DateTimeFormatter.ofPattern("yyyyMMdd")); java.time.format.DateTimeParseException: Text '20220720' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 2022-07-20 of type java.time.format.Parsed 위 코드를 실행 시 DateTimeParseException 이 발생하는 이유는 자바가 Base Date 값을 DateTime으로 허용하지 않기때문입니다. LocalDateTime 대신 LocalDate를 사용하면 문제가 해결됩니다... 2022. 7. 20.
[Window] Apache JMeter 설치 및 실행 아파치 제이미터는 웹 애플리케이션에 초점을 둔 다양한 서비스의 성능을 분석하고 측정하기 위한 부하 테스트 도구로서 사용할 수 있는 아파치 프로젝트입니다. 1. JMeter 설치 https://jmeter.apache.org/download_jmeter.cgi 에서 압축 파일 다운로드 후 압축 해제 apache-jmeter\bin 경로 하위에 있는 meter.bat 실행 2. jmeter plugins manager 설치 https://jmeter-plugins.org/wiki/PluginsManager/ 에서 jar 파일 다운로드 다운로드한 jar 파일을 apache-jmeter\lib\ext 경로 하위로 이동 후 jmeter 재실행 JMeter > Options > Plugins Manager 클릭 A.. 2022. 7. 12.
[Spring/Jenkins] 젠킨스 Rest API로 젠킨스 Job 실행 젠킨스 Rest API를 이용하여 젠킨스 Job을 실행하는 방법을 알아보겠습니다. 1. 젠킨스 계정 API Token 생성 계정 > 설정 > API Token > Add new Token 원하는 이름으로 생성한 뒤 토큰을 복사해주세요. (복사하지 않으면 토큰을 알 수가 없음. 토큰명은 의미 없음.) 2. Item에 Token 추가 view > item > 구성 > 빌드 유발 빌드를 원격으로 유발 (예: 스크립트 사용)을 체크한 뒤 복사한 토큰을 붙여 넣기 해주세요. 3. curl로 job 실행 테스트 curl -X POST [젠킨스 서버 URL]/job/[job 이름]/buildWithParameters --user [젠킨스 user id]:[user password] --data token=[생성한 j.. 2022. 7. 4.
[Spring] redis keys 대신 scan keys 명령어는 한 번에 모든 키를 스캔해서 조회하는 반면, scan 명령어는 한 번에 약 10개씩 정도를 조회합니다. keys는 키 수가 많을 경우 처리시간이 그만큼 많이 소요되며, 그 동안 다른 명령을 처리하지 못합니다. 그래서 대안으로 나온 것이 sacn입니다. scan은 count 값을 정하여 그 count값만큼 여러 번 레디스의 모든 키를 읽어오기 때문에 count의 개수를 낮게 잡으면 count만큼 키를 읽어오는 시간은 적게 걸리고 모든 데이터를 읽어오는데 시간이 오래 걸리지만 그 사이사이에 다른 요청들을 받을 수가 있으므로 레디스가 다른 요청을 처리하는데 병목이 생기는 것을 방지할 수 있습니다. 1. RedisTemplate 우선 redisTemplate을 사용하여 keys 대신 scan을.. 2022. 6. 29.
[Spring] EhCache를 Caffeine Cache로 변경하는 방법 (Caffeine Cache 적용 방법) 캐시 비교 게시글은 많기 때문에 생략하겠습니다. (Redis, EhCache, Caffeine 비교 , EhCache, Caffeine 비교) 해당 본문에서는 로컬 캐시가 EhCache로 설정되어 있는 환경을 Caffeine Cache로 변경하는 방법을 다루겠습니다. 1. pom.xml dependency를 변경합니다. ehcache caffeine net.sf.ehcache ehcache com.github.ben-manes.caffeine caffeine 3.1.1 2. application.yml ehcache 설정을 제거합니다. ehcache caffeine spring: cache: ehcache: config: classpath:cache/ehcache.xml 제거 3. Configuratio.. 2022. 6. 24.
[LDAP] javax.naming.OperationNotSupportedException: [LDAP: error code 53 - 0000052D: SvcErr: DSID-031A12DD, problem 5003 (WILL_NOT_PERFORM), data 0 Spring에서 Ldap 계정 비밀번호 수정 시 아래와 같은 오류가 발생하였습니다. (MS AD 사용) [LDAP: error code 53 - 0000052D: SvcErr: DSID-031A12DD, problem 5003 (WILL_NOT_PERFORM), data 0 ]; nested exception is javax.naming.OperationNotSupportedException: [LDAP: error code 53 - 0000052D: SvcErr: DSID-031A12DD, problem 5003 (WILL_NOT_PERFORM), data 0 ]; remaining name 'CN=xxx' Simple AD 사용시에는 https://moonsiri.tistory.com/117 와 같은.. 2022. 6. 20.
[C3.js] 실시간 라인 그래프 그리기 (Amazon CloudWatch Graph 벤치마킹) aws CloudWatch에 있는 그래프를 참고하여 실시간 라인 그래프를 그려보겠습니다. 우선 html에 그래프를 그릴 영역을 잡아줍니다. 위 영역에 그래프를 초기화해줍니다. 차트 라이브러리는 c3.js를 이용하겠습니다. 필요한 라이브러리는 c3.css, d3.js, c3.js입니다. (c3.js를 선택한 이유는 예전에 사용 경험이 있는 d3.js를 기반으로 만들어진 라이브러리로 간단하게 그래프를 그릴 수 있고, 이미 그려진 그래프에 값을 업데이트할 때 자연스럽게 그려지기 때문입니다.) $(function () { initGraph(); }); let lineGraph; function initGraph() { lineGraph = c3.generate({ bindto: '#load-graph', dat.. 2022. 6. 15.
[Java] 사용 가능한 모든 Locale, Country 조회 java.util.Locale 를 사용합니다. 사용 가능한 모든 Locale 객체 조회 Locale[] availableLocales = Locale.getAvailableLocales(); 모든 Locale 객체의 Country 조회 String[] countries = Locale.getISOCountries(); [Reference] https://docs.oracle.com/javase/7/docs/api/java/util/Locale.html 2022. 6. 3.
[Spring] HttpStatus.LOCKED : 423 Client Error HTTP Status Code는 클라이언트가 보낸 HTTP 요청에 대한 서버의 응답을 코드로 표현한 것으로, 해당 코드로 요청의 성공, 실패, 실패 요인 등을 알 수 있습니다. HTTP 상태 코드 중 LOCKED 상태 코드에 대해 알아보겠습니다. Locked라는 단어만으로 단순히 잠금상태로 판단하고 계정 잠금 등에 사용하면 안 됩니다. 423 상태 코드는 메서드의 소스 또는 대상 리소스가 잠겨 있음을 의미합니다. 이 응답에는 'lock-token-submitted' 또는 'non-conflict-lock'과 같은 적절한 전제 조건 또는 사후 조건 코드가 포함되어야 합니다. 423 Locked The 423 (Locked) status code means the source or destination re.. 2022. 6. 3.
[IntelliJ] 스트림 디버깅 (Stream trace) 스트림으로 개발하다 보면 연산과정에서의 데이터 변화를 한눈에 보고 싶을 때가 있습니다. 인텔리제이 2017.03 버전부터 기본으로 설치되어있는 Java Stream Debugger 플러그인 사용법을 알아보겠습니다. 1. Stream 위치에 breakpoint를 설정해주고 debug run해줍니다. 2. Trace Current Stream Chain 아이콘을 클릭합니다. 3. 스트림 연산이 수행되고 데이터 변화와 결과를 한눈에 확인할 수 있습니다. [Reference] https://plugins.jetbrains.com/plugin/9696-java-stream-debugger https://www.jetbrains.com/help/idea/analyze-java-stream-operations.html 2022. 4. 28.
728x90
반응형