タグ

ブックマーク / yosuke-furukawa.hatenablog.com (7)

  • socket.io が提供してくれているものは何か - from scratch

    現在開発中のシステムにリアルタイムな処理があり、そこで socket.io を使おうかなと思ってて、そういう折にタイムリーにもこの辺りの記事がタイムラインで出てきたのでメモ代わりに自分の意見を残しておく。 blog.jxck.io qiita.com socket.io が提供してくれているもの 「ブラウザとサーバ間のプロトコル」という観点で見ると socket.io は WebSocket を基として繋がらなかった時に XHR Long Polling や polling といった形式の代替手段を提供してくれるもの、という位置づけ。 一方で「ライブラリ」という観点で見ると socket.io はリアルタイムアプリケーションを作る際に必要になる処理をまとめて実装し、クライアントとサーバ間での EventEmitter として抽象化してくれているもの、という風になる。 もう少し噛み砕いて言

    socket.io が提供してくれているものは何か - from scratch
  • Node.js v5.0 がリリースされました。 - from scratch

    Node.js v5.0 がリリースされました!! 今回はどちらかと言うと機能面というより、 Node.js v5.0 の位置づけを中心に解説したいと思います。 機能面も一応載せますが、学園祭前で時間があまり作れないので、さくっと終わらせます。 機能面での変更 ES2015の文法追加 Spread operator が追加 Spread operator が追加されました。 これまで配列をJavaScriptの関数に引数に展開して渡す場合、以下のように記述する必要がありました。 function f(x, y, z) { console.log(x); console.log(y); console.log(z); } var args = [0, 1, 2]; f.apply(null, args); この書き方はあまり直感的じゃなく、また new 演算子と併用できないという問題があった

    Node.js v5.0 がリリースされました。 - from scratch
  • io.js の v2.0 が出ました。 - from scratch

    さてさて、久しぶりのio.js エントリですが、この度 io.js の v2.0 が出ました。 変更点をかいつまんで説明しましょう。書いてたら長くなってしまったので、サマリだけでいい人は最後のまとめを読むだけでいいと思います。 io.js は変化がものすごく激しく、v1.0 から v2.0 が入るまでに色んな機能が入っているんですが、知らない人も多いかと思います。 今回は v2.0 の単なる変更点だけじゃなくて、 v1.0 から今までで入った機能をサマリつつ伝えていこうかと思います。 Stream Simpler Construction (v1.2.0〜) Stream の作成が簡単になりました。今までStreamを作るためには、目的のStreamを継承して、TransformStreamであれば _transform のようなメソッドを拡張して実現する必要がありました。 これをより簡単

    io.js の v2.0 が出ました。 - from scratch
  • Node.jsで同期的にコマンドを実行できるようにする execsyncs を作った。 - from scratch

    Node.jsでshellのコマンドを実行する場合は以下のようにする必要がありました。 var exec = require('child_process').exec, child; //child_process.exec関数を利用する child = exec('cat *.js bad_file | wc -l', // exec関数は非同期関数なのでcallbackを取り、そこでstdout, stderrを取る function (error, stdout, stderr) { console.log('stdout: ' + stdout); console.log('stderr: ' + stderr); if (error !== null) { console.log('exec error: ' + error); } }); Node.js の v0.11では同

    Node.jsで同期的にコマンドを実行できるようにする execsyncs を作った。 - from scratch
  • Bower入門(基礎編) - from scratch

    Bower入門 これから Bower について書いてきます。Bowerの使い方から実際に使う上で考慮することまで含めて書きます。 長くなりそうなので単に使うだけの基礎編とモジュールを作る上で気をつけることをまとめた応用編に分けて書きます。 Bower とは Twitter社が作ったフロントエンド用のパッケージマネージャです。 Java で言う Maven、 Ruby で言う gemPerl で言う cpan のようなものです。 Node.jsには npm と呼ばれるパッケージマネージャがありますが、それに強く影響を受けています。 パッケージマネージャを利用することでライブラリを自分で管理する必要がなくなり、管理するファイルの数を減らすことができます。 また、パッケージマネージャを利用することでライブラリのバージョン管理をしやすくなります。 さらに自分のライブラリを Bower comp

    Bower入門(基礎編) - from scratch
  • 富士ゼロックスを退職し、DeNAに転職します。 - from scratch

    自分が退職エントリを書くことになる、というのは一年前、このブログを初めた時には考えもしなかった。この数ヶ月間、いくつか考えることがあったので、自分のためにも残しておく。 今回のエントリは多分めちゃくちゃ長いです。 最後にまとめがあるので、そこを見るだけでもいいと思います。 バックグラウンド的な まず、今の会社、富士ゼロックスに入社が決まった時から「この会社に一生勤めよう」とか、「安定したメーカーに就職できたからこれで安泰だ」とかは全く思っていなかった。 せっかくエンジニアになったのだから、「ユーザーの生活・働き方が変わるようなイノベーティブな製品を作りたい」という思いを持ち、それを叶えようと思っていた。 富士ゼロックスに勤めると、プリンター、コピー機だけじゃなくて、ソフトウェア含めて色んなモノを開発しているから自分の視野の拡大できるだろうし、富士ゼロックスにはFXPALっていうソフトウェア

    富士ゼロックスを退職し、DeNAに転職します。 - from scratch
  • ももクロスライダーで測る Redis vs MongoDB on Heroku 第二弾 - from scratch

    今日はみどりの日らしく、ももクロスライダーも緑の話が活発です。 さてさて、前回に続いてRedisの話です。 危険なほど速いと言われていますが、実際の実力はどうなのか気になるところです。 確かに他の参考記事を見ると、かなり高速なようです。 redis、それは危険なほどのスピード|サイバーエージェント 公式エンジニアブログ FreeBSDで,mongoDB V.S. Redis - なぜか数学者にはワイン好きが多い じゃーって事で、RedisとMongoDBをベンチマーク比較してみました。 結論から言うと、Redisはやっぱり鬼のように速いです。 ベンチ方法 RedisとMongoにtwitpicから取得してきた ももクロの画像に関するデータを入れておき、それを取り出す処理がどちらが早いかだけを計測しています。更新系の操作も高速なようですが、ももクロスライダーは今は更新系の操作がないので、これ

    ももクロスライダーで測る Redis vs MongoDB on Heroku 第二弾 - from scratch
  • 1