githubでソースを公開しつつHerokuで動かすアプリの場合、git push heroku masterでHerokuにビルド、git push origin masterでgithubに公開という風に分けられて良いんだけど、database.ymlみたいな設定ファイルが困る。

具体的にはtwitter_auth.ymlというファイルにTwitter APIのキーやbitly APIのキーを入れていて、githubにはtwitter_auth.example.ymlをアップしてるんだけど、Herokuにはホンモノをpushしないといけない。

「ブランチ作って、ホンモノの設定ファイルコミットしてpushしてブランチ削除」みたいなshellスクリプトでも書く必要があるのかな?

結構これみんな遭遇しがちなことだと思うので誰かがもっとスマートな方法知らないかと思ってググってるけど見つからない。

追記:教えて頂いた内容で解決しました。Heroku - ソース中のパスワードなどの処理 - komagata [p0t]

Mac(Snow Leopard)でpgのgemインストール。

% sudo port install postgresql84
% export PATH=/opt/local/lib/postgresql84/bin:${PATH}
% env ARCHFLAGS="-arch x86_64" sudo gem install pg

CentOS 5.3

$ sudo yum install postgresql84-devel
$ sudo gem install pg

Google App EngineやHerokuが好きな理由。

  • 無料レンタルサーバーであること
  • パフォーマンスが高いこと

元も子もない理由だけど、強烈な理由です。ってか使わない理由って覚えるのが面倒以外にあるのかな?(辛辣)

正規表現のオプション。よく忘れるので。

/…/i
大文字小文字を無視。
/…/s
Shift_JISとしてマッチ。
/…/e
EUC-JPとしてマッチ。
/…/u
UTF-8としてマッチ。
/…/n
1バイト文字としてマッチ。
/…/x
空白および#以降の文字を無視。
/…/m
.が改行にもマッチ。

はてなダイアリー - iPhone

はてなダイアリーが色々バージョンアップしましたね。特にiPhone用のViewはムチャクチャ見やすくて嬉しいです。

元々、WordPressとかのiPhone用テーマは無駄にiPhone UIを真似ていてただでさえ狭い表示領域がさらに狭まっていて嫌でした。

そもそも、2〜3カラムのブログはカラムをダブルタップ?すればその幅にフィットするので別にPC用の見た目で十分読みやすかったのでそのままで良いよって思ってました。

しかし、はてなダイアリーは本文中に無意味なリンクが貼られまくっているのでその状態でダブルタップすると高確率でキーワードのページに飛ばされて、SAN値が減少しまくってました。

文字サイズも見易いし、自分が作るときに参考にしたいと思います。

Heroku | Platform Stacks (Beta)

HerokuにはPlatform Stacksというのがあって、いつくかの環境を切り替えて使うことが出来るらしい。

% heroku stack
* aspen-mri-1.8.6
  bamboo-ree-1.8.7 (beta)
  bamboo-mri-1.9.1 (beta)

今のところはaspenとbambooの二つ(bambooはruby1.9版もあり)。よく考えると、自分のサーバーのソフトウェアがガンガン勝手に上がられても困るからこういう仕組みは嬉しい。

herokuローカルな.gemの仕組みが嫌でBundler使いたい場合は現状bamboo stackにするしかない。(Rails 2.3.8もbambooでないと動かないとの噂)(aspen stackでも動きます。)

$ heroku create test-sushi-app --stack bamboo-ree-1.8.7
$ heroku stack:migrate bamboo-ree-1.8.7

こんな感じで最初から指定してもいいし、あとでmigrateしても問題無かった。Rails3 + Ruby1.9.2対応したときが狙い目かも?

追記:bamboo-ree-1.8.7がデフォルトになりました。

iPadで遊んでみました。

まずは意外と普通の端末という印象。タッチに関しては元々MacBookのタッチパッドの優れ過ぎ具合に感動していたので驚きは薄い。SafariでYoutubeがインライン再生?出来るのは嬉しい人が多いかも。

しかし、ニコ厨の俺にとっては、

「ニコ動見れないとか、こいつ絶対忍者だろ。汚い、さすが忍者汚い」

画面も横で使うこと多いな〜動画とか普通PCは横長なのになんで縦なんだろう?とか考えてました。

これ、絶対秘密なんですが特別にみなさんにお教えしようと思います。

実は、iPadで本や漫画を読むとスゴく快適なんですよ・・・。

漫画は縦の状態だと丁度1ページにぴったりで超絶綺麗です。これはもしかして最強の電子ブックリーダーとしてもつかえるんじゃないか・・・?(ゴクリ

「・・・・・・・・・・・・・・・・・・。」



それはさておき、CloudReaderでzipのzipも1冊の本として見れるのはとても便利。(1巻.zip, 2巻.zipをまとめてFoo全2巻.zipとなってるものを1冊として扱える)

マジで裁断機欲しくなって来た・・・。

iPad

iPad買ったよ。ヒャッハー!

昔(98, 99, 2000年頃?)、Ultima Onlineのネトゲ廃人だった頃、相手より少しでも速く動くためにPCの自作にも励んでいました。Celeron 300Aのマレーシア工場の23週?製造バージョンがオーバークロック耐性が高いだのといってオウム真理教系のパーツショップ(安い)をさまよったり、RIVA TNTの発売時に有り金全部使ってしまって知り合いに帰りの電車賃を借りに行ったりしていました。

Intel_Celeron_300A_MHz

ゲームで相手より足が速いということは、ピンチになったら何度でも逃げればいいわけで、まず負けることが無くなるので高いパーツを買ったり改造するかいもあると言うものです。これには熱中しました。

結局、Pentium III(Katmai 450Mhz)とMillennium G400辺りで違いを体感出来る程では無くなったために秋葉原から足も遠のいてしまいました。

Androidが発表された時、携帯が再びそういう状態にならないかなと期待を持ちました。

OSはフリー、ハードは標準化され価格競争になる。台湾辺りのメーカーの部品を寄せ集めてSIM的なものを指せば安く高性能な携帯が手に入るので秋葉原には怪しげな携帯パーツ屋が軒を並べ、学生はこぞって携帯のカスタマイズに夢中になり、小遣いやバイト代は全て携帯の高性能なCPUやメモリに消えていく・・・。

そんなカオスな世界を夢想していましたが中々そうなってこないですね。

何?誰か邪魔してるの?

誰か邪魔してるなら教えてください。俺が嫌がらせしに行きます。

Help me, hacekrs!でもtwitter-authのgem(jugyoさんがforkした証明書を使えるバージョン)を便利に使わせてもらっています。

これ、Net::HTTPServerExceptionの401はrescueしてるんですが、OAuthの401は何もしてないので、認証を拒否して戻ってきた時とかにはエラーになっちゃいます。

% diff app/controllers/sessions_controller.rb{,.org}
62,63d61
< rescue OAuth::Unauthorized => e
< authentication_failed(t('This authentication request is no longer valid Please try again')) and return

なのでココ修正して使ってます。

OAuthの認証失敗処理

※ ここは元のgemの問題です。