Htpasswd plugin

2008-01-31 21:43 JST @sadayuki

くまくまー作のHtpasswd pluginを試用してみた。Rails 2.0のBasic認証に比べてもお手軽である。Digest認証も可能。Rails 2.0.2で試しているのだが、試している範囲では、きちんと動いている。

ちょっと詰まったのは次の点。

  • Digest認証のパスワードはrealmも含めてダイジェストを取る必要がある
  • 認証対象のユーザ名は@htpasswd_authorized_usernameで取れる

Digest認証の仕組みをきちんと認識せずに使っていたのでつっかえたが、パスワードのMD5を単純に取るのではだめで、realmも含めてMD5を取る必要がある。READMEにあるようにすると簡単に得られる。


(0) Creating a htdigest file

>> Htpasswd::Auths::Digest.new(:user=>"maiha", :pass=>"berryz").entry  
=> "maiha:Authorization:812b1d067e9ce1e44f09215339e3cd69"

This acts same as following unix command.

% htdigest -c filename maiha

私はhtdigestを使った。

また、認証を簡単に追加出来るのだが、識別されたユーザ名を取得する方法が分からなかった。ソースを読んで試したところでは、@htpasswd_authorized_usernameに格納されているようだった。これで、「ようこそ!hogeさん」を表示できる。

s htpasswd-plugin

f markdown

u cfb86246-fc63-4a35-b44a-5d95f98d0b6a

RESTfulなユーザ認証

2008-01-28 21:46 JST @sadayuki

RESTfulなユーザ認証は難しい。Loginしているか否かを管理するということは、ステートフルであり、RESTfulでは無い。RESTfulな条件のひとつに、ステートレスであるということがある。

Loginしているか否かを管理することは出来ないので、RESTfulなWebサービスでのユーザ認証は、リクエストの度に認証をすることになる。RESTful Webサービスによれば、お勧めは、HTTPで定義されているBasic認証であるようだ。ただし、Basic認証は、パスワードを平文のまま送信するので、SSLと組み合わせて利用することが必要だ。

Rails 2.0 からは、Basic認証が組み込まれている。しかし、APIのページを見ても、実際に何ができるのかは良くわからない。まだ、Netにもあまり記事が出ていない。サンプルを実行してみることは出来るが、どんな風にすれば効果的かは、試すしかないようだ。

また、パスワードは平文で流れるのを嫌い、Digest認証を使いたいと思った場合は、くまくまー作のpluginがある。Rails 2.0で使えるのかは未確認だ。ただし、Digest認証の場合は、リソースをGETする度に2回のリクエストが必要になる。これはいただけない。Basic認証+SSLの方がその点では良い。ただし、SSLをきちんと使うには、有料の証明書が必要になる。ただ、これ以上の出費は痛い。しかも万単位。出費を抑えるために、自己署名でいくと、オレオレ証明書になってしまう。

s restfulなユーザ認証

f markdown

u 4f704153-d6dd-4626-b763-72ab1bc16b77

簿記の勉強を始めた

2008-01-26 15:50 JST @sadayuki

amazon_img

"日商簿記3級" (五十嵐 明彦)

これまでの業務経験のお陰で、自分ではかなり分かっているつもりだ。しかし、試験勉強となると、どんな試験なのか、範囲は、など色々知らないといけない。そこで、何でも良いからと1冊買って勉強することにした。試験日が2月24日ということ、知っているつもり、ということもあり、「10日間完成!」と価格に惹かれて買ってみた。

読んでみて分かったのは、

  • 「3級では、個人商店の簿記について学習します。」
  • 為替手形をしらない
  • 試験の形式を知らない / 試験問題を知らない

など。

まず、範囲を知らないのは問題外。申し訳ない。

これまで業務では扱わなかったので、為替手形については知らなかった。郵便為替は利用したことがある。定額小為替であるが。郵便為替は、送金元の自分が「振出人」、為替を受け取る人が「指図人」、郵便局が「名宛人」となる為替手形と考えられる。R/3を導入するような企業は大企業なので、あまり手形を扱わない。裏書きなどしない。手形周りは復習が必要かも。

問題の形式を知らないのはかなり痛い。問題集でも買ってみようか。私は漢字が書けないので、勘定科目を記入させる問題とか出るとかなり痛い。普通に仕訳するとか試算表を作るとかであれば問題ないはずだが、時間が問題になる可能性もある。何ぶん慣れない仕事なので。

あと、手作業で決算を締めるようなことはやってないので、その辺の手順が分からない。紙の帳簿を作るのは、これもやったことが無い。紙の帳簿がシステムの基にはなっているのだが、最近は仕訳の転記から財務諸表までリアルタイムで作成するシステムを扱っていたので、基本に戻って勉強したい。ただ、基本に戻るのは良いことだと思うが、今時、個人商店と謂えども、全て手作業で行っているところがあるのだろうか?もしもあるのだとしたら、それの機械化に興味が湧く。TKCとかかしら?

こういった試験勉強は、自分の知識の整理に役立つ。資格を持っているから優秀で、持っていないと無能ということは決して無いが、試験が役に立たないかというと全くそんなことはない。今後も色々試験を受けてみたい。

とはいえ、まずは日商簿記に受かろう!3級だが。

s 簿記の勉強を始めた

f markdown

u 3cd3a60b-fb1d-40c9-b77f-73c81ea0edce

チーム・バチスタの栄光

2008-01-24 21:28 JST @sadayuki

amazon_img

チーム・バチスタの栄光(上) 「このミス」大賞シリーズ (宝島社文庫 599)【海堂 尊】

前から気にはなっていたのだが、映画化と文庫化が重なり、Danさんの紹介もあり、やっと読むことが出来た。いや〜、面白かった。これがデビュー作だなんて信じられない出来だ。名のある作家が、別名で書いていると言われても信じてしまうだろう。

デビュー作は、例え面白いとしても、引っ掛かるところがあるものだ。私の大好きな京極夏彦のデビュー作である姑獲鳥の夏。大変面白く、京極堂のシリーズを読み続ける切っ掛けになったが、不満が無かった訳ではない。2作目以降と比べると、流れが悪かった。内容が頭に入らず、読み返すことが度々あった。京極堂が調子に乗ってきたのは魍魎の匣からだと思う。私の頭が悪いだけかも知れないが。

それに対して、本書だが、全く引っ掛かること無く流れるように最後まで読めた。止まったのは次のところだけ。

「ひとつだけ、ヒントを差し上げましょう。ルールは破られるためにあるのです。そしてルールを破ることが許されるのは、未来に対して、よりよい状態をお返しできるという確信を、個人の責任で引き受ける時なのです」

良い台詞だ。何か原典があるのかも知れないが、凄く納得できる。気に入ったので、読み返してしまった。あと、流れは止まらなかったが、氷姫の記述のあたりで、これはシリーズ化するつもりか?と強く感じて流れが淀んだ。読み終えて解説を読むと、なんと既に3作目まで出ている。何ということだ!読まなければ!!と、思うが文庫化されるのを待たねばなるまい。

作者が現職の医師であることから、手術シーンなどは迫力十分。最初の術死のシーンなどは息を詰めて読んでしまった。同じような内容の赤の調査ファイルと比べると、現職医師の優位を感じる。また、作者の強い主張を感じるのがAi。ブルーバックスから死因不明社会として解説書も出ている。何とこの本、白鳥と氷姫の掛け合いによる解説もあるそうだ。そっちも読みたいと思わせるが、また後で。

これだけ面白い原作を、どう映画化したのか?と思い公式サイトを見る。何と!白鳥が阿部寛。田口先生が何故か女性になり、竹内結子。桐生先生は吉川晃司。う〜ん。微妙だ。本書の帯に、阿部寛と竹内結子の写真が出ていたので、てっきり桐生先生と大友看護士かと思ってた。何か残念な予感がする。

s チーム・バチスタの栄光

f markdown

u 734ca2a4-f8d4-4024-82b9-cafe7c8451be

RESTfulは難しい

2008-01-22 20:50 JST @sadayuki

amazon_img

"RESTful Webサービス" (Leonard Richardson, Sam Ruby)

やっと読み終えた。RESTful Webサービスとは、私の理解では次のような条件を満たすものだ。

  • リソースにURIによりアクセスできる
  • URIの指すリソースに対してHTTPの標準メソッドにより操作を加える

リソースとは何か?という新たな疑問が発生するが、これも問題だ。オブジェクト指向におけるオブジェクトとは何かに通じるものがある。リソースの切り出しが成功すれば、設計の半分は終わったと言える。あとの半分はクライアントの設計だ。過言かもしれないが。

Railsは、2.0から、何も考えずにアプリケーションを作成すれば、RESTfulになる。さっそく試しに作っているが、RESTに辿り着く前にいろいろあって、まだまだである。WebサービスとWebサイトは別物であるところも難しい。Webサービスとしてアプリケーションを作成したあとに、Webサイトとしてユーザに提供するやり方が良いように思える。ただ、どのようにまとめるかが、また課題になる。

以前、ニコ動を褒めたが、あれもWebサービスをまとめてWebサイトを作った例になると思う。Webサービスを纏めるWebサイトを作るか、Webサービスをまとめるクライアントを作るか。クライアントの作成手段として、JavascriptやFlashが考えられるが、私からするとWebサイトを作った方がやりやすい。筋から言うと、クライアントで纏めるほうが良さそうな気もする。

RailsでWebサービスを作る際に問題になるのは、まずはリソースの見極めである。検索結果もひとつのリソースとか言われると、オブジェクト指向もまだ徹底しきれない私には荷が重い。モデルの抽出まではこれまで通り。リソースとコントローラーが対応することになる。検索などの、アルゴリズムリソースを考慮に入れなければ、Railsの用意したレールに乗ればいい。まずはそこからか。

いまだ、Railsで動く物を作れていないので、RESTも考慮に入れつつ、まずは動く物が先決であろう。今回の試行錯誤で、何かできるといいが、来月は日商簿記の試験勉強もしなければならない。さぁ、がんばろう! Technorati Tags: [[RESTful|http://www.technorati.com/tag/RESTful" rel="tag]]

s restfulは難しい

f markdown

u 683aa65d-dd33-4652-95eb-5051a1ab3c26

Typoを5.0.2へバージョンアップ

2008-01-19 17:04 JST @sadayuki

はくじゃめも : typo 5.0.1に更新:

簡単アップグレード!を信じて実行したところ、いろいろ問題が発生して、数時間サイトが止まってしまいました。結局、環境によるということですね。アップグレードは慎重に。と、毎回思うのですが、のど元過ぎればなんとやら。

  • MySQLのドライバが読み込めない
  • Rubyのエラー
  • migrateのエラー

詳しく情報は残っていません。結局。

  • 別のディレクトリに改めてインストール
  • 設定ファイルのコピー(database.yml,mongrel_cluster.yml)
  • 手作業でmigrate

VERSION=64が上手く当たらなかったのですが、追加しようとしている属性が既に存在しているようだったので、schema_infoに64を突っ込んでスキップしました。


== 64 AddUsersProfile: migrating ==============================================
Creating users profiles
-- create_table(:profiles)
-- add_column(:users, :profile_id, :integer, {:default=>1})
   -> 0.0065s
rake aborted!
Mysql::Error: Table 'profiles' already exists: CREATE TABLE `profiles` (`id` int(11) DEFAULT NULL auto_increment PRIMARY KEY, `label` varchar(255) DEFAULT NULL, `nicename` varchar(255) DEFAULT NULL) ENGINE=InnoDB

(See full trace by running task with --trace)

、この記事が5.0.2の初投降です。どうでしょうか? Technorati Tags: [[Typo|http://www.technorati.com/tag/Typo" rel="tag]]

s typoを5-0-2へバージョンアップ

f markdown

u c66cfaf6-6a06-492a-a243-a6eb0ec73ff6

% 2008-02-11T20:39:49+09:00|Sadayuki|コメントを付けられますね。

Time Capsule

2008-01-17 22:09 JST @sadayuki

アップル - Time Capsule:

Apple Store(Japan)

今回のAppleの新製品の中で、私の一押しがこれだ。無線LANルータ一体型NAS。無線LANルータであるAirMac Extremeに、Time Machine用のハードディスクを付けたようなもの。これまで、Time Machineはローカル接続のハードディスクしか使えなかった。TM Managerを使えば、ネットワーク経由でTime Machineを使えるが、標準状態では使えない。これが、Time Capsuleを使えば、無線LAN経由でバックアップが取れる。

デスクトップ機には外付けハードディスクを付けることも良いと思うが、ノート機に外付けは不便だ。その点、Time Capsuleは無線LAN経由なので便利だ。しかし、なぜこれまでネットワーク経由が許されなかったのか。この製品を売らんがためだったのか、と穿った見方をしてしまう。Appleはそんなふうに思わせるところがある。

以前からAirMac Extremeを欲しかった所へ、MacBookのバックアップ先を用意できるという利点もある。私にとっては、凄く魅力的だ。でも問題は、802.11nへ対応しているのが、2台のMacBookのみである点だ。他のMacは802.11gなのだ。おまけにAirMac Expressでネットワークを延長しているのが使えるのか?これも問題。2Fでネットワークが使えないのは痛い。802.11nになると、より遠くまで届くようだが、2Fにあるパソコンは802.11gしか使えないのだ。802.11n対応のAirMac Expressが出ればいいのだが。まずは、それを待つしかないか。でも、Time Capsuleは802.11gにも対応しているので、問題なく繋がるのかも知れない。う〜ん、どうするか?

s time-capsule

f markdown

u 2425f14a-2112-45f3-a36c-adafd9b5838f

Appleから新しいノートPCが発表

2008-01-16 23:59 JST @sadayuki

アップル - MacBook Air:

Apple Store(Japan)

MacBookを購入したばかりなので歯止めが利くが、買っていなかったらポチッとしてしまったかも知れない。しかし、歯止めが利くのでいろいろと欠点も見える。

まずはIOポート。USB2.0が1つでは難しい。また、光学ドライブが無いのも痛い。もちろん値段も高い。別にメインとなるパソコンが、例えばMacProのような、母艦があり、持ち歩き用に特化できるなら、良い選択肢となるかもしれない。これまで軽いMacは存在しなかった。ただ、Airでも1.36kgなので、日本においては、そう軽い訳ではないが。

私は、MacBookをメインに使っている。ビデオからFireWire経由でiMovieに取り込み、iDVDでDVDを焼くようなことを良くやっている。頻度からいうと、iPhotoから写真を取り込み、iDVDでDVDを焼く方が多いが、ビデオを扱うことが無い訳ではない。どっちにしても光学ドライブが必要だ。

光学ドライブが無いことについては、Remote Disc機能を使って、その辺のパソコンの光学ドライブをワイアレスで使えるようだ。しかし、ROWレベルで読み書きするようなことまで可能なのか?ゲームに良くあるような、ドライブにディスクを入れておかないと遊べないようなものは使えないことになる。もし可能なら、Remote Disc経由でDVDの書き込みも可能かも。可能なら面白い。

と、文句ばかり書いているが、2点改善してくれると、より購入意欲が湧く。

  • スピーカーをステレオにするか、光デジタル出力を用意する
  • パラレルATAをシリアルATAにする

この2点を改善してくれれば、USBが1つしか無くても、光学ドライブが無くてもポチッとしてしまうかも。ここは譲れない。交換できなければ意味が無いかも知れないが、いまさらパラレルATAは無いだろう。ぜひとも改善して欲しい。

s appleから新しいノートpcが発表

f markdown

u 68cc7c5b-8e63-45cc-99c5-b626765359ad

initdbがエラー

2008-01-15 21:29 JST @sadayuki

PostgreSQL @Mac OS X が初期化できない:

サーバとして使っているMac miniではうまく行くのだが、メインで使っているMacBookではinitdbがエラーになる。検索の結果、リンク先の記事を見つける。メモリの設定を変更し、再起動したところ、無事、initdbが成功。何が理由なのか。

s initdbがエラー

f markdown

u ad3c8c48-faec-4b6b-b0ba-44a063923bea

構成主義

2008-01-14 18:16 JST @sadayuki

Constructionism/lang-ja - OLPC:

XOはインターネットアプライアンスか:

NHKの放送内容が不十分であるとの記事が出ている。まあ、短時間でプロジェクトの思想にまで踏み込むのは難しいだろう。前からXOに興味を持っている私でさえ、構成主義に対する理解が足りない。XOの良さにばかり目が行ってしまう。構成主義は、今の日本における一般的な教育の概念とはかなり異なる。強いて挙げると、総合的な学習の時間に近いか?

その総合の時間も、今度の教育課程の改訂で時間短縮のようだ。家の子供たちも、学校のパソコンを使った調べ学習をやっていた。が、そこまでで、とても構成主義のような子供の自然発生的な振る舞いを強化するようなことは期待できない。こんな状況にXOが投入されたとしても、NHKの放送にあったように、インターネットアプライアンスのような使い方に終始するだろう。プロジェクトの理念は重要だと思うが、現場が付いてゆくのは難しいのでないだろうか。

では、XOをインターネットアプライアンスとして扱うのはダメなのか?
そんなことは無い、というのが私の意見だ。アプライアンス結構。現場の教師がアプライアンスとして扱っても、子供たちは自分で学ぶだろう。子供たちをサポートすることは出来ないかも知れないが、邪魔をしなければ問題ないだろう。ただ、授業以外でXOを使うのを禁止するとか、自宅に持ち帰ることを禁止するとか、邪魔をする可能性は高い。この辺は気を付けないと、効果が上がらないだろう。

また、ヤフオクに登場にあるように、子供たちに配布したXOを転売する可能性もある。記事の場合は、Give 1 Get 1で購入したものなので問題ないが、配布されたものを転売するのは問題だろう。また、盗難という可能性もある。

心配事ばかり書いているが、プロジェクトは応援している。私は英語が苦手なので手は動かせない。仕方が無いので1台分寄付をすることにした。PayPal経由なので簡単だ。私の分の1台は、どの国の誰に行くのか。何となく気分が良い。

s 構成主義

f markdown

u 4a911604-9e02-4a79-a18b-8c8bcda00b98

ソフトウェアの更新

2008-01-14 15:46 JST @sadayuki

久しぶりに諸々のソフトの更新をしてみる。

readline


$ curl -O http://www.dnsbalance.ring.gr.jp/archives/GNU/readline/readline-5.2.tar.gz  
$ tar zxvf readline-5.2.tar.gz  
$ cd readline-5.2  
$ curl -O http://www.dnsbalance.ring.gr.jp/archives/GNU/readline/readline-5.2-patches/readline52-001  
$ patch -p0 < readline52-001  
(略)  
$ make  
$ make install  

gettext


$ curl -O http://www.dnsbalance.ring.gr.jp/archives/GNU/gettext/gettext-0.17.tar.gz  
$ tar zxvf gettext-0.17.tar.gz  
$ cd gettext-0.17  
$ ./configure --prefix=$HOME  
$ make  
$ make install  

Ruby


 $ curl -O http://www.dnsbalance.ring.gr.jp/archives/lang/ruby/1.8/ruby-1.8.6-p111.tar.bz2  
 $ tar jxvf ruby-1.8.6-p111.tar.bz2  
 $ cd ruby-1.8.6-p111
 $ make  
 $ make test  
 $ make install
 $ ./configure --enable-shared --prefix=$HOME --with-readline-dir=$HOME  

SWIG

http://prdownloads.sourceforge.net/swig/swig-1.3.33.tar.gzよりダウンロード


 $ tar zxvf ~/Downloads/swig-1.3.33.tar.gz  
 $ cd swig-1.3.33/  
 $  ./configure --prefix=$HOME  
 $ make  
 $ make install  

SQLite


$ curl -O http://www.sqlite.org/sqlite-3.5.4.tar.gz  
$ tar zxvf sqlite-3.5.4.tar.gz  
$ cd sqlite-3.5.4  
$ ./configure --prefix=$HOME --disable-tcl --with-readline-dir=$HOME  
$ maek  
$ make test  
$ make install  

PostgreSQL

http://www.dnsbalance.ring.gr.jp/archives/misc/db/postgresql/source/v8.2.6/postgresql-8.2.6.tar.bz2をダウンロード


$ tar jxvf postgresql-8.2.6.tar.bz2  
$ cd postgresql-8.2.6  
$ ./configure --with-bonjour --prefix=$HOME  --with-includes=$HOME/include --with-libraries=$HOME/lib --without-tcl  
$ make  
$ make check  
$ make install  
$ cd  
$ initdb -D /Users/sadayuki/data  
$ postgres -D /Users/sadayuki/data  
(別の端末から)
$ psql  
psql: FATAL:  database "sadayuki" does not exist
$ createdb  
$ psql   
Welcome to psql 8.2.6, the PostgreSQL interactive terminal.  

Type:  \copyright for distribution terms  
       \h for help with SQL commands  
       \? for help with psql commands  
       \g or terminate with semicolon to execute query  
       \q to quit  

sadayuki=#   

MySQL


$ tar zxvf ~/Downloads/mysql-5.0.51.tar.gz  
$ cd mysql-5.0.51/  
$ ./configure --prefix=$HOME --with-readline-dir=$HOME --with-charset=utf8  
$ make  
$ make install  

こちらの記事を参考に今回はソースコードからインストール

RubyGems


https://rubyforge.org/frs/download.php/29548/rubygems-1.0.1.tgzをダウンロード  
$ tar zxvf rubygems-1.0.1.tgz  
$ cd rubygems-1.0.1  
$ ruby setup.rb --prefix=$HOME  
$ PREFIX=$HOME  
$ export GEM_HOME=$PREFIX/lib/ruby/gems/1.8  
$ export RUBYLIB=$PREFIX/lib/ruby:$PREFIX/lib/site_ruby/1.8  
$ ruby setup.rb all --prefix=$PREFIX  

RubyGemsのマニュアルに従い、環境変数の設定をすることが肝要。

gems


    $ gem install sqlite3-ruby  
    Bulk updating Gem source index for: http://gems.rubyforge.org  
    Building native extensions.  This could take a while...  
    Successfully installed sqlite3-ruby-1.2.1  
    1 gem installed  
    Installing ri documentation for sqlite3-ruby-1.2.1...  
    Installing RDoc documentation for sqlite3-ruby-1.2.1...  

    $ gem install ruby-postgres  
    Building native extensions.  This could take a while...  
    Successfully installed ruby-postgres-0.7.1.2006.04.06  
    1 gem installed  
    Installing ri documentation for ruby-postgres-0.7.1.2006.04.06...  
    Installing RDoc documentation for ruby-postgres-0.7.1.2006.04.06...  

    $ gem install mysql -- --with-mysql-dir=$HOME  
    Building native extensions.  This could take a while...  
    Successfully installed mysql-2.7  
    1 gem installed  

    $ gem install rails  
    Successfully installed rake-0.8.1  
    Successfully installed activesupport-2.0.2  
    Successfully installed activerecord-2.0.2  
    Successfully installed actionpack-2.0.2  
    Successfully installed actionmailer-2.0.2  
    Successfully installed activeresource-2.0.2  
    Successfully installed rails-2.0.2  
    7 gems installed  
    (略)

    $ gem install mongrel  
    Building native extensions.  This could take a while...  
    Building native extensions.  This could take a while...  
    Successfully installed gem_plugin-0.2.3  
    Successfully installed daemons-1.0.9  
    Successfully installed fastthread-1.0.1  
    Successfully installed cgi_multipart_eof_fix-2.5.0  
    Successfully installed mongrel-1.1.3  
    5 gems installed  

    $ gem install flexmock  
    Successfully installed flexmock-0.8.0  
    1 gem installed  

    $ gem install typo  
    Building native extensions.  This could take a while...  
    Successfully installed rspec-1.1.1  
    Successfully installed ruby-debug-base-0.10.0  
    Successfully installed ruby-debug-0.10.0  
    Successfully installed typo-5.0.2  
    4 gems installed  

    $ gem install radiant  
    Successfully installed radiant-0.6.4  
    1 gem installed  

    $ curl -O http://www.deveiate.org/code/BlueCloth-1.0.0.gem  
    $ gem install BlueCloth-1.0.0.gem  

s ソフトウェアの更新

f markdown

u 154d9dad-fa99-484c-85b5-ba302392f804

悪魔も風邪を引くのか?

2008-01-14 08:38 JST @sadayuki

カイゲン-風神さんTVCM「かぜの神と悪魔」篇:

今朝の新聞を見ていたら、「改源」という風邪薬の広告に、デーモン小暮閣下が出ている。悪魔も風邪を引くのか!とカイゲンのサイトを見てみると、TV-CMもあるようだ。最近は相撲関係で活躍していたと思っていたのだが、こんなところでも仕事をしているとは。さすが悪魔。侮れない。

Technorati Tags: [[デーモン小暮閣下|http://www.technorati.com/tag/デーモン小暮閣下" rel="tag]]

s 悪魔も風邪を引くのか?

f markdown

u 55032cf7-ef84-487a-8da1-28ec7539095a

やっぱりXOは良いなぁ

2008-01-13 22:05 JST @sadayuki

One Laptop per Child:

たまたまNHKのNEWSで、XOがペルーの山奥で使われる様子を見た。各自で自分のXOに、シールを貼るなどして、デコレーションしていた。学校に置いておくのではなく、自宅に持ち帰っているようだった。学校では無線LANが使え、インターネットに参加できるが、自宅では繋がらなそうであった。それでも、家族でテトリス擬きなどをして楽しんでいる様子。学校で、どんなサイトが好きかという質問に、NEWSサイトと答える子が印象的だった。山奥なため、テレビや新聞へのアクセスも限られているようだ。そんな環境で、インターネットへのアクセスが可能になると、いろいろな可能性が広がるだろう。こういった可能性を見せられると、Give 1 Get 1ではなく、単なる寄付でも良いかと思わせる。

また、最近は、ASUSのEee PCなども出てきており、XOでなくとも良いかと思っていた。しかし、過酷な環境で使われることを念頭に置き、気温60度で使えるかとか、湿度の高い環境で使えるかとか、膝の上に置いても熱くないようにと、画面の裏にマザーボードを実装するとか、キーボードから埃が侵入しないようにゴムで覆われているとか、そんな気の使いようが凄く良い。もちろん、性能は今使っているパソコンの方が良いだろうし、Eee PCの方が性能が良いだろう。しかし、外で持ち歩くためのパソコンとしては、XOの方が良い。

amazon_img

"キッズコミニュケーション ピコ本体" (セガトイズ)

日本で子供向けのパソコンというと、ピコが有名かと思う。トイザラスへ行くと、この手のものがいろいろ出ている。XOとピコでは対象年齢がかなり異なるが、XOと比べると、ピコの子供騙し感が増す。XOでピコの代わりは出来るが、ピコにXOの代わりは出来ない。日本はOLPCの対象国では無いので、XOを日本の小学生が使うことはない。小学校にはパソコンがあるが、あくまでも学校の持ち物だ。個人の持ち物にする方が意欲が上がるのではないかと思う。やはり、日本も対象国にして欲しい。普通に売ってくれとは言わない。Give 1 Get 1で良い。20万台購入して、10万台受け取ることで良い。ただし、残り10万台の送り先は選ばせてくれ。

s やっぱりxoは良いなぁ

f markdown

u 51757c35-3d74-453d-a148-9b37400f7d1f

% 2008-02-11T20:39:49+09:00|abee|こんにちは。

OLPCには5つの基本原則というものがあり、その中で子供の所有権をうたっています。 http://wiki.laptop.org/go/Core_principles/lang-ja 私はよく小学校にお手伝いに行く機会があるのですが、確かにパソコンはよく壊れています(ケーブルがちぎれたり、キートップが飛んだり)。自分のものだから大切にするという考えは重要だと思います。 また、寄付についてはGive Manyプログラムというものがあり、教育目的で100台以上であれば購入することができます。 http://www.laptopgiving.org/en/group-giving.php 日本に導入する場合、無線LANやACアダプタなどの法的な認証を考える必要がありますが、台数がまとまれば不可能ではないと思われます。 日本人ユーザの努力により、ソフトウェアの日本語化については目途がついてきました。 http://wiki.laptop.org/go/CustomisingXOforJapaneselanguagefromthecommandline/lang-ja

URIは偉大だ!

2008-01-12 09:09 JST @sadayuki

amazon_img

RESTful Webサービス【Leonard Richardson】

情報技術の本を読んで感動するとは珍しい。ちょっと長いけど引用する。

URIはWebの基本的なテクノロジである。HTMLの前にはハイパーテキストシステムが、HTTPの前にはインターネットプロトコルが存在していたが、それらは相互に通信していなかった。TCP/IPがUsenet、Bitnet、CompuServeなどのネットワークを単一のインターネットに相互接続したのと同じように、URIはこれらのインターネットプロトコルすべてをWebに相互接続した。その後、インターネットが登場した後のプライベートネットワークと同様に、これらのプロトコルはWebに吸収され、絶滅した。 現在、私たちは(Gopherではなく)Webにアクセスして情報を参照し、(FTPサイトではなく)Webからファイルをダウンロードし、(WAISではなく)Webから公開されている情報を検索し、(Usenetニュースグループではなく)Webで会話する。Subversionやarchなどのバージョン管理システムは、独自のCVSプロトコルではなくWeb経由で動作する。電子メールでさえ、徐々にWebに移行している。 Webがほかのプロトコルを絶滅させたのは、ほとんどのプロトコルに欠けていたものを持っているからだ。それは、利用可能なすべてのアイテムにラベルを付けるための簡単な手段である。Web上のリソースはすべて、少なくともURIを1つ持っている。広告にURIを掲載し、その広告を見た人がWebブラウザにそのURIを入力すると、広告主が表示したいと考えていたリソースがすぐに表示される。奇妙に思えるかもしれないが、このようなありふれたやり取りが、URIが開発されるまでは不可能だったのだ。

これは、P.86の4.3 URIの節に書かれているコラムである。初めからWWWに親しんでいた人には感動が伝わらないかも知れない。私もGopherなど活用していなかったが、Gopherのクライアントを持っていた。OS/2版であったが。Usenetも活用していたとまではいかないが、fjでLinuxの情報を漁ったり、alt.binary.picturesを活用したりしていた。それぞれのサービスは独立しており、専用のクライアントが必要だった。それがWebに統合され、Webブラウザで全てが行えるようになった。著者らの言う通り、メールもWebで読み書きしている。Gmailであれば、それほどの不便は無い。専用端末でネットアクセスしているのはiTunes Storeくらいだ。あそこはiTunes経由でないと行けない。米国のAmazonではDRMフリーのMP3ファイルの販売を行っており、いずれは専用端末でのアクセスは無くなる可能性もあるだろう。

まだ読んでいる途中なのだが、良い本である。RESTfulは良いことだ。実践していきたい。と言いつつも、XML-RPCも活用している。この記事も、Blog書き専用ソフトのectoを使って、XML-RPC経由でBlogに書き込んでいる(livedoorはAtomPub経由なのでREST)。世の中の動きは、RESTへ向かって動いている気がする。大企業向けの動きが遅い気がするが、それはいつものことだ。エンタープライズ向けこそ、RESTのシンプルさが活かせるような気がするが、まだまだなのだろうな。

s uriは偉大だ!

f markdown

u 3fcc99a1-492f-4e53-a318-af8e9ab7fc30

WEB+DB PRESS vol.42

2008-01-10 23:27 JST @sadayuki

今号で良かった記事。

  • ニコニコ動画 構築ノウハウ大公開
  • 現場で使えるREST

[REST|http://ja.wikipedia.org/wiki/REST[ニコ動][2]はあまりアクセスしていないのだが、ニコ動の舞台裏はとても興味深かった。[SOA][3]があまり普及していない現在、SOAの本命はRESTであると思っている。最も普及しているWEBサービスはWWWである、というのは至言である。制限されることが創造の源になるのは、[CoC][4]と同じである。複数のRESTサービスをJavascriptで纏めるのは、軽量なSOAである。ニコ動のアーキテクチャは面白い。]]は、私的に流行している。

amazon_img

[["WEB+DB PRESS Vol.42" (WEB+DB PRESS編集部)](http://www.amazon.co.jp/gp/redirect.html%3FASIN=4774133310%26tag=sadayukisdiar-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4774133310%253FSubscriptionId=02ZH6J1W0649DTNS6002)

「現場で使えるREST」で勧めていたRESTful Web サービスは、以前、英語版でいいから買おうかと思っていた本の訳書だ。いつのかにか出版されていたようで、早速購入した。今読んでいるところだが、いろいろ興味深い。まだ途中だが、例えば、AmazonのS3サービスが面白い。アプリケーションのバックエンドにするには、Amazon SimpleDBの方が良いのかも知れないが、RESTとの相性はS3の方が上のような気もする。

読むだけでなく、手も動かさないと。でも、なかなか。がんばろう!

s web-db-press-vol-42

f markdown

u 660f56f2-97b8-420d-b267-7231dd73ee26

機動戦士ガンダムさん みっつめの巻

2008-01-07 22:10 JST @sadayuki

ガンダムさんの三巻が出た。今回も、「隊長のザクさん」「宇宙島のガルマくん」は健在だ。「彗星ヒヨコ」は最終回のようだ。

帰りの電車の中で読んだのだが、変なおじさんになってしまった。

amazon_img

"機動戦士ガンダムさん みっつめの巻 (角川コミックス・エース 40-20)" (大和田 秀樹) 「宇宙島のガルマくん」には、セシリアマ・クベが出てきたり。みんな同じコロニーに居たなんて、なんてご都合主義。ジオン・ダイクンと出会い、ギレンは独裁者を目指す。だんだん雲行きが怪しくなってきた。

「隊長のザクさん」は副隊長に降格の上、ジャブローに左遷。ところが何と、ソロモン攻略の危機に駆けつける。という具合に波瀾万丈。こちらもご都合主義。隊長のザクさんがザクバズーカを抱えて白い悪魔(RX-78)の前に立ちはだかる!と、いったところで本巻は終わり。

どちらも次が気になるところだ。何だかんだといいながら、買い続けている。次も多分買ってしまう。帯によれば、通算で100万冊達成のようだ。ガンダムは売れるなぁ。

s 機動戦士ガンダムさん みっつめの巻

f markdown

u a31a72f1-24cb-4582-a921-b799eec28da2

WEBrickとPoundを使った代替手段の検討

2008-01-06 21:21 JST @sadayuki

2007-02-22 - 福島でRailsを使って仕事を頑張る計画:

Mongrelの場合、--prefixを使えば、アプリケーションの配置を、サイトのルートディレクトリ以外に行える。例えば、--prefix /hogeを付けて起動すると、http://www.fuga.org/hogeでアクセスできる。そのため、一つのサイトで複数のアプリケーションを運用することができる。しかし、WEBrickの場合、--prefixに相当するオプションが無かったため、一つのサイトで複数のアプリを運用することはできないと思っていた。

ところが、リンク先の記事で述べているように、config/environment.rbActionController::AbstractRequest.relative_url_root = "/hoge"を付加すれば良いことが分かった。

一方、リバースプロキシとしてのPoundだが、サイト名ベースのバーチャルホストの例は見つかるのだが、ディレクトリによって呼び出すサービスを変える例が見つからなかった。そこで、いろいろ試してみた。その結果、次のようにすると、良いことが分かった。


ListenHTTP
        Address 127.0.0.1
        Port    3002

        Service
                URL     ".*/sadayuki.*"
                BackEnd
                        Address 127.0.0.1
                        Port    3000
                End
                BackEnd
                        Address 127.0.0.1
                        Port    3001
                End
        End
        Service
                URL     ".*/neko.*"
                BackEnd
                        Address 127.0.0.1
                        Port    3003
                End
        End
End

RLで転送先を変更できる。ただし、URLのパターンは、私が正規表現について良くわかっていないのでかなりいい加減だ。うまくパターンを作れれば、現在私が行っている運用は実現できそうだ。Poundの設定は簡単なので、これでもいいかなとも思う。

でも、WEBrickとMongrelを比べると、やはりMongrelの方が数倍のオーダーで速い。やっぱりMongrelの開発を継続して欲しい。が、我侭かな。

s webrickとpoundを使った代替手段の検討

f markdown

u 1b70d792-6aef-4412-a627-4100837c91c1

Mongrelの危機

2008-01-04 22:26 JST @sadayuki

L'eclat des jours(2008-01-03):

Danさんのところ経由。[Mongrel|http://mongrel.rubyforge.org/Mongrelの出始めは、こちらの[記事][3]のように、批判もあった。しかし、その扱い易さと速さから、特にRailsとの組み合せで広まっていった。現在では、Mongrel+ApacheがRailsで運用する場合の標準になっている。]]の作者が、Ruby/Railsを離れて他のコミュニティに移ろうかと考えているようだ。

私の家でも、当然のことながらMongrelを利用している。Apacheの代わりに[[LiteSpeed](http://litespeedtech.com/)を利用しているが、複数のMongrelで負荷分散している。

出来ることならば、ZedにはこのままMongrelの開発を続けてもらいたい。でも無理かな。残念。Mongrelはオープンソースなので、誰かがサポートを継続するのか。他のソリューションを探すべきか。果たしてどうするか。

こちらの記事では、Railsの代わりになりそうなRubyのWebアプリフレームワークを解説している。同じように、Railsを動かせるWebサーバの記事は無いかな。無理ならWEBrickへ戻るか。LiteSpeedには、LSAPIというFastCGIのような仕組みがある。これを使えば高速化は可能だが、Mac限定になる。

悩むなぁ。

s mongrelの危機

f markdown

u aea10210-43e5-4c26-856e-ebbc0f9a7232

Google 検索

フィード

Amazon

最近 1ヶ月の投稿

過去の投稿

Amazon アソシエイト

Google AdSense

楽天アフィリエイト