Home

memo-space

JavaScript雑感

Livedoor Reader のソースを眺めていたらコロンキーで vi モードにはいることを発見した。調べてみたらやっぱり自分は 4 ヶ月ほど遅れていることに気がついた。

livedoor Readerとは - はてなダイアリー

(ブラウザ上で動く)JavaScript は、強制オープンソースだという魅力もさることながら、今まさに動いているプログラムに対して Greasemonkey とか JavaScript Shell とか使って動作を変更できちゃうというのが面白い。動いている心臓をバイバス手術みたいな。

苫小牧市立図書館 - Amazon 検索 を作ってみてやっと少し JavaScript がわかるようになってきた。何かしら新たな発見をしては、それについて調べてみると自分が 1 年くらい遅れていることに気付くというのの繰り返しだった。だいたいやりたいことは実装したけど、UI 周りをもうちょっと直したい。

言語としての JavaScript は、シンプルで自由度の高い言語。とはいえシンプルであることも自由度が高いことも言語としての価値であるかどうかは何とも言えない。単にそうなら Scheme がもっと流行ってるんだろう。でもまあまとまっていると思う。

この自由度の高さをフレームワークや IDE がどうコントロールしていくかというのが今後の JavaScript 界隈の動きになっていくんじゃないかな。Ruby という自由な言語が Rails という規約によって飛躍したように。(まあ Rails も真面目にやったことないんだけどさ)。

一方言語の本質とは別に、その歴史的経緯から、現時点では Web 上には古い情報が蔓延していてとてもググりずらかったり、あとプラットフォーム間の移植性というやっかいな問題はある。

JavaScript を学ぶには、まず初級はどこでもいいんじゃないかな。とほほさんの所あたりでもいいと思う。で次は「プロトタイプベースのオブジェクト指向」とか「プロトタイプチェーン」とかいうキーワードでググる。以下はまだ僕も全部読んだわけじゃないです。

で、そこを卒業したらとりあえず prototype.js でも読んでみるのが良いんじゃなかろうか。はっきりいって最初は全く理解できないと思う。例えば、冒頭の、

var Class = {
  create: function() {
    return function() {
      this.initialize.apply(this, arguments);
    }
  }
}

これが何をやっているか、はっきりいって僕は自力では理解できませんでした。幸い、その手のことをやっている人は他にもいるので、先人の調査結果を参考にするといい。

リファレンスとしての情報源は未だにどこを見て良いのかよくわからないけど、とりあえず MDC を見ている。

あと、 FireBugJavaScript Shell は便利だと思う。

はてブの「IMEをオフにして、、、」が邪魔

Scroll With IME という FireFox プラグインを使っていると、IME オンのままの状態でもスペースキーでスクロールできるんだけど、 はてなブックマークでは IME がオンの状態でキーを押すと、左下に「ショートカットキーはIMEをオフにしてご利用下さい」と出てきてスクロールできない。

Bookmark.keybind.remove("ime");

以上。

Amazon - 苫小牧市立図書館検索作った

今年の夏休みの自由研究ということで。

Amazon - 苫小牧市立図書館検索

苫小牧市民に送るWeb2.0エクスペリエンスw。 Amazon Web サービスに REST - XSLT で JSONP に変換 - Ajax で cgi にアクセス - そこから図書館にアクセスみたいなことしてます。

「読みたい本があるけど、図書館にあるから買わなくていいや」みたいな、Amazon の意向に思いっきり反した API の使い方をしている気がする。

しかしここ最近はAmazonのXSLTプロセッサが全然まともに動いてくれない。w3側をフォルトにしようかな。

JavaScriptとたわむれる

見てる人はわかると思いますが、毎日のようにちょこちょこいじってます。 blog そのものは書かないのに毎日 blog をいじっているという現実。 モチベーションが続く限りいじり続けます。

書きたいことはいろいろあるけどざっと。

たかが天気予報を表示するために大袈裟なことをやっている。 <script> タグの charset 属性ってデキる子だって知らなかった。飾りかと思ってたよ。 あと、JavaScript のオブジェクトリテラルに余分なコンマがあると FireFox では OK だけど IE だと動かなかった。

var data = {"foo": 1, "bar": 2,};

みたいなの。

Home

Search
Feeds
Profile
石田@苫小牧市と名乗りつつ札幌の某社に勤務するプログラマ
書いた本
Links

Page Top