본문 바로가기

IT/개발

(26)
String boot 기능 1. Argument Resolve https://blog.neonkid.xyz/238?category=814055#
spring cloud @FeignClient -> rest통신하기위한 기능 : resttemplate보다 훨씬 간편하다. Resilience4j를 이용해서 circuit break 적용 -> @Configuration을 이용해서 bean등록해서 하는게 깔끔할듯...
Kafka 1. 주키퍼는 카프카를 실행시켜주기 위한 관리용도로 Apache에서 만든것 2. producer에서 메세지를 보내면 consumer가 실행하기 전에 Topic이란곳에 저장이 먼저 된다. 3. 나는 맨처음 producer가 consumer에 바로 데이터를 보내는건줄 알았는데 그게 아니라 producer는 topic에 데이터를 보내고 consumer는 관심있는 topic에 등록하는것이고 그래서 topic에서 데이터를 받는게 consumer다. 맞아떨어질때만 producer에서 consumer로 데이터가 보내지는것이다.
spring test spy 활용하기 비즈니스로직이 녹아들어간 Service.class에서 간혹 interface를 맴버변수로 DI시키는 경우가 있었습니다. 프로젝트 진행중 일부 소스를 발췌했습니다. 아래 소스중 TalkMessage.class가 interface이고 TalkMessage를 구현하는 구현체가 2개정도 있었습니다. 그래서 멤버필드를 list로 주입받았습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 @Service public class TalkMessageApiClientService { private final TalkMessage..
JAVA 8 groupingBy, mapping, collectingAndThen List로 return 되는 데이터에 grouping 해야될 일이 생겼습니다. 소스나 구글링중 groupingBy 함수를 봤던지라 크게 어려움을 느끼지 않고 groupingBy를 써서 key로 해당데이터의 특정값으로 groupingBy를 했습니다. Map로 정상적으로 return 성공 이 데이터에서 map.get(key) 를 했을때 리턴되는 list에서 정렬후 하나의 값만 조회하는 비즈니스 로직을 만들어야 했습니다. 소스로 공유를 드리겠습니다. 1 2 3 4 5 public interface StudentDataDao { List selectStudentDataListByStuIds(@Param("stuIds") List stuIds); } Colored by Color Scripter cs 1 2 3 ..
spring junit void test 맨 처음 테스트 케이스를 작성해본지 얼마지나지 않았을때 void test에 대해서 부딪힌적이 있습니다. 보통의 테스트는 List student = service.findAll(1); assertThat(list, is(notNullValue())); assertThat(list.size(), is(6)); assertThat(list.get(1).getId(), is(1)); 이런식으로 서비스단을 호출해서 얻은 결과를 가지고 정합성을 검사하는식인데 void 테스트의 경우 어떻게 테스트를 해야되는지 감이 안잡혔습니다. 검색해본결과 junit에서 지원해주는 ExpectedException class를 이용하면 가능했습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19..
spring file delete 매번 프로젝트 들어갈때마다 곤란하고 구글링했던 파일 삭제 관련 파일을 삭제하기위한 util class를 호출한다. 1 2 3 4 5 6 public int delete(Long orderId) throws Exception{ Path path = Paths.get(디비에서 조회한 파일의 path); boolean isDeleted = FileStorageUtils.delete(path, 디비에서 조회한 파일의 이름); return deletCnt; } Colored by Color Scripter cs 실제 파일 삭제 util class 1234567891011121314151617181920212223 public static boolean delete(final Path path, final Stri..
spring 파일 다운로드 매번 프로젝트 들어갈때마다 헷갈렸던 파일관련 ...구글링하기 귀찮아서 작성 Controller 1 2 3 4 5 6 7 8 9 10 public ResponseEntity download(HttpServletRequest request, HttpServletResponse response){ try { File file = fileUploadService.download(필요한파라미터); response.setContentType("application/octet-stream; charset=utf-8;"); response.setHeader("Content-Disposition", Utils.getDisposition(file.getName(), Utils.checkBrowser(request))); ..