[NIKKEI Tech Talk] KDDI/KAG Scrum & Community for Engineering Training
Server-Sent Event Stream というのを作りました。 yosuke-furukawa/sse_stream · GitHub Server-Sent Event とは long pollingを利用してサーバー - クライアント間の通信を行う仕組みです。 WebSocketとは違ってサーバーからクライアントへのブロードキャストにしか使えませんが、これまでのHTTPの枠組みの中で動くので、 WebSocketが使えない環境でも動作できるというメリットがあります。 Server-Sent Event Streamとは その特性を生かして、作ったStream拡張です。 ファイル監視をして変更をリアルタイムにブラウザに通知することやコマンドの実行結果をリアルタイムにブラウザに通知することができます。 インストール $ npm install -g sse_stream demo
2. Stream は大事なクラス events.EventEmitter stream.Stream net.Socket tls.CleartextStream http.ServerRequest http.ClientResponse http.ServerResponse http.ClientRequest http.IncomingMessage http.outgoingMessage node-v0.8 3. Stream は大事なクラス events.EventEmitter stream.Stream node-v0.10 stream.Readable stream.Writable http.outgoingMessagestream.Duplex stream.Transform net.Socket tls.CleartextStream その他crypto系
こちらの記事は英語版のブログに2013年2月12日に掲載された記事の翻訳版です。 約2年前にNode.jsの専任になるまで、私は自分のことを何でも屋のウェブ開発者だと思っていました。アプリケーションの大半はPHPかPython風に書いて、週末は、JavaとRubyを試してみる、ということをしていたのですから。それに、当時の多くのJavaScript開発者たちと同じように、私もjQueryのプラグインを書いていました。今から思うと、開発者として焦点が定まっておらず、何かがすべてを結び付けてくれるのを待っていたのです。 初めてNode.jsを試してみた時は、アプリケーション全部をひとつの言語で書くことができてとても新鮮でした。それに、開発者コミュニティの初期ツールのおかげで、小さくてテスト可能な別個のモジュールを容易に作ることができました。モジュールは他のさまざまな環境の土台ですが、Node.
2. Let It Crash? Erlangのphilosophy/principle 耐障害性に優れた堅牢なコードを書くため Akka開発チームのブログ http://letitcrash.com/ 3. 堅牢なコードを書く Defensive Programming 失敗に備える 引数/戻り値をチェックする、例外を捕まえる アプリがエラーから回復する 通常処理とエラー処理が混在 Let It Crash 失敗に備えない 例外を捕まえない→プロセスをクラッシュさせる スーパーバイザがエラーから回復する 通常処理とエラー処理が分離
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関連の記事が増えてきました。私も勉強中なのですが、社内ブログを参考にさせてもらうことがよくあります。 毎回探すのもちょっと面倒なので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という動画と音声を変換す
3. Nodeの歩み(参考) 2007/10 libev公開 2010/08 nodejs_jp開始 2008/05 libeio公開 2010/09 no.de開始 2009/09 Google V8公開 2010/11 Joyent管轄へ 2009/02 ry Node開発開始 2011/02 node-v0.4.0リリース 2009/05 node-v0.0.1リリース 2011/03 東京Node学園#1 2009/06 nodejs ML開始 2011/10 東京Node学園祭 2009/10 npm公開 2011/11 node-v0.6.0リリース 2009/11 JSConf EU ry発表 2011/12 Azureサポート 2010/04 Herokuサポート 2012/01 isaacs管理へ 2010/08 node-v0.2.0リリース 2012/06 node-
ド素人が完全自作SNSを作ってみてわかったこと。 http://anond.hatelabo.jp/20130104184115 の元増田です。 ひっそりと公開したはずのtag-chat.net(http://tag-chat.net)ですが、 まさか、こんなに反響を頂けるとは思っていなかったので、びっくりしました。 素人のフリをしているとか、出版社のステマだとか色々言われましたが、嘘は一切書いてないです。 ステマというか、ウェブサービス公開後の状況を知っている方からするとマイナスのステマにしかなっていないような気がします…。 公開してから、色々と発見というか気づきがあったので、それを共有できれば幸いです。あと、tag-chat.netの中身についてなど。 ~増田記事を公開してから今までの経過~ ・意気揚々と自作SNSを公開したものの、アクセスが全くこなくて途方にくれる。 ⇓ ・以前、完全
async.jsで有名な、caolanさんのNode.js: Style and structureを日本語訳してみました。 ( http://caolanmcmahon.com/posts/nodejs_style_and_structure/) 相変わらずのレベルの低さですが、おかしな部分がありましたら、指摘頂けますと幸いです。m(_ _)m (OmegaTで訳したので、後で、bitbucketかgithubにあれば嬉しい人がいたり要望があれば、対応します) 出来る人には当たり前なのかもしれませんが、かなりイイ勉強になりました。 追記:コメント頂いた部分を修正しました。 Node.jsのスタイルと構造 私は新たなチームでNode.jsのプロジェクトを開始しようとしていました。これはNodeでの作業でいくつかのヒントをまとめる良い機会かもしれないと思ったのが始まりです。これは、通常の意味
※2012/01/09 追記 続きもあるよ あらすじ 先月晴れてsocket.ioクラスタがデビュー。 しかし想定していたよりxhr-polling接続が多くてフガフガな状況に。 こりゃxhr-pollingの性能評価もしとくべきだったなーと思いを馳せるアルパカ。 そこでsocket.io-clientでベンチマークを走らせたのだが websocketと時と異なりコネクションがすぐに詰まるという自体が発生…! アルパカ大明神の運命やいかに!? 現象 socket.io-clientでxhr-pollingのコネクション貼りまくると5コネクションで詰まる。 時間が経つとその内ヌルッと進む。 chromeやfirefoxでも同様。 調査 様々なクライアントから実行しても同様の状況が見られたため サーバの問題と断定しサーバ調べる。 しかしコード追ったりトレース取ったりしてもまったく原因わからず…
この記事は東京Node学園祭2012 アドベントカレンダーの8日目の記事です。 この記事を書こうと思った理由 Node.jsに関するWeb上の記事を読んでいると、「Node.jsは静的コンテンツに弱い」とだけ書いてある記事をよく見かけます。有名なところだと、LinkedInのNode.jsのパフォーマンスに関する10個のTipsの3番目のTipsに"Don't use Node.js for static assets"とばっちり書いてあります。 確かにCDNやNginxに比べれば、Node.jsは静的コンテンツの扱いが遅いとは思います。しかし、それは LinkedIn くらいの超大規模なトラフィックがある場合には問題になるとは思いますが、小〜中規模なサイトでもNginxは必須なほど遅いのでしょうか?512MBしかメモリのないVPSにNginxとNode.jsを入れてやりくりすることがホン
最近仕事ではNode.jsしか書いてないtoritoriです。 お仕事でもexpressやsocket.ioを使っているのですが WebアプリケーションのテストについてWeb上にあまり書かれていないような気がします。 特にソケット接続した後のメッセージ送信/受信の部分です。 今までのようなHTTPの単純なリクエスト/レスポンスとは手法が異なりますしどうしたものかと。 そこで「自分はこんな感じでテストしてますよー」という記事を書いてみます。 裏を返せば「もっといい方法あるよ!」というのを聞きたいのです>< サンプルについて socket.ioのexample を使います。 ただし、サンプルではログイン時に遷移しない方式なので もう少し実用的な動作に近づかせるため あえてログインURLから遷移するようにし、 セッションもRedisを使うようにしてexpressとsocket.ioでセッションを
node.js を代表とする JavaScript を用いた非同期プログラミング環境においては、コーディングパターンのベストプラクティスが共有されておらず、結果として品質の低いコードが多くなるという問題があるように思います。そこで、特にエラー処理をどう書くべきか、既存のライブラリを使う方法を紹介してみることにしました。 いきなりですが、ファイルの文字数を返す関数を作ることを考えてみます。Java だと以下のような感じになるでしょうか。countChars メソッドに注目すると、エラーを例外として扱っていて、モジュラーかつ簡潔になっていることがわかります。 class FileCounter { static long countChars(String filename) throws IOException { FileInputStream is = new FileInputStre
jsdomとjQueryつかって富豪的にホクホクできるらしい。セレクタさえ丹念に集めれば Readability/Instapaper のようにコンテンツのテキストだけ抽出するようなこともさほど難しくないか。 var jsdom = require("jsdom"), fs = require("fs"); var jquery = fs.readFileSync("./jquery.js"); jsdom.env({ html : 'http://atnd.org/events/26373', src : [ jquery ], done : function (err, window) { var $ = window.$; $("ol.a-b > li").each(function () { console.log( $("a", this).text() ); }); } });
本書について 本書は、Node.jsでのアプリケーション開発を始めようとする皆さんに、 ”高度な”JavaScriptについて知るべきあらゆることを解説します。 よくある”Hello World”チュートリアルの、はるか上をいくものです。 ステータス 貴方が読んでいるのは、本書のいわゆる最終版となります。 つまり本書は、間違いが見つかった場合や、 Node.jsの新バージョンにおえる変更点を反映する時のみ、改訂されます。 最終更新日は2012年2月12日です。 本書内のコードのサンプルは、Node.jsのバージョン0.6.10でテストしています。 ターゲット読者 本書は、Ruby、Python、PHP、Javaのような、少なくともひとつのオブジェクト指向言語を理解しており、 JavaScriptについてはあまり経験がなく、Node.jsについては全く経験がないという、 著者と同じようなバッ
Programming style is where opinion and reason collide, often leading to endless arguments with no clear winner. The real secret to style is to be consistent, and respect other people: if you’re working on a project by another author, then follow their style. Some companies and open source projects may have their own in-house style guide, but it’s generally fairly easy to pick up the style of a pro
(この記事は Node.js アドベントカレンダー不参加記事です) チャットサーバー的な使い方とか意外とみんな興味なくて、普通のウェブアプリケーションなどをかく、という用途にちょっと node.js がつかえたらいいのにな、とおもっている人がおおいようにかんじています。Node.js が人気なのは、v8 をうまくパッケージングしているのが node.js ぐらいで、そして v8 をうまくパッケージングするのが結構めんどくさいから、というところが大きいのです。ぶっちゃけ node.js が〜 とさわいでる人のうち8割は I/O multiplexing だからとかそういう理由で支持しているわけではなかったりするのです(偏見)。 さて、普通の web application のようなものを書こうとしたときに Node.js って基本シングルスレッドだし、なんかうっかり重い処理したときにどうした
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く