본문 바로가기
728x90
반응형

분류 전체보기195

AD (Active Directory) vs LDAP (Lightweight Directory Access Protocol) OpenLdap, MS AD를 사용하다 보니 Ldap이라고 통칭해서 부를 때도 있고 AD라고 부를 때도 있어서 두 명칭의 차이를 명확하게 살펴보기 위해 포스팅하겠습니다. AD (Active Directory) Active Directory는 Microsoft에서 만든 인증, 그룹 및 사용자 관리, 정책 관리 등의 모든 기능을 제공하는 디렉터리 서비스 구현입니다. AD에는 다음과 같은 보안 기능이 포함되어 있습니다. 인증 - 사용자들은 네트워크 리소스에 액세스 하기 전 관련 자격 증명을 제공해야 합니다. 보안 그룹 - IT 관리자가 사용자를 그룹화한 다음 관리를 최소화할 목적으로 사용자 그룹이 앱에 할당됩니다. 그룹 정책 - AD에는 컴퓨터에 원격으로 액세스 하거나 브라우저 보안 설정을 구성할 사용자를 정.. 2022. 8. 4.
[Java] Handler dispatch failed; nested exception is java.lang.NoSuchFieldError: public class NoSuchFieldError extends IncompatibleClassChangeError Thrown if an application tries to access or modify a specified field of an object, and that object no longer has that field. Normally, this error is caught by the compiler; this error can only occur at run time if the definition of a class has incompatibly changed. Since: JDK1.0 NoSuchFieldError는 보통 해당 객체에 해당 필드가 더 이상 없는 경우 throw.. 2022. 7. 21.
[Spring] RequestContextHolder로 HttpServletRequest 가져오기 HttpServletRequest를 메서드 파라미터로 선언하지 않고 가져오는 방법입니다. request를 서비스 레이어까지 전달하지 않더라도 RequestContextHolder를 이용하면 되는데, RequestContextHolder는 Spring 프레임워크 전 구간에서 HttpServletRequest에 접근할 수 있게 도와주는 구현체입니다. RequestContextHolder는 ThreadLocal을 사용해서 servlet이 호출되면 thread, HttpServletRequest를 key-value로 보관하고 있다가 요청을 하면 동일한 thread내에서는 어느 곳에서든 같은 HttpServletRequest를 돌려주는 역할을 합니다. RequestContextHolder에는 HttpServlet.. 2022. 7. 21.
[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.
728x90
반응형