전체 글

전체 글

    협업을 위한 snake_case -> camelCase 변환 방법 @JsonNaming, @JsonProperty

    협업을 위한 snake_case -> camelCase 변환 방법 @JsonNaming, @JsonProperty

    협업 도중 발생한 문제로 시도한 JsonNaming과 JsonProperty문제가 발생한 이유는 다음과 같다.Front-End에서는 이미 많은 부분을 snake_case를 사용하고 있었기에 변경소요가 너무 커서 계속해서 snake_case를 사용하기 원했다. Back-End 개발자인 나는 Java 작성 규칙에 따라 camelCase로 작성하길 원했다.그렇기 때문에 Front-End에서는 snake_case로 데이터를 보냈고, snake_case로 데이터를 받았다.두 가지의 요구사항을 만족하기 위해 어떻게 해결할까? 생각을 하며 여러가지 방법을 시도해 보았는데, 결과물은 같지만 불필요한 코드가 많이 발생하게 되는 과정이 많이 생겼다.이러한 문제해결 도중 @JsonNaming과 @JsonProperty를 알..

    객체 지향, 오브젝트와 의존 관계의 이해

    Connection을 통한 오브젝트와 의존관계의 이해 public class UserDao { public void add(User user) throws ClassNotFoundException, SQLException { Class.forName("com.mysql.cj.jdbc.Driver"); Connection c = DriverManager.getConnection( "jdbc:mysql://localhost/springbook","spring","book"); PreparedStatement ps = c.prepareStatement( "insert into users(id, name, password) values(?, ?, ?)"); ps.setString(1, user.getId());..

    API 명세서 뜯어보기 - StringTokenizer Class

    Package java.lang.Object java.util.StringTokenizer What is StringTokenizer The string tokenizer class allows an application to break a string into tokens. The tokenization method is much simpler than the one used by the StreamTokenizer class. The StringTokenizer methods do not distinguish among identifiers, numbers, and quoted strings, nor do they recognize and skip comments. 문자열 토크나이저 클래스를 사용하면..

    Mock && Mockito : 가짜 객체

    Mock 객체란? 실제 객체를 만들기 위해서는 비용과 시간이 많이 들기 때문에, 비용이 적게 들도록 가짜 객체를 생성하여 사용하는데 이것이 Mock 객체이다. 일반적으로 테스트 더블은 상태(State)를 기반으로 테스트 케이스를 작성하는데 Mock 객체는 행위(behavior)를 기반으로 테스트 케이스를 작성한다 테스트 더블이란? 실제 객체를 사용하지 않고 이를 대신해줄 가짜 객체를 만들어 테스트 수행을 하는 방법 상태기반 특정한 메소드를 거친 후 객체의 상태에 대해 예상값을 비교 가장 보통의 예 : setName("test") → assertThat( "test", is(getName() ); 행위기반 메소드 리턴값이 없는 void 이거나, 예상된 동작을 보장할 수 없을때 시나리오를 기반으로 A가 입력..