다양한 의견, 다양한 질문, 다양한 생각 | 초록 스터디 2주차 후기

Hansu Park·2023년 12월 1일
0
post-thumbnail

이번 주차에는 2주차를 진행했습니다.

진행하며 알게된 점, 느낀점을 공유합니다.

정리한 내용은 링크를 참고해주세요.

이번 주차를 진행하며 느낀 점은 사람마다 다양한 생각과 의견이 있고, 스터디를 통해 이들이 긍정적으로 작용한다는 점입니다.

스터디원들 덕분에 제가 미처 생각하지 못했던 내용들을 많이 학습할 수 있었습니다.

배웠던 내용

DDL, DML

미처 고민하지 못했던 이 들을 각각 스프링에서 schema.sql, data.sql로 이용할 수 있다는 것을 알게되었습니다.

  • 스터디원의 삽질 덕분에, 해당 파일들의 경로를 지정해줄 수 있다는 점도 알게되었어요.

JDBC Template 편하게 객체 삽입하기.

저는 JdbcTemplate + HashMap의 조합으로 객체를 삽입하였습니다! (1번 코드 참고) 하지만 스터디원들의 피드백을 통해 HashMap 대신 BeanPropertySqlParameterSource을 이용하여 객체 자체를 넣을 수 있다는 걸 알게 되었어요. (2번 코드 참고) 2번 방식을 이용하기 위해서 별도 설정이 필요하다고 잘못 이해한 부분을 올바르게 (별도 설정이 필요없다는 것) 이해할 수 있었습니다.

1번 코드

public Long saveV2(Room room) {  
    Map<String, Object> parameters = new HashMap<>();  
    parameters.put("name", room.getName());  
    parameters.put("date", room.getDate().toString());  
    parameters.put("time", room.getTime().toString());  
    return simpleJdbcInsert.executeAndReturnKey(parameters).longValue();  
}

2번 코드

public Long save(Room room) {  
    SqlParameterSource parameters = new BeanPropertySqlParameterSource(room);  
    return simpleJdbcInsert.executeAndReturnKey(parameters).longValue();  
}

롬복과 AST

그동안 롬복 사용에 대해 크게 고민해보지 않았는데, Annotation Processing을 빼먹었고, 이 후 롬복과 AST에 대해 조사한 스터디원 덕분에 (1) 컴파일러 구문 분석 과정에서 파라미터, 리턴 타입, 코드 바디 등을 구분하는 AST가 생성된다는 점. (2) 롬복이 AST를 재구성하여 동작한다는 점 (3) (필드, 메서드의 범위 관련 단점 이외에) 롬복의 자바 컴파일러 내부 클래스를 이용하여 동작한다는 점이 단점으로 지적된다는 점을 학습할 수 있었습니다.

참고

0개의 댓글