そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する
![そうだったのか! よくわかる process.nextTick() node.jsのイベントループを理解する](https://cdn-ak-scissors.b.st-hatena.com/image/square/de1f3b884f20d415cea849e40b14de40c25db624/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fprocess-nextticknode-js-120626203514-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Nodeの組み込みモジュール・サードパーティモジュール問わず広く使われるのが EventEmitter オブジェクト。 これはNodeで使われるデザインパターンの筆頭みたいなものなので、知っておかねばならない。 ドキュメント: Events ブラウザ上のJavaScriptで addEventListener を使ってイベントドリブンの開発を行うが、Node上でそれを行うのための機能を提供するのが EventEmitter。 例えば次のように使う var EventEmitter = require('events').EventEmitter; function asyncFunc() { var ev = new EventEmitter; console.log('in asyncFunc'); setTimeout(function () { ev.emit('done', 'fo
昨今注目を集めているWebアプリケーションプラットフォームの1つに、「Node.js」 がある。Node.jsはJavaScriptでWebアプリケーションのサーバーサイドプログラムを実装できる技術で、高いスケーラビリティが特徴だ。本記事ではNode.jsの基本的な知識やフレームワーク「express」を用いたWebアプリケーション作成方法を紹介する。また、Webブラウザ上で動作するIDE「Cloud9 IDE」を用いてNode.jsアプリケーションをWindows Azureで実行させる方法についても解説する。 JavaScript、そして非同期・シングルスレッドで注目を浴びるNode.js Node.jsはJavaScriptでWebアプリケーションのサーバーサイドプログラムを実装できる技術で、開発プロジェクトのスタートは2009年と、比較的その歴史は浅い。しかし、ここ数年でプロジェク
Simon Willisonによる2009.11.23のブログエントリ Node.js is genuinely exciting Node.jsの詳しいレビュー。速い理由はV8だけじゃない、等々勉強になる。 以下斜め読んだ内容 Evented I/Oとは? イベントドリブンなサーバーは、従来のスレッド/ブロックメカニズムへのオルタナティブ スレッド/ブロックメカニズムはサーバーサイドプログラミングで主流 おさらい:よくあるWebフレームワークの動き 利用できるサーバーのスレッド・プロセスからの命令で、少数のリクエストを同時にさばく 長時間かかる処理は利用できるスレッド1つと結びつく 利用できるスレッドがなくなればサーバーは応答しなくなる。 大規模なトラフィックをさばくときは、できるだけ早く処理して、割り当てたスレッドを開放して、順番待ちしてる処理へ渡さないといけない よくあるWebフレー
本稿では、Node.jsの特徴や動作原理に触れ、サンプルや役に立つパッケージ、活用事例などを紹介したいと思います。 主なサーバサイドJavaScript Node.jsに触れる前に、予備知識として他のサーバサイドJavaScriptにも触れておきます。Node.js含め、サーバサイドJavaScriptには、主に以下のようなプロジェクトがあります。 サーバサイドJavaScripの標準仕様「CommonJS」とは サーバサイドJavaScriptには、「CommonJS」と呼ばれる標準化が策定されています。標準化というと難しい感じがしますが、要はサーバサイドでJavaScriptを実行するのに何が必要かを仕様として、定義しているドキュメントのことです(例えば、「ログが必要だよね」など)。 Node.jsは、このCommonJSに則って開発されています。現段階であれば、CommonJSの仕様
node.js を代表とする JavaScript を用いた非同期プログラミング環境においては、コーディングパターンのベストプラクティスが共有されておらず、結果として品質の低いコードが多くなるという問題があるように思います。そこで、特にエラー処理をどう書くべきか、既存のライブラリを使う方法を紹介してみることにしました。 いきなりですが、ファイルの文字数を返す関数を作ることを考えてみます。Java だと以下のような感じになるでしょうか。countChars メソッドに注目すると、エラーを例外として扱っていて、モジュラーかつ簡潔になっていることがわかります。 class FileCounter { static long countChars(String filename) throws IOException { FileInputStream is = new FileInputStre
id:kazuhooku さんの記事 node.js におけるエラー処理のコーディングパターン (もしくは非同期 JavaScript における例外処理。 ナイスです! なんと素晴らしいタイミングでのブログでしょうか! 「東京Node学園 5時限目」で id:koichik さんのプレゼンで node-v0.7.8 から isaacs 版 Domain が導入されるという発表がありましたが、予定通り昨日 Domain 機能付きの node-v0.7.8 がリリースされました。 しかもDomain のドキュメント付きです。 http://nodejs.org/docs/v0.7.8/api/domain.html ちょうど id:kazuhooku さんの記事の例は node.js の新機能 Domain を教科書通りに適応するとどうなるのか紹介するのにぴったりのお題なので Node.js
UPDATE: Broke the 250k barrier, too :] The node.js powered sprites fun continues, with a new milestone: That’s right, 100,004 active connections! Note the low %CPU and %MEM numbers in the picture. To be fair, the CPU usage does wander between about 5% and 40% – but it’s also not a very beefy box. This is on a $0.12/hr rackspace 2GB cloud server. Each connection simulates sending a single sprite ev
モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲームの歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く