Etc 5

WebFlux.fn 에서 전역범위 Validator를 만들어보자.

목차 구상 제네릭 선언만으로 해결해보기 결과 1. 구상 WebFlux.fn 작성 중, WebFluxConfigurer 에 Validator 를 등록해보니 안먹는 것 같아 직접 머리를 굴려보았다. => 기존 Valiadtor 의 Scope 를 Global 단위로 올리고 싶다. => 모든 Handler 에 Validator 추가 코드를 넣기 싫다. => Validator 를 넣더라도 추상화 단위가 있음 좋겠다. => 추상화 단위에서 Handler 마다 각각 다른 Validator 를 지정해주고 싶다. 이렇게 생각한 이유를 보면.. => 기존에 ReactiveChain 을 쓰다가 중복되는 코드가 싫어서 Builder 패턴을 생각해서 이렇게 만들었었다. public interface HandlerHelper {..

Etc 2021.04.20

WebFlux 사양의 슬라이스 테스트

컨트롤러 => @WebFluxTest 서비스 => @Mock + WebEnvironment.NONE 리포지토리 => @DataR2dbcTest 왜 하죠? 테스트 구동마다 웹서버를 구동한다. 테스트 구동마다 웹서버 구동에 필요한 모든 클래스를 컴파일한다. 지침.. 1. 컨트롤러 필요한 Bean => RouterFunction , Handler , Mocking => Service 컨트롤러에 에러를 전파하고 싶을경우 => CorePublisher 구현체 .error() 사용 @WebFluxTest(RoleHandlerImpl.class) @TestMethodOrder(MethodOrderer.OrderAnnotation.class) // @Order 로 테스트 순서를 잡는다. @TestInstance(Tes..

Etc 2021.04.15

Gradle 테스트 사이클에서 원하는 테스트 클래스를 실행하기

Gradle 의 테스트 사이클에서 원하는 테스트 클래스를 찾는 키워드는 --tests 이다. 원하는 타겟클래스는 이러하다. @DataMongoTest @TestInstance(TestInstance.Lifecycle.PER_CLASS) public class PersistenceTests { @Autowired private ProductRepository productRepository; private ProductEntity productEntity; @BeforeEach public void setUpDb() { System.out.println("Before"); productRepository.deleteAll();; ProductEntity entity = new ProductEntity(1,..

Etc 2021.01.08

수강하며 드는 개인적 생각을 모음

사용자는 유연성을 요구하며, 데이터베이스는 정확성과 속도를 요구한다. 그럼에 있어 랭귀지또한 선택되어진다. 자바스크립트는 유연성이 굉장히 강하다, NPE 가 나지않고 화면에 아무것도 없는 즉 undefined 로 띄워지는 경우를 많이 접했다. 이는 즉 내부에 if 분기 처리가 되어있다는 것을 의미한다고 하신다. 그렇기에 속도가 떨어진다고한다. 백앤드 단에서 요구되는 사항은 정확도와 속도. 프론트엔드에서 요구되는 사항은 유연성이라는 말씀이신 것 같다. 그래서 노드 + 타입스크립트 / 자바스크립트 + 뷰, 앵귤러...리엑트 등등. 이런건가..? 싶다. 사실 백앤드는 파이썬 장고..플라스크 , 자바 스프링 , 자바스크립트진영의 노드 로 나뉘니..이것도 분명 이유가 있을 것이라 생각하고 또 궁금하다.

Etc 2020.09.18