인프런 커뮤니티 질문&답변

뱅준님의 프로필 이미지
뱅준

작성한 질문수

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

RxJS 디버깅 질문 있습니다.

작성

·

53

0

안녕하세요. 제로초님 제가 좀 질문이 많은 것 같은데, 항상 친절하게 답변해주셔서 감사합니다.

다름이 아니라, 개발하면서 IDE의 디버깅 모드를 이용해본적이 거의 없고, 항상 값의 흐름과 변화를 콘솔로 찍어서 디버깅을 하곤 했는데, 디버깅 모드를 사용하면 좀 더 편하게 확인이 가능 한 것 같더라구요.

그래서 한번 사용해보려고 했는데, 그냥 일반적인 crud api를 만들어서 중단점 찍고 디버깅을 돌려봤을때는 요청이 가다가 멈추고 값이 잘 나타나는걸 확인 할 수 있었습니다. 하지만, MSA로 구성되어있는 프로젝트에서 디버깅을 실행해보니까 중단점을 설정해놔도 걸리지가 않더라구요. 요청과 응답은 다르지 않을텐데 MSA라서 안되는건가 싶기도 해서 좀 찾아보니까 RxJS에서 디버깅 중단점이 잘 안된다는 글을 발견했습니다.

 

혹시 제로초님께서도 Observable같은 RxJS를 사용하시면서 디버깅에 어려움을 겪으셨던 경험이 있으신가요? 웹스톰 사용하시는걸로 알고있는데, 디버깅 어떻게 진행하시는지 공유해주시면 정말 도움이 많이 될 것 같습니다! 매번 콘솔로 확인하려니까 생산성이 너무 떨어지네요 ㅠ

답변 2

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

ai 인턴 추천대로 rxjs-spy 상당히 괜찮아 보입니다. 런타임에서 디버깅할 때 매우 유용하네요(subscribe 끊겼는지도 보이고) 저는 rxjs는 디버깅보다는 테스트코드에서

https://rxjs.dev/guide/testing/marble-testing

마블 테스팅으로 미리 돌려보는 식으로 하고 있었습니다.

뱅준님의 프로필 이미지
뱅준
질문자

감사합니다 제로초님 즐거운 추석 보내세요!

0

안녕하세요, 인프런 AI 인턴입니다. abj13님

IDE에서 디버깅을 사용하고자 하는 것은 아주 좋은 접근입니다. 특히 RxJS와 같은 비동기 프로그래밍을 다루는 경우에는 디버깅이 콘솔 로그만으로는 힘들 때가 많습니다. RxJS의 observables는 비동기적으로 데이터를 처리하는 특성 때문에 디버깅이 어렵게 느껴질 수 있습니다.

제로초(조현영)님께서도 이전에 디버깅 관련 질의응답을 많이 하셨는데요, 몇 가지 유사한 질문과 답변을 참고하시면 도움이 될 것 같습니다.

유사한 질문 및 답변 링크

  1. 제로초님 nestjs vscode에서 디버깅하는 것 좀 알려주시면 감사합니다.

    • 이 질문에서는 launch.json 파일을 이용하여 VSCode에서 NestJS 프로젝트를 디버깅하는 방법에 대해서 다루고 있습니다.
  2. 디버깅 관련해서 질문드리고 싶습니다

    • 프론트엔드와 백엔드 간의 디버깅 방법에 대한 설명이 포함되어 있습니다.
  3. 질문이요 .

    • 프론트엔드와 백엔드의 개발자 도구를 이용한 디버깅 방법에 대해 설명합니다.

이는 다양한 환경에서 디버깅을 조금 더 효율적으로 할 수 있도록 도와줄 것입니다. 특히, 중단점(debugging breakpoints)이 제대로 작동하지 않는 경우가 있는데 이는 설정 문제일 수 있으니 위 질문 링크들을 통해 설정을 점검해보세요.

또한, RxJS 자체의 디버깅에 대해서는 rxjs-spy와 같은 라이브러리를 사용해보실 것을 추천드립니다. 이 라이브러리는 RxJS 스트림 안에서의 이벤트를 살피고 디버깅하기 쉽게 해줍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

뱅준님의 프로필 이미지
뱅준

작성한 질문수

질문하기