Java
자바에 대한 글들을 모아놓은 카테고리입니다.
Contemplative Reptile

SOLID(객체지향 설계 원칙) 5가지 정리

SOLID란? 객체지향 설계는 긴 세월과 수많은 시행착오를 거치며 5가지 원칙이 정리되었다. 이것은 객체지향 설계의 5원칙이라고 하며, 앞글자를 따서 SOLID라고 한다. SPR(Single Responsibility Principle) : 단일 책임 원칙 OCP(Open Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프.....
Contemplative Reptile

테스트 주도 개발(TDD)이란?

요즘 많은 개발자들이 TDD에 대해 얘기하면서 개발자들의 관심을 많이 받고 있는 TDD에 대해 간단 정리해 보려고 한다. 테스트 주도 개발(Test Driven Development) 소프트웨어 개발 방법론 중의 하나로, 개발->테스트 방식이 아닌 테스트->개발하는 방식의 프로그래밍 방법을 말한다. 짧은 개발 주기의 반복에 의존.....
Contemplative Reptile

[Spring] JUnit5로 Mocking 및 슬라이스 테스트하기

JUnit5로 스프링 프로젝트 효과적으로 테스트하기에서 JUnit를 통해 전반적으로 테스트를 해보는 방법에 대해서 작성했는데, 사실 이 테스트 방법은 그리 좋은 방법은 아니다. 왜냐하면 Unit Test 원칙을 제대로 준수하지 않았고, 사실상 단위 테스트가 아니라 통합 테스트이기 때문이다. 이번에는 Slice Test와 Mocking 기.....
Contemplative Reptile

JPA Auditing 적용하기(공통 요소 자동화하기)

이번엔 JPA를 사용하면서 가장 편하다고 생각하는 Auditing라는 기능의 사용 방법에 대해서 정리해보려고 한다. 예제 프로젝트 주요 어노테이션 자동화할 수 있는 요소는 생성시간, 수정시간, 생성한 사람, 수정한 사람에 대한 정보인데 관련 어노테이션을 먼저 알아보면. @MappedSuperclass - JPA Entity 클래스들이 해당.....
Contemplative Reptile

인텔리제이(IntelliJ) 플러그인 추천

Key Promoter X Key Promoter X 마우스로 단축키가 지정되어 있는 탭 같은 곳을 클릭했을 때 그 단축키를 팝업으로 알려주는 플러그인. 솔직히 뜨는 게 신경 쓰이긴 하지만 자주 쓰는 키를 모두 외운 후 삭제하면 되므로 추천한다. Lombok Lombok 사람들이 Java를 기피하게 만든 원인. 매번 필수적으로 작성하는 getter, s.....
Contemplative Reptile

JUnit5로 스프링 프로젝트 효과적으로 테스트하기

오늘은 평소 운영하는 개발자 단톡방을 보고 있다가 JUnit으로 테스트하는 방법을 잘 모르는 사람이 생각보다 엄청 많은 것 같아서 JUnit5로 테스트하는 과정을 한번 포스팅해보려고 한다. 예제 프로젝트 전통적(?)인 테스트 방법 주변에 개발자들을 둘러보면 일상처럼 이런 방법으로 테스트를 하는데, 예를 들어 DAO를 작.....