| @技術/プログラミング

RailsでOAuthを使ってTwitterとかで認証させたい。oauth-pluginを使おうとしてるけど全然うまくいかない。イメージとしてはこんな感じ。

OAuthの利用イメージ

疑問点がいくつかある。

  • Userモデルで validate_presence_of をパスワードフィールドにかけてるけど、OAuth経由でユーザーが追加されたときはどうすればいいんだろう。OAuth経由ではパスワードは預からないので、 validate_presence_of でエラーが出るはず。

  • Userモデルで has_many :oauth_tokens とかリレーションの設定をしてしまったとして、OAuth経由ではなく普通にサインアップしたユーザーの扱いはどうなるんだろう? 「 oauth_tokens にそんな user_id の人いないし」みたいなエラーが出るような気がする。

他にもいろいろ気になる点があったような気がするけど分からなくなってしまった。

| @労働

就職して上京したのが去年(2009年)の7月5日で、6日から働き始めて8日の夜に辞めた。厳密には7月8日の夜10時半頃辞めたのでまだ若干早いけど、とにかく一年が経った。

あの頃に比べて今は以下のことが出来るようになった。

  • フレームワークを使えるようになった。
  • Rubyをほんの少しだけ使えるようになった。
  • JavaScriptをちょっぴり使えるようになった。
  • Google Maps APIを使ってそこそこ凝った地図を書けるようになった。
  • Linux/Unixの操作を一通り覚えた。

8月までにRailsで作ってるサイトを公開して、今後の身の振り方を考えたい。

| @技術/プログラミング

CakePHPで動かしているサイトをCakePHP 1.2ベースからCakePHP 1.3ベースに変更作業中。その課程で気がついたことをメモしておきます。

  1. $html->link() などHTMLヘルパーでエスケープを false にしたいときは $options['escape'] を使う。
  2. $cakeDebug は廃止されたのでエラーが出る。
  3. $sessions->flash()echo $sessions->flash() とする必要がある。また AppController でヘルパーとして呼び出さなければならない。
  4. debug_kit は github から最新版を git clone する。

参照:

| @Mac/iPhone

Cha-Chingからのデータの書き出し方法について書いときます。

Cha-Chingから他のソフトにCSVでデータを書き出すことが出来ます。ただしテキストエンコーディングがUTF-16と若干特殊なため、取り込み先のソフトで若干の混乱を引き起こすことが予想されます。以下にiComptaへのインポートの手順を記します。

まずCha-ChingでAccountを選択し、File->Export CSV File... でファイルを書き出します。

Cha-Chingが書き出すCSVは情報量が少なく、データはTitleとDateとAmountの三つのカラムしか持たないので、銀行口座やクレジットカードといったアカウントの情報を維持したい場合は、アカウントごとの書き出しが必要になります。そしてそれを各々iComptaにインポートしていく感じですね。

次に書き出したCSVファイルを適当なテキストエディターで開きます。僕はCotEditorを使いました。そんでテキストエンコーディングをUTF-16からUTF-8に変換します。

いよいよiComptaへのインポートです。

まずデフォルトだとテキストエンコーディングがMac OS Romanとかになっていますから、ここをUTF-8に変更します。またCha-ChingからエクスポートされたCSVは日付のフォーマットがyy/MM/ddになので、インポート画面でDate formatも変える必要があります。さらに何行目からデータを読み取るかといった項目もあるので、ここを2行目からにしましょう(1行目はカラム名が書いてあるので)。

次の画面で読み込む各々のカラムがiComptaでどの情報に相当するのかを割り当てます。

そのまんまTitleはTitleに、DateはDateに、AmountはAmountにしてしまえば問題ないです。

以上の手順をアカウントごとに繰り返してやれば綺麗なかたちでCha-ChingからiComptaに移行できます。

なお、Cha-ChingのDBはSQLite3なので、SQL得意な方は sqlite3 ~/Library/Application Support/Cha_Ching_2/Cha_Ching.2ccdb とかしてごにょごにょすると、タグとかカテゴリーとかもっと多くの情報をiComptaに移せるかもしれないし移せないかもしれないです。

| @Mac/iPhone

お小遣い管理にはCha-Chingを使っていたんだけど、Mac版はずーっとベータ版のままで正式版が公開されず、iPhone版もMac版とは完全な同期を取れないという致命的な欠陥があるため(PayeeとTransaction Titleがごちゃ混ぜになるとか)、iComptaというソフトを使ってみることにした。

iCompta

二週間くらい試用してみたけどわりといい感じだったのでiPhone版とMac版を買ってみた。

Cha-Chingは画面がMac Likeで、iSightで写真を撮ってレシートの内容を保存とか、お金の動きを入力するのが楽しくなる仕掛けがたくさんあった。しかしある期間でいくら収入があっていくら支出したのかが一目で確認できなかった。グラフ表示とかもできない。とりあえず赤字になってないことくらいは分かるんだけど、収入と支出の割合みたいのが分からないので、「今月使いすぎたかもなー」というような使い方ができなかった。

それに対してiComptaはお金の動きがある度にその時点での財産を表示してくれるし、チャートや円グラフも表示してくれて、「どのカテゴリーにいくら使ったか」がわかりやすい。例えば一ヶ月にどれだけ「外食」に金を費やしたかとか、ガソリンにいくら使ったかとか。

またTransactionごとにそのときの残高を表示してくれるので、お金の動きを追いやすい。

正直、見た目のMacっぽさとか入力する気を起こさせるという点ではCha-Chingの方が優れていると思うけど(iComptaは会計ソフト度満点というか、グラフの描画とかがWindowsのアプリケーションっぽい)、いまんところ確実にiPhoneとシンクできてデータを欠損しないのでしばらくこっちを使ってみることにします。

| @旅行/散歩

昨日、福岡から日田経由で阿蘇まで運転した。iPhoneのカーナビアプリの指示に逆らって、九州自動車道を鳥栖ジャンクションから大分道に入って帰った。

まずびっくりしたのが大分道の道の良さ。九州自動車道(北九州から鹿児島までのやつ)は山あり谷ありで結構ぐねぐねしてるし、しかも交通量が多くて結構運転に気を遣う。しかし大分道はまっすぐな道が多い。大分県に入ったあたりからトンネルが増えるけど、それでも福岡-熊本間よりも全然運転しやすいと思った。

また大分道は景色がいい。前方彼方に大分の山々を眺めながら筑紫平野を走るのはなかなか気持ちよかった。九州道は山を切り開いた道を走る感じなので見通しが悪く、景色はあまりよくない。

なにより大分道は福岡から日田までめっちゃ速いのがいい。地元の友達で福岡へ頻繁に行き来する連中はみんな日田経由で往復するって言ってたけど、その理由が分かった。福岡-熊本は一時間半近くかかるが、福岡-日田は空いてる道をかっ飛ばすと一時間かかんないで着いちゃう。

日田で高速を降り、温泉にでも浸かって休憩すれば、100km強を運転しててもあまり疲れた気にならない。日田から阿蘇までは1時間強くらいなので、阿蘇から熊本IC経由で2時間強かけて福岡まで行くのと所要時間はほとんど変わらない。高速代は熊本-太宰府間の2500円に対して、日田-太宰府間は1650円。ETC割引を使うと時間帯によっては1000円かかんないで福岡まで行けてしまったりする。日田ルート、素晴らしい!

| @技術/プログラミング

『RailsによるアジャイルWebアプリケーション開発 第三版』をまだちまちま読んでる。いまActiveRecordのリレーションシップのところ。全然分からなくて全然進まない。もうRails 3.0が出そうだというのに。またろくすっぽ技術書を読まないうちに化石になっちゃいそうだよ。バカはつらいよ。