목록개발이야기 (528)
준호씨의 블로그
Kafka로 json데이터를 받고 있었는데 json name을 snake case로 보내주고 있었습니다. 예를 들어 아래처럼 말이죠. {"user_id":"jackson"} java코드에서 Naming Strategy를 SnakeCaseStrategy를 사용하고 있었습니다. @Data @JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) public class User { private String userId; } 그런데 이 걸 camel case로 바꾸겠다고 합니다. 아래처럼 말이죠. {"userId":"jackson"} 가급적 이런 일은 벌어지지 않는 게 좋습니다. 아직 개발 중이라면 동시에 바꿔주면 그만입니다. 그렇지만 서비스가 운영 중이라면 ..
요즘 새로 만드는 프로젝트들은 JUnit5를 사용하고 있습니다. 종종 JUnit4를 사용하던 프로젝트들을 JUnit5로 올리는 경우가 종종 있는데요. 단순히 @Test 애노테이션만 사용했다면 패키지 경로 정도만 고쳐주면 잘 동작하는 편인데요. 만약 @Ignore를 사용해서 테스트를 무시하도록 한 부분들이 있다면 조심해야 됩니다. @Ignore 처리했는데 테스트가 동작하기 때문이죠. @Ignore들을 찾아서 @Disabled로 수정해 주면 해당 테스트가 비활성화됩니다. @Ignore -> @Disabled외에 JUnit4 -> JUnit5로 올릴 때 참고해볼 내용들을 정리한 글이 있으니 참고해 보시기 바랍니다.
Spring프로젝트에서 간단하게 KafkaListener를 구현한 예제입니다. application.yaml에 토픽 이름을 설정해 두었습니다. kafka: topic: member: member-topic 설정에 있는 토픽명을 사용하기 위해 topics = "${kafka.topic.member}"를 입력했습니다. @KafkaListener(id = "myGroupId", topics = "${kafka.topic.member}") public void kafkaListener(MessageDto messageDto) { switch (messageDto.getType()) { case REGISTER: { memberService.register(messageDto); break; } case WITH..
npm install을 할 때 ELIFECYCLE 오류가 발생하는 경우가 있습니다. 그럴 때는 cache를 강제 clean 하고, node_modules 디렉터리 삭제, package-lock.json을 삭제한 후 다시 npm install을 하면 됩니다. $ npm cache clean --force $ rm -rf node_modules package-lock.json $ npm install npm run build에서 오류가 나면 코드에 문제가 없는지 잘 확인해 봅니다. 참고 stackoverflow.com/questions/42308879/how-to-solve-npm-error-npm-err-code-elifecycle How to solve npm error "npm ERR! code ELI..
LocalDate를 Date로 바꿀일이 종종 있습니다. 이번에 FreeMarker를 사용해보고 있는데 LocalDate는 바로 사용하지 못하고 Date를 사용해야 되더군요. public class DateUtil { public static Date convertLocalDateToDate(LocalDate localDate) { return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); } } 일단 요런 유틸클래스 하나 만들어서 사용해보고 있습니다.