前回のエントリーでレコメンデーションして各記事の類似度の高い記事(URL)を算出する事ができた。 RubyのレコメンドエンジンRecommendifyを試してみる 今回はこの算出した記事をオススメ記事として、各記事の末尾にこんな感じに表示するようにしてみた。 手順は次の通り レコメンドした記事のURLをJSONファイルとして書き出す 記事にアクセスがあった時に対応するJSONファイルを、Ajaxで読み込んでオススメ記事として描画する コード # coding: utf-8 t0 = Time.now require 'recommendify' require 'redis' require 'pp' require 'json' class GAApi require 'google/api_client' require 'google/api_client/client_sec
以前ユーザー毎のアクセス履歴を、Googleアナリティクスに記録する為のライブラリmeron.history.js を書いた。 今回はこの記録された履歴を利用して、このブログの各エントリー毎のオススメ記事を算出してみたい。 使ってみたのはRubyのレコメンドライブラリRecommendify。 Redisを利用してコメンデーションする為、軽快に動作するのが売りなライブラリらしい。 手順は次の通り GoogleアナリティクスのCore Reporting API からアクセス履歴を取得 アクセス履歴を元にRecommendifyでレコメンドする レコメンド結果を表示 前提として事前にmeron.history.jsである程度の期間、ユーザーのアクセス履歴をトラッキングして置く必要がある (Core Reporting APIの利用には、前回の記事GoogleアナリティクスAPIの承
前回のエントリ(Googleアナリティクスのレポートをrubyから取得する)で アナリティクスのAPIを触ったんだけど、rubyスクリプトを実行するたびにブラウザからアクセス承認しなくてはいけなかった。 ライブラリのソースを読んでみたら、認証したセッション情報をローカルファイルに保存しておき、次回からはそのファイルを読み込む事で、アクセス承認を初回だけにすることができそうだったのでやってみた。 アクセス承認画面 コード Gemfile # A sample Gemfile source "https://rubygems.org" #gem "google-api-client" gem "google-api-client", :github => 'google/google-api-ruby-client' 現在rubygems にあがっている google-api-client
アナリティクスにはCore Reporting APIというAPIが提供されているので、コレを使ってトラッキングされた情報を取得してみる。 クライアントID作成 アナリティクスに限らずGoogleのAPIを使うためには、Google apisの認証を通す必要があり、その為のGemもGoogleから提供されている。 なので、まずはGoogle apisのAPI Accessから認証に使うクライアントIDを作成する。 servicesメニューからAnalytics APIをONにする。 今回はローカルのスクリプトからの利用なので、画像のように 「Installed application」 を選択する。 作成したIDメニューの Download JSON からClient secret等が書かれたJSONをダウンロードする。 ファイル名はclient_secrets.jsonとしておく
コード app/decorators/user_decorator.rb app/models/user.rb からメソッドをそのまま持ってくる app/models/user.rb のコードは削除する # -*- coding: utf-8 -*- module UserDecorator def sex_list {0 => '女性', 1 => '男性'} end def sex_name self.sex_list[self.sex] || '' end end 使い方 これで以前と同じようにビューから呼び出せるわけですが、ActiveDecoratorで書かれたメソッドはビューで 使われる事を前提にしているのでコントローラからはそのままでは使えない。 コントローラ側でも使いたい場合は、extendでDecoratorを読み込んであげればコントローラからも使える。 こんな感じ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く