TIL 20221123

NIB·2022년 11월 23일

TIL

목록 보기
2/4

JAVA

01. JAVA Builder Pattern

  • 생성 패턴 중 하나
  • 불필요한 코드의 양을 줄여 줌
  • Setter 메소드가 없는 인스턴스를 생성하여 변경 불가능하게 하는데 용이하다 (변경가능성 최소화)
  • 유연성 확보 가능 (변수가 새로 추가됐을 경우)
  • 변수의 개수와 변경 가능성을 중점적으로 보고 빌더 패턴을 적용하면 된다
  • 필수적인 멤버 변수와 선택적인 멤버 변수를 효과적으로 구분할 수 있음

02. Java Assertion

  • private 메소드에서 사용함
  • 선행 조건의 의미가 아닌 테스트용 코드 (확신하는 값의 점검 용)
    • 코드 실행 전 사전 조건 점검 or 코드 실행 후 사후 조건 점검
  • assert가 참인 경우 아래 코드 실행, assert가 거짓인 경우 Exception 처리 됨
  • 실행 시 VM Option에 -ea를 붙여줘야 assert 구문이 실행 됨
  • 운영에서는 해당 assert 구문이 실행되지 않을 수 있음!! (옵션에 따라 다르지만 대게 실행되지 않음)
  • 운영에서 예외를 처리하려면.. Exception으로 받아 로그를 남기는게 더 운영 관점에서는 오류 찾기가 수월할지도..

03. ORM(Object-Relational Mapping) 과 JPA

  • ORM
    • class와 rdb를 매핑한다는 뜻이며, 기술적으로는 애플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것
    • 다시 말해 객체와 데이터 관계의 설정
    • SQL 쿼리가 아닌 method를 통한 DB 조작이 가능해진다
    • 객체지향적인 코드 작성이 가능해진다
    • 프로젝트 규모가 크고 복잡하여 설계가 잘못된 경우는 속도에 영향이 갈 수도 있다

04. TDD (Test Driven Developer)

  • 테스트가 주도하는 개발
  • 실패하는 테스트코드 작성 -> 테스트가 성공하는 프로덕션코드 작성 -> 테스트가 성공하면 프로덕션 코드를 리팩토링
  • 한번에 한가지만 검증하기
  • spring boot 테스트
    • MockMvc
      • MockMvc는 웹 어플리케이션을 애플리케이션 서버에 배포하지 않고 테스트용 MVC환경을 만들어 요청 및 전송, 응답기능을 제공해주는 유틸리티 클래스
      • 컨트롤러를 테스트 하고 싶을 때 사용
  • @Mock
    • 테스트 시 실제 객체를 생성할때 의존성이 복잡하게 얽혀있는 경우 가짜 객체를 생성하는 방식
  • given-when-then 패턴이란 1개의 단위 테스트를 3가지 단계로 나누어 처리하는 패턴
  • @SpringBootTest
  • 통합테스트
  • Maven 빌드 시 junit 제외하기
    • clean install -Dmaven.test.skip=true
  • @DataJpaTest

0개의 댓글