おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

OpenSocial Tutorialをやった

Googleが提供しているOpenSocial Tutorialをざっくりやってみました。Tutorialはまだ日本語化されていない*1ということもあって、事前準備に少し苦労しました。これからTutorialする人のために要点をまとめておきます。

OpenSocial Tutorial - OpenSocial - Google Code

このTutorialで何を作るのか

このTutorialはiGoogleのガジェットを題材にしており、友達にギフトを送ってそれを表示するようなガジェットを作ります。

iGoogleSNSじゃないけど「友達」ってどうするの?

開発用のSandbox Friendsと呼ばれるgadgetを使用して友達を設定します。

Sandbox Friendsってどこからインストールするの?

Sandbox Friendsをはじめとしたディベロッパツールここから取得できます。が、その前にここで登録をすませておかないとSandbox Friendsがうまく動かないので注意しましょう。

また、Sandbox Friendsでの友達設定は相互にする必要があるようです。なので、アカウント2個つくってそれぞれ登録してディベロッパツール入れて両方に友達設定をするという手順が必要です。めんどくさいですね・・・><

ソースコードをどうやってiGoogleに反映させるの?

ディベロッパツールに含まれるMy Gadgetsというgadgetに「Add a gadget」の項目があり、そこにソースコードのURLを入力します。なので、インターネット上でアクセスできる場所にソースコードを置く必要があります。サーバを自前で持ってたりレンタルしたりしている方はそれを使うと良いです。それ以外の方はGoogle Codeを使うといいらしいです。(僕は自前のサーバがあるのでそれを使いました)

その他気をつけておく事は?

My Gadgetsの、チュートリアル用のxmlファイルのcachedのチェックを外しておきましょう。ソースを変更したのに画面に反映されなくて???となるハメになります。

あとは

ソースみて実行するのを繰り返せばなんとなくわかると思います:-)

*1:APIは日本語化されてます

Ruby1.9.1をインストール

下記のようにしてインストールした。

./configure --prefix=/usr/local/ruby19 --program-suffix=19 --enable-pthread --with-readline-dir=/usr/local --enable-shared
make
make install

そしたら./configure時に下記のようなWARNING。--with-readline-dirオプションがなくなったらしい。

configure: WARNING: unrecognized options: --with-readline-dir

irbは問題なく実行できたし、いらなくなったのかな?

ミュージックステーションでユニコーンを観た

僕は基本的にあんまりテレビを観ないのですが、今日は再結成したユニコーンミュージックステーションに出るという情報をキャッチしたので観てみる事にしました。学生のころは「なんとなくいい」くらいのイメージだったのだけれど、社会人になると「働く男」「すばらしい日々」「大迷惑」などなど社会人をテーマにした曲の数々の歌詞が実感できるようになって、自分の中で存在感を増してきています。

「起きていることはすべて正しい」を読んだ

読みました。いつものようにメモします。

全体的な感想

この本には様々な概念が勝間流にラベリングされて出てきます。たとえば精神的な力を「メンタル筋力」と言い換えたりして覚えやすくしています。これらのラベリングされた概念に対して、

  • メンタル筋力があるとどんな事が出来るか
  • メンタル筋力がある人はこんな人

のような話は詳細に書かれているのですが、いざ

  • メンタル筋力を鍛えるにはどのようにしたらいいか

の段になると少し抽象的になってしまったのが残念でした。日々の生活に落とし込むには、本の内容を試行錯誤しつつ補完していく必要がありそうです。

気になった部分の箇条書き

  • 「友人を選べ」系の話が多く出てきた
  • ネットサーフィンやテレビの時間はメンタル筋力が死んでる。減らすべき。
  • 脳内フレームの話は習慣化の話。
  • 良心が遺伝的に欠落している人が25人に1人の確率でいるらしい(!)。
  • 目標設定はSMARTに
    • 具体的(Specific)
    • 測定可能(Measurable)
    • 達成可能(Achievable)
    • 結果重視(Result-oriented)
    • 期限付き(Time-bound)
  • 捨てること、やらないことを決めること大事
  • 決断することは、人に嫌われるリスクをとること
  • やることを効率化するのでなく、やることを減らす
  • フレームワークに対して、名前をつける(ラベリング)と覚えやすくてよい
  • 読書や人とのコミュニケーションにより大量にインプットを行い、自分の価値観を確立することで「捨てる」ことができるようになる
  • わがままを通さないと成功しない


起きていることはすべて正しい―運を戦略的につかむ勝間式4つの技術
勝間 和代
ダイヤモンド社
売り上げランキング: 23
おすすめ度の平均: 4.0
3 勝間氏らしい
5 プラスへと導いてくれる本です
2 いまいち・・・
3 妬む・怒る・愚痴るは「仏教の三毒」ではありません
5勝間和代」は普段何を考え、行動しているか

Railsのタイムゾーン雑感

Railsの2.1あたりからタイムゾーンのサポートがされるようになっています。RAILS_ROOT/config/environment.rbにて

  config.time_zone = 'UTC'

の'UTC'部分をいじることによりタイムゾーンの設定が出来ます。日本国内オンリーでアプリを作る場合は、

  config.time_zone = 'Tokyo'

のようににしとけばおーけーです。

気をつける事

外部から時間を受け取ってDBに入れる場合、よく考えずに

DateTime.new(2008, 2, 1, 15, 30, 45) #=>Fri, 01 Feb 2008 15:30:45 +0000

のようにしたものをDBに入れると、その時間はUTCとして扱われるため、期待した時間より9時間進んだ時間がDBに入る事になってしまいます。これを避けるには、

Time.zone.local(2008, 2, 1, 15, 30, 45) #=> Fri, 01 Feb 2008 15:30:45 JST +09:00

のようにして、ActiveSupport::TimeWithZoneのインスタンスを作ってやる必要があります。

コメントアウトの方が楽?

  # config.time_zone = 'UTC'

のように設定をコメントアウトし、ローカルタイムを使ったほうが面倒がなくてよいように思う方もいらっしゃると思います。が、下記の記事にもあるように、外部プラグインの中にutcを決め打ちで使用しているものもあるようなので設定した方が無難かと思います。

タイムゾーンはどのように設定しておこうか... - ザリガニが見ていた...。
Rails(2.1.0)のtimezone - satake7’s memo