$のイディオム [ javascript ]

jQueryが便利だなーと思い始めた頃のある日、どこかのサイトで、

jQuery(function($){....})
と書いておけば、$を確実に使える

というのを見たことがある。

表面上の意味はわかるが意義が分からん(つまり良くわかってない)のでそのまま流したてたんだけど、その後、

var $ = function (id) {return document.getElementById(id)}
:
:
:
$("hogehoge").innerHTML = .....;

なんて使い方をしてあるコードを幾つか立て続けに見かけた。

ネイティヴクライアント機能を動かしてみる [ html / javascript ]


Technical Overview - Native Client SDK - Google Code

Native Clientの部分が塩(NaCl)で、そのインターフェイスになるのが胡椒(Pepper)ですか。

するとHTMLやJavascriptでの部分がステーキ?ハンバーグ?

Javaとかでネイティヴコードを実行するときと印象は似てる。そら違う世界を繋ぐ様子を図に書いたら似てくるかもしれないなあ。

こんなことやる間にもっともっとV8エンジンのチューニング頑張ってくれればいいのに、とか勝手なことを思ってたけど、チャート見ているとなんとなく動かしてみたくなってしまった。

Chromeのバージョンは…うん大丈夫。ちゃんと14以上にアップグレードされている。

次は「about:flags」。

あったあった。

やっぱりここでネイティヴクライアント機能の有効無効を設定するんだ。

そうじゃないかと思ったけどやっぱりデフォルトは無効になっている。

ネイティヴクライアント機能を有効にしてChromeを再起動、と。

ネイティブ クライアント
ネイティブ クライアントに対応できるようにします。
有効にする

んでもってサンプルページからデモを実行、と。

テキストエリアの変更可・不可設定 [ javascript ]

テキストエリアの「readOnly」というプロパティの真偽値で制御できる。
が、意外と気づかないもので…
誤: textArea.readonly = true; // テキストエリアを変更不可にする

正: textArea.readOnly = true; // テキストエリアを変更不可にする
エラーが出るわけでもなく、ただ狙った効果が得られないだけ。そりゃそうだよな、単に違うプロパティとして扱われているだけだもの。
HTML中では大文字でも小文字でもいける場合が多いのに油断してたOrz

IE9の互換モードがうまく制御できない… [ IE ]

がるるるるるる。 IE9ならそこそこテキトウにCSS3とか使っても普通に表示されるだろうと期待したのに。なんじゃこの惨憺たる表示は…

Bloggerの記事を$.getJSONで取り出す [ jQuery ]

どこかの見よう見真似だが、とりあえず使える。

Show source


補足

以前日本語で開設されてたサイトを見ながら見よう見真似で作ったスクリプトだけが手元に残っている状態。なぜか以前のサイトには到達できないのでいろいろメモしておこうかと思う。

URLに以下のような引数を埋め込むことでbloggerからJSONP形式でのデータ取得ができる。自分のブログに記事一覧とか置くだけならば、クロスドメインにもならないので普通にJSONでいいような気もする。

ベースURLhttp://tip-tips-tipsss.blogspot.com/feeds/posts/defaultアンダーラインの部分(tip-tips-tipsss.blogspot.com)をターゲットにするブログのアドレスにする。
引数 start-index取得開始記事番号最新記事が1。数字が大きくなると古くなる。
引数 max-results取得記事の最大数指定した記事より少なければ、少ない量の記事が帰ってくる。
引数 redirectひとまずfalse…何だったっけ?フィードをリダイレクトしているときには、リダイレクトしないことを指定するんだったかな?
引数 alt「json-in-script」でJSONP形式での送信希望
引数 callbackコールバック関数を指定$.getJSONを使うときには、callback=?としておく

getJSONの第2引数としてこんなふうに記述できるのが簡潔で、かつ、必要なURIエンコードとかもjQueryがやってくれたりするので楽ちんなのだが…

{
    "alt":         "json-in-script",
    "redirect":    false,
    "start-index": 1,
    "max-results": 10
}

なんか事のついでにjQueryが勝手に(?)追加する引数が、blogger側のお気に召さないらしくエラーが返されてしまう。

余計なパラメータを取る方法がよく分かんなかったので、仕方なくURLに全部突っ込んだ。Orz

resize ウィンドウのリサイズイベント [ jQuery ]

とりあえずメモ。

専用のresizeというイベントが用意されているらしい。

形式

$(window).resize(コールバック関数)

もしくは、

$(window).bind('resize', コールバック関数)

ノート

  • ピクセル単位で動的に要素をレイアウトするコードを書いたはいいが、ブラウザウィンドウの大きさを変えると配置がいまいちになるのが悲しい。
  • 悲しさを解消するために、要素の形状が変わった時にもレイアウトコードを呼び出したい。是非。
  • changeイベントハンドラを設定すれば取れるのかな?
  • 残念、changeはテキスト等の中身が変わったことを検出するだけで、形状はノーケア。
  • 要素の大きさ変更を通知してくれるような標準イベントはなさげ
  • ウィンドウでもいいか?まあ目的は果たせるのでよしとするか。

Node.js楽しそう [ javascript ]

サーバサイドでJavascriptを使う理由ですよね。
そんなに一生懸命になって理由を探さなくても、そうできたら面白そうだから、じゃダメかな?

何かを作らなければならないとき、Java以外の選択肢中にjavascriptがあるならそれだけで十分な理由だと思いますが。(Javaを好む人達の話があまり好きになれなくて、そのおかげでJavaもあんまり好きでは…)

『実践JSサーバサイドJavaScript入門』――あえてサーバサイドでJavaScriptを使う意義を探る
 JavaScriptを使う理由はただ1つ、他に選択肢がないからだ。JavaScriptは、Webブラウザで動く唯一の言語である。FlashやJavaアプレットでもWebブラウザからプログラムを動かせるが、JavaScriptとは根本的に違う。… …JavaScriptの持つ真の力を出せるアプリケーションを作るには相当な力量を要求されることになるだろう。あらためて思う。サーバサイドJavaScriptよりもJavaScriptの方が難解だ。 …いつの日か、このじゃじゃ馬のような言語を乗りこなしてみたい。

クライアントサイドの方が触ってて楽しいと思ってたけど、Node.jsの簡単な紹介を読んで、サーバサイドのコードを設計したり書いたりするのも楽しそうだと初めて思ったよ。

Node.jsとは何か、開発者ライアン・ダール氏が語る(前編)~ノンブロッキングとはどういうことか?
いま注目されているサーバサイドJavaScriptの火付け役となったNode.js。その開発者であるライアン・ダール(Ryan Dahl)氏自身がNode.jsを紹介した講演「Introduction to Node.js with Ryan Dahl 」のビデオが公開されています。…  Node.jsを触ってみよう。今日は特にスライドは用意してなくて、タイプしてどんなものかを動かしながら紹介していくつもりだ(注:ダール氏はここで最初に「ノードジェーエス」(Node.js)と言った後は、ずっと「ノード」(Node)で通しています)。…

コンソールの上で簡単に紹介されるプログラミング。
ただ、こんなふうに書いていけばこんなことが出来る、という一見地味なこれ。
久しぶりになんとなくワクワクするコードが書けそう、なんて思ったの何年ぶりかな。
プログラミングというのを覚え始めた時の感覚に近いワクワク感なんですけど。