HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🚀
Random Bit Flip
/
[2기 - 훈] 4주차 RBF
[2기 - 훈] 4주차 RBF
[2기 - 훈] 4주차 RBF

[2기 - 훈] 4주차 RBF

주차
SpringBoot Part2
회고일
Apr 15, 2022
참여자
멘토
Property
tag
5주차 부터는 매일 진행하는 스크럼에서 나눈 내용을 기록할 계획입니다
1주 간의 수업과 과제를 진행하면서 새로 알게 된 개념이나 잘못 알았던 개념에 대해 이야기 해봅시다.

이용훈

  • 자바 공부
    • comparator 와 comparable 의 차이
      • 둘다 인터페이스이다
      • comparable 은 자기 자신과의 비교이고, comparator 은 2개의 객체에 대한 비교이다
      • comparator 의 경우 비교자 를 새로운 객체로 만드는 것은 낭비일 수도 있다. 따라서 보통 익명 객체를 만들어 정렬에 사용한다. Arrays.sort(arr, cmp);
    • Optional 등장의 이유
      • null 사용한 수많은 런타임 에러를 발생시켜 대단히 골치 아픈 요소이다. 이를 해결하기 if(x≠null) 이라는 수많은 분기 코드를 작성해야되서 코드가 지저분해진다. 이를 해결하기 위해 Optional 등장. 여기서 포인트는 똑같이 분기요소로 작성하는것이 아닌 연쇄 메서드 호출 형식(chaining)으로 적어야 코드가 간결해진다.

정윤오

  • Spring의 AOP
    • @Transactional Annotation 또한 AOP가 적용된 케이스이다
    • rollback, commit과 같은 중복되는 작업을 어노테이션 기반으로 해결해준다
  • 코드를 작성하면서 좋지 못한 습관을 개선하고자객체지향 생활 체조 원칙에 대해 학습
[Java] 객체지향 생활 체조 원칙 9가지 (from 소트웍스 앤솔러지)
한 메서드에 들여쓰기가 여러 개 존재한다면, 해당 메서드는 여러가지 일을 하고 있다고 봐도 무관하다. 메서드는 맡은 일이 적을수록(잘게 쪼갤수록), 재사용성이 높고 디버깅도 용이하다. 대충 아래와 같이 나눈다면, 메서드명을 통해 조금 더 직관적이면서도 나뉜 메서드를 다른데서도 재사용 가능한 코드가 된다.
[Java] 객체지향 생활 체조 원칙 9가지 (from 소트웍스 앤솔러지)
https://jamie95.tistory.com/99
[Java] 객체지향 생활 체조 원칙 9가지 (from 소트웍스 앤솔러지)
  • Embedded SQL을 사용하는 방법
    • wix에서 제공하는 소스를 이용
    • DataSource를 바탕으로 JDBCTemplate나 TransactionManager 등 생성
 

김성현

스프링 강의
  • AOP(Aspect Orient Programming)
    • 관점 지향 프로그래밍
    • AOP를 사용하여 로깅이나 예외 처리같은 반복되는 작업을 비지니스 로직에서 분리시켜 한 곳에서 처리를 할 수 있다.
  • JDBC(Java Databse Connectivity)
    • 자바에서 DB 프로그래밍을 하기 위한 API
  • Mock과 hamcrest를 사용한 테스트 코드 작성
  • 자바의 UUID 와 MySQL UUID 버전이 달라서 버전을 맞춰주는 작업이 필요하다.
private static UUID toUUID(byte[] bytes) { var byteBuffer = ByteBuffer.wrap(bytes); return new UUID(byteBuffer.getLong(), byteBuffer.getLong()); }
  • TransactionTemplate을 사용하면 데이터베이스 작업에 문제가 생길 경우 알아서 롤백을 해준다.
 

이예림

< Spring 강의 >
  • 단위테스트
    • junit, hamcrest → 단위테스트를 처음 해봐서 어려운 부분이 많지만 익숙해질만큼 꾸준하게 구현하여 단위테스트를 작성하는 이유를 깨달음을 얻을만큼 체험해보고싶다.
  • spring - database 연결
    • JDBC 세팅
    • Driver connection → Spring pool (hikari) datasource → preparedStatement → jdbcTemplate의 흐름
< Spring 1주차 과제 >
  • 메서드가 1개의 역할만을 수행하도록 더 작게 구현
  • depth를 더 줄일 수 없을까?
  • 메서드명을 의미있게 (규칙에 맞게 짓자)
    • [Java] 객체지향 생활 체조 원칙 9가지 (from 소트웍스 앤솔러지)
      한 메서드에 들여쓰기가 여러 개 존재한다면, 해당 메서드는 여러가지 일을 하고 있다고 봐도 무관하다. 메서드는 맡은 일이 적을수록(잘게 쪼갤수록), 재사용성이 높고 디버깅도 용이하다. 대충 아래와 같이 나눈다면, 메서드명을 통해 조금 더 직관적이면서도 나뉜 메서드를 다른데서도 재사용 가능한 코드가 된다.
      [Java] 객체지향 생활 체조 원칙 9가지 (from 소트웍스 앤솔러지)
      https://jamie95.tistory.com/99
      [Java] 객체지향 생활 체조 원칙 9가지 (from 소트웍스 앤솔러지)
 

이인후

  • hamcrest 테스트
  • AOP 처리 방식