728x90 반응형 전체 글198 [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. [Spring] AOP와 @EnableAspectJAutoProxy Spring AOP (Aspect Oriented Programming) AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이라고 불립니다. 쉽게 말해 관점에 따라 각각 모듈화(어떤 공통된 로직이나 기능을 하나의 단위로 묶음)하겠다는 것입니다. 소스 코드에서 여러 코드에서 반복해서 사용하는 코드를 발견할 수 있는데 이것을 흩어진 관심사(Crosscutting Concerns)라고 합니다. 흩어진 관심사를 Aspect로 모듈화하고 핵심적인 비지니스 로직에서 분리하여 재사용하겠다는 것이 AOP의 취지입니다. AOP 주요 개념 Aspect : 흩어진 관심사를 모듈화 한 것 Target : Aspect를 적용하는 곳 (ElementType 등) Advice : 실질적인 부가.. 2022. 4. 27. [JAVA8] null 대신 Optional 그동안 NullPointerException을 피하기 위해 어떻게 해결해 왔을까?다음은 null 확인 코드를 추가해서 NullPointerException을 줄이려는 코드입니다.// null 안전시도 1: 깊은 의심public String getCarInsuranceName(Person person) { if (person != null) { // null 확인 Car car = person.getCar(); if (car != null) { // null 확인 Insurance insurance = car.getInsurance(); if (insurance != null) { // null 확인 .. 2022. 4. 24. [Spring] hCaptcha 적용 hCaptcha에 대한 설명은 다른 페이지에서 자세히 설명하고 있기 때문에 생략하고 적용하는 방법에 대해 설명하겠습니다. 우선 https://dashboard.hcaptcha.com/ 에 회원가입을 하여 Site key와 Secret key를 확인합니다. html에 스크립트와 hCaptcha가 노출될 부분에 코드를 삽입합니다. (옵션 값 확인 : https://docs.hcaptcha.com/configuration#hcaptcha-container-configuration ) 그럼 아래와 같이 hCaptcha가 노출이 됩니다. 사용자가 캡챠를 성공적으로 통과를 하면 숨겨져 있는 "h-captcha-response"에 값이 추가됩니다. 만약 아래와 같이 Warning: localhost detected... 2022. 3. 21. [Spring Security] DelegatingPasswordEncoder와 BCryptPasswordEncoder strength에 따른 수행시간 DelegatingPasswordEncoder에 대해 정리하기 전에, 스프링 시큐리티 래퍼런스 내용을 살펴보겠습니다. Srping Password Storage Spring Security’s PasswordEncoder interface is used to perform a one way transformation of a password to allow the password to be stored securely. Given PasswordEncoder is a one way transformation, it is not intended when the password transformation needs to be two way (i.e. storing credentials used to auth.. 2022. 3. 20. 이전 1 ··· 4 5 6 7 8 9 10 ··· 20 다음 728x90 반응형