본문 바로가기

Webflux4

[Spring] problem spring web을 이용해보자 - webFlux 적용편 안녕하세요. 이전 시간의 포스팅에서 problem spring web을 Spring MVC에 적용하는 시간을 가져보았습니다. 오늘은 이를 webflux에 적용해보는 시간을 가져보도록 하겠습니다. Spring WebFlux 의존성 problem spring web을 사용하기 위해서는 아래의 의존성이 필요합니다. Spring Web과 전체적인 이름은 유사하지만 동일하지는 않기 때문에 주의하시기 바랍니다. implements("org.zalando:problem-spring-webflux:0.26.2") 환경설정(Configuration) 의존성을 넣어주었으면 이제 환경설정을 해볼 차례입니다. 환경설정은 problemModule에 대한 설정과 json으로 응답값을 만들어 낼때의 mapper를 변경하는 설정이 .. 2022. 3. 6.
[webflux] webflux 환경에서 locale 커스터마이징하기 안녕하세요. 저는 개인적으로 그리고 팀에서 webflux를 사용하고 있습니다. 관련하여 어느정도 사용을 해보았기 때문에 이제는 webflux 관련된 포스팅도 한번씩 올려보려고합니다. 오늘은 그 첫번째로 webflux 환경에서 언어 정보를 커스터마이징하는 방법에 대해서 알아보도록 하겠습니다. locale 정보 글로벌 앱을 개발하다보면 로컬 앱을 개발할 때와는 다른 고려해야할 부분이 생기게됩니다. 대표적인 예가 시간, 그리고 언어입니다. 지역에 따라서 언어와 시간이 다르기 때문에 지역에 따라 다른 시간과 언어 정보를 데이터로 활용할 수 있기 때문입니다. 서버에서는 클라이언트에서 요청할 때의 특정 정보를 해석하여 그에 맞는 언어를 내려줍니다. 어디에 정보를 담아줄지는 개발하는 설계에 따라서 달라질 수 있습니다.. 2021. 10. 24.
[UNIT-TEST] Webflux Reactor 유닛 테스트 하기 안녕하세요. 오늘은 여러분들과 함께 알아볼 내용은 Webflux에서 채택하고 있는 Reactive Stream 프로젝트인 Reactor를 유닛 테스트하는 방법입니다. Reactive Stream의 경우 기존의 일반적인 로직과 다르게 Publisher(생산)와 Subscriber(구독)로 나누어져 있으며 각각이 서로를 의식하지 않은채 약한 결합으로 돌아갑니다. 그렇기 때문에 기존 우리가 짜던 구성으로는 테스트가 쉽지 않습니다. 따라서 테스팅을 용이하게 하기위한 구성 방법 및 테스팅 방법에 대해서 오늘 여러분들과 함께 공유하고자 합니다. 이번 포스팅에서 테스팅 프레임워크로 Spock을 사용하도록 하겠습니다. JUnit 5와 Reactor 테스팅 방법의 차이는 없으므로 동일하게 사용하셔도 좋습니다. 의존성 w.. 2020. 12. 17.
[Java] Reactive Stream 이란? reactive stream이란 non-blocking(넌블럭킹) backPressure(역압)을 이용하여 비동기 서비스를 할 때 기본이 되는 스펙입니다. java의 RxJava, Spring5 Webflux의 Core에 있는 ProjectReactor 프로젝트 모두 해당 스펙을 따르고 있습니다. 또한 Java9에 추가된 Flow 역시 reactvie stream 스펙을 채택하여 사용하고 있습니다. 따라서 비동기 프로젝트를 잘 이해하기 위해서는 기본 스펙이 되는 Reactive Stream에 대해서 이해가 필요합니다. 이 스펙은 다행스럽게도 공개된 사이트가 있습니다. 원 페이지 주소는 참조에 두도록 하겠습니다. 오늘은 Reactive Stream 스펙에 대해서 한번 알아보는 시간을 가져보겠습니다. 개요 .. 2020. 7. 2.