FrameWork/Spring Boot (총 24개) 썸네일형 리스트형 Spring Boot - Kafka 설치 및 실행과 Spring Boot에서 Apache Kafka 설정 kafka를 이용한 환경에서의 외부 장애대비 1. kafka 설치 및 실행 (windows10)1.1 설치https://www.geeksforgeeks.org/how-to-install-and-run-apache-kafka-on-windows/위 글을 참고하셔서 설치하셔도 됩니다. https://www.apache.org/dyn/closer.cgi?path=/kafka/2.6.0/kafka_2.13-2.6.0.tgz우선 kafka를 설치합니다. (주키퍼는 같이 받아집니다.) 원하는 위치에 tar의 압축을해제 합니다. (저는 C: 에 위치시켰습니다.) 압축을 풀고 config/server.properties를 엽니다. log.dirs의 경로를 윈도우 운영체제 형식에 맞추어 변경합니다. 1.2 실행조만간 주.. Spring Boot - Redis Cache를 통한 읽기 요청 성능향상 이번 포스팅에서는, 간단히 Redis 를 이용해, 서비스의 메소드를 캐싱하여, 읽기 성능 향상을 도모해보도록 하겠습니다. 1. 캐싱 대상 메소드 1.1 대상 메소드 간단히 살펴보기 public CategoryDto createCategoryRoot() { Map groupingByParent = categoryRepository.findAll() .stream() .map(ce -> new CategoryDto(ce.getCategoryId(), ce.getCategoryName(), ce.getParentId())) .collect(groupingBy(cd -> cd.getParentId())); CategoryDto rootCategoryDto = new CategoryDto(0l, "ROOT", n.. Spring Boot - Service Layer 테스트하기 Spring Boot Service Layer 테스트하기 이번 포스팅에서는 Spring Boot에서 Service Layer를 테스트 하는 방법에 대해 알아보도록 하겠습니다. 1. Test 대상 프로젝트1.1 의존성 (build.gradle)1.2 Class 별 설명Member.classMemberService.class *CreateMember.classMemberRepository2. Service 테스트 유의사항2.1 Service Layer는 Unit Test 2.2 테스트를 위해 제품코드를 변경하면 안된다2.3 테스트도 가독성이 좋아야 한다3. 테스트Unnecessary(Mockito 2.x 버전의 사용하지 않는 스텁감지)Stub 과 Mock 1. Test 대상 프로젝트 1.1 의존성 (buil.. Spring Boot - REST API 인증 - 2 (Refresh Token이란?) jwttoken 이번 포스팅에서는, JWT Token을 이용한 REST API 인증 후, Token이 만료된 경우의 처리 방법에 대해 알아보겠습니다. REST API 인증 1 - https://galid1.tistory.com/638위의 링크를 통해 REST API 인증 과정을 숙지하고 오시면 더욱 이해가 쉽습니다. 1. Refresh Token을 사용하지 않는 경우우선 인증 과정은 위와 같습니다. 토큰이 만료되었다면?토큰이 만료되었다면, 사용자의 로그인 세션이 만료된것과 마찬가지이므로, 로그인을 재차 시도해야합니다. 위의 방법은 잘못 되었다why ?이 방법은 토큰이 만료될때마다 사용자가 다시 로그인을 해야합니다. 그러나, 사용자가 로그인을 할때에는 사용자의 아이디 비밀번호가 이용되는데, 이정보는 네트워.. Spring Boot - 개발자를 기억하게하지 말자 (파일리스트와 데이터리스트 요청을 하나의 객체로 바인딩하기 : @ModelAttribute) file과 data를 객체로 바인딩하기 Spring을 이용해 Rest API 개발중, file과 data를 같이 업로드해야 하는 상황이 있었습니다. file과 data는 논리적으로 연관관계가 있었으며, 이를 List형태로 전송하는 경우, 각각의 인덱스 요소가 논리적으로 같은 데이터임을 기억해야하는 상황이었습니다.이때 이들을 하나의 객체로 맵핑하여 이 조건을 개발자가 기억하지 않아도 되도록 변경하였습니다. 1. 시나리오예를들어, 어떤 팀에 멤버를 추가하는 상황에서 멤버의 프로필 정보와, 사진을 같이 받아야 한다고 할때. 클라이언트는, 서버에게 사용자의 프로필정보(data)와 사진(file)을 함께 전송해야 합니다. 1.1 중요 사항이때, 멤버의 사진과 프로필 정보는, 논리적으로 연.. Spring Boot - Mockito를 이용해 외부라이브러리를 이용하는 서비스 테스트하기 Third Party Lib 외부 라이브러리에에 의존하는 서비스를 통합테스트 하고 있었습니다. 이때 발생했던 문제를 Mockito를 이용해 처리하는 과정을 정리해보도록 하겠습니다. 시나리오해외에서 여행을 온 관광객이 물건을 구매하고, 환급을 요청합니다.요청된 환급을 관리자가 검증합니다.검증이 완료되면, 사용자의 MobileApp에 Push알림이 전송됩니다.테스트를 진행할 도메인은 위와 같습니다. 테스트할 메소드xxxxxxxxxx@Service@Transactional@RequiredArgsConstructorpublic class AdminRefundEstimateService { // ... private final FirebasePushService pushService; public void es.. Spring Boot - FCM Push 서버 구축하기 test 이번 포스팅에서는, Spring boot와 firebase의 FCM을 이용해, PushNotifiaction Server 구축을 해보도록 하겠습니다. Front는 구현이 되어있다고 가정하고, backend만을 구축하겠습니다. Push Notification을 위한 개념1. Push Notification이란푸시 알림은 Server에서 유저의 device로 정보를 보내는 기술을 일컫는 말입니다. 예를 들어 위와같이 사용중이지 않은 app에서 오는 알림을 일컫습니다. 2. Push Notification 동작유저의 device에 push 알림을 보내기 위한 상세 구현은, 모바일 os 마다 다르겠지만 큰틀은 비슷합니다. 우선 PushNotification 과정을 알아보기 이전에, 이 포스팅에서 설명드.. Spring Boot - rest docs 사용방법과 자동 목차생성(spring boot restdocs 설정) Spring Boot에서 Restdocs 설정하기 (자동 목차) Spring boot IntegrationTest - https://galid1.tistory.com/735이번 포스팅에서는 지난 포스팅에서 작성한 Integeration Test에서 Spring Restdocs 설정을 통해 API 문서를 만들어 보도록 하겠습니다. code (gitlab) - https://gitlab.com/galid1/spring-boot-integration-test완성된 코드는 위의 주소에서 확인 가능합니다. 1. Spring RestDocs 설정build.gradle의존성 설정x... dependencies { testImplementation 'org.springframework.res.. 이전 1 2 3 다음