0. 시작하며프로젝트에 Test 코드를 추가하며 Controller를 Junit으로 Test 하는 작업을 진행했습니다. 이 과정에서 @WebMvcTest와 MockMvc, BDDMockito를 학습하여 적용했습니다. 1. @WebMvcTest스프링 부트에서 MVC관련 컴포넌트를 테스트하기위한 어노테이션으로 주로 Controller를 테스트할때 많이 사용됩니다. 테스트시에 필요한 레이어만 로드하여 테스트 속도가 빠릅니다. 동시에 전체 어플리케이션 동작을 테스트할때는 적합하지 않습니다.2. MockMvc실제 서버의 동작 없이 스프링 웹 MVC를 모의로 테스트할 수 있는 도구입니다. 자세한 설명은 공식문서를 활용하면 좋을거같습니다 3. BDDMockitoMockito를 기반으로 BDD스타일의 테스트 작성을 ..
0. 시작하며 저번에 이어서 Gof 생성 패턴 중 하나인 Builder 패턴을 알아보겠습니다. 알아 보면서 개인적으로 팩토리 메서드 패턴과 유사하다고 느꼈지만 목적에 있어서 차이점을 보여주는거같습니다. 두 패턴의 공통점과 차이점을 생각해보면 더 좋을거 같습니다. 1. 기존 코드 1. Client public class App { public static void main(String[] args) { TourPlan shortTrip = new TourPlan(); shortTrip.setTitle("오레곤 롱비치 여행"); shortTrip.setStartDate(LocalDate.of(2021, 7, 15)); TourPlan tourPlan = new TourPlan(); tourPlan.setTi..
0. 시작하며 생성 디자인 패턴 중 하나인 팩토리 메서드 패턴을 알아 보겠습니다. 이 패턴을 공부하며 느낀점은 객체 지향 원칙 중 OCP를 위해 만들어진게 아닌가 싶을 정도로 정확하게 해당 원칙을 지킬 수 있도록 해주었습니다. 기존 코드에서 팩토리 메서드 패턴을 적용해가는 과정을 작성하며 함께 보도록 하겠습니다. 1. 기존 코드 Client 코드 public class Client { public static void main(String[] args) { Phone iPhone = PhoneFactory.order("iPhone", "nrz@mail.com"); System.out.println(iPhone); Phone galaxy = PhoneFactory.order("galaxy", "nrz@ma..
0.시작하며 Spring Boot 프레임워크를 사용하며 개발할때 자주 사용하게되는 어노테이션인 @Transactional에 대하여 알아보며 생각보다 많은 기능이 있어서 놀랐고 이를 정리해보겠습니다. 1. 트랜잭션이란? 데이터베이스의 상태를 변경시키기위해 수행하는 작업의 단위입니다. 이때 작업은 select, update, insert, delete등의 쿼리가 될 수 있습니다. 2. 트랜잭션의 성질, ACID Atomicity, 원자성 트랜잭션 내의 모든 연산이 완전히 반영되거나 반영되지 않아야합니다. 즉, 하나라도 오류가 발생한다면 모든 변경사항이 취소되어야합니다. rollback할때 savepoint를 지정하여 같은rollback할 수 있습니다. 단, rollback한 savepoint 이후로 설정되어..
0. 시작하며 https://nooroongzi.tistory.com/12 [SpringBoot] SSE알림과 비동기 0. 시작하며 프로젝트에서 SSE(Server Sent Event) 방식의 알림을 구현을 담당했습니다. 이때발생한 에러와 트러블 슈팅을 기록하려합니다. 1. 알림 구현 방식 후보군 1-1 Short Polling 클라이언트가 서버 nooroongzi.tistory.com 위 글에서 이어지는 글 입니다. SpringBoot에서의 비동기처리를할때 많이 고려되는 ConcurrentHashMap에대하여 알아보겠습니다. 1. ConcurrentHashMap 이란? Multi-Thread 환경에서 동시성을 고려하여 최적화한 자료구조 입니다. 여러 스레드가 맵에 동시에 접근해도 성능이 저하되지 않도록..
0. 시작하며 https://nooroongzi.tistory.com/12 [SpringBoot] SSE알림과 비동기 0. 시작하며 프로젝트에서 SSE(Server Sent Event) 방식의 알림을 구현을 담당했습니다. 이때발생한 에러와 트러블 슈팅을 기록하려합니다. 1. 알림 구현 방식 후보군 1-1 Short Polling 클라이언트가 서버 nooroongzi.tistory.com 위 글에서 이어지는 글 입니다. SpringBoot에서의 비동기처리를할때 많이 고려되는 CompletableFuture에대하여 알아보겠습니다. 1.CompletableFuture란? 자바에서 비동기프로그래밍을 가능하게 하는 인터페이스 입니다. 이름에서도 알 수 있듯 Future에서 발전된형태이며 단점을 보완했습니다. 이를..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.