본문 바로가기

분류 전체보기

(567)
[Jackson vs Gson] 오버라이딩한 메서드의 JSON serialize 테스트 기존에 JSON으로 만들던 객체에 메서드가 추가된다면 어떨까? 단순하게 생각하면 public 한 getter가 추가 되면 프로퍼티로 추가가 될 것 같다. 실험을 해보자. 테스트 DTO import lombok.Getter; import lombok.Setter; @Getter @Setter public class Apple { private String color; private int radius; } 1. Gson 및 Jackson 대조군 import com.fasterxml.jackson.databind.ObjectMapper import com.google.gson.Gson import spock.lang.Specification class AppleTest extends Specification..
[Lombok] @RequiredArgsConstructor 의 득과 실? 백기선 님이 YouTube에 올린 영상 중에 @RequiredArgsConstructor 관한 것이 있다. https://youtu.be/qmI7uJapocw 장점 생성자 주입을 사용하는 경우에는 중복해서 작성해야 하는 슈가 코드를 줄일 수 있다. 역으로 리팩터링하여 주입이 더 이상 안필요할 때 세 군데를 수정해야 할 것을 하나의 수정으로 해결 할 수 있다. @Service public class NamopayService { private final NamopayUrls namopayUrls; private final StoreCache storeCache; private final NamopayApi namopayApi; private final PaymentRepository paymentRepos..
[slack] 슬랙 장애 한 달에 한 번 정도 발생하는 것 같다. ​ 서비스 상태: https://status.slack.com/calendar​ ​​​
[IntelliJ IDEA] 9000 포트의 사용 sonarqube를 로컬에서 테스트 할 일이 있어서 docker로 띄우려고 하는데 자꾸 에러가 난다. 자세히 살펴보니 누군가 9000포트를 사용하고 있다고 한다. 아래 명령으로 9000 포트를 LISTEN 하고 있는 프로세스를 찾아보았다. sudo lsof -i -n -P | grep TCP | grep 9000 범인은 IntelliJ 였다. 시간이 없어서 인텔리J를 종료하고 docker를 띄우니 정상적으로 떴다. 그런데 나중에 IntelliJ IDEA를 실행했더니 아래에 다음과 같은 메세지가 표시된다. 환경설정에서 찾아보니 PHP 하위에 Debug에 Xdebug라는 포트가 9000으로 설정되어 있었다. PHP 개발도 아닌데 이게 왜 활성화가 되어 있을까???
[Spock] when: 및 then: 블럭에서 with 사용하기 Spock에서 기본적인 테스트를 작성했다면 when: 블럭과 then: 블럭에 대해 알 수 있다. when: 블럭에서의 with Groovy 문법에 보면 with 라는 키워드로 같은 객체에 대해 동시에 배정(assignment)을 할 수 있다. 이 기본 그루비 문법은 when: 블럭에서 사용이 가능하다. 예. 과일 아래와 같은 Fruit 클래스와 내부에 Color 열거형(enum)이 있다. import lombok.Getter; import lombok.Setter; @Getter @Setter public class Fruit { private String name; private Color color; private int quantity; @Override public String toString(..
[stackoverflow] 만우절 맞이 단장? 만우절이라서 그런지 stackoverflow가 복고풍으로 바뀌었다. 마우스를 움직이면 반짝이가 흩날린다.
[Java] Class 생성 실험 자바에서 클래스란 매우 기본적인 지식이다. 카페에서 질문을 보고 한 .java 파일에 여러 클래스를 넣은 것을 보고 궁금해져서 실험을 해보았다. 평상시에서는 하나의 .java 파일에는 하나의 클래스, 혹은 중첩된 클래스(nested class)를 사용하기 때문에 이런 경험을 할 일이 없었기 때문이다. 1. 하나의 .java 파일에는 public 클래스 하나만 가능하다. 아래와 같이 두 public 클래스가 있다고 하자. 다음과 같이 에러가 발생한다. 2. public이 아닌 클래스는 여러 개가 가능하다. 1번의 해결책: ClassAnother를 public이 아니게 만든다. 3. package 스코프(default)는 여러개가 가능하다. Java 파일 이름의 클래스도 public 을 없애는 것이 가능하다..
[Spring] core - Converter 인터페이스 org.springframework.core.convert.converter 패키지에는 Converter라는 이름의 인터페이스가 있다. @FunctionalInterface public interface Converter { /** * Convert the source object of type {@code S} to target type {@code T}. * @param source the source object to convert, which must be an instance of {@code S} (never {@code null}) * @return the converted object, which must be an instance of {@code T} (potentially {@code..