2012年3月25日日曜日

サントリー美術館「東洋陶磁の美」

六本木の東京ミッドタウンにあるサントリー美術館で、いま「大阪市立東洋陶磁美術館コレクション 悠久の光彩 東洋陶磁の美」展覧会をやっています。4月1日まで。

この土日、六本木は「六本木アートナイト」というイベントをやっていて、その一部として、通常は1300円の入館料がなんと500円!

中国と、高麗、朝鮮の陶磁器の展示でした。こことかここに写真があります(こんなに写真出して、太っ腹だ…)。国宝2つはやっぱり凄かった。他にもいくつも気に入ったものがありました。象嵌とか、味のある絵付けとか。

実は普段はあまり好んで観ないジャンルで、500円ならいいかと行ったのでした (^^;; いい方に期待を裏切られました。

明日(もう今日だ)行くとまだ500円ですよ〜。行かなくても、ちょっとでも興味あれば、上のサイトの写真を観とくと得かも。こんなに出してくれることあんまりないと思う。

ちなみにイベントのせいか街は混んでたけど、美術館は大丈夫でした。

2012年3月16日金曜日

普通の信号が普通じゃないと危ない

普段、車とか運転していると、経験上「時差式」と書いてあるか矢印信号があるかどちらかでなければ、「普通の」信号だと思いますよね。でもそうじゃないかも、というちょっとしたお話。

通勤路に信号のある十字路があります。「普通の」信号です。私はここを右折して家に帰ってます。右折用の矢印信号がないので、対向車が切れるか、黄色になって向こうが止まらないと曲がれない。まあ普通ですね。

でもなんかこの信号、危ないのです。信号が黄、赤と変わっても対向車が曲がらせてくれない。見た目そんなに乱暴そうじゃない車に突っ込まれそうになったこともあります。他の車もよく警笛を鳴らしている。

そんなことが何度もあったので、ちょっと前に信号待ちで観察してみました。すると…

どうでしょう。分かります?

こちらと対向で、信号が黄色になるタイミングは同じなんですが、赤になるタイミングが1秒ほど対向側が遅いのです。だから、こちらから見て完全に赤になったと思っても、対向車は黄色だと思っている。このたった1秒のずれで、危ないことになったり、怒ったりしてたのでした。

「普通の信号ならこちらも対向も赤、青、黄色になるタイミングは全く同じである」という無意識の思い込みに気づかされた事件?でした。

てか危ないよね。対向側の右折時間を取るためかも知れないけど、こっちの方がいつも右折並ぶのに。市かどっかに言った方がいいかな。

2012年3月11日日曜日

JavaScript の this のキモチ

JavaScript(というか CoffeeScript)を勉強していて、this が難しいなぁと思っていました。いろいろ読んでも、「this は、こういう場合にはこれを指す」とは書いてあるんだけど、なぜそうしてあるのかが分からず、どうにも理解できなかった。例えばこのへん:
でも規格(上のひとつめ)としばらく格闘して、何となくキモチがつかめた気がするので、この難しさ感を忘れないうちに書いておこうと思います。まだ JavaScript 初中級者くらいなので間違いがあるかも知れません。

普通のオブジェクト指向の考え方では、オブジェクトは内部変数と手続きを持っていると考えます。下の図で、a がオブジェクト、x が内部変数、m が手続きです。この手続きをメソッドと呼びます。


で、オブジェクト指向の基本的な考え方に、「内部変数はそのオブジェクトが持つメソッドからのみアクセスする」ってのがあります。a の内部変数 x にアクセスするには、a のメソッドのどれか(ここでは m しかないけど)の中から this.x とするしかない、ってことです。これをカプセル化と呼びます。カプセル化は不便に見えるかも知れないけど実は便利な機能です。

さて、JavaScript においては、メソッドは関数として定義される。そして関数は独立したひとつのオブジェクトです。以下のようなコードを書くと…
var a = { x: 0 };
function f() { this.x++; }
a.m = f;
こうすると関数 f が、オブジェクト a のメソッド m として呼び出せるようになります。ここで、
a.m();
とすれば、a が持つ内部変数(属性、property)x の値が1増えます。

この時の a と f の関係を描くと下の図のようになっています。


ここで気づくのは、(関数である)オブジェクト f は、他のオブジェクト a の内部変数をいじる!ってことです。オブジェクト指向はカプセル化だよね〜とか思っている私のように古いタイプ(?)の人間は、this.x と書かれたらまさか他のオブジェクトの内部変数をいじってるとは思わないので、これを理解するというか納得するのに時間がかかりました。(いや、分かってしまえば、「関数がメソッドになる」「関数は独立したオブジェクトだ」とはそういう意味なんだけれども…)

というわけで私と同類な人向けに:JavaScript の this はカプセル化じゃありませんよ!

じゃあ this の意味は何か。同じ関数 f を別のオブジェクト b のメソッドにもしてみると分かりやすい。
var b = { x: 0, n: f };

これで関数 f は、a.m() としても呼べるし、b.n() としても呼べるようになりました。f のコード中にある this.x は、a.m() として呼ばれた時には a の中の x を意味し、b.n() として呼ばれた時には b の中の x を意味します。

と言うか、そういう意味になるように、this が指すものを、関数の呼び出し方によって変えているのです。a.m() として呼ばれたコードの実行中には this は a を指し、b.n() として呼ばれたコードの実行中には this は b を指す。

再び同類向けに:this は「このオブジェクト」ではなく、「この関数が、あるオブジェクト a のメソッド m として与えられており、なおかつ a.m() の形で呼ばれた場合、a」という意味。長い。てか全然 this じゃない。

(この関数をメソッドとして呼んだオブジェクト、と言いたいところだけど、そうでもない。a.m() を呼ぶのは a ではなくて、そのコードが書かれた何か(関数とかグローバルなコードとか)なので…)

だから、こんなコード
var o1 = {
  x: 0,
  m: function() {
    this.x++;
  }
};
を書いて、「これでこの関数が呼ばれる時には必ず o1 の属性 x が増える」と安心してはいけないのです。たしかに o1.m() で呼ばれるとそうなる。でもここで、
var o2 = {
  x: 0,
  m: o1.m
};
o2.m();
とすれば、同じく o1 の「中に書いてある」(ように見える)関数が実行されるけど、増えるのは o2 の方の x。この時の状況はこう↓(上の a と b の場合と同様)


この関数は o1 の「中で」定義されているわけではなく、そのオブジェクトに所属してもいません。this が何を指すかは、あくまで「呼ばれ方」(o1.m なのか o2.m なのか)で決まります。(私が正しく理解していれば。)

こういう動作を見て、私は、ああ JavaScript は普通のオブジェクト指向言語の this をエミュレートしたかったんだなと理解しました。それが this の役割なんだろうと。

こう考えると、
  1. 関数 f が裸で f() のように呼ばれたら this はグローバルオブジェクト(とか undefined)を指す
  2. (a.m = a.m)() として f を呼ぶと、this は a を指さずにグローバルオブジェクトとかを指す
  3. 関数のメソッド .call や .apply で this を明示的に指定できる
  4. 関数 F を new F のように呼ぶと、F のコード中で this は新しくできたオブジェクトを指す
なども、なるほどと思えるようになりました。私が感じるキモチはこう↓
  1. この場合、f をメソッドとして呼んでないけど、this には何かを指させなきゃいけない。ならば undefined か null かグローバルオブジェクトだが、まあ何でもいいのでは。
  2. (a.m = a.m) の右辺の式の値として、生の f が出てくる。この値(関数そのもの)を使って呼んでるからメソッドとして呼んでない。よって1と同じ。
  3. メソッドがオブジェクトに所属する普通のオブジェクト指向とは違って、JavaScript では関数が自由にどんなオブジェクトのメソッドにもなれる(a.m = f として a.m() と呼ぶ)。でもそれが自由なら別にわざわざ a.m = f として属性にすることなく a のメソッドとして呼べてもいい(f.apply(a))。
  4. 新しくできたオブジェクトを o とし、そのオブジェクトが初期化関数を表す属性 init を持ちそれが F を指しているとして、o.init のように呼ばれたと考えれば、普通のオブジェクト指向言語と同じ。
とは言え、
var g = function() { this.x++; };
g.x = 0;
として
g();
が自分(関数 g)の x を増やさないのは何とも…(ってまだ言ってる。それは this じゃないんだって。)

まとめ。
  • this は「このオブジェクト」と思わない方がいい。
  • this は「メソッドとして呼ぶ呼び方でこの関数が呼ばれた時の、指定されたオブジェクト」を意味する。
  • this は(この関数とは)別のオブジェクトを指す。何を指すかは、呼び出し毎に決まる。
この難しさの原因は、やっぱり関数を独立したオブジェクトにしたためで、JavaScript にとってはもしかしたらオブジェクト指向よりもそっちの方が大事だったのかも知れないなぁと思った。オブジェクト指向の方がおまけなのかも。

2012年3月7日水曜日

日本には営むのに許認可の不要な業種もあるそうだ

昨日読んだ起業手続きの本にこんなことが書いてありました。
このように、あらゆる業種、あらゆる行為について、許認可が法律上必要とされています。独立開業にあたっては、この点に十分な注意を払うべきです。(「独立開業者必携 起業・開業手続き・許認可のしくみがわかる事典」204ページ)
やっぱり…以前のエントリで書いたように、まさに「〜業」で縦割り規制されている。

そして「許認可の不要な業種もある」として、通信販売業、リース業、カイロプラクティック、ベビーシッター、家庭教師派遣業、学習塾、結婚紹介所が一覧として挙げられてます。 代表的なものがこれで、他の一般的なものはみんな許認可が必要なわけか。これでは、学生が卒業後の進路として、すでにある企業への就職しか考えないのも当然だな。そして企業に入れる人数は限られている、と。

職業選択の自由〜あははん♪ってのがあったな(古いw)

「〜業」の形態を縦割りにして法律を作る方が楽だろうけど、別の作り方もできるんじゃないだろうか。消費者に害を与えるような行為だけをうまく禁止するような「横割り」の。とまた思うのだった。

ちなみに上に挙げた本はこれ:


「事典」となってるけど、私は最初から読みました。やさしく書いてあって分かりやすいと思います。個人事業と株式会社だけでなく、合同会社、NPO法人、LLP、一般社団・財団の設立の仕方についても書いてあって、いろんな選択肢が見えていい感じ。ただ「これがいいよ!」とお薦めはしてくれてない。あくまで客観的に、というスタンスみたいです。あと助成金もいくつか紹介してくれてます。

さて、どの形態でいくかなぁ。

2012年3月5日月曜日

古筆手鑑 ― 国宝『見努世友』と『藻塩草』を観てきた

昨日ですが、東京丸の内の出光美術館で展覧会「古筆手鑑 ― 国宝『見努世友』と『藻塩草』」を観てきました。(permlink ないみたい。会期が終わったらページ消えそう)

「古筆」ってのは歌とかの写本で平安時代とか鎌倉時代とかに書かれたもので、その断簡を集めた見本帖を「手鑑」と言うそうな。古筆の平仮名はとてもきれいで、私は掛軸などになっているものも好んで見ています。今回はそれが多く観られる(しかも国宝)ということで行ってきました。

出光は陶磁器とか屏風絵とかの展示のときは混むけど、古筆なら日曜でも混まないだろうと思ったら、案の定すいてた。しかし計算外だったのは、文字をゆっくり鑑賞していると時間がかかること。人もあまり進まないし (^^;; 2時間と思ったけど、3時間あった方がよかったな…まあでも私は進むのが遅い方で(単眼鏡で覗き込んだりしてるしw)、他の人は2時間で十分くらいのペースでした。

しかし今回、国宝のふたつ以外も見ごたえたっぷりだった。重要文化財も重要美術品も多く、展示品の中で「これがよかった」と言えないくらい良いものばかり。おかげで珍しく図録を買ってしまった。立体物と違って紙だしね。

惜しむらくは、自分は草書が少ししか読めないこと。お年寄りでもほとんど読めなそうにしてました(私のほうが読めてるくらい)。高校の国語とかでちゃんと教えてくれてればなぁ…。今は一応机にこの字典↓を置いて、気にして覚えるようにはしてるんだけど。


あとこれ見ながら、行書はできるだけ普段から書くようにしてる。

それからもちろん歌をもっと知ってるとさらに楽しめそう。これも道は長い (^^;;

買って帰ってから気づいたんですが、図録には釈文があってラッキーでした。時間ができたらゆっくり読もうっと。

2012年3月4日日曜日

蛇足:Gumroad と規制とイノベーションについて

アクセス解析の話だけでなく、ちょっと内容についても書いておこうかな…またも「なぜ Gumroad や PayPal が日本から現れないのか」の話ですが。

あの本文だけを読んだ人には、是非コメントでのやり取りも読んでほしいと思っています。Gumroad は資金移動業なのか、それとも販売のサイトなのか、グレーなのか、販売のサイトなら通信販売に関する規制にかからないのか、など。

あとこのページ↓も参考になりそう:
企業法務マンサバイバル|Gumroadの利用規約をリバースエンジニアリングしてみる

で、コメントのやりとりなどでいろいろ教えてもらったり、考えたりして、今んとこ思ってることを簡単に書いておこうと思います。

Gumroad がなぜ話題になったのか。もし Gumroad がデータ販売サイトなら、それは画期的でも何でもない。Gumroad がサービスとして画期的と見なされているとすれば、それは利用者から見た簡単さのためなんだろうけど、仕組みとしては、販売機能を最小化しほぼ決済機能のみを提供するところだと思う。それが簡単さにつながっているように思います。

それを日本の法律側から見ると、限りなく資金決済業に近い販売業になり、それがきっと私の目には資金移動業に見えたんだろうと思ってます。だから、うん、グレーだよなと。

いま Gumroad は日本で合法かと言う話が他でも聞こえます。資金決済的に合法か? 販売なら資金決済法の対象外だが、ならば特定商取引法に照らして合法か? 日本ではどうも、業務の形態によって、それを規制する法律をひとつ作るという考え方のようです。この考え方で法律を作れば、法律が想定している業務に近いけど異なった形態であるようなイノベーションは―それが有効かつ安全であっても―違法になるか、脱法になるかでしょう。

そして、我々はその考え方に慣らされていないかな。新しい業態はそれに対応する法律で規制すべきだと。

規制が不要とは言ってません。だけど、業態を決定してしまうような法律は、原理的にイノベーションを阻害する。違うかな。

あと、私は「日本ではイノベーションは起きない」とは言ってないのです。どうも誤解されてるみたいだけど(苦笑)。私が書いたのは、「日本では預金と為替が原則禁止なので、金の流れに関するイノベーションは(それらを原則禁止としない他国より)起きにくい」ということ。これが立法者(「主権」を持つ私達自身を含めて)に伝えたかった観察で、それとは別に、起業家はどんな規制の下でも、可能なイノベーションは起こさなきゃいけない、そう思ってます。

2012年3月3日土曜日

「なぜ Gumroad や PayPal が日本から現れないのか」みたいな記事を書くとブログへのアクセスがどうなるのか

一日数十PVのこの小さなブログですが、例のエントリ「なぜ Gumroad や PayPal が日本から現れないのか」は多くの人に興味を持ってもらえたようで、およそ5日間で26,000回以上アクセスしてもらえました。

Blogger には簡単な統計情報を見る機能がついていて、アクセスしているユーザの情報(IPアドレスとか)は全然分からないんだけど、どのリンクやページやサイトからアクセスしたかという参照元は、数の多い方から10個ほどは分かります。普段は私自身のつぶやき(ブログ更新しました〜的なやつ)に入っている t.co 短縮 URL 経由から多く来てるので、ああフォロワーの方々が読んでくれてるんだな、と分かるっていう。

で、今回は珍しい体験だったので、アクセスがどんな推移を辿ったかを共有したいなと。後で何かの役に立つかも知れないし。そういうのを貯めこまないのが情報産業2.0(笑)

さて、時間ごとのアクセス数はこんな風でした↓


投稿からしばらくは自分のフォロワーからのアクセスだけがあり、その後でたぶん口コミ経由(心当たりがある)で Facebook に情報が出たようで、時間あたり数百のアクセスが始まりました。同時にこのあたりからたまに Twitter で言及されるようになりました。比較的フォロワー数の多い(およそ5桁以上)ユーザによる言及のうち分かっているものを、グラフ中に Tw と書きました。ただ、公式RTだと分かりません。

はてなブックマークに多く登録されるようになって人気エントリになると、いきなりアクセスが増えました。ここ以降しばらくは b.hatena.ne.jp や www.hatena.ne.jp からのアクセスが多くを占めるようになります。

夜中の谷を経て翌朝にはまた Twitter で言及してもらい、はてなブックマーク経由と合わせてまた多くのアクセスがありました。その後は徐々に減り、あるタイミング(3/1の前半くらいか)で人気エントリ一覧から外れると、あとは Twitter での言及で山ができる、という感じだったようです。

まあ生ログがないので多分に推測が入ってますけど、当たらずとも遠からずではないかと。

参照サイト別のこれまでのアクセス数上位は、およそこんな↓感じです。

  • はてな:4360
  • Twitter:3000
  • Google 系:1040
  • Facebook: 960
  • HK-DMZ+ さん:330

考察。ってほどじゃないが。思ったこと。

  • はてなブックマークの人気エントリに入るとなんかすごい。ブログよく読む人がチェックしてると思われる。
  • 今回は口コミから Facebook という経路だったと思われる(Facebook でどのページに書いてもらったのかは分からなかった)が、Facebook からのアクセスが目立ったのは最初だけ。
  • それに対して Twitter は、言及されるたびに波状攻撃のようにアクセスがある。
  • 言及してくれた何人かについて、アクセス数/フォロワー数という比率を見てみたら、およそ0.数%から数%だった。つまり一度の言及で、そのユーザの約1%のフォロワーの人がアクセスしてくれた計算になる。
  • 普段のつぶやきがエントリの主題に近いユーザの方がこの比率が高いようだった。

というわけでろくに分析もせずに抛ってみる(笑)

あ、いま見たら Tumblr からのアクセスが見えてる。Tumblr はユーザごとにサイト名が違うから、この方法では把握できないな…

逗子へ運慶作の仏像を拝観しに

逗子の浄楽寺は御本尊を収めている収蔵庫を年に2回開扉して一般に公開してくれているそうな。その1日が今日、三月三日だったので、拝観してきました。

逗子駅からバスで20分くらいかなと思ったら、渋滞で40分くらいかかった。海岸沿いの道で交通集中のせいかな。浄楽寺につくと年配の人を中心に結構な人が下車しました。

着いてみると、その道から山門もくぐらずに本堂に来るような小さなお寺。案内に従って本堂を右からぐるりと回って裏手に収蔵庫があり、百円をお納めすると、毘沙門天立像、阿弥陀三尊像(阿弥陀如来坐像、観音菩薩立像、勢至菩薩立像)、不動明王立像が間近で拝めました。5体とも運慶作、重要文化財。こんな近くていいの?という感じ。触らないで下さいって書いてあるし (^^;;

直後に団体さんが着いて、2, 30人くらいしか入れない収蔵庫はいっぱいになってしまいました。御朱印を頂いて、団体さん向けの解説を聞いてから外に出ると、たくさんの人が待ってる…。下の写真は、帰り際に本堂の横から収蔵庫の方を撮ったものです。


公開日の三月三日と十月十九日以外でも、予約すれば拝観できるとか。人がすごく多くてあまり心穏やかでなかったし、堂内は静かにと書いてあるのにうるさい人がいたり(まあ観光地の常だけど…)とあまりよくなかったので、他の日に拝みに行った方がいいかも。

帰りのバスは新逗子駅までは早く、次の終点逗子駅まではのろのろ。そのせいではないけど昼飯難民になってしまいました。開いてる店をいくつか見て、入ったのは「支那そば哉」。ラーメンも餃子も上品な感じで美味しかった。ごちそうさま。

帰ってから Wikipedia で運慶の現存作品の項を見て、こんなに少ないんだとびっくりしました。東大寺南大門、興福寺北円堂へも最近行ってるから半分位を見たことになる。ってまたフェルメールの絵の時と同じようなことを(苦笑)