-
やっぱり恋しいkaeruspoon 2008-05-03 01:20:46
なんのかんのいいつつ、またkaeruspoonに戻ってきてみたりしています。
Filnを使っていると、プライベートまでも仕事しているような気分になってきてしまうのが困りものです。
これからはやっぱりkaeruspoonをメインに使っていこうと思います。 -
ActionScript 3.0 逆引きクイックリファレンス Adobe Flash CS3対応: 田中 康博,林 拓也: 本 2008-05-03 01:23:05
- ActionScript 3.0 逆引きクイックリファレンス Adobe Flash CS3対応
- 出版社/メーカー: 毎日コミュニケーションズ
- メディア: 単行本(ソフトカバー)
- 発売日: 2008-04-29
「ActionScript 3.0 逆引きクイックリファレンス Adobe Flash CS3対応」を買いました。
いろいろ遊んでみようと思います。 -
WEB+DB PRESS Vol.44: WEB+DB PRESS編集部: 本 2008-05-03 01:24:07
- WEB+DB PRESS Vol.44
- 作者/アーティスト: WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- メディア: 大型本
- 発売日: 2008-04-24
「WEB+DB PRESS Vol.44」を買いました。いつも恒例です。
-
どこでも使えるお気に入り、「どこでもお気に入り」を作りました 2008-05-03 20:26:35
ひさしぶりに新しいサービスを作ってみました。
「どこでもお気に入り」は、ブラウザのお気に入り(ブックマーク)とほとんど同じ機能のものです。オンラインサービスなので、自宅でも会社でもどこでも自分のお気に入りを使うことができるようになります。
ブラウザのお気に入りとひとつだけ違うところがあって、それはお気に入りに登録しているサイトで更新がされると、自動的に既リンクの色(紫)から未リンクの色(青)に変化して表示されるようになるところです。これで、お気に入りの中のどのサイトが更新されているのかが一目瞭然となります。
こういうのってRSSリーダー使えばいいようにも思えるのだけど、RSSリーダーを使わないような普通の人のためのサービスを作ってみたかったのです。ユルさんのインターネットの使い方を大いに参考にさせてもらいました。
しばらく、livedoor reader から「どこでもお気に入り」に変えてみようかと思います。
-
インターネットは楽しい 2008-05-03 23:12:07
どこでもお気に入りを使い始めてすぐに気づいたのだけど、いろんなサイトを見て回るのは実に楽しい。livedoor reader の質素な画面ばかり見ていたのが、いまでは監獄にいたかのような気分なのだ。ひとつひとつ訪問して閲覧していくことは効率は悪いかもしれないけど、いろいろなデザインを楽しむことができる。想像もしていなかったのだけど安らぎに近いものすら覚えるのだ。インターネットってけっこう楽しいぞ、と思い直している今日この頃である。
-
たけぞうさんご夫妻がやってくる 2008-05-05 09:58:16
昨日はたけぞうさんご夫妻が遊びにきてくれました、4人でのんびり過ごして楽しいひとときです。
今度はぼくらが遊びに行かせてもらおうっと。 -
風の大陸〈第17部〉遺産 (富士見ファンタジア文庫): 竹河 聖: 本 2008-05-05 20:39:49
- 風の大陸〈第17部〉遺産 (富士見ファンタジア文庫)
- 出版社/メーカー: 富士見書房
- メディア: 文庫
- 発売日: 1999-04
「風の大陸〈第17部〉遺産 (富士見ファンタジア文庫)」を読みました。
-
ubuntu8.04でデュアルディスプレイを使う 2008-05-05 22:11:03
昔はすごく苦労しながらxorg.confをいじくっていましたが、いまでは素晴らしいことにほとんどGUIでデュアルディスプレイの設定ができてしまいます。
基本的には、「システム」-「設定」-「画面の解像度」でOK。スクリーンのクローン化のチェックボックスを外せば、その時点で認識されているディスプレイが表示されて、解像度や、さらには位置関係までドラッグして設定することができます。
ひとつだけ問題なのが、スクリーンの仮想サイズの設定がxorg.confに必要なこと。これをしないと、デュアルディスプレイになりません。
/etc/X11/xorg.confの"Screen"セクションに以下の"SubSection"を追加します。Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" SubSection "Display" Virtual 2304 800 EndSubSection EndSection"Subsection"の"Display"で、スクリーンの仮想サイズを指定してあげます(ぼくの環境は1280x800と1024x768のディスプレイが横並びになっています)。
GUIを使わなくても、xrandrというコマンドを使えば設定可能です。xrandr --output VGA --mode 1024x768 --right-of LVDS
こんな感じで直感的に指定できて、さらには再起動も必要ありません。素晴らしい。もうWindowsを使う意味がどんどんなくなってくるな。
-
携帯メールから 2008-05-07 19:32:02
携帯メールで投稿できる機能をつけてみました。 -
風の大陸〈第18部〉十侯 (富士見ファンタジア文庫): 竹河 聖: 本 2008-05-08 01:57:44
- 風の大陸〈第18部〉十侯 (富士見ファンタジア文庫)
- 出版社/メーカー: 富士見書房
- メディア: 文庫
- 発売日: 1999-10
「風の大陸〈第18部〉十侯 (富士見ファンタジア文庫)」を読みました。
-
風の大陸〈第19部〉こころとこころ (富士見ファンタジア文庫): 竹河 聖: 本 2008-05-08 01:58:17
- 風の大陸〈第19部〉こころとこころ (富士見ファンタジア文庫)
- 出版社/メーカー: 富士見書房
- メディア: 文庫
- 発売日: 2000-10
-
風の大陸〈第20部〉水面下 (富士見ファンタジア文庫): 竹河 聖: 本 2008-05-08 01:58:46

- 風の大陸〈第20部〉水面下 (富士見ファンタジア文庫)
- 出版社/メーカー: 富士見書房
- メディア: 文庫
- 発売日: 2001-04
-
風の大陸〈第21部〉地の書 (富士見ファンタジア文庫): 竹河 聖: 本 2008-05-08 01:59:27
- 風の大陸〈第21部〉地の書 (富士見ファンタジア文庫)
- 出版社/メーカー: 富士見書房
- メディア: 文庫
- 発売日: 2001-10
-
風の大陸〈第22部〉告発 (富士見ファンタジア文庫): 竹河 聖: 本 2008-05-08 21:22:10
- 風の大陸〈第22部〉告発 (富士見ファンタジア文庫)
- 出版社/メーカー: 富士見書房
- メディア: 文庫
- 発売日: 2002-04
「風の大陸〈第22部〉告発 (富士見ファンタジア文庫)」を読みました。
-
風の大陸〈第23部〉有罪か無罪か (富士見ファンタジア文庫): 竹河 聖: 本 2008-05-08 21:22:51
- 風の大陸〈第23部〉有罪か無罪か (富士見ファンタジア文庫)
- 出版社/メーカー: 富士見書房
- メディア: 文庫
- 発売日: 2002-10
-
風の大陸〈第25部〉大祭司 (富士見ファンタジア文庫): 竹河 聖: 本 2008-05-09 19:58:29
- 風の大陸〈第25部〉大祭司 (富士見ファンタジア文庫)
- 出版社/メーカー: 富士見書房
- メディア: 文庫
- 発売日: 2003-10
-
風の大陸〈第26部〉聖都 (富士見ファンタジア文庫): 竹河 聖: 本 2008-05-09 19:58:50
- 風の大陸〈第26部〉聖都 (富士見ファンタジア文庫)
- 出版社/メーカー: 富士見書房
- メディア: 文庫
- 発売日: 2004-10
「風の大陸〈第26部〉聖都 (富士見ファンタジア文庫)」を読みました。
-
RailsとPostfixで受信メールを処理する方法 2008-05-09 21:03:05
Railsで受信メールを処理する方法はけっこう簡単です。HowToReceiveEmailsWithActionMailerに書かれていることがすべてといってもいいでしょう。
ここではPostfixを使った方法を書いておきます。
1.Postfixのインストール
aptitude install postfix
2.受信メールを処理するコードをapp/modelsの下に置く。class KaeruMailman < ActionMailer::Base def receive(email) ...ユーザ認証したりメールの内容をDBにインサートしたりといった処理... end end
3./etc/postfix/master.cfの最後に、下記を追加する。kaeruspoon-mailman unix - n n - - pipe flags= user=tsukasa argv=/usr/bin/ruby /var/www/rails/kaeruspoon/script/runner -e production KaeruMailman.receive(STDIN.read)
userはRailsを実行しているユーザにします。KaeruMailmanのrecieveはインスタンスメソッドとして定義しますが、ここではクラスメソッドとして書きます。内部でインスタンスが勝手に作成されて、recieveメソッドが呼ばれるのです。
4./etc/postfix/main.cfの最後に、下記を追加する。
transport_maps = hash:/etc/postfix/transport virtual_mailbox_domains = kaeruspoon.net
受け付ける受信メールのアドレスでユーザ認証を行う場合などは、local_recipient_mapsを無効にしておく必要があります(UNIXユーザ以外のメールアドレスは拒否されるから)。
local_recipient_maps =
5./etc/postfix/transportに(ファイルがなければ作成して)、下記を追加する。kaeruspoon.net kaeruspoon-mailman:
これでkaeruspoon.netドメインのメールを受信したときは、master.cfで設定したkaeruspoon-mailmanのコマンドを実行するようになります。
上記設定を有効にするために下記コマンドを実行します。postmap /etc/postfix/transport
これで設定完了です。/var/log/mail.infoをチェックして、受信したメールが正しくRailsに渡されているかどうかを確認できます。 -
風の大陸 第二十七部 地流 (富士見ファンタジア文庫): 竹河 聖, いのまた むつみ: 本 2008-05-11 13:25:00
- 風の大陸 第二十七部 地流 (富士見ファンタジア文庫)
- 作者/アーティスト: いのまた むつみ
- 出版社/メーカー: 富士見書房
- メディア: 文庫
- 発売日: 2005-04-20
-
風の大陸 最終章 祈り (富士見ファンタジア文庫): 竹河 聖: 本 2008-05-11 13:27:50
- 風の大陸 最終章 祈り (富士見ファンタジア文庫)
- 出版社/メーカー: 富士見書房
- メディア: 文庫
- 発売日: 2006-04-20
「風の大陸 最終章 祈り (富士見ファンタジア文庫)」を読みました。
中学生のときに第一部を読んで以来二十年近く、ようやくすべてを読み終えました。ここまで長くやってきたのだから、ローダビア編もゆっくりやればよかったのに、と思わないでもないですが。ラクシの故郷に帰ってからの話とか、外伝でやらないのかな。 -
スクールアタック・シンドローム (新潮文庫 ま 29-3): 舞城 王太郎: 本 2008-05-12 19:34:22
- スクールアタック・シンドローム (新潮文庫)
- 出版社/メーカー: 新潮社
- メディア: 文庫
- 発売日: 2007-06
「スクールアタック・シンドローム (新潮文庫)」を読みました。舞城王太郎はあいかわらずすごい。
-
Mysql で、ランダムにレコードを取り出す方法 2008-05-15 13:42:35
ActiveRecordで、テーブルからランダムにレコードを取り出すときは、
user = User.find(:first, :order => "RAND()")
みたいにすればいい。SQLは
select * from users order by RAND() limit 1;
というような感じになる。
ただし、レコード数が大きくなると、この order by RAND() がかなり遅くなってしまう。そのときは、ランダムなid値をアプリ側で用意して、
user = User.find(:first, :conditions => ["id = ?", rand_id])
みたいにするといい感じ。
また、selectで取り出すカラムを最小限に抑えると、結構はやくなったりするので、アプリの修正が面倒なときはこれを試してみてもいいかも。user = User.find(:first, :select => "id", :order => "RAND()")
-
すごい焼肉を食べた 2008-05-16 00:45:44
今日は知り合いのエンジニアさんに誘っていただいて、その方の会社の方たちとお食事会に行ってきました。
焼肉くにもと新館
こんな焼肉食べたことないって感じで、とてもおいしかったです。お仕事のお話もいろいろ聞けて楽しいひとときでした。 -
hidden要素の内容をPOSTすると、改行が半角スペースになってしまうときの対処 2008-05-16 12:16:45
確認画面などを経由して投稿するシステムを作るとき、たいていはデータをhidden要素に入れてPOSTすると思います。このとき、value値の中の改行が半角スペースに変換されてしまうことがあります(特に携帯とか)。
いろいろ対処方法はあると思うのだけど、僕は単純に改行コード自体を特殊な記号に変換しておいて、POSTの受付側でそれをデコードするという方法をよく使います。
とあるviewで、
<% @article.body = return_code(@article.body) %> <%= hidden_field :article, :body %>
みたいにしておいて、POSTの受け側のアクションで
params[:article][:body] = return_code(params[:article][:body], :decode)
というように、処理の前にデコードしておきます。
return_codeメソッドはdef return_code(text, mode = :encode) if mode == :encode text.gsub("\r\n", "[kaeru:ret-rn]").gsub("\r", "[kaeru:ret-r]").gsub("\n", "[kaeru:ret-n]") elsif mode == :decode text.gsub("[kaeru:ret-rn]", "\r\n").gsub("[kaeru:ret-r]", "\r").gsub("[kaeru:ret-n]", "\n") else text end endこんな感じ。app/controller/application.rbで定義しておいて、
helper_method :return_code
と宣言しておけばcontrollerでもviewでもどこでも使えます。
-
携帯での数字キーによるショートカットリンクを、Railsで簡単に使う 2008-05-16 12:34:13
携帯だと、数字キーによるショートカットってすごく便利……というか、使えないと不便なくらい大事な機能だと思います。
でも、キャリアによってリンクの作り方が違っていたりして面倒です。なので簡単に使えるヘルパを作ってみました。ちなみにjpmobileの使用が前提です。DOCOMO_NUM = ['戀', '驪', '麗', '黎', '力', '曆', '歷', '轢', '年', '憐'] AU_NUM = [325, 180, 181, 182, 183, 184, 185, 186, 187, 188] SOFTBANK_NUM = ['', '', '', '', '', '', '', '', '', ''] def number_link_to(num, title, path) case request.mobile when Jpmobile::Mobile::Docomo DOCOMO_NUM[num] + link_to(title, path, :accesskey => num) when Jpmobile::Mobile::Au %Q|<img localsrc="#{AU_NUM[num]}">| + link_to(title, path, :accesskey => num) when Jpmobile::Mobile::Softbank SOFTBANK_NUM[num] + %Q|<a href="#{path}" DIRECTKEY="#{num}" NONUMBER>#{title}</a>| else link_to(title, path) end end使用方法は
<%= number_link_to(6, "次へ", article_path(@next_article) %>
みたいな感じで、link_toみたいに手軽に使えます。数字の絵文字は、実際にはバイナリコードとかのほうがいいかもしれません(docomoとか)。
-
kaeruspoonをひさしぶりにちょっと改良 2008-05-17 00:21:50
ひさしぶりにkaeruspoonをちょっとだけ改良しました。リンク元の検索キーワードの集計がいい加減だったのを、きちんとキーワードの組み合わせごとに集計を取るようにしました。それだけ。
-
またちょっとkaeruspoonを改良 2008-05-17 09:29:04
アクセス数の多い順に集計した、記事のランキングをサイドバーに表示してみました。それだけ。
-
WRC ルノー・クリオ ジャン・ラニョッティの美技‐ニコニコ動画(SP1) 2008-05-17 11:14:13
めちゃすごい。
-
バージョン管理をsubversionからgitに移行してみた 2008-05-17 23:46:33
kaeruspoon関連のソースコードはsubversionでバージョン管理していますが、ウワサのgitを使うことにしてみます。
sudo aptitude install git-core
gitはsubversionみたいにレポジトリがひとつではなく、あらゆる環境で分散して管理します。つまりローカルにもレポジトリが存在することになるので、ノートパソコンを持って飛行機の中でも電車の中でも開発ができるということ。subversionとsvkをくっつけたような感じですね。
とりあえず、ローカル環境でレポジトリを作ります。cd ~/devel/kaeruspoon git init
.gitというディレクトリが作られます。
ではkaeruspoonをコミットしてみよう。コミット前にsubversionの.svnディレクトリを削除しておきます。
find . -name .svn -exec rm -fr {} \;それからコミット。
git add .
と、思ったら
*** Your name cannot be determined from your system services (gecos). Run git config --global user.email "you@example.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: empty ident <tsukasa@blue .(none)> not allowed
なにか怒られた。
どうもコミットする者の名前を登録しておく必要があるらしい。git config --global user.email "tsukasa@example.com" git config --global user.name "tsukasa"
気を取り直してコミットgit add . git commit -m "kaeruspoon commit"
subversionと同様に、-mオプションをつけなければエディタが立ち上がってそこにコメントが書けます。
ぼくの環境ではデフォでnanoがエディタとして選択されたので、~/.zshrcに以下の行を追加してvimを使うように指定しておきました。export GIT_EDITOR=vim
それからサーバ上にリモートレポジトリを作ります。サーバの環境はdebianなんだけど、微妙にコマンドが違う。なんでだろう。cd /var/git/kaeruspoon git init-db
それからローカルに戻って、ローカルのレポジトリをリモートレポジトリに反映させます。git remote add origin ssh://silver/var/git/kaeruspoon git push origin master
このpushが、subversionでいうcommitみたいな感じ。
逆にpullコマンドでリモートレポジトリをローカルに反映させることができる。こちらは update か。
webサーバに、ローカルレポジトリを作って、リモートレポジトリの内容を反映させてみよう。
cd /var/www/rails/ git init-db git clone ssh://silver/var/git/kaeruspoon
これで環境構築は完了。
では開発・コミット・webサーバへの反映の一連の流れをやってみよう。
どこかのソースを修正したあとにgit status
で状態の変化を確認し、
git diff
で実際の変更箇所を確認できる。このあたりはsubversionと同様。
で、ローカルレポジトリへのコミット。git commit -a
コミットログは
git log
で確認できます。
さて、リモートレポジトリへの反映。git push origin master
それからwebサーバ上で
git pull origin master
これですべて完了です。
-
かえるイメージもちょっと改良 2008-05-18 12:43:30
ユルさんに頼まれたので、かえるイメージに確認画面をつけてみました。それだけ。
-
Railsアプリをgitで管理するときのやり方 2008-05-18 23:37:03
新規にRailsアプリを作るときのgitでの管理の仕方について自分メモ。
1.Railsアプリの作成
$ rails testapp $ cd testapp
2.ローカルレポジトリの作成とRailsアプリのコミット
$ git init $ git add . $ git commit
3.ログファイルを無効にする
$ rm log/*.log $ git commit -a
log/.gitignoreファイルに以下の行を書き込んで保存する。
*.log
それからコミット
$ git add log/.gitignore $ git commit -a
4.tmp以下のファイルほ無効にする
tmp/.gitignoreファイルを作成し、以下の行を書き込む。* !.gitignore
そしてコミット
$ git add tmp/.gitignore $ git commit -a
5.database.ymlの無効化
$ cp config/database.yml config/database.example.yml $ git add config/database.example.yml
config/.gitignoreファイルを作成し、以下の行を追加。
database.yml
コミット
$ git add config/.gitignore $ git commit -a
こんな感じです。
-
ガンダム帰還 2008-05-20 01:08:53
会社から持って帰ってきました。もう会社に私物はありません。
-
目黒 2008-05-21 14:22:44
目黒に来るのははじめてです。ちょっと素朴な感じ。
-
URLなど、長い英字を折り返して表示する方法 2008-05-22 21:39:27
webサイトを作っているとよく出会う問題です。日本語は指定された幅を越えると勝手に行を折り返してくれるけど、URLみたいに長い英文は折り返さずに指定した幅を越えて右側に伸びてしまいます。これはカッコ悪いし読みにくい。
一番簡単な解決方法は、一文字ごとに <wbr/>タグを入れてあげるというもの。Rubyで書くならtext.scan(/./) * "<wbr />"
こんな感じです。
-
来週からプー太郎です 2008-05-22 21:43:37
明日、今の会社を退社します。来週からプー太郎です。ちょいプードルです。
-
本気でネコに襲われてみた その1‐ニコニコ動画(SP1) 2008-05-22 22:41:37
さしみさんがおもしろい。
-
今日で最後 2008-05-23 19:15:44
この風景も今日で見納めです。さあ、お家に帰ろう。
-
居酒屋でごちそうになる 2008-05-24 01:23:33
さあ、お家に帰ろう、などと言いながら、同僚のプログラマの方におごってもらってみんなで居酒屋にいきました。みんなが退職するのでお別れ会みたいなものですが、普通の飲み会でした。もっと、こういう飲み会を月一でもやっておけばよかったなあと思わないでもありません。とりあえず、「マクロス」と「大きく振りかぶって」を観ろと勧められました。楽しかった。
-
RubyKaigi行きたい 2008-05-24 09:28:00
RubyKaigi行きたかったなあ。知り合いのエンジニアさんも講演するし……。サブセッションはチケットいらないみたいだけど、行ってみようかな。
-
薬師池公園 2008-05-27 12:57:30
に来ました。プー生活をのんびり過ごしています。
-
やめました 2008-05-27 22:49:14
ニコニニ動画のプレミアム会員をやめました。もうニコニコも飽きてきてしまった。

コメント(
リンク元(5)