본문 바로가기
728x90

Programming/Spring25

Interceptor 사용법 회사에서는 관리자 페이지의 보안을 OAuth2 방식으로 하고 있습니다. 유효한 토큰을 API에서 받아와 세선에 저장해놓고 request를 보낼 때 마다 세션에서 토큰이 유효한지 확인하는 작업을 하고 있습니다. 토큰은 클라이언트에서 쿠키로 관리하고 있으며 매 요청을 보낼 때마다 쿠키의 토큰을 확인하고 있습니다. 매 요청마다 session을 찾아 유효한 토큰이 있는지 살피다 보니 매우 반복적인 작업이 되었습니다. React를 사용하면서 Axios의 Interceptor 기능이 있었는데 서블릿에서 기본적으로 Interceptor를 제공해주고 있습니다. 이 방식은 매 요청이 이루어질 때마다 해야되는 작업이므로 수평적으로 관리해주어야 할 필요가 있습니다. 대표적인 방법들이 Filter, Interceptor, A.. 2020. 6. 18.
@ParameterizedTest 최근 클린코드 8기 과정을 들으면서 필요하다고 생각했던 내용을 번역한 글입니다 @ParameterizedTest 메소드는 private, static이 되어서는 안된다 아래 목록 중 하나는 꼭 있어야 한다 ArgumentProvider @ValueSource @CsvSource provider는 Arguments의 Stream을 제공해야 한다 DEFAULT_DISPLAY_NAME "[{index}] {arguments}" {0} : 0번째 argument 정리 @ParameterizedTest @ValuSource @NullSource @EmptySource @NullAndEmptySource @EnumSource(Month.class) @EnumSource( value = Month.class, nam.. 2020. 5. 16.
Intellij 스프링 부트와 npm 커맨드 함께 실행하기 최근에 스프링 부트 프로젝트에 webpack 설정을 해주었습니다. 매번 스프링 부트를 실행하면서 npm 커맨드를 따로 실행하는 것이 꽤나 번거로웠습니다. 두개의 run script를 Intellj로 실행하는 방법에 대해 소개해보겠습니다. 설정 먼저 오른쪽 상단에서 Edit Configuration을 클릭합니다. npm과 Spring Boot 커맨드를 각각 설정합니다. 그리고 왼쪽 상단에서 Add New Configuration을 클릭한 뒤 Compound를 찾습니다. Compound는 이름 그대로 run script를 모아놓은 공간이라고 생각하시면 됩니다. 이제 앞에서 설정해놓은 npm과 Spring Boot 커맨드를 이곳에 추가하시면 끝이 납니다. 이제 설정한 spring\_webpack을 실행 해주시.. 2020. 5. 15.
@DisplayName이 작동하지 않을 때 JUnit 5를 사용하면서 @DisplayName을 사용해도 아래처럼 테스트 메세지가 변하지 않을 때가 있습니다. @Test @DisplayName("테스트") void test() { ... } 설정 위의 경로로 가셔서 Run Test using을 Intellij IDEA로 변경해주시면 됩니다 Preference -> Build,Execution,Deployment -> Build Tool -> Gradle 그러면 아래처럼 기대했던 값을 원할 수 있습니다. 2020. 5. 10.
logback-spring.xml 설정 이후 배포 실패 1. 문제점 최근 스프링부트로 작업하는 프로젝트에 Logstash로 로그를 관리하기로 했습니다. 기존 프로젝트에 logback-spring.xml를 설정해주고 배포를 하니 503에러를 발생하고 있었습니다. 로컬에서는 별 문제 없었기에 배포 이후에도 문제될 것이 없다고 생각하였습니다. 젠킨스로 배포 시에도 에러 메세지 없이 잘 실행되었습니다. 2. 과정 2-1. 폴더 생성권한 처음드는 생각은 폴더의 권한 문제였습니다. 설정을 살펴보면, 로그는 var/log/admin 폴더 아래에 파일을 생성하도록 설정하였습니다. 로컬에서는 logbck 설정을 하면 자동적으로 폴더가 생성되었기에 그대로 배포를 하였습니다. 하지만 서버에서는 배포가 실패하면서 No such file or directory에러를 발생시키고 있었.. 2020. 4. 3.
uses unchecked or unsafe operations. 에러 Task :폴더이름:compileJava Note: C:\경로\UserQueryDSLImpl.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.stackoverflow 참조 Java5 버전 부터 생김 Collection 사용시 type을 지정하지 않으면 (ArrayList와 같이 타입을 지정 안하면) 발생한다. 한마디로 코드가 raw type으로 컴파일 되었다는 뜻이다. raw type public class Box { public void set(T t) { /* ... */ } // ... } compiler는 사용자가 type safe한 방법으로 Collection을 사용하는지 gene.. 2019. 11. 28.
728x90