2009年9月17日木曜日

Flow Chart で twitter オフ会をしました

中野にあるCasual Bar「Flow Chart」でtwitterオフ会をしてきました。
ここのオーナーともtwitterで知り合って、勢いでオフ会を開催しちゃった感じです。

@26chart




参加は7名くらいだったかなぁ。
店内は雰囲気もよく、オーナーもすごく良い人で、よく一人で来る人が多いみたいです。
オーナーはtwitterのアイコンにそっくりなので、すぐにわかりました(笑)
ちなみに、奥さんが書いたみたいです。うますぎ!




Flow Chartは、名古屋出身のオーナーがやっているダイニングバーで、名古屋めしはめちゃうまかったです!!

味噌カツ


手羽先


ひつまぶし



おすすめなのは「なごやんピッツァ」で、チーズと味噌の濃厚な味がとてもおいしかった。
さすが名古屋だけに、えびのしゃちほこが乗ってました(笑)

なごやんピッツァ



twitterだけに、自分もそうですがIT系の人が多かったけど、他にも色んな人がきて、話してて勉強になったし、おもしろかったです!
第2回目も開催予定なので、お時間がある方はぜひ!!

Ruby on Rails で Amazon Product Advertising API

2009/08/15からAmazon のアソシエイトWebサービス(AWS)は、Amazon Product Advertising APIに変更されたので、実装してみました。

Amazon Product Advertising API

Amazon Product Advertising APIに変更になってから、今まではAccess Key IDで接続できていましたが、Secret Access Keyがないと認証できない仕様になっています。
こちらから新規登録またはログインして、管理画面でSecret Access Keyを取得でいるようになっています。

Ruby on RailsでAmazon Product Advertising APIを利用するには、いくつかライブラリがありますが、
今回は「amazon-ecs」を利用して実装します。

環境
  • Ruby 1.8.6
  • Rails 2.3.4
  • gem 1.3.5
  • amazon-ecs 0.5.7
1. Amazon Product Advertising APIに登録
こちらから新規登録して、Access Key ID、Secret Access Keyを取得します。

2. amazon-ecsをインストール
gem install amazon-ecs

3. Railsプロジェクトを作成
rails AmazonEcs -d mysql

4. controllerを作成
script/generate controller amazon

APIから情報を取得してくるので、DBは不要です。
保存する場合は、DBを作成してください。

5. environment.rbにamazon-ecsの設定を追記
require 'amazon/ecs'
Amazon::Ecs.debug = true
Amazon::Ecs.options = {
:aWS_access_key_id => "xxxxxxxxxxxxxxxxxxxxx",
:aWS_secret_key => "xxxxxxxxxxxxxxxx"
:associate_tag => "xxxxxx",
:country => :jp
}

6. controllerにAmazon商品検索処理を追加
@res = Amazon::Ecs.item_search("fergie")

7. viewに検索した商品を表示
<ul>
<% @res.items.each do |item| %>
<li><%= item.get('title') %> - <%= item.get('author') %></li>
<% end %>
</ul>

これで、「fergie」の商品情報を取得できるようになります。
APIにはオプション機能が色々とあるので、詳細はドキュメントを確認してください。

API Reference

2009年9月11日金曜日

google maps on rails

Ruby on Rails 2.x 以降で、Google Maps を利用する方法です。
いまさら、Google Maps の話かよ。って気もしますが、色々やり方が違ってきているので・・・

環境
  • ruby 1.8.6
  • rails 2.3.4
  • gem 1.3.5
  • ym4r-gm 0.4.1
まず Google Maps API から key を取得します。
開発環境であれば、 localhost:3000 で問題ないと思います。


1. プロジェクトを作成する
rails map_example -d mysql

2. データベースを設定する
適当にデータベースを作成して、datebase.ymlを編集する。

3. コントローラーを作成する
ruby script/generate controller location index

4. ym4r-gm プラグインをインストールする
ruby script/plugin install git://github.com/queso/ym4r-gm.git

5. google maps api key を YAML を追加する
/config/gmaps_api_key.yml に取得した key を追加する。

6. ヘッダーに google maps を利用するコードを入れる
views\layouts\location.html.erb のヘッダーに以下を追加する。

<%= GMap.header %>
<%= @map.to_html unless @map.blank? %>

7. コントローラから google maps のオブジェクトを作成する
coordinates = [longitude, latitude]

@map = GMap.new("map")
@map.control_init(:large_map => true, :map_type => true)
@map.center_zoom_init(coordinates,14)
@map.overlay_init(GMarker.new(coordinates, :title => "タイトル", :info_window => "吹き出しの内容"))

8. view に google maps を表示する
<%= @map.div(:width => 500, :height => 300) %>

これで google maps と連携したアプリケーションを作成できます。
あとは、 controller で maps オプションを色々と追加すればOKです!

2009年8月29日土曜日

LLTVに行ってきました。

中野ZEROホールで開催されてLLTVに行ってきました。

毎年開催されているLightweight Languageカンファレンスですが、今年はTVがコンセプトみたいで、
セッション内容も番組にちなんだ題材になってました。
よくわからないですが・・・

開催のお知らせ
番組表


午前中はエンタメ系のセッションで、前日寝れなかったのもあり、寝ちゃってました・・・

朝から生テレビ
小飼弾さんが熱く語っていたのは覚えています。
スレッドでのデバッグの話とか。
結局、まだちゃんとしたデバッグ方法はなく、バグは出さないようにしようとか。

LLフィーリングカップル
概要はサイトを見てほしいのですが、ちょっと聞いてたところ、よくわからない
話でした・・・

渡る世間は雲ばかり
クラウドはどのような可能性があるとか、GAEを利用したデモをやってました。
Slim3を開発しているひがさんが、ライブコーディングをしていました。
もちろん、時間内には終わらなかったですがw
とても勉強になったし、笑いもあったし、おもしろいセッションでしたね。

詳細はtwitterのログで。
---------------

GAEは日々、柔軟に改善されている。 #lltv



やっぱこの会場だとマイクロソフトの立場はきついなぁ。 #lltv



GAEは期間限定に強い。 #lltv



季節ものサイトはGAEの成功事例が多い。 #lltv



クラウドは日本のSierを変える力があるかもしれない。 #lltv



gaeはRDBに依存するフレームワークはきびしい。変えていかなきゃいけない! #lltv



今からクラウドを始めよう!チャンスがいっぱいある! #lltv



RT @yuroyoro: kayのリリースとお子さんのリリースが同期www #LLTV



RT @celeron1ghz: 「warファイルのファイル制限3000?ちっぽけな数だよ」 #lltv



gaeではActiveRecordが使えないから微妙。データストアの変更もやめた方がいい。WARファイルにパッケージしてしまうのがBEST! #lltv



高井さんの名言。詳しくはググってくれ! #lltv



WarblerはRailsアプリケーションをWARパッケージにするためのスクリプト。 #lltv



JRuby-Rack #lltv



Campingってフレームワークは知らなかったなぁ。 #lltv



ひがさんの名言。最近のJavaはLLです! #lltv



ライブコーディング、10分オーバーで終了! #lltv



ひがさん、「せっかくなのでもう2 、3分ください」だってw司会者はいいなりです。つよいw #lltv



ひがさんのライブコーディング。あと5分! #lltv



MacだけどOSはWindowsだw #lltv



マイクロソフトのプレゼンでAzureの説明してるんですが、なぜかMacでやってるよw しかも、LLとまったく関係ない内容w #lltv



午後のセッション「渡る世間は雲ばかり ▽Google App EngineやWindows Azureを使ったプログラミングについて解説 ▽クラウドはプログラマにとってチャンスだ!」に期待! #lltv



今日はLLTVに行ってきます。 http://ll.jus.or.jp/2009/

---------------

残りのセッションは参加できなかったですが、twitterで見れると思うので、
時間があればぜひ。

twitter #lltv

Twitter4R on RailsでTwitterへPostしてみる

今流行りのTwitterですが、Rubyライブラリ「Twitter4R」をRuby on Railsから読み込んで、TwitterへPostしてみる簡単なアプリケーションを作成してみます。

環境
  • Ruby 1.8.6
  • Rails 2.3.2
  • Twitter4R 0.3.1

1. Twitter4Rをインストールする
gem install twitter4r
Successfully installed json-1.1.7-x86-mswin32
Successfully installed twitter4r-0.3.1
2 gems installed
Installing ri documentation for json-1.1.7-x86-mswin32...
Installing ri documentation for twitter4r-0.3.1...
Installing RDoc documentation for json-1.1.7-x86-mswin32...
Installing RDoc documentation for twitter4r-0.3.1...


2. Railsプロジェクトを作成する
rails -d mysql twitter4r

3. コントローラ、ビューを作成する
ruby script\generate controller twitter index

4. application_controller.rbからTwitter4Rを読み込む
require 'rubygems'
gem('twitter4r', '>=0.3.1')
require 'twitter'
require 'time'

5. twitter_controller.rbにメソッドを追加する
USERNAME = '自分のtwitterアカウント'
PASSWORD = '自分のtwitterパスワード'

class TwitterController < twitter =" Twitter::Client.new(:login"> USERNAME, :password => PASSWORD)
status = twitter.status(:post, 'twitter4rからのpostです。')
end
end

6. ブラウザからアクセスする
http://localhost:3000/twitter/


以上でtwitterへPostされます。
簡単です。30分くらいで実装はできてしまいます。

他にもタイムラインの表示とか、メッセージとか、twitterで利用できる機能は一通り実装可能です。
詳細はTwitter4Rで確認できます。

これを利用すればbotも簡単にできそうですね。