node v0.3.1 から導入された VM モジュールって何さ
事の始まり
- あ、そういえばローカルの node が v0.3.0 だった。アップデートしようっと。
- 何が変わったんだろう。とりあえず Change log 読むか。
- VM Module? なんじゃそら。もしかして別スレッドでコード走ったりする?
- 実験してみよう!
というわけで実験
こんなコードを書いてみた。
var vm = require('vm'); console.log('start'); vm.runInNewContext('while(true){}'); console.log('end');
vm.runInNewContext というのは引数に渡された文字列をJavascriptとして実行するもの。evalと同じような感じ。
このコードを実行し、"start"の直後に"end"が表示されれば別スレッド、無限ループに突入したら同スレッド、ということになる。
タイトルの呼び方について
ちょっとしたネタを仕込んでいるのは内緒だよ!
笑いどころなんだからねっ!
以下、とある鯖管の実験記に代わりまして、「さて、今日はどんなものをつくろうか」がお送りします
タイトル変更
ブログのタイトルを変更したよ! でも特に意味は無いよ!
呼び方
「さて、今日はどんなものをつくろうか」
なのでどんつくとかでどうだろう。まぁ、呼び名なんてどうでもいいんだけどね。
A4クリアファイルの話
今、世間ではランドセルにA4のクリアファイルが入るだの入らないだのという話が話題になっているとかいないとかで。
別に入っても入らなくてもランドセルを使うことのない自分にとってはどうでもいいことなのだろうけれど、140文字では伝えきれない「モヤモヤ」みたいなものを感じたので、このブログに投下しておく。本当は増田でもよかったんだけどね。
ということで自分が小学生だったころを思い出してみた。つまりランドセルにお世話になっていた時だ。その時の自分はB5のクリアファイルを使っていたはずだ。これはもちろんA4のクリアファイルを入れることができないからで、別に不便に思うこともなく、当然のことだった。
パソコンの普及に伴ってA4のプリントも増えていた。Microsoft Wordで普通に文書を作るとA4になるからね。文部科学省やら市の教育委員会やらから回ってくる文書は大抵A4だった。そのようなプリントはB5のクリアファイルには入らない。当然だ。サイズが大きくてはみ出してしまう。でも自分は、というより他の人もそうだったが何の疑いも持たずに二つ折りにして入れていた。
でもこの「折る」という動作は小さな手で綺麗に折るのはなかなかに難しい。でも1年も続けていれば普通にこなせるようになるものだ。逆に、紙を「折る」という作業は経験していないと難しいのだ。綺麗に折れないし、時間もかかってしまう。
つまるところ何が言いたいのかというと、A4クリアファイルがランドセルに入るようになり、A4のプリントがそのまま――折らなくても入れられるようになると、紙をマトモに折れない子供が増えるのではないか、ということ。言い過ぎかもしれない、というか言い過ぎだが、せっかくゆとり教育が改善されるというのに指が"ゆとり"になるんではもったいないなぁ、と思っただけ。別に自分は困らないんだけどまた大人たちが(というか自分たちの世代かな)が、いつぞやの小刀で鉛筆を削れない云々よろしく「最近の若いのは紙もマトモに(ry」とか言い始めたりするのは嫌だなぁ、と。
加害者の行いが招いた結果について被害者にケチをつけるのはよくないよね。自分も気を付けないと。
俺がダブルクオートをやめた日
HTMLを含む文を出力するときに便利だと気づいたから。
文字列比較の速度
比較、というか文字列(str)が空かどうかを確かめるときの速度。
環境
- 言語
- OS
- 処理系
- node.js v0.3.0
結果
速い順に
- str.length == 0
- !str
- str == ""
でした。
3番目は文字列が短い時には1に並んで高速ですが、文字列が長くなるにつれて低速になります。