Server-Sent Eventsを使うとサーバーからクライアントにデータをPUSHすることができます。使い方はこの辺を参考にしてください。 node.js + expressでサーバー側を実装するとこんな感じになると思います。 app.get('/event', function(req, res) { res.type('text/event-stream'); res.write('data: ' + data + '\n\n'); });
update 2014-01-16 ご指摘頂いたので修正しました。ありがとうございます! @Jxck_ 動画すごくわかりやすかった!一個、重箱の隅っこなんだけど、convert関数のapplyしてるところ、fn.apply(fn, args) になってるけど fn.apply(this, args) が正しい気がしました!— Kazuhito Hokamura (@hokaccha) 2014, 1月 13 https://gist.github.com/Jxck/8380852 は修正済みです。動画の取り直しは勘弁して下さい(汗 - fn.apply(fn, args); + fn.apply(this, args); intro あけましておめでとうございます。 今年からはてなブログへ移行しました。 去年末くらいから流行っている Express の後継 Koa では JS の新機能ジェ
https://engineering.groupon.com/2014/misc/i-tier-testium/1 comment | 0 pointsGrouponが、Node.js向けの結合テストツールtediumをオープンソースとして提供しました。 What is testium BDD (振舞駆動開発) 構文で書ける。 CoffeeScript/JavaSacriptで書かれている。 同期APIがある。 Seleniumを利用できる。 Why Create a New Tool RailsではCucumberをセットして、実際のブラウザでSeleniumを使ってテストができたが、Node.jsではフィットするものが見つからなかった。 Exploring WebDriver 既存のSeleniumのインフラを利用するために、JavaScriptとMochaで書けて、同期APIのある
ページをスクロールすると、左側に固定したナビゲーションメニューがアニメーションで隠れ、コンパクトに収納されるJavaScript(以下、js)「hidenavi.js」を作りました。 jsの動作にはjQueryが必要です。 せっかく作ったので、ブログで公開しようと思います:) 1.動作の説明とデモ2.ダウンロード3.使い方4.ご利用にあたって 1.動作の説明とデモ hidenavi.jsは、ページをスクロールすることで、ページの左側に固定したナビゲーションメニューが、にゅーっとアニメーションし、隠れます。 隠れたナビゲーションメニューの代わりに、ナビゲーションメニューの位置を示す要素が表示されます。 その要素にマウスを乗せると、隠れたナビゲーションメニューが再びアニメーションで表示されます。また、スクロール位置を一番上まで戻しても、ナビゲーションは再表示されます。 デモページを作りましたの
はじめに JavaScriptにおけるデータバインドの実装方法を双方向データバインドライブラリのKnockoutJSのソースコードを読み、自分で以下のような最低限の機能を実装をしていきます。 変更をsubscribeできるobservableオブジェクト 他のobservableオブジェクトの値の変更を検知して、自身の値を変えるdependentObservableオブジェクト 上記の機能を実現するために、KnockoutJSの以下のオブジェクトの仕組みを解析しました。 ko.subscribable ko.observable ko.dependencyDetection ko.dependentObservable(ko.computed) この記事のソースコードはgithubで提供されています。 https://github.com/tenntenn/js-binding-hunds
自分の頭の中の整理のために。 はじめに Backbone.jsガイドブックを読んでいたら、このような事が書いてあった。 Backbone流MVCでは、ビューとコントローラは両方ともViewが担当します。(略)これらはそれぞれViewのメソッドとして実装しますが、本書では区別のために前者をビューメソッド、後者をコントローラメソッドと呼ぶことにします。(略)重要な点は、DOMイベントに応じてコントローラメソッドが実行されることで処理が始まり、その中でmodelやcollectionを操作し、その結果生じるイベントがビューメソッドを呼ぶ、という流れを意識することです。そのためにも、コントローラメソッドには処理の起点になる以上の仕事を与えず、DOM操作はすべてビューメソッドに集めるよう明確に区別しましょう。 図にするとこんな感じになる(点線がイベントで実線が直操作) しかし、なぜこのような書き方に
validate: function (attrs) { var errors = []; if (_.isUndefined(attrs.name)) { errors.push({ attr: 'name', message: 'Name is required' }); } if (errors.length) return errors; } まず Backbone の基本事項として下記を再確認してください: validate メソッドが真を返すと invalid イベントが発生する 返り値が invalid イベントのコールバックに渡される で、上記のコードサンプルは errors という配列を作っています。なんでわざわざこんなことをしているのかというと、コールバックに複数の属性の情報を渡すには配列などを利用するしか無いわけです。そして View のコールバックでその配列の値をパ
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
intro ちょっと反応が遅れてしまいましたが。 404 Blog Not Found:JSON - をnodeで整形する こちらの記事は Stream 厨として見逃す訳にはいきませんでした。 motivation JSONは本来JavaScriptから生じたものだからどうせならJavaScriptでやりたいし まあ、 JSON ですしね。 そのJavaScriptに今や標準搭載のJSON.stringify()は実はpretty printできるし 確かに stringify でできますね。(昔こちらにも書きました。) どうせなら標準入力だけではなくURIやファイル名で直アクセスしたいし 同意です。 しかし、実装を見てみると、、 (以下、主要な部分の抜粋) // stdout stdin.on("data", voorhees); // http http.get(req, functi
追記 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 のお
Manningから2012年春に出るnode本のearly access programがスタートしてた Manning: Node.js in Action 著者は二人 人気モジュールのクリエータTJ Holowaychuk php/Drupalでのキャリアの長いMike Cantelon 最近だと「Drupal開発者によるnode入門」と題したプレゼンを地元Vancouverでやってる人 MikeのGitHubページ early access programのページで脱稿前の原稿がどんどんアップされてく予定で、2011.8.25時点で2章までアップ 導入にあたる1章だけ無料公開してたので斜め読んでみた。既出系トピックは適宜カット 以下斜め読んだ内容 ちょっと想像してみてほしいこと いろんな情報を一瞬で送ったり受信したり処理してしまうウェブアプリが現実になった世界 離れたところにいる友達
http://www.nczonline.net/blog/2013/10/07/node-js-and-the-new-web-front-end/ Nicholas ZakasはYahoo出身で現在Boxに勤めるフロントエンジニアで、JavaScriptに関する複数のオライリー本の著者でもあります。彼が自身のブログで、Node.jsをサーバサイドUIレイヤのみで活用することを提言してます。 JavaScriptエンジニアはフロントエンドのコントロールはできるが、サーバサイドのUIレイヤはバックエンドエンジニアの領域で、それがフロント(JavaScript)エンジニアとバックエンドエンジニア双方のストレスであった。(参照図1) Node.jsの登場で、サーバサイドのUIレイヤをサーバサイドのビジネスロジックから分離し、フロントエンジニアはブラウザ & サーバのUIレイヤ、バックエンドエン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く