node.jsに関するeiji110のブックマーク (17)

  • Node.js-v0.10リリースアナウンスの簡単な解説と感想など - ぼちぼち日記

    1. はじめに、 昨年6月末に node-v0.8がリリースされて8か月半ほど経って node-v0.10 がリリースされました。私もいくつかパッチがこのリリースに採用されていまして、ちょっと感慨深いです。 当初1月末のリリース予定でしたが、やっぱり今日まで延びました。安定版リリース直前のゴタゴタはもうNodeの風物詩なんですね。 今回、Node-v0.10のリリースにあたり、 isaacs から次のリリース文 http://blog.nodejs.org/2013/03/11/node-v0-10-0-stable/ がポストされています。英語かつ長文なので内容をちゃんと読み切れな方もいらっしゃるかと思いますので、リリース文の項目にあわせて私の視点で簡単な解説と感想などを書いてみます。(ちゃんとリリース文を理解された方はわざわざお読みにならなくても大丈夫です。) 尚、このリリースはこれ以

    Node.js-v0.10リリースアナウンスの簡単な解説と感想など - ぼちぼち日記
  • 3分でCentOS6にnvmとnode.jsをインストールする方法 · DQNEO日記

    node.jsをrpmで入れるかnvmで入れるかnaveで入れるかソースからコンパイルするかくよくよ迷ってたのですが、nvmでやってみたらあっさりできました。 案ずるより産むがやすしですね。 # インストール curl https://raw.github.com/creationix/nvm/master/install.sh | sh # 読み込み source ~/.nvm/nvm.sh たったこれだけ!! 感動ものです。 zsh使いの人は、上記に加えて~/.zshrcに下記1行を追記しておきましょう。 [[ -s ~/.nvm/nvm.sh ]] && . ~/.nvm/nvm.sh 1分でわかるnvmの使い方 nvm ヘルプが出ます。 nvm ls-remote インストール可能なバージョン一覧が表示されます。 nvm install v0.9.11 指定したバージョンのnode

  • node.jsのいろいろなモジュール18 – Domainでエラー処理をうまく扱う | DevelopersIO

    非同期処理中のエラー処理 node.js用の以下のコードは、ファイル読込中になんらかのエラーが発生した場合、期待したとおりに動くでしょうか? var fs = require('fs'); try { //ファイル読み込み処理 fs.readFile("something-file", "utf-8", function (err, data) { if (err) { //エラーがあったら例外をスロー throw err; } console.log(data); }); } catch (err) { //エラー処理を行う console.error(e); } catchブロックでreadFileのエラーをハンドリングしてほしいところですが、 非同期コールバック中のエラーを受け取れないので、期待した結果になりません。 では、非同期処理中に発生したエラーはどのようにハンドリングすればよ

    node.jsのいろいろなモジュール18 – Domainでエラー処理をうまく扱う | DevelopersIO
  • http://nodejs.jp/nodejs.org_ja/docs/v0.6/api/index.html

  • Backbone.jsでNode.jsとクライアントサイドのロジックをイケてる感じで共通化する - Webtech Walker

    Backbone.js Advent Calendarの12日目です。 Backbone.jsを使ってNode.jsとクライアントサイドのJavaScriptでロジックを共有する方法について書いてみます。 Node.jsといえばチャット。チャットといえばSocket.IOということでSocket.IOを使ったチャットを例にしてみます。 例えばチャットの一回の文字列の上限を140文字にしたいとします。その場合クライアント側でもサーバー側でも同じバリデーションのロジックを実装するのは面倒ですし、上限値が変更になったときに2箇所変更するのはイケてないですね。そこでBackbone.jsを使ってその部分のロジックを共通化する方法を考えてみます。 Backbone.jsはnpmでインストールできるのでまずはBackbone.jsとSocket.IOをインストールします。 $ npm install

    Backbone.jsでNode.jsとクライアントサイドのロジックをイケてる感じで共通化する - Webtech Walker
  • node.jsのいろいろなモジュール17 – asyncで非同期処理のフロー制御 | DevelopersIO

    node.jsでの関数呼び出し 非同期処理 node.jsはnon-blocking処理を行うため、関数によってはプログラマの意図しない順番で処理が実行されることがあります。 次の例をみてください。プログラムの開始をconsole.logで出力後、ファイルを読み込んで内容を出力、 最後にプログラム終了をconsoke.logで出力しています。 //app.js var fs = require('fs'); console.log("start"); //ファイル読み込み fs.readFile("hello.txt","utf-8",function(err,data) { console.log(data); }); console.log("finish"); 上記プログラムを自分の環境で実行した結果は次のようになってます。 startとfinishが表示され、ファイル内容は最後に表

    node.jsのいろいろなモジュール17 – asyncで非同期処理のフロー制御 | DevelopersIO
  • Node.jsアプリ開発で参考になる記事 まとめ | DevelopersIO

    最近は弊社のブログにもNode.js関連の記事が増えてきました。私も勉強中なのですが、社内ブログを参考にさせてもらうことがよくあります。 毎回探すのもちょっと面倒なのでClassmethid.dev()内のNode.js関連の記事をジャンルごとにまとめてみました。 1年以上前の記事もあり、情報が古い可能性があるので注意して下さい。今後も新しい記事が追加されたら更新していこうと思います。 メール送信 node.jsのいろいろなモジュール3 - Nodemailer node.js上から簡単にメールの送信ができるモジュールの記事です。 ファイル関連 node.jsのいろいろなモジュール1 - node-gzip node.js上で簡単にgzip圧縮ができるモジュールの記事です。 node.jsのいろいろなモジュール4 - Node Basic FFmpeg ffmpegという動画と音声を変換す

    Node.jsアプリ開発で参考になる記事 まとめ | DevelopersIO
  • Node.jsアプリで結果が非同期になる箇所はコールバックを渡せるようにした方がいい - yo_waka's blog

    既存のNodeアプリのテストを書いていて思ったことをメモ。 書いてるうちに別にNode.jsに限った話じゃなくて、JavaScript全般に言える話じゃんと思ったけどまいっか。 Node.jsで書くアプリは中の処理で非同期API使われてると、テストを書くのがとても難しいというかめんどくさい。 例えばfsモジュールで非同期でファイル書いてる処理があって、もし書き込みに失敗したらエラーイベントを投げて上のレイヤーで処理する、みたいなのがあるとする。 // HogeクラスはEventEmitterを継承している Hoge.prototype.writeFile = function(file, data) { var self = this; fs.writeFile(file, data, function(err) { if (err) { self.emit('error.file', e

    Node.jsアプリで結果が非同期になる箇所はコールバックを渡せるようにした方がいい - yo_waka's blog
  • Socket.IO API 解説 - Block Rockin’ Codes

    追記 11/7/31 Socket.IO v0.7 解説を最初に途中までで出す。 11/8/1 だいたい全部新機能なので '(新機能)' って書くのやめた。 11/8/4 オプションの設定周りを追記 11/8/6 認証周りを追記 11/8/12 スタンドアローンのサンプルを追記 11/9/27 Socket.IO v0.8 対応について追記 11/9/27 タイトルを Socket.IO API 解説に変更 11/9/27 翻訳サイトリンク追加 公式マニュアル翻訳サイト そういえば公式サイトの翻訳をフォークしたリポジトリで、それなりの更新頻度でやってます。 リポジトリの wiki も地味に訳しててこっちは結構役に立ちます。記事と合わせてどうぞ。 家 http://socket.io/ 翻訳ページ http://jxck.github.com/socket.io wiki https:/

    Socket.IO API 解説 - Block Rockin’ Codes
  • Socket.IO: the cross-browser WebSocket for realtime apps.

    What is Socket.IO? Socket.IO は複数の通信メカニズムを抽象化することで、 全てのブラウザ、デバイスでリアルタイムアプリを実装可能にするために開発されました。 とても手軽にリアルタイムなアプリを 100% JavaScript で作成可能です。 Server var io = require('socket.io').listen(80); io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); }); Client <script src="/socket.io/socket.io.js"></script

  • node-mysqlでトランザクションを使う方法 - memo.yomukaku.net

    Node.jsでnode-mysql(https://github.com/felixge/node-mysql)を使ってMySQLを使用する際に、トランザクションを使用して複数のステートメントを実行し、成功したらcommitを、失敗したらrollbackを行う方法を書きます。使用するテーブルについて 次のER図であらわされるようなusersテーブルとschedulesテーブルを例に用います。 Userと別のuserのミーティングのスケジュールを予約するようなアプリで使用するDBの中のテーブルです。 この設定の中で、あるuserを削除した場合にこのuserに紐づいているscheduleも削除し、なんらかのエラーが発生した場合にはrollbackするような一般的なtransactionを使用した処理をnode-mysqlを用いて書くことが目的です。 なお、InnoDBのテーブルを使用している

  • node.js 入れるなら nodebrew が超簡単 - tacamy--blog

    node をバージョン別に使い分けたりしたかったので、nodebrew なるものを使うことにした(hokaccha++)。 最初は nvm 使ったんだけど、なんかうまくできなかった。 ~/.bashrc に設定書いたら、ターミナル起動するたびに nvm use v0.8.19 とか出てくるのがイラっとしたのでやめた。 1. nodebrew のインストール ターミナルに以下の 1 行コピペするだけ。超簡単。 curl https://raw.github.com/hokaccha/nodebrew/master/nodebrew | perl - setup 2. 環境設定ファイルにパスを通す いまだに「パスを通す」っていう意味が分かってないけど、これをやらないと、ターミナルを再起動したときに、せっかく入れたツールが使えなくなるっていう認識でおります・・。 私は ~/.bashrc を使っ

    node.js 入れるなら nodebrew が超簡単 - tacamy--blog
  • node.js の環境管理ツール nodebrew - Block Rockin’ Codes

    intro nodebrew は バージョンアップの速い node.js を、複数バージョン管理するためのツールです。 ruby の rvm や、 python の virtualenv、 perlperlbrew などの node.js 版と思ってもらえれば良いです。 自分はこれまで nvm を使っていたんですが、今年初めあたりから全てのマシンで nodebrew に乗り換えました。 今日はこの nodebrew を紹介します。 既存の node.js の環境管理 既存の、ものとしては nvm nave n nodeenv などがありました。 それぞれにあった問題については、過去に愚痴を書いています。 簡単にまとめると以下です。 nvm bash向けに書かれてて、zshなどと相性が悪い場合がある。 nave node へのパスを通した子shellを起動するタイプで、子shellとい

    node.js の環境管理ツール nodebrew - Block Rockin’ Codes
  • pxsta's blog » socket.io-clientを用いてExpress+Socket.IOで作ったサービスへ同時接続テストを行う

    Express3.x(connect2.3+)とSocket.IOでのセッション管理とmochaとsuperagentでexpressを使ったサービスのログイン周りのテストの続き。 今回はsocket.ioの同時接続のテストについて。今回は 1000人同時接続が出来るか 正しくメッセージのやりとりが出来るか(チャットなので) ログイン済みユーザーのみが接続できるか のテストを行なってみました。 socket.io-clientを用いれば、コンソールから同時接続のテストが簡単に出来ます。 ただし、環境によってはOS自体のファイルディスクリプタの最大数を引き上げないと1000人同時接続は難しいです。 ソースコード 今回は今までのを全て含めたものをgithubに上げています。 pxsta / express-socket.io-chat-test 今回の環境 Mac OSX 10.7.4 Lio

  • Tower.jsのnpm ERR! にはキャッシュを疑え。

    Tower.jsに限った話ではないのですが。 npm install でエラーが出て、update や uninstall を繰り返していると、今までインストールできていたパッケージがインストールできなくなったりします。 僕の場合、design.io や tower のインストールでこんなエラーが多発してどうしても治りませんでした。 $ npm install -g design.io npm http GET https://registry.npmjs.org/design.io npm http 200 https://registry.npmjs.org/design.io npm http GET https://registry.npmjs.org/design.io/-/design.io-0.3.0-6.tgz npm http 200 https://registry.n

    Tower.jsのnpm ERR! にはキャッシュを疑え。
  • node-mysql – なんてこったい

    node.jsアプリからmysqlデータベースにアクセスするには、node-mysqlを使います。 node-mysqlのインストール node-mysqlはnpmからインストールできます。コマンドラインから使うものではないので、globalでインストールする必要はありません。 npm install mysql あとはnode-mysqlを使いたいプログラムで require('mysql') すればOK。PATHが通っていればmysqlのインストール場所等は特に設定しなくても問題ないようです。 クライアントの作成 データベースへのアクセスはclientオブジェクトを通じて行います。clientオブジェクトはcreateClient関数で作ります。データベースへのアクセスに使用したいアカウント情報を引数で指定できます。 var mysql = require('mysql') var c

  • MySQLで書いてあるDBをNode.jsから利用する - Qiita

    事務所のMySQLで書いてあるDBをNode.jsで利用しようと思って、今日は node-mysql https://github.com/felixge/node-mysql を使ってみました、の巻。 インストール node-mysqlのREADMEには、npm install mysql@2.0.0-alpha3 と書いてありますが、 試しに npm install mysql とやると mysql@0.9.6 が入ってしまいます。 でも、-alpha3って微妙に嫌だなぁ、と思いつつnpm install mysql@2とするとやっぱり mysql@2.0.0-alpha3が入るのでした。まいっか。 コードを書く 今日は、今使ってるDBへのアクセスだけなのでとりあえずこんな感じ。 データベース piyo_db テーブル piyotable このMySQLテーブルのUserNO が '0

    MySQLで書いてあるDBをNode.jsから利用する - Qiita
  • 1