タグ

ブックマーク / jxck.hatenablog.com (29)

  • "リアルタイム 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 の Stream API で「データの流れ」を扱う方法 - Block Rockin’ Codes

    追記 11/12/6 少し誤字脱字を修正、加筆 11/12/7 koichik さんにコメントで頂いたリンクと、その内容について追記 11/12/7 edvakf さんに頂いた指摘を修正 文 この記事は、JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース) の 4 日目の記事です。 Node.js には Stream という API があります。 Stream はとても重要な技術で、 「Stream を制するものは、 Node.js を制す」と言っても過言ではありません。 実際、 Stream は Node.js が得意とする I/O の部分を使いこなすために、 押さえておくべき技術なので、今回はこの Stream について紹介したいと思います。 参考 Jxck's OutPut - Node.js の Stream I/O のお

    Node.js の Stream API で「データの流れ」を扱う方法 - Block Rockin’ Codes
  • 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 アップデートと新プロダクト(Q-conf 編) - Block Rockin’ Codes

    追記 11/11/22 コメントに頂いた Draft とフォールバックの表記を修正 文 この手の話に統一したタイトルが欲しいんですが、先が見通せないのでどういうタイトルがいいのかわからないでいます。。 今回は最近の Socket.IO 周辺のアップデートについてまとめます。 QConf@SF まず、 Qconf@SFGuillermo が Socket.IO について重要なトークをしています。 資料は以下。 http://qcon-sf.nodejitsu.com/ この発表とともに LearnBoost はいくつかの新プロダクトを発表しました。 LearnBoost/websocket.io · GitHub LearnBoost/engine.io · GitHub LearnBoost/browserbuild · GitHub guille/latency-io · Git

    Socket.IO アップデートと新プロダクト(Q-conf 編) - Block Rockin’ Codes
  • require('events').EventEmitter.call(this) の意味 - Block Rockin’ Codes

    [修正] コメントで指摘されたように、回答4の訳が間違っていたので訂正しました。 Node の ML に以下のような質問が投稿されました。 What is the meaning of require('events').EventEmitter.call(this) 内容としては。 「以下のようなコードがあったんだけど、これってどういう意味?」 var util = require("util"); var events = require("events"); function MyStream() { // ここの意味がよくわからん、これは `new MyStream` と同じに見えるんだけど違うの? events.EventEmitter.call(this); } util.inherits(MyStream, events.EventEmitter); var steam =

    require('events').EventEmitter.call(this) の意味 - Block Rockin’ Codes
  • Node におけるスケールアーキテクチャ考察(SSP 編) - Block Rockin’ Codes

    *息抜きがてら書いていたら長くなってしまった。。 *当たり前ですが、あくまで個人的な考えです。 *ころころ変わるかもしれません。 Node の基的な知識についての話は色々なところで出始めて、 じゃあこーいう場合はどうするの? みたいな話が出始めたりもするようになってきた気もします。 正直、自分にもまだ分からないことだらけです。 そもそも自分はそこまでスケールに関するアーキテクチャや、OS の低レイヤに精通しているとは言えないので、 これを期に Node は何が得意で何が不得意なのか、スケールさせるために考えないといけないこと、などを自分なりにまとめて、 ついでに、これまで学んできた周辺のアーキテクチャに関する知識も混ぜて、色々思考実験をしてみたいと思っています。 だから WebSocket にブラウザが対応してないとか、そんな複雑なサーバ群当に運用できるのかとか、 そういう話は無しに、

    Node におけるスケールアーキテクチャ考察(SSP 編) - Block Rockin’ Codes
  • Node におけるスケールアーキテクチャ考察(Scale 編) - Block Rockin’ Codes

    [追記] 途中までは Node での複数プロセス起動、プロセス間通信等について書かれていますが、後半は自分が前回の記事 を書くにあたって自分が考えてたことを少し強引に広げて書いた個人的な妄想が多く含まれ、Node におけると言っときながら、後半は Node 関係ない感じになってしまいました。 正直まだ分かっていないことが多いです。変なところをどんどん指摘していただけるとむしろ嬉しいです。 Node におけるスケールアーキテクチャ考察(SSP 編) - Block Rockin’ Codes の続きです。 もともと何となく結論があって書き始めたんですが、書きながら色々調べているうちによくわからなくなりました。 まだまだ調べたらないことがわかったので、とりあえず今わかっているところまで書きます。 結局何がいいたいのかよくわからない感じかもしれないけど、ゴールは SSP のバックエンドの Nod

    Node におけるスケールアーキテクチャ考察(Scale 編) - Block Rockin’ Codes
  • QUnitの基本的な使い方 - but hopeful

    [追記] 2013/9/1 三年前の記事が未だに読まれているようなので、一応書いておきますが、あれから色々変わってもっと良いものも出ています。 QUnit でも別に問題はないですが、今から QUnit を使うよりは http://visionmedia.github.io/mocha/:title=mocha] とかの方が個人的にはお勧めです。とにかく、今は色々あるのでもっと別の選択肢調べて見ることを個人的にはおすすめします。別に QUnit は使わないほうが良いとは言いません。 JavaScriptのテスティングフレームワークはいろいろありますが、自分は今主にQUnitを使っているので、少し使い方をまとめて見たいと思います。 [追記]今回作成したソースを上げました。ninja.js QUnit とは QUnitはもともと、jQueryをテストするために開発されたJavaScript Un

    QUnitの基本的な使い方 - but hopeful
  • PythonでTDD - Block Rockin’ Codes

    Javaでのペアプロは何度かやってきましたが、今回始めてpythonのペアプロをする機会がありました。 ある勉強会で、pythonunittestとdoctestの話をしたのをきっかけに、そのままペアプロをしてみることに。 組んだ相手は、ペアプロもTDDも始めてだったので、どんな感じでtddを進めて行くのかは、自分が流れを教えながら、 pythonでのunittestの書き方は二人で調べながらやりました。 ちょっと完成度は半端ですが、やってみて色々分かったのでメモ。 やったのはお決まりの"FizzBuzz"です。 FizzBuzzの仕様 お題はその場で思いついた"FizzBuzz"を一通り実装して、 その後、お約束の"追加仕様"を適当に考えて実装しました。 最初の仕様は numを渡すと1〜numまでのfizzbuzzの入ったリストを返す。 追加の仕様は "fizz"と"buzz"の文字を

    PythonでTDD - Block Rockin’ Codes