본문 바로가기

전체 글15

[Springboot] 쿼리 최적화를 위한 fetch join 프로젝트 중 쿼리 최적화를 위해 fetch join을 수행했다. - 최초 FetchType EAGER로 작성된 /api/v1 코드 - 멤버 정보를 조회할 때 Member, Authority, Token 3개의 테이블에서 3번의 Select 쿼리를 날리는 걸 fetch join을 적용해 1번의 쿼리로 조회하려고 한다. // v2 fetch join @Query(value = "select m from Member m " + "join fetch m.token " + "join fetch m.roles " + "where m.email = :email") Optional findAllByEmail(@Param("email") String email); 상황에 따라 다르겠지만, 데이터 여러개를 조회할 때 좋은.. 2023. 5. 15.
[nGrinder] AWS 환경에서 nGrinder 구축하기 EC2에 Ngrinder 연결 Controller 실행 docker pull ngrinder/controller docker run -d -v ~/ngrinder-controller:/opt/ngrinder-controller -p 9000:80 -p 16001:16001 -p 12000-12009:12000-12009 ngrinder/controller Agent EC2 # 이미지 다운 docker pull ngrinder/agent # 실행 # agent는 controller_ip:controller_webport 부분을 옵션 argument로 전달해야 합니다. # 컨트롤러에서 웹포트를 80번으로 열었으므로 80으로 적어줍니다. docker run -v ~/ngrinder-agent:/opt/ngri.. 2023. 5. 15.
[Swagger3] SpringBoot SpringDoc(OpenAPI) Authorization 버튼 활성화 하는 방법 Swagger3 Authorization 버튼 활성화 하는 방법 프로젝트 진행 중 Swagger3를 사용해 API 테스트, 문서화를 했다. 이 과정에서 회원 서비스 관련해 Authorization 타입을 지정해줘야하는 API를 Swagger에서 테스트하기 위해 방법을 찾던 중 Authorization을 활성화 할 수 있다는 정보를 받았다. 아래의 Config 설정을 통해 원하는 타입의 Authorization 버튼을 활성화 할 수 있다. SwaggerConfig 설정 @Configuration @EnableWebMvc public class SwaggerConfig { @Bean public OpenAPI openAPI() { Info info = new Info() .title("") .version(.. 2023. 5. 4.
[Redis] 배포환경에서의 Redis관련 Error 1. docker logs [spring backend 컨테이너] 2023-04-26 07:18:20.123 ERROR 1 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[.[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [/api/v1] threw exception [Request processing failed; nested exception is org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.c.. 2023. 4. 26.