Changelog: 피드 개선
먼저 배경 지식: 1월 말에 홈페이지 기사 피드가 생성되는 방식에 대한 글을 썼습니다. 피드의 관련성을 개선하는 것이 우리에게 큰 우선 순위이지만, 시도조차 하기 전에 수행해야 할 몇 가지 정리 작업이 있었습니다. 이 주기에서 대부분의 시간을 홈페이지에 구성 요소Preact를 구현하고 우리(및 귀하!)가 더 쉽게 변경할 수 있는 위치에 피드를 가져오는 데 사용했습니다.
이전에 피드에서
과거에는 피드를 구성하는 논리가 Rails 백엔드와 클라이언트 측 JavaScript 모두에 존재했습니다. 일부 개체를 가져오기 위해 초기 쿼리를 작성하고 주문했으며 동일한 기사 세트에 대해 추가 순위 및 점수를 매겼습니다. 결과적으로 피드를 변경하여 제목에 이모티콘이 포함된 게시물의 우선 순위를 지정하려면
StoriesController
및 initializeFetchFollowedArticles.js.erb
모두에서 변경해야 합니다. 사용자가 보고 있는 홈 페이지 피드의 버전(일반 피드와 시간 기반 피드, 사용자가 로그인했는지 여부)에 따라 추가 JavaScript 파일을 변경해야 할 수 있습니다.급격한 변화와 실험에는 적합하지 않습니다. 홈페이지 피드 구성이 드물게, 소량만 변경되는 것은 놀라운 일이 아닙니다.
함께하기
피드 구성 방식을 쉽게 변경할 수 있도록 피드 생성 논리를 서비스 클래스에 통합하기 시작했습니다. . 레거시
StoriesController
및 새 컨트롤러( )는 모두 홈 페이지 기사 피드를 렌더링할 때 이 서비스의 출력을 사용합니다. 로그인한 사용자를 위한 기본 홈페이지 기사 피드의 initializeFetchFollowedArticles.js.erb
에서 발생하는 순위를 사용했습니다(로그아웃한 사용자 경로 및 미리 지정되지 않은 피드 구성 요소는 여전히 이를 사용합니다. 아기 단계!).요약: 홈페이지 피드의 구성을 실험하고 싶다면
Articles::Feed
가 원스톱 쇼핑입니다!피드 성능 평가
단순히 피드가 생성되는 방식을 변경하는 것만으로는 충분하지 않습니다. 목표는 사용자에게 보다 관련성 있고 매력적인 피드를 생성하는 것입니다. A/B 테스트를 위해 Andrew Kane의 우수한Field Test gem을 구현했습니다.
Stories::FeedController
의 이 코드 비트는 테스트가 선택되는 위치입니다. def ab_test_user_signed_in_feed(feed)
test_variant = field_test(:user_home_feed, participant: current_user)
case test_variant
when "base"
feed.default_home_feed(user_signed_in: true)
when "more_random"
feed.default_home_feed_with_more_randomness
when "mix_base_more_random"
feed.mix_default_and_more_random
when "more_tag_weight"
feed.more_tag_weight
when "more_tag_weight_more_random"
feed.more_tag_weight_more_random
else
feed.default_home_feed(user_signed_in: true)
end
end
각 "실험"은
Articles::Feed
서비스에서 고유한 방법을 가져오고 사용자는 . 더 좋은 점: Field Test는 어떤 사용자가 어떤 홈 페이지 버전을 받고 있는지, 해당 사용자가 얼마나 자주 페이지를 방문하고 기사에 댓글을 달고 있는지 추적합니다. 우리는 이 정보를 사용하여 홈 페이지의 어떤 변수가 사용자와 공감하는지 평가하고 있습니다. 항상 대화에 데이터를 가져오십시오!다음으로
앞으로 몇 주 동안 홈페이지 피드 알고리즘을 모니터링하고 계속 조정할 것입니다. 또한 더 많은 피드 생성 인스턴스를
Articles::Feed
서비스로 가져오고 싶습니다. 관심이 있다면 언제든지 참여하십시오!행복한 코딩! ❤️
Reference
이 문제에 관하여(Changelog: 피드 개선), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/devteam/changelog-feed-improvements-4jag텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)