タグ

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

  • 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
    kamipo
    kamipo 2016/08/27
  • DeNAを卒業します - from scratch

    この週末にこの話を書こうと思っていたのですが、筆不精なもので土日を普通に過ごしてしまいました。 さて、表題の通りDeNAを卒業することになりました。 今回は技術的な話ではなく、単純にライフステージの変化の話なので気にならない人は読み飛ばしてください。 DeNAに入社したのは3年半前 yosuke-furukawa.hatenablog.com だいぶ昔の記事ですね。この時は同年代や年下の若いエンジニア達がメキメキと力をつけていく中で「なんとかしなければ」という焦燥感で常に何かしらをウォッチしつつ、新しい技術があれば飛びついて調べ、アウトプットする、というようなことをやってました。(今でもアンテナは張っているつもりです) そんな折に DeNA に誘われて入社できたのは非常にラッキーだったと思っています。新しい技術を積極的に採用しつつも、ある程度冷静かつ成熟した判断をしている部分があり、しかも

    DeNAを卒業します - from scratch
    kamipo
    kamipo 2016/04/19
    おつカレーさまでした!!
  • JavaScriptの文化とleftpadの話とpadStartについて - from scratch

    無駄にラノベみたいに長いタイトル書いちゃったんですが、まぁやっぱり一言くらいは残しておくかと思ったので書きます。長いのでまとめだけでも見てもらえると良いかもしれません。 leftpadの話はかなり大事になっていて、Node.js界隈を中心としてその他のOSSをやっている全体的に話が波及しています。幾つかの記事を読みました。今回はJSの文化歴史についてちょっとずつ書いていこうかなと思います。 の虫: npmからkikとその他諸々が消されたまとめ 江添さんの話はすごくよくまとまっていて、ネタも含めた上で一番面白い話になっていました、ここで言われている下記の疑問に答えていこうと思います。 もっと憂うべきパッケージがある。isArrayだ。このパッケージは一日88万回もダウンロードされていて、2016年2月だけの一ヶ月間に1800万回もダウンロードされていて、72個ものNPMパッケージが依存し

    JavaScriptの文化とleftpadの話とpadStartについて - from scratch
    kamipo
    kamipo 2016/03/27
  • 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
    kamipo
    kamipo 2015/11/05
  • Yet Another JSON な json5をgolangでparseできる奴を作った - from scratch

    このエントリは Go Advent Calendar 2014 の記事です。 さて、僕はJSONSchemaで疲弊してたんですが、主に疲弊してた理由としてはJSONの表現力不足(ケツカンマ許さない、コメントかけない等)とJSONSchema Validatorで不正な値があった時の情報量の少なさでして、JSONの表現力不足に関しては皆さんYAML使ったりして色々解決してるとは思います。 そこで自分もYAMLではなく、JSON5使って解決しようと考えてgolangで実装してみました。 JSON5の詳細に関してはこちらのエントリを参考にされると良いかと思います。 普通にjson5をインストールする インストールは簡単。 $ brew tap yosuke-furukawa/json5 $ brew install json5そんで、こんな感じのjson5ファイルを用意して、 // This i

    Yet Another JSON な json5をgolangでparseできる奴を作った - from scratch
    kamipo
    kamipo 2014/12/03
  • 【翻訳】リッチなWebアプリケーションのための7つの原則 - from scratch

    はじめに この話はGuillermo Rauch氏が書いたhttp://rauchg.com/2014/7-principles-of-rich-web-applications/ という記事の翻訳です。許可を得て翻訳しています。 ここ最近Web業界を賑わしているSingle Page Applicationの必要性、HTTP2/SPDYといった技術、リアクティブプログラミングやIsomorphicデザインという考え方について包括的にまとめたすごく良い記事になっております。 最初に断っておきますが、ものすごく長いです。各セクションがわかれているので時間がない方はセクションごとに書かれたtl;DRとまとめを読むだけでも参考になるかと思います。 ちなみに明日のNode学園祭には、記事を記述したGuillermo Rauch氏が見えるので、そこで詳しく聞いてみるのもいいのではないでしょうか。

    【翻訳】リッチなWebアプリケーションのための7つの原則 - from scratch
    kamipo
    kamipo 2014/11/14
  • nodeconf.eu 2日目 (node.js in production, jschan, debugging) - from scratch

    さてさて二日目。 ひょんなことから円卓で座って会話したらイギリス英語アメリカ英語の話になって、 「なんでナスってアメリカだとeggplantなんだよ、卵って紫じゃないだろw」 「イギリスのaubergine ってなんだよ、覚えられないよw」 みたいな会話に巻き込まれて、 「いやいや、そんな野菜よりも色のgreyとgrayの差のほうが深刻で、間違えやすいよ、CSSとかでどうしてるの?」 って言ったら 「ウェブの標準はアメリカ英語だから」 っていうマジレスを受けました。 二日目のセッションも色々と聞いてきてすげー面白かったので、まとめていきます。 node.js in production ab testing in netflix Netflix JavaScript Talks - Scaling A/B Testing on Netflix.com with Node.js from

    nodeconf.eu 2日目 (node.js in production, jschan, debugging) - from scratch
    kamipo
    kamipo 2014/09/11
  • nodeconf.eu 1日目 (Future Node.js, microservices, hapi) - from scratch

    さて、 nodeconf.eu に来ています。 当たり前なんだけど、nodeconf.eu ではnode.jsを使っているユーザーが多くて、外人ばっかり。 会う人会う人に「お前の国ではNode.jsは流行ってるのか?」って聞いてるんだけど、とりあえずの理解では、「サンフランシスコ、シアトルとかアメリカでは流行ってる。Dublin、ロンドンとかのアイルランド、イギリスでもまぁまぁ流行ってる。スウェーデンでは全く流行っていない。」っていう感じ。 日ではどうなんだ?って聞かれたから「MatzのおかげでRubyがめっちゃ流行ってるよ、Node.jsも一時期流行ったけどRubyほどじゃない、最近だとGoScalaが流行ってるよ」って応えてる。 ちなみにサンフランシスコだと、Node.jsめっちゃ流行ってて、Goがちょっと前のNode.jsみたくぼちぼち流行ってる、エッジな人たちがRust使い始め

    nodeconf.eu 1日目 (Future Node.js, microservices, hapi) - from scratch
    kamipo
    kamipo 2014/09/11
  • Socket.IO 1.0の紹介 (翻訳) - from scratch

    Socket.IO 1.0がリリースアウトされました。Socket.IO v1.0が出るといわれてから一年半以上経過しましたが、やっと出ました。Node.jsに関わる方であれば一度はお世話になっていると思います。今回はSocket.IO 1.0の紹介を作者であるGuillermo Rauchがしているので、それを日語で翻訳して紹介します。 TL;DR 翻訳していたらすごく面白かったのですが、文字だらけですごく長くなってしまったので、最初と最後にまとめを載せました。興味があれば全部目を通してみてください。 モジュール分割が進み、新しくEngine.IOが作られています。これはSocket.IOのトランスポート層のプロトコルを調律する役割を担っているライブラリです。 Engine.IOが行っている処理の一つで、最初に接続できる可能性が高いXHRやJSONPで確立し、websocketにupg

    kamipo
    kamipo 2014/06/02
  • LevelDB入門 (基本編) - from scratch

    さて、今回は比較的新しいデータストアであるLevelDBについてまとめてみました。 LevelDBは1年ほど前からNode.js界隈ではブームが来ていて、理由がよくわかっていなかったんですが、まとめている内に分かるかなと思ってまとめました。今回はNode.js無関係でLevelDBの基礎的なことだけ調査した結果をまとめてみました。 Node.jsで使ってみる話は後に回します。 LevelDBとは? key-value型のデータストアの一つです。 Googleの研究者である、Jeff DeanとSanjey Ghemawatが開発し、2011年に公表されました。C++で書かれており、多くのプログラミング言語でbindingsが書かれています。もちろん、JavaScript/Node.jsでも書かれています。 LevelDBGoogle のBigTableをベースにしたアーキテクチャを持

    LevelDB入門 (基本編) - from scratch
    kamipo
    kamipo 2014/05/07
  • ささたつ会議、オレ的ハイライト #299kaigi - from scratch

    ささたつ会議、ホントに面白かった。(※ 今回の話は、完全に内輪の話です。) ささたつ会議(新年会?) on Zusaar ささたつ会議を知らない人のために説明しておくと、ささたつを中心とした人達で事を作って飲む集まりのこと。 ささあげ #299kaigi pic.twitter.com/k1WlvwibiS— Yosuke FURUKAWA (@yosuke_furukawa) January 26, 2014 ささたつさんの厚揚げ(隠語)/ ぶれた>< #299kaigi pic.twitter.com/mqaH9gnddh— どぅーあき (@do_aki) January 26, 2014 実は過去2回ほどしてるけど、これまで以上の人口密度だった。 知らない人も知ってる人もごった煮の状況だったけど、作られる料理は美味しく、エンジニアらしい会話で盛り上がってた。 エンジニアらしい会話の

    ささたつ会議、オレ的ハイライト #299kaigi - from scratch
    kamipo
    kamipo 2014/01/27
    #isucon の話だ
  • DeNAに転職して1年経った - from scratch

    先日僕の誕生日だったのですが、思いがけず、色々な方々に祝ってもらえて、ものすごく嬉しかったので一年間でやったことをまとめてみようと思いました。 チームの方がたにも祝ってもらえた涙。当にありがたい!! pic.twitter.com/w5QrLfmdnk— Yosuke FURUKAWA (@yosuke_furukawa) December 11, 2013 ありがたい!!! pic.twitter.com/lTrNI1hrnf— Yosuke FURUKAWA (@yosuke_furukawa) December 11, 2013 さて、一昨日、12/11は僕の誕生日であり、DeNAに転職して丸一年経ったという事で、どういうことしてきたかという事を書いていこうかと思います。 以下のエントリに触発された面もある。 フリークアウトに転職して丸2年が経った - myfinderのはてなブロ

    DeNAに転職して1年経った - from scratch
    kamipo
    kamipo 2013/12/13
  • grunt-jsxを作りました。 - from scratch

    ※※ 2013-06-30 追記:add-search-pathのオプションキーはadd_search_pathに変更しました。 最近 JSXを仕事で使うことがあって、もっとjsxを便利に使いたいと思ってgrunt-jsxを作りました。 できること gruntからjsxをコンパイルしてjsを生成する、というだけのシロモノですが、gruntのエコシステムに乗ることでjsxファイルの変更をwatchして変更がある度にjsファイルを生成する等、非常に便利になります。 事前準備 JSXコマンドを使うので事前にjsxをinstallして下さい。 $ npm install jsx -ggruntも利用するのでインストールしましょう。 $ npm install grunt-cli -g適当なフォルダを作成し、gruntを使用する準備をします。 $ mkdir test-jsx $ cd test-j

    grunt-jsxを作りました。 - from scratch
    kamipo
    kamipo 2013/07/02
  • Bower入門(応用編) - from scratch

    Bower入門(応用編) さて、応用編を書いていきます。 基礎編ではBowerのインストールとライブラリ管理する上での基的なコマンドを紹介しました。 応用編ではBowerのライブラリを管理する上で利用するべきツールやライブラリを公開する上で心がけるべきことについて書いていきます。 少し長いのでサマリ Bowerを管理する上で利用すると良いツール:grunt-bower-taskがオススメです ライブラリを公開する上で心がけること、その1:mainとignoreをちゃんと書きましょう ライブラリを公開する上で心がけること、その2:ちゃんとgit tagを使ってバージョン管理しましょう Bowerからインストールしたライブラリを利用する場合 前回の基礎編で少し書きましたが、おさらいすると、Bowerはあくまでパッケージマネージャなので、インストールしてもフォルダ構造までは変えてくれません。

    Bower入門(応用編) - from scratch
    kamipo
    kamipo 2013/06/19
  • Bower入門(基礎編) - from scratch

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

    Bower入門(基礎編) - from scratch
    kamipo
    kamipo 2013/06/19
  • Smashing Node.js に書いてあるEffective Node.jsなこと(第一部を翻訳してみて) - from scratch

    ※ 2012-10-18追記 forEachはfilterの間違いでした。修正しておきます。 Smashing Node.js: JavaScript Everywhere (Smashing Magazine Book Series) 作者: Guillermo Rauch出版社/メーカー: Wiley発売日: 2012/09/11メディア: ペーパーバック購入: 1人 クリック: 67回この商品を含むブログを見る ブログは東京Node学園祭2012 アドベントカレンダーの1日目の記事です。 さてさて、Smashing Node.jsを読んでます。 読んでいて思ったのですが、非常に良書です。 著者は 前回のNode学園祭で魔法のようなライブコーディングを見せた Guillermo さん。 せっかくなので、Smashing Node.jsで書かれている内容の中で琴線に触れたものはシリーズ

    Smashing Node.js に書いてあるEffective Node.jsなこと(第一部を翻訳してみて) - from scratch
    kamipo
    kamipo 2012/10/15
  • 1