Computer >> 컴퓨터 >  >> 프로그램 작성 >> Ruby

새로운 라이브러리를 배우기 위해 문서화를 넘어서는 방법

새로운 라이브러리나 기능으로 작업하고 있는데 설명서를 이해할 수 없습니다. 설정하기 어려울 수 있으므로 모든 것이 어떻게 서로 맞는지 배울 때까지 RDoc 사이를 돌아다녀야 합니다. 문서가 존재하지 않을 수도 있습니다. 아니면 많은 예를 보고 가장 잘 배울 수도 있습니다.

도움이 필요합니다. 하지만 문서가 아닌 경우 기능 사용 방법은 어디에서 배우나요?

내가 가장 좋아하는 GitHub 기능 중 하나

문서를 넘어 라이브러리 또는 기능의 실제 사용을 확인하려면 GitHub의 코드 검색을 사용하세요.

예를 들어 조건부 GET 지원에 대한 Rails 가이드를 읽었다고 가정해 보겠습니다. 이해가 된 것 같지만 실제 사용하기 전에 몇 가지 예를 더 보고 싶습니다.

GitHub 검색으로 이동하여 "if stale?"를 찾을 수 있습니다. . 그런 다음 사이드바에서 code를 선택합니다. 및 Ruby :

{% img img-responsive /images/posts/code-search.gif 783 484 일부 코드를 검색하는 중입니다. %}

이제 stale?에 대한 훌륭한 예가 많이 있습니다. 사용할 수 있습니다.

모든 예가 흥미롭지는 않습니다. 그러나 한 목록에서 Post.maximum을 사용하는 작성자를 확인했습니다. :

앱/컨트롤러/archives_controller.rb
class ArchivesController < ApplicationController
  def index
    if stale?(last_modified: (Post.maximum(:updated_at) || EPOCH).utc, public: true)
      @months = Post.find_all_grouped_by_month
    end
  end
end

stale?를 사용하는 좋은 방법인 것 같습니다. . 그리고 이 예를 보지 않았다면 시도해 볼 생각도 못했을 것입니다.

찾은 것을 어떻게 사용해야 합니까?

오픈 소스 코드를 검색하면 거의 모든 기능에 대한 수백 개의 예제를 얻을 수 있습니다. 문서가 의미가 있는 부분과 지나치게 단순화된 부분을 알 수 있습니다. 그리고 실제 코드에서 함께 작동하는 개체를 볼 수 있습니다. 그러면 RDoc이 할 수 있는 것보다 수업이 연결되는 방식에 대해 더 많이 배울 수 있습니다.

그래도 예제를 사용하여 자신의 프로젝트에 컬트를 적용하지 말고 새로운 것을 배우십시오. 코드를 이해하지 않고 사용하는 것은 잘못 설계된 시스템으로 가는 가장 빠른 방법입니다.

내 예에서는 maximum 내 프로젝트에서 하는 것이 옳지 않을 수도 있습니다. 나는 그것에 대해 더 배우지 않고 라인을 복사해서는 안됩니다. 사용하는 것이 의미가있을 때 이해하지 못합니다. 그러나 예는 이전에 알지 못했던 것을 가르쳐 줄 수 있습니다. 그리고 다음에 배울 내용을 결정하는 좋은 방법입니다.

다른 검색과 마찬가지로 좋은 결과를 얻으려면 약간의 연습이 필요합니다. 하지만 저는 제가 찾은 코드를 통해 많은 것을 배웠고, 여러분도 그러할 것임을 압니다.