귀인(..!)의 도움으로 포폴을 갈아엎고 있는데..
귀인이 포폴에서 해커톤에서 내가 Spring WebFlux를 사용한 것을 보시고
어..? Spring MVC 쓴 거 아니에요? WebFlux 쓴 거에요..? 라고 물으셨는데..
다음과 같이 대답했었다.
내가 Spring WebFlux를 쓰게 된 배경은 다음과 같다.
해커톤에서도 위와 비슷한 기능을 만들어야 했는데
다른 점이라면 위의 프로젝트에서는 하나의 요청을 보내는 것이고
해커톤 때는 수 백개의 요청을 보낸 후 순차적으로 응답을 받아와야 했었는데, WebClient를 이용해서 여러 개의 요청을 보내고자 구글링을 하던 도중 다음과 같은 자료를 찾게 되었다.
여기서 리액티브 프로그래밍에 대해 보게 되었고, WebClient가 Spring web Reactive 모듈에 포함된 건지 처음 알았다.. (모르고 쓰는 게 정말 많다는 생각이 들었다.)
자료를 좀 더 찾아보다가 Spring WebFlux을 알게 되었고 해커톤 때 사용해서 수 백개의 요청을 보내고 순차적으로 받아왔었다. (concatMap이라는 메소드를 사용했었다. 이 메소드가 아니었다면 원하는 기능을 구현하는 데 더 많은 시간을 썼을 것이다.. 정말 편리했다..)
기억이 안나는데 해커톤 때는 너무 급해서 일단 기능을 완성해야한다는 일념으로 Spring WebFlux를 사용했는데, @Async를 사용하면 내가 구현하려던 기능을 개발할 수 있다고 해서 바꿔야한다는 생각이 들었다....
잘 못하니까.. 잘못 개발할 수 있다고 생각한다... 문제는 잘못 개발한 걸 알면서도 고치지 않는 거라고 생각한다...얼른 고쳐야징..