본문 바로가기

분류 전체보기

(41)
Service Layer Testing in Spring Boot (feat. Mockito) 이번에 서비스 레이어 테스트 코드를 작성하면서 겪었던 고민과 해결 과정을 작성해보려고 합니다. 주의 저도 아직 배우는 과정으로 잘못된 부분이 있을 수 있습니다. 혹시라도 잘못된 부분을 발견하시면 피드백 부탁드립니다. 서비스 레이어 역할 먼저 제가 생각하는 서비스 레이어의 역할을 간단하게 정리해봤습니다. 컨트롤러에 대한 프로바이더 도메인을 연결, 협업 및 흐름 제어 실제 비즈니스 로직은 도메인에 위임 리포지터리로부터 도메인 객체를 구한다 트랜잭션 관리 주체 과연 서비스 레이어는 어디까지, 얼마나 테스트해야 할까? 고민이 되었습니다. '블로그 보니까 Mockito를 사용하라는데?' '음.. 이거 짜인 시나리오대로 테스트가 진행되니까 성공이 당연한 거 아냐?' 'Mockito 잘 모르겠고 그냥 아는 방식으로 .. Spring 2019. 12. 28. 18:24
[객체지향] OCP (개방 폐쇄의 원칙 : Open Close Principle) 글의 순서 if-else의 문제점 OCP (Open Close Principle) 전략 패턴 (Strategy Pattern) OCP란? Open Close Principle : 개방폐쇄의 원칙 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 만들고자 로버트 마틴이 명명한 객체지향설계 5대 원칙 SOLID중 하나입니다. OCP는 소프트웨어 구성 요소(컴포넌트, 클래스, 모듈, 함수)는 확장에 대해서는 개방(OPEN)되어야 하지만 변경에 대해서는 폐쇄(CLOSE)되어야 한다는 의미입니다. 즉, 기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계가 되어야 한다는 의미입니다. 위 코드를 보시면 확장을 위해서 기존의 코드가 수정되었습니다. 이런 경우에 Close를 위반하게 됩니다. OCP에서 핵심은 .. Java 2019. 12. 28. 17:50
[객체지향] if-else의 문제점 글의 순서 if-else의 문제점 OCP (Open Close Principle) 전략 패턴 (Strategy Pattern) 이번에 OCP와 전략패턴에 대해서 설명하려고 합니다. 자세한 이론적인 이야기 보다는 코드와 함께 가볍게 설명하면서 대충 이런거구나 느낄 수 있는 정도로만 소개하겠습니다. 자세한 이론은 참고할만한 링크를 남기겠습니다. 왜 OCP인가? 이해하기 위해서 먼저 if-else의 문제점을 파악하고 가겠습니다. 프로그래밍을 하다 보면 if 문을 많이 사용합니다. 하지만 if 문을 사용하면 몇 가지 문제점이 있습니다. 1. If-else의 문제점 변경, 확장이 될 수록 코드가 복잡해져서 수정할 위치를 찾기가 어렵다. 실수로 추가하지 않고 누락하는 경우가 생긴다. 즉, 유지보수가 점점 어려워집니.. Java 2019. 12. 28. 17:45
[Java] toString()에 대해서 어느 날 누가 내게 toString()은 언제, 어떻게 써야 하냐고 물었는데 대답할 수가 없었다. 그동안 생각 없이 toString()을 사용했구나! 생각이 들면서 마침 이펙티브 자바에 설명이 잘 되어있어서 정리 + 예제를 작성했다. 모든 하위 클래스에서 toString()을 재정의하라 toString의 규약은 "모든 하위 클래스에서 이 메서드를 재정의하라"고 한다. toString()을 재정의할 경우 이점으로는 아래와 같다. 로깅, 디버깅 또는 문자열로 만나는 모든 객체를 렌더링 할 수 있어야하는 상황에서 유용하다. 직접 호출하지 않더라도 다른 어딘가에서 쓰일 수 있다. 오류 메시지를 로깅할 때 자동으로 호출할 수 있다. (toString을 제대로 재정의하지 않는다면 쓸모없는 메시지만 로그에 남을 것이.. Java 2019. 12. 28. 17:37
2019년 상반기 회고 첫 회고로 무엇을 쓸지 고민한 결과 올해 한 일을 짧게 적고, 올해의 목표와 중간 점검을 작성하기로 했다. 회고 1~3월 올해 초에는 프로젝트를 진행하고 구직활동을 했는데 이 과정에서 많은 것을 느꼈다. 자기소개서를 쓰면서 내 글쓰기는 형편없구나 기술 면접 준비를 하면서 '아는 건데 왜 설명을 못 하겠지?' 내가 제대로 알지 못하구나 좀 더 열심히 할걸.. 이대로 취업을 해도 될까? 걱정되었다. 취직하고 부족한 부분을 채워 가도 되겠지만 많은 생각이 들었다. 4~6월 구직활동을 하면서 호기심에 우아한테코크스 프리코스에 참여했다. 프리코스는 본 과정과 비슷하게 진행되는데 참여 여부를 판단할 수 있는 단계다. 매주 미션을 받아서 필요한 부분은 스스로 공부하고 피드백을 받는 방식이 마음에 들었다. 이 교육이라.. 다이어리 2019. 12. 28. 17:21