インターネットの最近のブログ記事

2012010101.jpg

あけましておめでとうございます。朝方は雲が多く初日の出はいまいちだったので、初日の入りの画像をば。西側はロケーションがいまいちなんだけどね。では皆様、今年もよろしくお願いします。

Nikon D80 + AF-S NIKKOR 18-135mm 1:3.5-5.6G ED

これからはクラウドだぜ!ということで、この気持が冷めないうちになにかをはじめようと、Google App Engine(GAE)のアカウントを取得した。言語はRuby(JRuby)を選択し、自分がふだん使っているFreeBSDマシンに開発環境を構築した。例によっていくつかトラブルがあったので、メモを残しておく。

インストール対象のOSはFreeBSD 7.2-RELEASE-p5。まずは、JavaのSDKとしてFreeBSD FoundationのJava配布サイトからdiablo-jdk-freebsd7.i386.1.6.0.07.02.tbzを取得してpkg_addコマンドでインストールする。そのままだと日本語が文字化けするので、これを解消するために以下のコマンドを実行する。

% cd /usr/local/diablo-jdk1.6.0/jre/lib/fonts/
%sudo ln -s /usr/local/lib/X11/fonts/TrueType fallback
%

JDKがらみでもうひとつ。このままGAE/JRuby開発環境を作って最後にアプリをGAEにデプロイしようとすると、(エラーメッセージを控えてない、ごめん)GAEのサーバとのSSLのコネクションができずにデプロイに失敗する。これを回避するための方法は、例えばDebianのca-certificates-javaパッケージなどを取得して、そのなかに含まれているcacertsファイルをdiablo-jdkのファイルと入れ換える。

% pwd
/tmp
% wget http://ftp2.jp.debian.org/debian/pool/main/c/ca-certificates-java/ca-certificates-java_20091021_all.deb
% ar x ca-certificates-java_20091021_all.deb
% tar xvf data.tar.gz
% cd /usr/local/diablo-jdk1.6.0/jre/lib/security/
% sudo cp /tmp/usr/share/ca-certificates-java/cacerts ./
%

次にrubyとgem。rubyは最新の1.9.1-p376で、gemも最新の1.3.5をインストールした。これ自体はノープロブレム。そのあと、gemを用いてgoogle-appengineパッケージをインストールするのだが、このときいっしょにインストールされるrubyzip-0.9.1が使用しているftoolsがruby-1.9.1ではdeprecatedだとのことで、処理が途中で失敗してしまう。いろいろ調べて、以下のパッチの要領でftoolsのところをfileutilsで書き換えることにより解決した。

% pwd
/usr/local/lib/ruby/gems/1.9.1/gems/rubyzip-0.9.1/lib/zip
% diff -u zip.rb.orig zip.rb
--- zip.rb.orig 2009-12-13 22:15:39.000000000 +0900
+++ zip.rb      2009-12-14 20:38:25.000000000 +0900
@@ -1,7 +1,7 @@
 require 'delegate'
 require 'singleton'
 require 'tempfile'
-require 'ftools'
+require 'fileutils'
 require 'stringio'
 require 'zlib'
 require 'zip/stdrubyext'
@@ -662,8 +662,8 @@
         # ignore setuid/setgid bits by default.  honor if @restore_ownership
         unix_perms_mask = 01777
         unix_perms_mask = 07777 if (@restore_ownership)
-        File::chmod(@unix_perms & unix_perms_mask, destPath) if (@restore_permissions && @unix_perms)
-        File::chown(@unix_uid, @unix_gid, destPath) if (@restore_ownership && @unix_uid && @unix_gid && Process::egid == 0)
+        FileUtils::chmod(@unix_perms & unix_perms_mask, destPath) if (@restore_permissions && @unix_perms)
+        FileUtils::chown(@unix_uid, @unix_gid, destPath) if (@restore_ownership && @unix_uid && @unix_gid && Process::egid == 0)
         # File::utimes()
         end
     end
@@ -1566,7 +1566,7 @@
       tmpFilename = tmpfile.path
       tmpfile.close
       if yield tmpFilename
-        File.move(tmpFilename, name)
+        File.rename(tmpFilename, name)
       end
     end
ino%

あとは手順どおりで、Sinatraを用いてRubyで書いたWebアプリケーションをGAEにデプロイできた。さてさて、これから先の最大の問題は、おれがRubyをほとんど知らんということだ。まあ、この先はじっくり勉強しながら進めることにしましょ。

ちょっと前の話になるが、11月後半に秋葉原で開催されていたInernet Week 2009の「仮想化DAY」セッションを聞いてきた。おもしろい話はいろいろあったんだけど、もう時間もたっちゃったし、いちばん印象に残った話をひとつだけ書いておく。

Google App Engine(GAE)に関する話の中で、今年の衆院選のときにGoogleが立ち上げた「未来を選ぼう 衆院選2009」というサイト、これがGAEで構築されていたらしい。Googleのトップページからもリンクされていたのでアクセスした人も多いと思うんだが、このサイトの運用コストがピークでも月あたり1万円いかないくらいとのこと。また、GAEはアクセス数の増加に対してもシステムが自動的にスケールアウトするので、負荷が問題になることもなかったようだ。この手の、短期間にアクセスが集中して後はどんどんアクセスが低下していくようなサイトの場合に、GAEのようなクラウドサービスを選択することが、コスト的にも性能的にも最適解となり得る、というかほかの選択肢を選びようがない、もはやそういう時代なんだということを実感させられる話だった。

セッション全体としては、おれはキーバリューストアやMapReduceの実装や使い方について、より具体的な話が聞ければうれしかったんだけど、最近のInternet Weekは開発よりの話よりもインフラの話が中心になっているのでこれはしかたないかな。今回はマーケティング的な視点でとても勉強になったな。逆にダメだったのは、登壇者がちょっとしたジョークや内輪ネタをもらしたときに、身内の人間が会場に響き渡る馬鹿笑いをしていたこと。無関係の人間には迷惑なだけで、登壇者の評価も下げる愚かな行為だと思う。内輪受けもいいけど、心の中でにやりと笑う程度に、スマートに済ませてほしいよね。まあそれはそれ、全体としては楽しい時間を過ごすことができたし、来年もおもしろいセッションを見つけてぜひ参加したい。

RSS

| コメント(2) | トラックバック(0)

ニュース系サイトのRSSをチェックしていて、記事が増えてないくせに広告だけが切り替わって更新されてたりすると、無性に腹がたつ。

前にも書いたとおり、Twitterアカウントを作ってみた。しばらく様子を見ていたんだけどやっぱり使ってみないとどんなもんかよくわからないので、ちょっとがんばっていろいろとつぶやいてみることにした。しかしこれ、いったい誰がどうやっておれのつぶやきを見つけて、興味があったらフォローしようとかいう流れになるんだろ? というか、おれも自分が興味を持ちそうなことをつぶやいている人がどこにいるのかをどうやってみつけたらいいのかわからんよ。まあいいか、とりあえずは誰をフォローするとかされるとか気にしないで、ぶつぶつと意味無くつぶやいてみるよ。

7/1からひかりTVをお試し中。マイケル・ジャクソンの追悼特集を多数やっているので、昨日はMTVのMaking of Thrillerを見た。ちょっと涙が出そうになったよ。まぎれもなく、ぼくらの世代にとっての(もしかしたらあらゆる世代にとっても)、最大のスーパースターだったね。

2009020701.jpg

仕事で岐阜県瑞浪市に出張中。これまではここに来るときはMGFで走ってきてたんだけど、去年にFを手放してしまったので、久しぶりに新幹線を利用した。外の景色を眺めているのも新鮮だし速くて快適、だけどやっぱりなにかものたりないな。

そうそう、前に書いた自転車旅スレの人、ちょうど昨日の朝、おれが新幹線で名古屋に着いたころにあちらも名古屋にいたみたいだ。このスレ、これまでに見ていた旅人とは違うゆったりのんびり感がいい味を出している。まわりに惑わされること無く、自分でやると決めたことをやり続けるのはすごいことだよね。この空気を維持したまま、無理せずがんばっていってほしい。陰ながら応援しています。

昨夜2chを眺めていて久しぶりに自転車旅スレが目に止まった。翌日(つまり今日ね)に埼玉から出発すると宣言して盛り上がっていて、今朝起きて覗いて見たらいきなり寝坊やらチェーン外れやらでグズグズなスタートになっていてこりゃダメかと思ったが、今日はなんとか秋葉原まで来たらしい。この先もどうなるか微妙な感じがするけど、まあがんばってほしい。ちなみにそのスレはこちら、「明日埼玉から自転車で旅に出る」。若いっていいねっ!

いや、はまるっていうほどじゃないんだけどね。以前から、自転車で大阪まで行くとか京都まで行くとかみつけると、暇をみてボチボチと眺めてはいたんだよね。少し前になるけど、遠距離恋愛が無理じゃないことを証明するために大阪まで自転車で行く話(まとめサイトとかありそうだけど見つからんな)とかリアルタイムで見てたんだが、ゴール間際の盛り上がりは異常だったね。おれもリロードしまくったよ。最近では、神奈川から京都まで自転車で行くって人が2人続いて現れていて、今は2人目の人が静岡あたりを走っていて、今日も仕事しながらときおりリロードして進み具合を確認している。この手のスレを見ていると、いや〜若いっていいね〜勢いと元気があってホントにいいね〜と素直に思うのと、スレを見て応援やアドバイスを送ったり、ときには差入れを持って行ったりしている人たちがいて、なんというか、あまずっぱいというかこっぱずがしいとうか、いろいろ含めて自分にはできないな〜と思うことをしている人たちに対して、これも素直にうらやましいと思うね。なにはともあれ、がんばって無事にゴールしてほしいね。

商売でやってるサイトを除外する機能が欲しい。一般の人の感想が見たいのに、売ってる側ばっかりがヒットしてムカつくよ。

グーグル、Google Chromeのアドレスバー「Omnibox」に入力されたユーザー情報を収集」。

まあ、GoogleがGmailのメール内容をチェックして情報を収拾しているのは周知の事実だし、いまさらどうこう言う話じゃないのかもしれないけどね〜。

どうでもいいけど、これをホントに「ガイドライン」と呼ぶのか?CNETの親記事に対して痛ニューでいろいろコメントがついてるけど、けっこう時代がバラバラだね。おれは文章にしろしゃべり言葉にしろスラングを多用するのは嫌いなので、実際に自分で使ったりすることはほぼ無いんだけど、ランキングの中で唯一、ふだん使ってしまうものがある。それはなにかというと、「待て、これは孔明の罠だ」です、はい。けっこう使える機会が多くて、なんとなく便利なフレーズとしてポロっと言ってしまうんだよなあ。

最近のコメント

アイテム

  • 2012112507.jpg
  • 2012112506.jpg
  • 2012112505.jpg
  • 2012112504.jpg
  • 2012112503.jpg
  • 2012112502.jpg
  • 2012112501.jpg
  • 2012100810.jpg
  • 2012100809.jpg
  • 2012100808.jpg