Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor: transformQuestion 리팩토링 #199

Merged
merged 2 commits into from
Aug 30, 2024
Merged

Refactor: transformQuestion 리팩토링 #199

merged 2 commits into from
Aug 30, 2024

Conversation

RinRinPARK
Copy link
Contributor

@RinRinPARK RinRinPARK commented Aug 29, 2024

PR

✨ 작업 내용

  • transformQuestion 부분을 리팩토링 하여 runBlocking을 삭제했습니다!! (사유: 지난 멘토링 때 runBlocking은 메인 스레드를 차단하여 다른 요청이 들어왔을 때 스레드가 차지되어 있으면 사용하지 못할 가능성이 있으므로 다른걸로 변경하는게 좋겠다 + 요청이 아주 많이 들어왔을 때 문제가 생길 수 있다는 멘토님의 조언..)
  • transfromQuestion controller를 suspend함수로 바꾸었습니당당이. service로직에서 코루틴을 사용하여 suspend함수로 바꿔주지 않으면 오류가 납니더이. 근데 controller에 suspend를 붙여주려면 webflux를 사용해야해서.. 디펜던시에 kotlinx-coroutines-reactor를 추가했읍니당(코틀린 코루틴과 스프링 리액터 및 웹플럭스를 함께 사용할 수 있는 디펜던시!)
  • 기존에 RestTemplate으로 람다함수에 보내던 요청을 WebClient로 변경했습니다. RestTemplate은 동기적 요청인 반면에 WebClient는 비동기 요청이 가능하다고 하드라구용. 비동기적 처리를 위해 코루틴을 도입한 만큼 WebClient로 변경하는게 목적에 맞을 것 같아서 해보았습니다. 다만, 은근.. WebClient가 어려운 개념이더라고요? 머쓱;

✨ 참고 사항

  • kotlinx-coroutines-reactor가 코틀린 코루틴과 스프링 리액터 및 웹플럭스를 함께 사용할 수 있는 디펜던시라고 해놓고 spring-boot-starter-webflux 이건 왜 추가 했는지 궁금할 수 있을 것 같슴다.
    WebClient가 webflux에 붙어 있어서 WebClient를 사용하려면 웹플럭스를 붙여야 하는데용, 저도 첨에 전자만 붙이고 WebClient를 써볼라고 하니까 안불러와지더라구요. 아마 전자는 웹플럭스 기능까지 다 불러오는게 아니라 코루틴과 스프링 리액터 및 웹플럭스를 "함께" 사용할 수 있도록하는 것이 아닌가 합니다. kotlinx-coroutines-reactor에 대한 정보가 찾아봐도 딱히 안나와서.. 뇌피셜입니다.

⏰ 현재 버그


✏ Git Close #198

@RinRinPARK RinRinPARK added the ☘️ surin surin label Aug 29, 2024
@RinRinPARK RinRinPARK self-assigned this Aug 29, 2024
Copy link

Unit Test Results

14 tests   14 ✔️  1s ⏱️
  6 suites    0 💤
  6 files      0

Results for commit 9afe616.

@RinRinPARK RinRinPARK requested a review from adorableco August 29, 2024 04:05
Copy link
Contributor

@adorableco adorableco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gradeExam 도 나중에 webclient 로 바꿔봐야겎네여 굿굿
지금 newrelic 세팅 다시 해보다가 원복을 안해뒀는데 아마 ec2 내에서 다시 정돈을 해야 cd가 제대로 돌아갈 것 같네요.. 머지는 제가 정리 후에 눌러도 되겠숩니까

@RinRinPARK
Copy link
Contributor Author

gradeExam 도 나중에 webclient 로 바꿔봐야겎네여 굿굿 지금 newrelic 세팅 다시 해보다가 원복을 안해뒀는데 아마 ec2 내에서 다시 정돈을 해야 cd가 제대로 돌아갈 것 같네요.. 머지는 제가 정리 후에 눌러도 되겠숩니까

그람요~~~ 자소서 쓰다가 문득 생각나서 빨리 고치고 이 내용 쓰려고 ㅋㅋ.ㅋ.ㅋㅋ 급ㅎㅣ 작업했음다 겁나 천천히 머지해도 갠차나요

@adorableco adorableco merged commit 6412d61 into develop Aug 30, 2024
2 checks passed
@adorableco adorableco deleted the rin/swm-167 branch August 30, 2024 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

♻️ Refactor: transformQuestion 리팩토링
2 participants