タグ

node.jsとNode.jsに関するy-kawazのブックマーク (160)

  • Node.jsスクリプトの複数プロセス化を試してみました

    こんにちは、中川です。 今回もPHPには一切触れないで、node.jsについて書いていこうと思います。 node.jsといえば、サーバサイドのV8で動作するJavaScriptのため、 通常、シングルスレッドでの動作となります。 ただ、そのまま使ってしまうと、最近のマシンはマルチコアが当たり前なため、 1コアだけ使うようなプログラムではもったいないということがありますね。 そこで、node.jsでもスクリプトを複数プロセス立ち上げ、 マルチコア環境でも有効に利用できるようにしてくれるモジュールを色々試してみました。 ■環境 Ubuntu10.10 Node v0.4.0 ・spark2@2.0.11 ・cluster@0.2.4 ・fugue@0.1.1 ・multi-node@0.2.2 ※ポート: 3000番 ※Worker数: 2個 // server.default.js var 

    Node.jsスクリプトの複数プロセス化を試してみました
  • Node.js | Joyent

    Unix ライクなサーバ上で拡張可能なネットワーク プログラムを記述するための、シングル スレッドのイベント型 I/O フレームワークを開発するオープン ソース プロジェクト。 Node.js は、Joyent がスポンサーとなり、Joyent 社のライアン・ダールが管理して行なうオープン ソース プロジェクトで、Google V8 JavaScript エンジン上に構築されます。これは、JavaScript 開発環境を提供するもので、I/O のすべての実行メソッドおよび非同期メソッドに、イベント ループを使用します。このモデルは、OS スレッドが複数のリクエストを同時に処理し I/O が同期する、現在のより一般的な並行処理プログラミング モデルとは対照的なものです。 Node.js では、複数の状態を同時に管理するようスレッドを割り当てるシステムと比べて、負荷が大きい場合に、メモリ効率が

  • ATNDのリマインダーをNodeで書いてみた - 自分の感受性くらい

    Node.jsの正式名称はNodeということらしいので、これからはNodeと表記しますね。 今日、「Node.jsの飲み会」というイベントをやるんですが、信頼のドタキャン率を誇るATNDで募集していたので、ATNDのアカウントをTwitterとひもづけてる人に対してTwitter経由でリマインダーを送るプログラムをNodeで書いてみました。 var request = require('request'), qs = require('querystring'), OAuth = require('oauth').OAuth, settings = require('./settings'), oauth = new OAuth( 'https://api.twitter.com/oauth/request_token', 'https://api.twitter.com/oauth/ac

    ATNDのリマインダーをNodeで書いてみた - 自分の感受性くらい
    y-kawaz
    y-kawaz 2011/02/27
    来てましたー
  • naveで簡単!node.jsの導入メモ (Ubuntu) - Mach3.laBlog

    この記事は賞味期限切れです。(更新から1年が経過しています) 「nave」というのはnode.jsを導入するためのシェルスクリプトです。 インストールを簡略化してくれるだけでなく、 複数のバージョンを切り替えて起動する事が出来る優れもの。 今回のお題は、naveでnode.jsを導入する覚書など。 nave.shの導入 isaacs/nave – GitHub 私はノートのUbuntuで導入してみましたよ。 nave.shはGitに乗っかっているのでcloneしてくれば良いです。 導入先は、俺々ルールに則った~/opt/に。 cd ~/opt/ git clone http://github.com/isaacs/nave.git とりあえず最新版のnode.jsを入れてみる cd ~/opt/nave/ ./nave.sh install latest 基的にnave.shに引数を渡し

    naveで簡単!node.jsの導入メモ (Ubuntu) - Mach3.laBlog
    y-kawaz
    y-kawaz 2011/02/26
    それなんてnvm?
  • Node.jsについてのよくある誤解 - 自分の感受性くらい

    Node.jsは普及しそうに無い: ニュースの社会科学的な裏側 http://anlyznews.blogspot.com/2011/02/nodejs.html という記事があったので、もしかしたらいい感じにNode.jsについてのよくある誤解がここに網羅されてるんじゃないかと思ってエントリを書きます。決して顔真っ赤にして反論してるわけじゃないよ! で、まず 理由は簡単で、Googleがリリースしたアプリケーション・サーバーであるnode.jsが、JavaScriptとその実行エンジンを基とした構成となっており、その性能が高いからだ。 とありますが、Node.jsはGoogle製ではありません。Node.jsがベースとしているJavaScriptのV8エンジンはGoogle製(のオープンソース)ですが、Node.js自身はJoyentという会社のサポートによって作られています。メインコ

    Node.jsについてのよくある誤解 - 自分の感受性くらい
    y-kawaz
    y-kawaz 2011/02/21
    あー、この元記事ね。無知と思い込みが激しくてイライラしてたが突っ込んでもらってすっきりした。
  • InfoQ「Ryan Dahlに45分間Node.jsのことを訊きまくった」 - 以下斜め読んだ内容

    infoQ 2010.12.13公開のインタビュー記事 2010.12.16聞き手の質問書き足して、10分くらいまで書いた InfoQ: Deep inside Node.js with Ryan Dahl Node.jsクリエータRyan Dahlへの45:15のロングインタビュー 2010.11開催のQCon San Francisco 2010でRyanもスピーカーの一人として参加してたので、合間に収録されたインタビューと思う。 トランススクリプトが公開されてて助かるがtypoが多い whatがwasになってたりdomはdomeになったり、jsdomが "JS DOM"になったり 動画みて適宜 入門的な話題はほどほどにしてて結構突っ込んだ内容話してる その結果、結構歯が立たない箇所ばかり。けどなんとか斜め読んだ 聞き手は@synodinos 以下斜め読んだ内容 要旨 Node.jsの

    InfoQ「Ryan Dahlに45分間Node.jsのことを訊きまくった」 - 以下斜め読んだ内容
  • node.jsに関する基礎や開発・チュートリアルのまとめ:phpspot開発日誌

    node.jsに関する基礎やチュートリアルのまとめ。 リアルタイムなWEBを実現するには必須のサーバサイドJS、node.jsについて色々とまとめてみました。 node.js node.jsについて node.js なんとなく凄そうだけどよく分からないという方も多いかもしれないので簡単に解説。 一番最初見た時は何かのJavaScript ライブラリかと思ったのですが、全く違って、V8というChromeにものっている高速JavaScriptエンジン上で動くサーバを動かせる仕組み。 サーバ自体を具体的に言うと次のようなコードで実現します。 var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain

  • node.jsとjQueryでスクレイピングするウェブアプリの作り方

    やっぱ jQuery 便利ですよ(*´・ω・)(・ω・`*)ネー セレクタ使って jQuery でダカダカやってると、DOM とか正規表現でネチネチやるのがバカらしくなっちゃいます。 と日頃から思ってたりしてまして、サーバサイド JavaScript がメインストリームになって、jQuery でウェブアプリをコーディングできれば超ラクできるかもと期待しています。 で、先日サーバサイドJavaScriptとjQueryでスクレイピングという記事をうpったところ、やっぱ Rhino じゃなくて node.js がえーんよ(´・ω・`)というコメントを頂きましたので、node.js と jQuery でサーバサイド JavaScript スクレイピングしてみることにしました。 今回は node.js ですので、単にスクレイピングする(コマンドラインから実行する)スクリプトだけじゃなくて、スクレイ

    node.jsとjQueryでスクレイピングするウェブアプリの作り方
    y-kawaz
    y-kawaz 2011/02/01
    余計なscriptタグの無視と、何より文字コードのケアがしてあるのが素敵。
  • 絶賛開発中 - Web屋の人の日記 || WebJourney 開発ログ

    今こんなのを作っています。 exports.setup = function(site, done){ site.all('/posts/admin/*', oauth.requiredWith('twitter')); site.install('posts', function(app){ var posts = app.model; site.get('/', $.title('Home'), posts.byTag('news'), $.render('index.ejs')); done(); }); } node.js とCouchDB で動く、アプリケーションコンテナ的な何か。 フロントエンドからサーバーサイド、果てはデータベースまですべてJavaScriptでやってやろーじゃん、的な勢いで。 普通にアプリを作るだけならCouchDBだけでもいいんですが、認証情報を持ちたくな

    絶賛開発中 - Web屋の人の日記 || WebJourney 開発ログ
    y-kawaz
    y-kawaz 2011/01/04
    発想が良い感じ。期待。
  • HTTP と WebSocket でセッションを共有する

    こんにちは、 nodejs.jp の @masahirohです。 JavaScript Advent Calendar の最終日です。クリスマスだけど空気を読まずに Node.js の地味な話をします。ごめんなさい。 さて、 Node.js では Socket.IO を使えば、 WebSocket を使ったアプリケーションを割と簡単に作れるわけですが、これを Web フレームワークと一緒に使う場合、どうやってセッションを共有したらいいんだろう?とふと思いました。ユーザ名とパスワードをメッセージにのせたらいいんですかね? いや、セッション ID をメッセージにのせればいいのかな? うーん・・と思いながら Github をうろうろしていたら SessionWebSocket というアプリケーションを見つけました。セッション管理機能を追加する方法が結構参考になったので、コードリーディングをします

  • Node.jsの本を書いています - 自分の感受性くらい

    先日のFirefox Developers Conference 2010でもチラっと触れましたが、現在node.jsのを書いています。 執筆陣は@atsuya, @bad_at_math, @Jxck_, @KOBA789, @koichik, @masahiroh, @meso, @nsyee, @yssk22の9名で@jedschmidtと@t_wadaにもお手伝いをしてもらっています。 世界初のnode.jsとすべく http://developer.yahoo.com/blogs/ydn/posts/2010/11/announcing-a-node-js-book-project/ よりも早く出版できたらいいなって思ってますが、それ以上に内容の濃いものをお届けできるようみんなで努力しています。 楽しみにしていてください。 ちなみに、執筆陣の最年少は現役中学生です。最年長は(

    Node.jsの本を書いています - 自分の感受性くらい
    y-kawaz
    y-kawaz 2010/12/01
    期待してます。
  • 2010-08-14

    CouchDB をメインのアプリケーションサーバーとして使っているものの、サーバーサイドで他のサービスと連携したいときにはちょっと不便さを感じてしまいます。 そういうときは、イマドキ?のWeb Frameworkの上で、CouchDBをデータベースとして扱えば良いんですが、CouchDB のアプリと密に連携する(一部の機能のためだけだから)ためには言語も同じにした方が良いだろう、ということで、node.js を使い始めています。 とりあえず、認証をtwitterに任せよう。 CouchDBでアプリ作った場合、ユーザーDB自体はCouchDBに保持されます。。これはちょっとやだ。CouchDBのインスタンス毎にユーザー抱えるとか。。。 で、イマドキ、ということで、twitter を認証サーバーとして使うんです。OAuth ができればOKってことで。 PHPとかPythonとかRubyとかJa

    2010-08-14
    y-kawaz
    y-kawaz 2010/10/31
    npmモジュールの作成と公開の仕方。
  • HowTo: Install node.js on Mac Snow Leopard with Express : Florian Kubis

    This is the first part of some basic howto on using node.js on Snow Leopard. At the end of this Tutorial you will have an Expressjs App running on your Mac with the famous “hello world”. Prerequisites: Installed XCode (it’s also on your install DVD) Installed Macports Now open Terminal and go through the next steps: 1. First install node.js through macports: $ sudo port selfupdate $ sudo port i

  • ExpressとSocket.ioを使ったチャットサンプルを永続化 - 自分の感受性くらい

    このエントリはリアルタイムWebハッカソンのハンズオン資料その5です。 今回は、前回のチャットサンプルのチャットログを永続化してみましょう。 node.jsは様々なデータストアと連携することができます。 MySQL, PostgreSQLなどのRDBMSももちろん可能ですが、やはりCouchDB, MongoDB, RedisなどのいわゆるNoSQLと呼ばれるものと連携させるのが人気のようです。 特にJSON形式でそのまま格納することのできるデータストアは、JavaScriptから扱うのに都合がいいというのは言うまでもないと思います。 もちろん、node.js製のデータストアエンジンもいくつかあります。有名なのはnStoreでしょう。 今回はdirtyというライブラリを使います。理由は僕が使ってみたかったからです。 インストールは $ npm install dirty で終わり。 ……の

    ExpressとSocket.ioを使ったチャットサンプルを永続化 - 自分の感受性くらい
  • Dirty - How simple is your database?

    The document discusses Dirty, a simple in-memory NoSQL database written for Node.js. Dirty stores data as JSON documents in an append-only log on disk and supports common CRUD operations through a simple JavaScript API. Benchmarks show Dirty can process millions of operations per second but hits scaling limitations with over a million records as it keeps all data in memory. The document explores p

    Dirty - How simple is your database?
    y-kawaz
    y-kawaz 2010/10/28
    node.js飲み会で話題になってた奴はコレか、あとで試す。
  • 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
  • cygwin上でnodejsとnpmとCoffeeScriptなどをインストールする - ラシウラ

    (追記: nodejsのバージョンが0.2時代のやり方です。0.4.8でのやり方はnaveを使ったnode.jsインストールと、最近のnpmの使い方 - ラシウラに書きました) (まとめ)コマンドラインJavaScript環境nodejsと、そのパッケージマネージャnpmをいれ、npmからスクリプト言語CoffeeScriptを入れる手順です。CoffeeScriptというのは、rubyベースでpython風味を付け足したような文法のJavaScript環境で動く言語です。以下すべてWindow7 Home Premium x64上で行っています。 nodejsのインストールの仕方は、Building node.js on cygwin (windows) · nodejs/node-v0.x-archive Wiki · GitHub にあり、結果的にこの手順で可能です。 注意点は以下:

    cygwin上でnodejsとnpmとCoffeeScriptなどをインストールする - ラシウラ
  • node.js とは何か - I am bad at math

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

    node.js とは何か - I am bad at math
  • WebSocketで目指せ“リアルタイムWeb”!第1回 node.jsの衝撃とWebSocketが拓く未来 - @IT

    ご挨拶 こんにちは、ロンドンのNew Bambooという会社でWebエンジニアとして働いている@makoto_inoueです。ここのところ、PusherというWebSocketのクラウドサービスの開発に関わっています。今回から3回に渡ってWebSocketに関する短期連載を担当させていただきます。 私を含めたNew Bambooの面々(我々は自分たちのことをBambinoと呼んでいます)がWebSocketになぜ興味を持ったかということからはじまり、実際にクラウドサービスを始めるまでにいたったストーリーをお話ししたいと思います。そのストーリーを通じて、WebSocketが切り開く「リアルタイムWeb」な世界への可能性や技術的課題を皆さんと共有できればと思っています。

    WebSocketで目指せ“リアルタイムWeb”!第1回 node.jsの衝撃とWebSocketが拓く未来 - @IT
  • 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

    y-kawaz
    y-kawaz 2010/09/06
    サーバサイドJavascript