Archive for 01:58
2011年06月27日
Nokogiriでurlをparseするときは普通こんなコードになります。
doc = Nokogiri::HTML(open('http://example.com/'))
しかし接続先のプロトコールがhttpsの場合はNo such file or directoryのエラーとなります。
一旦net/httpsで取ってからそれをnokogiriでparseするような工夫が必要です。
require 'net/https'
require 'nokogiri'
url = "https://example.com"
url = URI.parse( url )
http = Net::HTTP.new( url.host, url.port )
http.use_ssl = true if url.port == 443
http.verify_mode = OpenSSL::SSL::VERIFY_NONE if url.port == 443
path = url.path
path += "?" + url.query unless url.query.nil?
res, data = http.get( path )
case res
when Net::HTTPSuccess, Net::HTTPRedirection
# parse link
doc = Nokogiri::HTML(data)
# do what you want ...
else
return "failed" + res.to_s
end
Tags: https, nokogiri, Ruby
Posted in Ruby | No Comments »
2011年06月23日
昨日の記事githubの/usrが削除されたスレットが面白かった、Nokogiriで画像を拾うSinatra appを書いた | Kinopyo Blogにも簡単に述べましたが、DalliはHerokuでお勧められているMemcachedのGemです。正確にはpure ruby memcache-clientです。
インストールと使い方をGistで公開しています。
# Herodu Dev Center Doc:
# http://devcenter.heroku.com/articles/memcache
# Dalli gem heroku url:
# https://github.com/mperham/dalli
#######################
# Local Setup memcached
#######################
sudo port install memcached
# run the memcached daemon:
memcached -vv
#######################
#Using Memcache with Sinatra
#######################
# add gem to .gems (or Gemfile)
dalli
# install the gem
sudo gem install dalli
# require it first
require "dalli"
# add cache setting to yourapp.rb
# eg.cache for 10 min here. deault options is never expire
cache = Dalli::Client.new(nil, {:expires_in => 60*10})
set :cache, cache
# how to use
settings.cache.set('color', 'blue')
settings.cache.get('color') # => 'blue'
#######################
# Deploy to Heroku
#######################
heroku addons:add memcache
参考サイト:
Heroku | Dev Center | Memcache
mperham/dalli – GitHub
Tags: heroku, memcached, Ruby, sinatra
Posted in Ruby | No Comments »
2011年06月18日
一ヶ月前の話ですが、iPhoneをお風呂に落としてしまいました。。。2、3秒くらいですかね。
液晶が点灯しなかったものの、まだ生きてます。
急いで電源を切りました。スワイプのジェスチャーがなかなか効かないので何回かやったんです。
そこでググってみてこんな措置をとりました。
- 本体は振ってはいけない
- ドライヤーで乾かす
- 米に埋める(乾燥剤がなかった)
- 乾燥剤とiPhoneをジップロックに入れて待つ!
- 毎晩一回起動して様子を観察
それで、ほぼ4-5日経って特に変わりがなかったです。
(まだ液晶が点灯しない、バッテリとかその他は問題ない)
画面が暗いまま1週間使い続けてもう待てないと思って
ソフトバンクの店舗にいって正直に言いました。
思ったとおり検査で水没のセンサは反応あり、
修理はできず22,800¥で交換するしかないと言われました。
そんな時にTwitterスマートフォンドクター新宿店から連絡がきましたので、
お店にいって液晶だけ交換することにしました。
その場でTwitterでつぶやけばツイッター割があります。
合わせて8,800¥でした。ありがとうございました。
今まで問題なく使いました。大事にしないと。。
Tags: iPhone
Posted in 日記 | No Comments »
2011年06月17日
この前Herokuのドキュメントを見ましたが、まだRails3.0.7しか正式にサポートされているようです。でも実はRails 3.1rcもherokuで実行できますよ。
### in Terminal
# create rails app
rails new test_app
############ start: edit Gemfile ##############
#wrap sqlite3 in
group :test, :development do
gem 'sqlite3'
end
# add thin server
gem 'thin'
#add the rubyracer for heroku
group :production do
gem 'therubyracer-heroku', '0.8.1.pre3'
gem 'pg'
end
############ end: edit Gemfile ##############
### in Terminal
# bundle install
bundle
# git initialize
git init .
# add files
git commit -am "initial commit"
#create app on heroku
heroku create --stack cedar
# push app to heroku
git push heroku master
# test it
heroku open
上記snippetはgistで保管しJavaScriptで表示しています。RSSでご覧の方は見れないと思います。お手数ですが、直接アクセスしてください。
Tags: heroku, rails, rails3.1
Posted in Ruby | No Comments »
2011年06月04日
Railscastsで紹介したjezdez/textmate-missingdrawer – GitHubProject Drawerのプラグインをインストールした後に、ターミナルやTextMateのGUIでフォルダを開くときに画面が真っ白になる。ファイル一つ一つは開ける。
ターミナルで開いた時はこんなエラーを吐き出される:
mate[19082:903] Exception raised during posting of notification. Ignored. exception: '[NOTE: this exception originated in the server.]
-[NSCFArray objectAtIndex:]: index (1) beyond bounds (1)' invoked observer method: '-[OakLaunchHelper didLaunchTextMate:]' observer: 0x1128a0 notification name: 'NSWorkspaceDidLaunchApplicationNotification'
昔ProjectPlusというProject Drawerをインストールしたことがあり、どうやらその二つが衝突しているよう。
~/Library/Application Support/TextMate/Plugins/ProjectPlus.tmpluginを削除
参考:http://ticket.macromates.com/show?ticket_id=188F672C
Tags: Mac, textmate
Posted in IDE, Mac | No Comments »
2011年06月01日
iPhoneでの定番RSSリーダーのReederをいつも愛用していますが、iPad2では予め買う必要があります。600円は少し高いですが、iPhone版と同じ優れたUIと操作性、多数のWebサービスに対応している点を考えて購入しました。やはり大きなスクリーンで読むのは気持ちいいっ!
Reeder 
カテゴリ: ニュース
価格: ¥350
リストビューで左スワイプがstar/unstart、右スワイプがread/unreadです。これはiPhone版と一緒です。


左スワイプの処理は設定画面でReadItLaterやInstapaperに変更できます。
そして記事ビューでは、右スワイプはリストビューに戻ります。

Tags: ipad, ipad2, iPhone, rss
Posted in iPad | No Comments »