タグ

node.jsに関するk1LoWのブックマーク (47)

  • captureme — CLI utility that helps you capture screenshots via browsers in the cloud

    Requirements Node.js >= 0.10 npm Installation capturme is available on npm and should be installed globally: $ npm install captureme -g Setup captureme uses SauceLabs under the hood, so you'd need to sign up if you don't have an account yet. After that, configure the authentication credentials you'd like to use: $ export SAUCE_USERNAME="user" $ export SAUCE_ACCESS_KEY="key" Capture sreenshots Usin

  • バナナでポン:node.js:同時接続してるクライアントを増やし続けてみたときのメモ

    2011年10月08日 node.js:同時接続してるクライアントを増やし続けてみたときのメモ node.jsに接続しっぱなしなクライアントを増やすとどうなるかテストしてみた。 知りたかったのはメモリやCPUの使用量がどうなるか、接続件数はいかほどまでokか、といったこと。 接続数をどやって増やすかについてはいい案が浮かばなかったので、ボタンを押すと窓が何個も開くブラクラを用意した。 窓を複数個いっぺんに開くボタンの他に、接続件数を問い合わせるボタンも付けることで接続数をちょくちょく確認しながら窓をばんばん開いてみることに。 node.jsの同時接続数上限はファイルディスクリプタの上限数に左右される というのが知れたこと。 恥ずかしながらファイルディスクリプタなるものも知らなかったので、それを知れたのもプラスか。 以下、テストの時のおぼえ書き。 サーバはさくらのVPSで、512

    k1LoW
    k1LoW 2012/11/02
    ulmit
  • Socket.IO 0.7でnamespace毎に認証/認可を行う方法

    Socket.IO 0.7.6からio.of('/abc').authorization(function(data, fn) {...})という形でmultiplexでつくられたnamespaceごとに認証/認可を行えるようになっています。 member用のチャンネルにはログインしている人しか接続させない。 admin用のチャンネルには、ログインしていてかつadminのrole属性を持つ人しか接続させない。 といったことがかなり簡単に実現できるようになっています。以下、方法です。 まずサーバー側の設定です。// Server var io = sio.listen(app); io.configure(function() { io.set('transports', ['websocket', 'flashsocket', 'htmlfile', 'xhr-polling', 'jso

  • socket.io で動的に名前空間(namespace)を追加する方法 - sugoi < yabai < kimoi

    導入 node.js で socket.io を使って、なんかゲーム作れないかな?と最近いろいろ試している。 そこで、例えばこういうケース ユーザが「部屋の新規作成」を選ぶと、新しいチャットルーム的なものができる に対応する場合、動的に名前空間を追加したくなる。 題 socket.io で動的に名前空間を追加する際の情報って意外と少ないし、 なんか良さげな方法が見つかりにくいのでとりあえず自分が使っている方法を残す。 説明 クライアント側で、接続時に ID を送る socket.io は「クライアントがサーバに接続した時」というフックを持っている [サーバ側] io.configure(function () { io.set('authorization', function (handshake, callback) { // 処理 }); }); 上記のようにかける。 また、クライ

    socket.io で動的に名前空間(namespace)を追加する方法 - sugoi < yabai < kimoi
  • Node.jsでつくるプログラマブルなMIDIコントローラ

    Node.jsとMIDIの続き。 前の投稿で、Node.jsでMIDI信号を横取りしていましたが、これによってシンセサイザー上のあるスイッチの状態によって、別のスイッチの出力信号を変化させるなんてこともできるようになります。信号を出して終わりじゃなくて、状態を持つかたちですね。 背景 Ableton Live(のお試し版)でDJごっこをして遊んでいるのですが、うちのシンセサイザーはノブが3つついているので、3バンドEQを割り当てるのにちょうどいいんですね。 いっぽうで、2つのチャンネルそれぞれに3バンドEQを割り当てようとすると、6個必要になるわけですね。足りない。ここで、横についているスライダーの位置に連動させられれば、3個でもなんとか事足ります。この信号の組み合わせをNode.jsでやってみましたと。 コード githubにアップロードしたものを参照ください。ここではそのなかの解説を。

    Node.jsでつくるプログラマブルなMIDIコントローラ
  • 1,000のサーバでも監視できるnode.js製死活チェッカー·uptime MOONGIFT

    uptimeはnode.jsで作られたWebサーバ死活チェッカーです。 Webサーバがきちんと正常に動き続けているかどうか一番簡単にチェックするのは定期的にアクセスしてレスポンスタイムを見ることです。そんなWebサービスの死活チェックに使えるのがuptimeです。 サーバを立ち上げました。最初に監視するWebサーバを設定します。 URLと監視する間隔を指定するくらいです。 監視を開始しました。グラフは自動更新されないのでご注意ください。 イベントがあればこちらに出力されます。 グラフではなく一覧で結果を確認できます。 徐々にグラフが更新されていきます。 uptimeは1000以上のWebサーバを一括で監視できるパフォーマンスを持っています。またダウンしている際にはWebアラートを表示できます。エラーがあった際にはHTTPステータスやその内容を記録してくれます。サーバはタグを使ってグループ管

  • Redisを使ってexpressでセッション管理をする - wktkWebDiary

    expressでユーザのセッションを引き継いでページ遷移させたいっていうのが結構あります。 その場合、よくRedisというキーバリューストア(KVS)モデルのデータベースが用いられるようです。 これまでのWebアプリケーションがMySQL + memcachedで構成されていたことを考えると node.jsはMongoDB + Redisで構成されることがスタンダードになっていくのでしょうか。 さて、そのRedisのインストールは家ページ(Redis)からwgetして解凍します。 $ wget http://redis.googlecode.com/files/redis-2.4.6.tar.gz $ tar xzf redis-2.4.6.tar.gz $ cd redis-2.4.6 $ makeサーバの立ち上げは $ src/redis-serverで行います。 そのあとは例によっ

    Redisを使ってexpressでセッション管理をする - wktkWebDiary
  • Socket.io 0.7のnamespaceでundefined function .of()にハマらない方法

    Socket.io 0.7からnamespaceあるいはroomといった機能が使えます。同時に複数のsocketを使えるので、chatに類するアプリでグループ毎に異なる部屋を設けるような機能を簡単に実現できます。ところが、namespace機能を使って例えば「chat」という部屋をつくろうとすると「undefined function .of()」とか「Uncaught TypeError: Object # has no method 'of'」とか叱られます。Socket.ioの公式サイトのチュートリアルどうりにやっているはずなのに?期待通りにsocket.ioのnamespaceを使用するための方法を書きます。 状況設定と期待する動作利用者全員がアクセスできるデフォルトのsocketと、なにがしかの条件をパスした人々のみが参加できる「chat」というnamespaceのsocketが

  • 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
  • "リアルタイム Web" に関するプラクティスのアウトプット - Block Rockin’ Codes

    追記 11/12/26 MLのスレッドへのリンクが間違っていたので修正。 introduction WebSocket なんかをつかって、従来のステートレスな処理以外に、コネクションを継続するステートフルな処理が可能になりました。 これを利用すると、これまで実装が難しかったリアルタイムな表現を Web に持ち込むことができます。 そして、 WebSocket を用いたプログラムを作成する上で、Node.js と Socket.IO を用いる方法について、 今年はこのブログでも何度か紹介してきました。 今日は今年一年の集大成として、自分が色々試しながら得たリアルタイム Web に関する知識、技術などを、 ここにまとめてアウトプットしたいと思います。 今回お話しするのは、 東京Node学園 3時限目 : ATND で発表した下記内容の抜粋です。 Node Academy | "About Sl

    "リアルタイム Web" に関するプラクティスのアウトプット - Block Rockin’ Codes
  • Node.js「脱」初心者!CoffeeBoxでブログの作り方を学ぼう!

    CoffeeBoxは、Node.js、CoffeeScript、MondoDbで作成されたシンプルなブログアプリです。 そこそこ格的で「学べる」コードだと思いますので、インストールから触りだけ読んでみたいと思います。 UIもキレイです。 インストールして起動まで一気に。 $ git clone https://github.com/qiao/coffee-box $ cd coffee-box/ $ npm install $ mongod --dbpath ~/MongoDb (MongoDBを起動しておきます) $ node index.js coffee-box server listening on port 3000 in development mode http://localhost:3000 にアクセスします。 Login画面。OpenIDを使えます。 コードを少し見て

    Node.js「脱」初心者!CoffeeBoxでブログの作り方を学ぼう!
  • Node書くならEventEmitterについて知っとくべし - Qiita

    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

    Node書くならEventEmitterについて知っとくべし - Qiita
  • Scaling node.js to 100k concurrent connections!

    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

  • node.js、socket.ioでチャット。切断中に受け取れなかったデータを再接続時に取得 - motsatのブログ

    概要 websocketの入門者の定番の「チャット」をnode.js+socket.io(とexpressを少々)で実装。 クライアントの接続が途中で切断された場合、再接続時にメッセージを取得する処理も実装したメモ。 (nod32のHTTPチェックが、websocketを定期的に切断したので・・) ・画面 ・全ソース github: https://github.com/motsat/node-chat/ ←node server.js でサーバ起動し、 ブラウザで http://起動したサーバIP:8000 すれば動く!はず。 送受信するメッセージオブジェクト このメッセージオブジェクトでやりとりする。 サーバから、クライアントからのどちらでも基的に形は同じ。 { "data" : "こんにちは", "type" : 1, // 通常の文字メッセージ=1, 取得要求=0 "option

    node.js、socket.ioでチャット。切断中に受け取れなかったデータを再接続時に取得 - motsatのブログ
  • Gbosky - Situs Alternatif Terbaru Provider Resmi Sky Gaming

    Gbosky adalah provider game Sky Gaming dengan koleksi game Jackpot terlengkap, RTP tertinggi dan fasilitas hingga service terbaik.

    Gbosky - Situs Alternatif Terbaru Provider Resmi Sky Gaming
  • qunit-tapを使ってnode.jsのテストをproveで行う - すぎゃーんメモ

    Shibuya.js テクニカルトーク Test.jsでid:t-wadaさんの話がとても興味深く、 js テスト放浪記 qunit-tapというのが魅力的に感じたのでnode.jsのテストで使ってみました。 GitHub - twada/qunit-tap: A TAP Output Producer Plugin for QUnit quinit-tapとは まずQUnitについて。 QUnit QUnit自体は全然使ったことなくて詳しくは知らないのですが、もともとjQueryのテスト用に作られたテスティングフレームワークで、今はjQueryに関係なく色々な場面でのJavaScriptのテストに使えるようになっている、とのこと。 QUnit is a powerful, easy-to-use, JavaScript test suite. It's used by the jQuer

    qunit-tapを使ってnode.jsのテストをproveで行う - すぎゃーんメモ
  • nodeでメールを送る - spagettyの研究ノート

    node.jsでメールを送りたかったので調べたメモ。 GmailをSMTPサーバーとしてメールを送りたいと思ったので、試してみました。 node_mailer node-mail emailjs などを調査したけど、使えたのはこれ! eleith/emailjs · GitHub PCへのメールは普通にできたが、携帯へのメールが上手く日語の文字コードを認識してくれなかった。 色々試行錯誤したんだけど、とりあえずHTMLメールにすると上手く行った。 var email = require("emailjs"); var server = email.server.connect({ user: "xxxxxxxxxxx@gmail.com", password: "xxxxxxxxx", host: "smtp.gmail.com", ssl: true }); var headers =

    nodeでメールを送る - spagettyの研究ノート
  • node.js+expressでPOSTパラメーターを取得する方法

    むーん? node.jsつーかexpressで,GETメソッドはreq.queryでオブジェクト化されてるけど,POSTメソッドのパラメーターがreqだけじゃだめなのかな.Wed Feb 23 14:42:29 via Echofonあほむ ahomu ふつうにPOSTを受け取る var app = express.createServer(); app.post('/post', function(req, res) { console.log(req); }); このreqの中に,POSTっぽいものは含まれていません. イベントで受け取ってるみる app.post('/post', function(req, res) { req.on('data', function(chunk) { console.log(chunk); }); }); こうすると,chunkの中はPOSTされた

    node.js+expressでPOSTパラメーターを取得する方法
  • はてなブログ | 無料ブログを作成しよう

    台湾ひとり事旅(前編) 台湾へ行ってきた。チケットと宿を予めおさえていたものの、台湾地震の発生で予約を一度はキャンセル。その後の台湾観光庁の旅行に来て大丈夫だよ、という声明を確認してやはり行くことに。 目的はシンプルで、台北周辺で美味しい事をたくさんべること。そして自宅…

    はてなブログ | 無料ブログを作成しよう
  • node-inspectorでnode.jsをデバッグしてみる - 小さい頃はエラ呼吸

    2011.12.02追記 最新版で動作するようエントリを修正しました。 node.jsのデバッグ(ステップ実行)ができるnode-inspectorの使い方 - 大人になったら肺呼吸 はじめに このエントリでは、Ubuntu 10.10上にnode-inspectorとnode.jsをインストールし、node.jsをデバッグ(ステップ実行)する手順について書いています。このエントリを書くにあたり、以下のエントリを参考にさせていただきました。 node.jsでのデバッグ方法 - すにぺっと node.jsの開発時に役立つモジュール : アシアルブログ node-inspectorは、サーバサイドのJavaScriptをブラウザ上(Webkit系のブラウザ)でデバッグできるようにしてくれるライブラリです。 node-inspectorってのがあって、これがあると chrome上(webkit

    node-inspectorでnode.jsをデバッグしてみる - 小さい頃はエラ呼吸