프라이 디버깅:초보자'의 가이드

아이언 학교에서 제공하는 사전 부트 캠프 과정을 통해 작업하는 동안,나는 끊임없이 자신이 확인하고 반복 및 중첩 된 데이터 구조 내에서 디버그 반환 값에 어려움을 겪고 발견했다. 이 Learn.co 커리큘럼은 프라라는 도구를 도입했지만 코드에 구현하는 방법을 이해하는 데 어려움을 겪었습니다. 그것은 일이 마지막으로 클릭 해시 볼의 이름으로 어려운 실험실 때까지 아니었다. 너무 오랫동안 실험실을 통해 고군분투 한 후,나는 마침내 자신이 프라이 문서를 읽도록 강요했고 해시 반복을 작성하고 디버그 할 수있는 능력이 즉시 향상되었습니다.

혹시 루비 프로그램을 구축하기 위해 고군분투하는 자신을 발견하면,캐려는 당신의 무기고에 귀중한 도구가 될 증명할 수 있습니다. 놀리려는 루비 개발자가 프로그램을 디버깅하는 데 사용하고 과거의 장애물을 밀어 수있는 강력한 도구입니다. 다른 루비 젬과 마찬가지로 해당 기능에 액세스하려면 환경 설정 또는 특정 루비 파일에 프라이 젬이 있어야 합니다. 또한,몇 가지 올립니다 플러그인이 있습니다,들어 올립니다-문서와 들어 올립니다-바이 버그 등,그 보석의 기능과 기능을 확장. 당신은 당신의 보석 파일에 필요한 별도의 보석으로 이러한 플러그인 생각할 수 있습니다.

당신이 프라이 젬으로 프로그램을 구성한 후에는 코드를 열고 프라이 디버깅의 기쁨을 경험하는 시간이다. 놀리려는 기능의 전체 포장하지만,다음과 같은 예는 내가 가장 유용하다고 생각 무엇을 강조 표시합니다. 루비의 통합된 셸을 대체할 수 있고,루비의 통합된 쉘 기능을 몇 가지 추가 기능으로 빌드할 수 있다. 터미널에서 루비 명령을 실행하고 터미널에서 즉각적인 결과를 수신 할 수 있습니다. 터미널에 리플 기능을 갖는 것은 전체 프로그램을 실행하지 않고도 루비 코드를 빠르게 테스트 할 수있는 매우 유용한 도구입니다. 예를 들어 배열을 반복하여 반환되는 값을 확인하려고 한다고 가정해 보겠습니다. 당신은 단순히 배열을 입력 할 수 있습니다,그 배열에 반복자를 사용하여,결과를 확인:

이 간단한 반복에 대해 동일한 값을 반환했지만 터미널에 인쇄하는 방법은 약간 다릅니다. 이 프로그램은 자바 바이트코드 프로그램의 갯수를 카운트하고,스크립트의 메인 형식을 합계냅니다,그리고 확인되지 않은 실행 텍스트 파일을 찾습니다.. 다른 기능은 다음과 같습니다:

  1. 탭 완성

  2. 디버깅 도구

  3. 문서를 볼 수있는 능력

런타임 호출

아마도 프라이의 가장 유용한 기능은 트랙에서 프로그램의 런타임을 중지하는 기능입니다. 루비 프로그래머는 줄을 삽입하여 런타임 중에 프라이 콘솔을 호출 할 수 있습니다’바인딩.그들이 프로그램을 중지 할 때마다’캐 내려고. 인터프리터가 바인딩을 칠 때.놀리려는,놀리려는 변수,반환 값,반복 등을 테스트 할 수 있도록 콘솔에서 담당자 세션을 엽니 다.

다음은 프로그램에서 중첩된 데이터 구조를 해부 할 때 프라이 유틸리티의 예입니다. 이 응용 프로그램은 당신이 당신의 자신의 직업을 찾는 데 도움이 될 것입니다. 데이터베이스 테이블은 이러한 중첩 해시의 값으로 시드되었습니다. 다음 이미지에서는 이 프로젝트에 대한 회사 테이블을 채우는 방법을 보여 줍니다:

데이터베이스 테이블을 채울 때 테이블에 들어가는 레코드가 올바른 데이터로 생성되는 것이 중요합니다! 모든 것이 예상대로 작동하는지 확인하기 위해 반복 값을 어떻게 확인할 수 있습니까? 대답은 캐 내 려입니다. 바인딩 삽입.”채우기 회사”블록의 끝 부분을 들어 올리면 런타임을 중지하고 담당자 세션을 입력하여 반환 값을 조사 할 수 있습니다:

바인딩 한 번.놀리려는 블록에 삽입,코드는 놀리려는 콘솔을 열기 위해 다시 실행해야합니다. 놀리려는 콘솔은 우리의 터미널에서 열 때,우리는 회사 데이터베이스 테이블을 채우는 블록 내에 우리는 지금 변수를 테스트하고 값을 반환 할 수 있습니다:

이제 우리는”회사 채우기”블록을 열어 치렀으므로 일부 값을 확인할 시간입니다! ‘작업’이 프라이 콘솔에 삽입되면 단일 작업 오프닝에 대한 해시가 화면에 인쇄됩니다. 작업 해시에는 유형,주소,회사,회사_,위치,제목 등 여러 키가 있습니다. 올바른 값이 데이터베이스로 전송되고 있는지 확인하기 위해,우리는 올립니다 터미널에 다음 명령을 입력 할 수 있습니다:

반복이 예상대로 작동하는지 확인하면 바인딩이 실행됩니다.놀리려는 우리의 테이블은 프로그램의 다음 실행에 채울 것입니다 제거 할 수 있습니다!

문서 및 소스 코드 검색

현실을 직시하자,개발자가되는 것은 당신이 구글에 크게 의존하는 것을 의미합니다. 나는 종종 루비 방법을 연구하고 구문을 올바르게 구조화하고 있는지 확인하기 위해 문서를 샅샅이 뒤지기 위해 웹을 사용합니다. 내가 놀리려는 당신이 바로 콘솔에서 문서를 검색 할 수있는 플러그인을 제공하는 당신을 말한다면? 놀리려는 닥 보석에 오신 것을 환영합니다. 놀리려는 문서는 현재 놀리려는 콘솔 세션 내에서 루비 문서를 읽을 수 있습니다. 이제 예를 들어 보겠습니다. 내가 어떻게 기억할 수 없다고 가정 해 봅시다.찾기 방법은 해시에서 작동합니다. 나는 콘솔에 다음 명령을 입력하고 보일 수 있습니다. 프라이 콘솔은 터미널에서 해당 메서드에 대한 설명서를 인쇄합니다:

만세! 지금 당신은 구글에 의존하지 않고 터미널에서 유용한 문서에 액세스 할 수 있습니다!

유용한 프라이 명령

  1. 놀리다-터미널에서 놀리다 콘솔을 엽니 다

  2. 바인딩.올립니다-런타임을 중지하고 올립니다 콘솔을 엽니 다

  3. 종료-종료 전류 루프

  4. 나가! -출구는 콘솔을 올립니다

  5. 프로그램 내에서 현재 위치를 인쇄합니다.

  6. 문서 표시-클래스 또는 클래스 메서드에 대한 문서를 표시합니다.)

  7. 역사-지레의 인쇄 역사는 터미널에 명령

  8. 프로그램의 현재 범위에 있는 변수 및 메서드를 인쇄합니다.

  9. 도움말-사용 가능한 프라이 명령의 현재 목록을 인쇄합니다

크게 루비 프로그램을 디버깅하는 내 능력을 향상 캐 내려고 내가 붙어있을 때 나는 항상 켤 도구입니다. 난 당신이 잡초에있어 때마다,바인딩을 넣어,이러한 팁과 유용한 트릭을 찾을 수 있기를 바랍니다,기억.그것에 들어 올립니다!



+