본문 바로가기
728x90
반응형

전체 글179

[intellij] 멀티 커서 단축키 일회성 : Alt + Shift + 왼쪽 커서 지속 : Alt + Shift + Insert 2022. 11. 4.
[Spring] 쿠키와 파라미터로 Locale 처리(CustomCookieLocaleResolver, LocaleChangeInterceptor) Cookie를 이용하여 Locale을 정의하는 CookieLocaleResolver과 언어 파라미터에 따라 Locale을 변경해주는 LocaleChangeInterceptor에 대해 포스팅하겠습니다. CookieLocaleResolver CookieLocaleResolver는 말 그대로 Cookie를 이용해서 Locale 정보를 담는 것입니다. setLocale()을 통해 Locale 정보를 담은 Cookie를 생성하고 resolverLocale()에서 Cookie로 부터 Locale 정보를 가지고 옵니다. import org.springframework.web.servlet.i18n.CookieLocaleResolver; @Bean public LocaleResolver localeResolver() .. 2022. 9. 8.
[JAVA] UUID 중복 확률 UUID를 단순히 유니크 값이라고 생각해왔는데 얼마나 유니크하고 정말 중복될 확률이 없는지 알아보겠습니다. UUID란? UUID(universally unique identifier)란, 범용 고유 식별자로 네트워크 상에서 서로 모르는 개체들을 식별하고 구별하기 위해 개발주체가 스스로 이름을 짓도록 하되 고유성을 충족할 수 있는 방법입니다. 총 36개 문자(32개 문자와 4개의 하이픈, 128bit)로 된 8-4-4-4-12라는 5개의 그룹을 하이픈으로 구분합니다. 예) 550e8400-e29b-41d4-a716-446655440000 중간에 4는 버전을 나타냅니다. 버전 v1 : timestamp + MAC 주소 v2 : timestamp + MAC 주소 + DCE 보안 v3 : name-based +.. 2022. 8. 9.
[Srping] 스프링에서 LDAP 사용하기 (계정 CRUD, 인증, 비밀번호 변경) LDAP 디렉터리 서버는 읽기에 최적화된 계층적 데이터 저장소입니다. 일반적으로 계정 인증 및 권한 부여에 필요한 계정 관련 정보를 저장하는 데 사용됩니다. 이전 게시물에서는 AD와 LDAP을 비교하면서 LDAP 구조에 대해 알아봤는데, 이번에는 Spring에서 계정 인증 및 검색하고 디렉터리 서버에서 계정 생성 및 수정하기 위한 Spring LDAP API 사용법을 알아보겠습니다. Maven Dependency org.springframework.ldap spring-ldap-core ... 해당 dependency의 버전은 https://search.maven.org/search?q=a:spring-ldap-core 에서 확인 가능합니다. LDAP 데이터 계정 인증, 검색, 생성, 수정을 위한 구조는.. 2022. 8. 4.
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.
728x90
반응형