タグ

Node.jsに関するHHRのブックマーク (129)

  • node.jsとは何か(3) - I am bad at math

    今日はnode.jsで採用しているCommonJSの話である。 CommonJSの説明だけだとあっという間に終わってしまうのでJavaScript歴史を混ぜ込んだら期せずして長くなってしまった。 さて、1995年に発表されたJavaScriptは開発当初「Mocha」と呼ばれ、次に「LiveScript」となり(実際Netscape Navigatorの2.0のアルファ版ではではこの名前だった)、最後にようやくJavaScriptになる(Navigatorの2.0B3から)という変遷をたどった。このJavaScriptという名前っていうのはJavaというコンパイル言語を補完するスクリプト言語にしたいという考えがあったからという話もあるんだけど、そのころ開発元のNetscapeはSunとの業務提携を発表しており、ちょうどそのころJavaが世に出てNetscapeブラウザ上でクールなJava

    node.jsとは何か(3) - I am bad at math
  • node.js とは何か (2) - I am bad at math

    昨日に引き続き、いざ!part2なのだ。 前回では node.js と v8 の結びつきまでを書いたので、今日は Non-Blocking I/O の話を。 Non-Blocking I/O という言葉からブロックしない I/O をイメージするのはたやすい。でもこれを実現しようとなるといろいろとまあ面倒くさいんだよね。 それを解決する常套手段で言うとファイルディスクリプタ(ネットワークならソケットだね)を開いてそれをselectシステムコールの監視対象に加えておき、selectを呼び出すことで監視するっていう方法がある。こうすると何が嬉しいのかファイルディスクリプタが2つある場合で考えてみよう。 まずAとBというファイルディスクリプタを監視対象とする。 selectシステムコールを呼び出し、そのどちらかが読み出し準備完了となっていないかを確認する。 もしどっちも準備できていなかったらプロセ

    node.js とは何か (2) - I am bad at math
  • node.js ハンズオン資料 — node.js hands-on v1.0 documentation

    node.js ハンズオン資料¶ このドキュメントは node.js をハンズオンを通じて学習するためにまとめた資料集です. プログラミングの基を知っている Unix コマンドの基を知っている JavaScriptの基を知っている ことを前提に、node.js 上で動作するプログラムの作成を通じて、node.js を学習していきます。 最新版 ソース オンライン log 2010/10/30 絶賛作成中. 非同期IOメソッドを使う まで完了. 入れてほしいコンテンツがあれば @yssk22 まで.

  • Node.jsがどうして注目されているのか、もしくはどうして他のサーバサイドJavaScriptはスルーされているのか - id:anatooのブログ

    サーバサイドJavaScriptにはNode.js以前にもいくつかの実装がある。ちょっと前に注目されかけたものだと、現在はAppcelerater社に買収されたAptana社が出していたJaxerなどがあるが、きちんと調べるとRingoJsやnarwhalやv8cgiなど選択肢の一つとして数えられるサーバサイドJavaScript実装がいくつかある。ただ、これらはNode.jsのように注目を浴びているわけではない。 Node.jsとこれらの既存のサーバサイドJavaScriptの違いは、他のサーバサイドJSの動作モデルが既存のサーバサイドのものと変わらないのに対して、Node.jsの場合はそうではないから。具体的には、HTTPコネクションのハンドリング戦略が違っていて、既存の動作モデルが1コネクションに対して1プロセス/スレッド消費するのに対して、Node.jsの場合は非同期I/Oを用いて

    Node.jsがどうして注目されているのか、もしくはどうして他のサーバサイドJavaScriptはスルーされているのか - id:anatooのブログ
  • node.js とは何か - I am bad at math

    期せずして久々の更新になってしまった。ブログを書く気がなくなったとかそういうのではなくてただ単に忙しかっただけ。その間、まぁ仕事が予期せぬ方向から炎上してみたり、事故をもらって愛車が全損したり(フロントガラスが全面熱線入りなんていう変なオプションなどを諸々付けていたからお気に入りだったのに)と決して良いことばかりで忙しかったわけではないけどね! で、今回は node.js のお話。異様な盛り上がりを見せているものの、じゃぁそれっていったい何かというと「JavaScriptを用いたNon-blocking I/O環境」という非常にシンプルなものだ。 その根底には「うまくスケールできること」と「動作が速いこと」という理念が見受けられる。 まず「うまくスケールできること(多量のアクセスを捌けること)」を解決するにあたり、まずはスレッドモデルか、イベントループかという問題があった。そこで auth

    node.js とは何か - I am bad at math
  • node.js

    V8 JavaScript を用いたイベント駆動I/Oの実現 全てのリクエストに対して"Hello World"と返答するNodeで書かれたWEBサーバの例です。 var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(8124, "127.0.0.1"); console.log('Server running at http://127.0.0.1:8124/'); このサーバを走らせるには、コードを example.jsというファイル名で保存し、下記のように nodeコマンドを実行してください。 % node example.js

    HHR
    HHR 2010/10/09
  • NodeJS用IDE·Nodify MOONGIFT

    NodifyはJavaScript製のオープンソース・ソフトウェア。最近、サーバサイドのJavaScriptフレームワークであるNodeJSが熱い。多数のソフトウェア、ライブラリが開発されており、Herokuでもサポートが開始されるなど格的になってきている。 NodeJSを遊ぶのにぴったり そんなNodeJSを使って色々遊んでいる人たちに使ってみてもらいたいのがNodifyだ。Webブラウザ上でNodeJS向けのコードを書き、その場でテスト実行できるいわばIDEだ、 Nodifyを立ち上げるとWebブラウザが表示される。後は自由にコードを書き、その場で実行できる。NodeJSのサーバをNodify上から立ち上げることも可能だ。console.logを使えばデバッグメッセージを出力することもできる。Google Chromeを使えばデバッグも可能だ。 Nodify上からNodeJSを実行で

    NodeJS用IDE·Nodify MOONGIFT
  • node.js用MySQLドライバ·node-mysql MOONGIFT

    node-mysqlJavaScript製のオープンソース・ソフトウェア。 サーバサイドJavaScriptが徐々に現実化してきている。大規模なシステムと言うよりも、小規模なシステムを手早く作る上でクライアントサイドとサーバサイドを統一した言語で作れるのは魅力的だ。 JavaScriptからMySQLに接続する その代表例が最近登場したnode.jsだ。Google製のJavaScriptエンジンであるv8を用いて開発されており、高速なサーバサイドJavaScriptを実現する。そしてWebアプリケーションを開発する上では必須とも言えるデータベース接続を実現するのがnode-mysqlだ。 node-mysqlはその名の通り、JavaScriptによるMySQLドライバだ。Ruby製のMySQLドライバのコードを参考にしている。node-mysqlという名前ではあるが、読み込み部分などを

    node.js用MySQLドライバ·node-mysql MOONGIFT
  • v8エンジンによるJavaScriptのWebサーバ·node.js MOONGIFT

    node.jsはJavaScript製のフリーウェア(一部オープンソースのライブラリが入っている)。クライアントサイドとサーバサイド、両方が同じ言語で書ければどれだけ開発工数が低減されるだろうか。Web系の技術者は常にそこにジレンマを感じることだろう。 デモのチャットアプリ 方法は二つ、JavaScriptでサーバサイドを実装するか、GWTのようにJavaScriptを覆うかだ。node.jsはJavaScriptでサーバサイドを実装する。特徴的なのはそのエンジンとしてGoogle製のv8エンジンを採用していることだろう。さらにnode.js自体がポートをリッスンし、Webサーバとして動作するのが特徴だ。 独自でWebサーバを用意しているからだろうか、動作は軽快だ。チャットアプリケーションがデモとして用意されているが、レスポンスはとても良い。サーバサイドの実装と合わせて同一言語で開発できる

    v8エンジンによるJavaScriptのWebサーバ·node.js MOONGIFT
    HHR
    HHR 2010/09/25