タグ

nodeに関するhardfloorのブックマーク (24)

  • expressやsocket.ioのテストはこんな感じで書いてます、というお話 - アルパカDiary Pro

    最近仕事ではNode.jsしか書いてないtoritoriです。 お仕事でもexpressやsocket.ioを使っているのですが WebアプリケーションのテストについてWeb上にあまり書かれていないような気がします。 特にソケット接続した後のメッセージ送信/受信の部分です。 今までのようなHTTPの単純なリクエスト/レスポンスとは手法が異なりますしどうしたものかと。 そこで「自分はこんな感じでテストしてますよー」という記事を書いてみます。 裏を返せば「もっといい方法あるよ!」というのを聞きたいのです>< サンプルについて socket.ioのexample を使います。 ただし、サンプルではログイン時に遷移しない方式なので もう少し実用的な動作に近づかせるため あえてログインURLから遷移するようにし、 セッションもRedisを使うようにしてexpressとsocket.ioでセッションを

    expressやsocket.ioのテストはこんな感じで書いてます、というお話 - アルパカDiary Pro
  • Express.jsで国際化を超手軽にする方法 - 空繰再繰

    node.jsのWAF、Express.jsで国際化を手軽にする方法 こんにちま! 最近というか三月後半から四月後半にかけて、 家の方がゴタゴタしていてモリモリ元気をなくしていたにゃるらコト岡村 直樹(24)です。皆様お久しぶりでございます。 なんかこのブログを書くのが久しぶりすぎて、 どういうノリで書いていたかが思い出せないのですが、 とりあえず、僕のガジェット系ブログ、 Gadgets☆Nyadgets ACT:2 みたいなノリで書きたいと思います。 Express.jsで超手軽に国際化する方法 早速題。 最近というかまんま今日のコトなのですが、 node.jsを使って、リアルタイム掲示板なるケッタイなモノを作っていたとき、 国際化、どうすんだべ? ってなって、色々と検索していた結果、 i18n-nodeを使うと超手軽に国際化できる! ということが分かったので、その辺りまとめたいと思

  • expressのejsで部分テンプレート(partial)を使う方法 - shohu33's diary

    新規事業のシステムで、node.jsを使うことになったので (まぁ、技術全般はまかされてるので、勝手にnode.js使うかぁ、的なのりで使ってるんだけどね) node.js + express とかでぐぐっていろいろ調査してサイト作ってみている。 node.jsのFWではexpressがメジャーそうなのでとりあえずexpressを使ってみる事に。 expressではテンプレートエンジンがいろいろ種類あるらしいのだけど Jadeがデフォルトでは(expressコマンドで何も指定しないとJadeになる)使われてしまうがよりHTMLの形に近いejsを使ってみる事に。 その際に、ejsのpartialを使う方法があまりWEBに情報が乗っていなかったのでメモしておく。 手順 ubuntu10.4上で試した。 node.js, express のインスコはこのあたりを参考にした。 $ mkdir sa

    expressのejsで部分テンプレート(partial)を使う方法 - shohu33's diary
  • socket.ioでマウスの動きを共有しよう(sessionの識別)

    Node, iOS, Android, HTML5, JavaScriptの話題。ときどきMacLinux。 前回のエントリーで作ったアプリでは、一つのマウスをみんなで共有してしまうため、同時にマウスを動かすと何がなんだか。 今回はブラウザのセッションごとにそれぞれマウスを持たせてみます。 app.js /** * Module dependencies. */ var express = require('express') , routes = require('./routes') var app = module.exports = express.createServer(); var io = require('socket.io').listen(app); io.set('log level', 1); // Configuration app.configure(fun

    socket.ioでマウスの動きを共有しよう(sessionの識別)
  • node.js におけるエラー処理のコーディングパターン (もしくは非同期 JavaScript における例外処理) - kazuhoのメモ置き場

    node.js を代表とする JavaScript を用いた非同期プログラミング環境においては、コーディングパターンのベストプラクティスが共有されておらず、結果として品質の低いコードが多くなるという問題があるように思います。そこで、特にエラー処理をどう書くべきか、既存のライブラリを使う方法を紹介してみることにしました。 いきなりですが、ファイルの文字数を返す関数を作ることを考えてみます。Java だと以下のような感じになるでしょうか。countChars メソッドに注目すると、エラーを例外として扱っていて、モジュラーかつ簡潔になっていることがわかります。 class FileCounter { static long countChars(String filename) throws IOException { FileInputStream is = new FileInputStre

    node.js におけるエラー処理のコーディングパターン (もしくは非同期 JavaScript における例外処理) - kazuhoのメモ置き場
  • socket.io v0.8でチャネリングさせた時のIDを指定したemit - はてなダイアリー大好き日記

    前提知識 var io = require('socket.io').listen(80); io.sockets.on('connection', function (socket) { var お前のID = socket.id }); でsocketの識別IDが取れる。識別IDが取れると var io = exports.io = require('socket.io').listen(app); io.sockets.socket('ソケットのID').emit('hoge', 'message'); これで自由に送れる。 だが、チャネリングした際には送れない。 このようにせよ。 var io = exports.io = require('socket.io').listen(app); var chat = io.of('/chat').on('connection', fun

    socket.io v0.8でチャネリングさせた時のIDを指定したemit - はてなダイアリー大好き日記
  • dotCloud で WebSocket - Block Rockin’ Codes

    dotCloud が WebSocket に対応したという発表がありました。 dotCloud Announces Native Support for WebSockets | dotCloud Blog dotCloud は多くの言語やミドルウエアに対応していて、 CLI からアプリがデプロイできる PaaS サービスといった感じです。 (Heroku なんかをイメージしてもらうとわかりやすいかも。) 早速、 Node.js + Socket.IO でどんなもんか試してみました。 アカウントは自分は結構前にとったんですが、今ならすぐ取得できるっぽいです。 CLI のインストール 専用の CLI があるのでそれをインストールするところから始めます。 http://docs.dotcloud.com/firststeps/install/ にある通り、 Python の pip で入れます

    dotCloud で WebSocket - Block Rockin’ Codes
  • herokuでNode.jsを使ってchatアプリ その2 - from scratch

    次にchatアプリケーションを作ってみましょう。 一回目の説明にもあった通り、今回のアプリはほとんど@sugyanさんの下記ページから参考にしました。 node.jsでchatアプリっぽいもの作るメモ - すぎゃーんメモ Node.jsとnpmのinstallは@sugyanさんのページを参照してください。 socket.ioのinstallの際の注意点ですが、自分の環境では、socket.ioの最新バージョンV0.7.7は動作しませんでした。 なので、socket.ioだけはこんな感じでinstallしました。 *1 npm install socket.io@0.6.18 さて、いよいよコードを書きます。 まずは体、app.jsです。サニタイズされていないという指摘を受けたので修正しました。 /app.js var express = require('express'); var

    herokuでNode.jsを使ってchatアプリ その2 - from scratch
  • バナナでポン:node.js + socket.io : 接続してるクライアントの情報

    2011年10月04日 node.js + socket.io : 接続してるクライアントの情報 接続してきているクライアントのセッションIDや接続情報を、サーバ側で他人のも含めて簡単に取得できる。 なんか不思議な感じ。 socket.io 0.8.4で試した場合そうなっていたんだけれども、これからもそうなんだろうか。 io.sockets.on('connection', function(socket){ console.log(socket.manager.handshaken); }); サーバ側でこんな具合に書いて複数のブラウザから接続すると、たとえば以下のようなログが出る。 339211342107615710': { headers: { host: 'XXX.XXX.XXX.XXX:3000', 'user-agent': 'Mozilla/5.0 (Macintosh

  • iPhoneとsocket.ioサーバを常時接続させる1 - growthfieldメモ

    前エントリ Objective-Cでsocket.ioクライアントを書いてみた と Z Cloudでnodejsを動かす でiPhoneアプリとsocket.ioサーバを3G経由で接続させる準備が整いました。 次はiOSネイティブのsocket.ioクライアントの特性を活かしてiPhoneとsocket.ioサーバを常時接続に挑戦してみることにします。 実現したい事は以下の通りです。 普通にiPhoneアプリから3G回線経由でクラウド上のsocket.ioサーバと接続できること 接続を維持できること Homeボタン等を押されてiPhoneアプリが終了(バックグラウンドに回る)しても接続を維持する 圏外などで一度接続を失った場合でも電波受信状況が回復したら自動で再接続する 普通に接続してみる それでまず普通にsocket.ioサーバに接続するようにNNSocketIOをアプリに組み込んでみま

    iPhoneとsocket.ioサーバを常時接続させる1 - growthfieldメモ
  • updoor.com » node.js + socket.io で通信してみた

    node.jsでWebSocketをやるにあたり、当初はwebsocket.jsを使おうかと思ってたけど、検索に引っかかる記事が微妙に古いのが気になったので、もうちょっと調べてみると、今はsocket.ioの方がいい感じなのかな? ということで、ひとまずsocket.ioでの実装を試してみることにする。 socket.ioのインストール とりあえず、家をみてみる。 http://socket.io/ インストールはnpm経由でいけるみたいなので、グローバル環境にインストール。 npm install -g socket.io socket.io@0.8.7 /usr/local/lib/node_modules/socket.io ├── policyfile@0.0.4 ├── redis@0.6.7 └── socket.io-client@0.8.7 依存関係のあるものも一緒にい

  • JavaでWebSocket 〜Jetty + socket.io.js - hrendohの日記

    Jettyとsocket.io.jsを利用してWebSocketのアプリケーションを動かしてみました。 Javascript側は、node.js+socket.ioの場合と変わらないので、主にJavaのサーバー部分を中心にまとめています。 socket.ioとsocket.io-javaの関係 socket.ioはnode.jsのモジュールの一つで、WebSocketサーバーとJavascriptクライアントを共に提供します。 前回の記事速習!node.js + socket.ioでは、node.js、socket.ioのセットアップについて簡単に紹介しました。 socket.ioは、クロスブラウザに対応していてどのブラウザでも同じインタフェースで実装できます。また、WebSocketに対応していないブラウザでは代替の通信方法を自動的に選択してくれるので便利です。 2011年4月16日現在

    JavaでWebSocket 〜Jetty + socket.io.js - hrendohの日記
  • Medium

    You can find (just about) anything on Medium — apparently even a page that doesn’t exist. Maybe these stories will take you somewhere new?

  • Heroku で package.json で指定した任意のバージョンの Node.js を 動かす方法 - hakobera's blog

    2012/8/7 追記 Heroku が公式で package.json での Node.js/NPM のバージョン指定に対応したので、現在は以下の方法は必要ありません。普通に package.json の engines に利用したいバージョンを書けばOKです。 以下の情報は古いです。 日、開催された Heroku JP Meetup #3 で話してきた内容です。 内容としては去年の12月の東京Node学園3時限目のLTの進化版で、package.json の engines の指定を変えることで、Node.js のバージョンを切り替えられる公式の versions ブランチの利用法について解説しています。 Run Multi Version of Node.js on Heroku View more presentations from Kazuyuki Honda heroku/

    Heroku で package.json で指定した任意のバージョンの Node.js を 動かす方法 - hakobera's blog
  • この完成度に震えが止まらない!Node.js史上最高のIDE、Cloud9をインストールしよう。

    Cloud9は、クラウド上で様々な操作ができます。無料でエディタ、デバッグ、バージョン管理etc、、、作ったらボタンひとつで公開までできてしまいます。有料にすれば、チーム開発環境、プライベート開発環境も構築できます。 Cloud9 IDEは、ソースコードで公開されています。せっかくですからこの高機能で美しいCloud9 IDEをローカル環境に構築してみましょう。 システム環境 Mac OS X Lion インストール手順 gitからダウンロードします。 $ git clone git://github.com/ajaxorg/cloud9.git Cloning into cloud9... remote: Counting objects: 30583, done. remote: Compressing objects: 100% (10271/10271), done. remote

    この完成度に震えが止まらない!Node.js史上最高のIDE、Cloud9をインストールしよう。
  • Node.js 開発環境 基礎

    gistfile1.md Node.js 開発環境 基礎 Node.jsのインストール OS X ならHomebrewまたはMacportsで。 [~] $ brew install node [~] # port install node nodeコマンドでnodeのインタプリタを起動。 [~] $ node パッケージマネージャー RubyにおけるGem+Bundlerのようなものです。これもBundlerと同じく、システムとローカル両方の閉じた環境にインストールできます。Gemfileに当たるのがpackage.jsonです。 [~] $ mkdir hogeproj [~] $ cd hogeproj 適当なプロジェクト用のフォルダを作成して、package.jsonを作成する。ここではexpressを指定。バージョンを気にしない場合は、">= 0.0.1"とする。指定する場合は"

    Node.js 開発環境 基礎
  • node.jsで書いたアプリをherokuで動かすときに注意すること - テクノロジーと広義のデザイン!

    このページを読みながら、node.jsで書いたアプリをherokuで動かそうと思いました。http://devcenter.heroku.com/articles/node-js手順を丁寧に説明してくれている日語サイトもたくさんあるので、ここではハマりやすそうなポイントだけ書いておきます。ます、要件。Node.js のバージョン0.4.7で稼働することと、npm + package.jsonでプラグインの管理をしている必要があります。PrerequisitesBasic Node.js knowledge, including an installed version of Node.js and NPM. Your application must run on Node.js 0.4.7. Your application must use NPM to manage depende

  • Node.jsにてsocket.ioのjoinでチャットルーム実装! - へきょのーと

    JavaScript Advent Calendar 2011(Node.js/WebSocketsコース) 22日目です! 急遽参戦!そして初Advent Calendar... Node.jsでのチャットルームの実装にsocket.ioのjoin()を使ってみます。 はじめに socket.ioを利用したチャット機能の実装については サンプルも多く結構簡単に実装が可能です。 ですが、チャットルームの実装方法については情報が少なく やり方がわからなかったので色々調べつつ RoomList, Room, User クラスを自作することで対応を行いました。 ※sample https://github.com/hekyou/socket_io-not-join-sample ですが、、 最近socket.ioにjoinメソッドがあることを知りまして。 これなら簡潔に書けるじゃん... と、思

    Node.jsにてsocket.ioのjoinでチャットルーム実装! - へきょのーと
  • Ubuntuの./configureでCould not autodetect OpenSSL support - 小さい頃はエラ呼吸

    Ubuntuにnode.jsをインストールしようと格闘中です。ソースコードダウンロードして./configureしたら、また以下のようなエラーがでました。OpenSSLというライブラリがないと言われております。 Checking for openssl : not found Checking for function SSL_library_init : not found Checking for header openssl/crypto.h : not found /usr/local/src/node/node-v0.4.0/wscript:264: error: Could not autodetect OpenSSL support. Make sure OpenSSL development packages are installed. Use configure --w

    Ubuntuの./configureでCould not autodetect OpenSSL support - 小さい頃はエラ呼吸
  • HTML5のWebsocketを使って同時接続数をサーバから送信する

    HTML5のWebsocket(Node.js+Socket.IO)を使って、現在の同時接続数をサーバから送信するサンプルを作ってみました。 環境を作ったのは自分のPCのためリアルでお見せできないのが残念ですが、動画をキャプチャしたのでそちらでご確認ください。 1.サンプル動画 2つのブラウザからそれぞれ「http://127.0.0.1:8124」にアクセスして、そのページの同時接続数を各ブラウザに表示します。接続数の増減によって、ページに接続しているコネクションすべてに、サーバから情報を送信します。操作をしていないブラウザにも即時に接続数が反映されます。 非常にシンプルなものですが動いたときはちょっと感動しました。 2.サンプルコード Node.jsとSocket.IOを使ったサンプルコードを掲載しておきます。 色々ネットを探しましたが(探しきれてないかもしれません)、Node.js+

    HTML5のWebsocketを使って同時接続数をサーバから送信する