Nokogiri를 사용하여 소매점 웹 사이트에서 제품 데이터를 가져 오는 프로젝트를 실험하고 있습니다. 500 개 이상의 소매 업체가 있으며 페이지 구조를 포함한 사이트 구조는 서로 매우 다릅니다.Ruby에서 {classes} 디자인하기 (레일즈에서)
초기 생각은 모든 소매 업체 (사이트)에 대해 하나의 클래스를 만들어 모든 변경 사항을 쉽게 채택 할 수 있도록하는 것이 었습니다. 그러나 각 클래스가 명시 적으로 '필수'(로드/언로드)되어 있는지, 너무 많은 성능 문제가 발생하는지 확신 할 수 없습니다.
Ruby를 사용하면 클래스와 메소드를 동적으로 덮어 쓸 수 있습니다. 'load'는'require'가 할 첫 번째 시간뿐만 아니라 요청할 때마다 파일을로드 할 것입니다. 이러한 동작을 함께 사용하면 이전에로드 된 코드를 덮어 쓰면서 요청에 따라 특정 사이트의 코드를 동적으로로드 할 수 있습니다. Ruby의 가비지 수집은 클래스를 덮어 쓸 때 사용 가능한 메모리를 다시 확보해야합니다. 시도해보십시오. 예상대로 작동하지 않는 경우 코드와 결과 *를 사용하여 질문을 수정하십시오. –