puts 문을 입력하고 결국에는 있어야 할 위치에 표시되기를 기대하여 코드를 디버그하려고 시도한 적이 있습니까? 무슨 말인지 아시겠지만 다음을 입력하십시오:
puts “This worked!"
코드에 넣은 다음 터미널에서 실행하면 아무 것도 표시되지 않습니다. 또는 Rubyists가 사용할 수 있는 멋진 디버깅 도구에 대해 들어보았지만 사용하기가 두려웠을 수도 있습니다. 따라서 대신 스파게티 디버깅 방법을 사용합니다. 텍스트 편집기에 코드를 던지고 무엇이 달라붙는지 확인합니다. 문제는 이 방법이 해결책을 보장하지 않는다는 것입니다.
디버깅은 남은 코딩 수명 동안 수행할 작업입니다. 주니어 개발자만을 위한 것이 아닙니다! 코드에서 버그를 찾는 데 도움이 되는 도구를 빨리 배울수록 장기적으로 더 유리합니다.
그렇다면 도구는 무엇입니까? 많은 선택이 있지만 오늘 우리는 모든 Rubyist가 사용법을 알아야 하는 훌륭한 도구 중 하나인 Pry에 대해 알아보겠습니다. 우리는 그것이 어떻게 작동하고 왜 중요한지 배울 것입니다.
프라이란 무엇입니까?
Pry는 프로그램을 동결하여 코드 내부로 들어가서 현재 진행 중인 일과 수정해야 할 사항을 찾을 수 있습니다. Pry는 처음에는 혼란스러워 보일 수 있지만 동료 주니어 Ruby Dev에게서 가져옵니다. 사용하면 할수록 더 쉬워지고 머지 않아 Pry 없이 프로그래밍하고 싶지 않을 것입니다.
Pry는 스테로이드의 IRB와 같습니다.
IRB(Interactive Ruby Shell)를 사용하여 코드를 가져와 플레이그라운드에서 실행하여 작동하는 것과 작동하지 않는 것을 찾을 수 있는 기회가 생겼습니다. 또한 디버깅에 유용한 도구가 될 수도 있습니다. Pry의 일부는 유사한 방식으로 작동하지만 기능이 추가되었습니다. IRB와 Pry는 모두 REPL 명령인 Read, Evaluate, Print 및 Loop를 사용합니다. 그러나 Pry를 사용하면 디버깅할 때 더 나아갈 수 있습니다. 예를 들어 Pry는 색상으로 구분된 구문을 제공하므로 코드가 실행될 때 어떤 일이 일어날지 알아낼 때 도움이 됩니다. 실수를 더 쉽게 발견할 수 있으므로 코드를 더 쉽게 수정할 수 있습니다.
샘플 코드
디버깅에 대한 참고 사항
이미 말했지만 다시 말할 가치가 있습니다. 디버깅은 모든 프로그래머가 경력을 통해 하는 일입니다. 이러한 도구를 배우는 데 있어 초보적인 것은 없습니다! 따라서 빨리 배울수록 더 나은 프로그래머가 될 것입니다.
Pry로 중단점 설정
이제 Pry의 가장 좋은 기능 중 하나인 코드에서 중단점을 설정할 때입니다. 코드를 예상한 대로 실행하는 데 정말 어려움을 겪고 있다고 가정해 보겠습니다. (다들 가보셨죠?)
당신이 할 수 있는 일은 예상대로 작동하지 않는 코드 부분에 중단점을 설정하는 것입니다. 그러면 Pry 버전이 되지만 정지된 지점에 있게 됩니다. 이것을 설명하는 가장 좋은 방법은 예를 들어보는 것입니다.
보고자 하는 사용자가 제대로 설정되었는지 확인하려고 한다고 가정해 보겠습니다. 먼저, binding.pry를 코드에 추가할 수 있습니다. 문제를 일으키는 코드 줄 바로 위에 binding.pry를 설정한 다음 코드를 실행합니다.
다음으로 이 코드를 트리거할 페이지를 방문합니다. 레일스 서버를 로컬에서 실행하고 있으므로 다음으로 이동합니다. localhost:3000/users/1
코드를 테스트하고 무슨 일이 일어나는지 볼 수 있는 IRB와 같은 콘솔에 도착하게 될 것입니다.
이 시점에서 '@user'가 올바른 사용자 ID로 설정되었는지 확인할 수 있습니다.
사용자가 로그인했는지 확인할 수도 있습니다.
아무 일도 일어나지 않는다면?
때로는 중단점을 배치하고 코드를 실행하고 Pry 내부에 착륙하는 대신 아무 일도 일어나지 않는 것 같습니다. 이것은 실망스러울 수 있지만 단서를 제공합니다. 그것은 당신의 코드가 Pry를 트리거하지 않았다는 것을 의미합니다. 그래서 당신은 무엇을합니까? 코드의 앞부분에서 새 중단점을 설정하고 작동하는지 확인합니다. 지루해 보일 수 있지만 실제로는 중요한 정보를 제공하고 있습니다!
도움을 요청할 때
주니어 Rubyist로서 때로는 더 선임 개발자에게 도움을 요청해야 합니다. 문제는 디버깅을 계속할 때와 도움을 요청할 때를 결정하는 것입니다. 디버깅할 때 문제를 재현해 보는 것이 좋습니다. Pry로 중단점을 설정하고 코드를 더 자세히 살펴보세요. 20~30분이 지나도 해결 방법을 찾지 못하면 도움을 요청할 수 있습니다.
프라이 사용해 보기
Pry를 디버깅 도구에 추가할 준비가 되면 몇 가지 작업을 수행해야 합니다. 먼저 gem을 설치해야 합니다. gemfile에 추가하고 번들 설치를 실행하여 이를 수행할 수 있습니다. gem 'pry'
또는 수동으로 설치할 수 있습니다. gem install pry
또한 코드가 Pry를 예상하는지 확인해야 하므로 파일에 다음 행을 배치하십시오.
require 'pry'
그리고 그게 다야! Pry를 사용하여 실행 중입니다!