タグ

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

  • リクルートテクノロジーズのフロントエンド開発 2016 - from scratch

    前書き このエントリーは Recruit Engineers Advent Calendar の 1日目の記事です。 www.adventar.org リクルートテクノロジーズのフロントエンド開発 リクルートテクノロジーズではいくつもの並行するタスクが走っていて、プラットフォーム基盤と呼ばれる基盤技術開発とインフラソリューションと呼ばれるインフラ開発、後はアプリケーション開発支援などのタスクが存在します。 アプリケーション開発支援の中でもウェブフロントエンド開発は目下のところ重要タスクとされており、色んなやり方をトライアルしています。 基的には、 React Redux Node.js という組み合わせでフロントエンド開発をしています。 主には以前 ubb.jp というイベントで発表したこの資料に記載されている内容でやっていますが、諸々補足します。 リッチなウェブアプリケーションを作るた

    リクルートテクノロジーズのフロントエンド開発 2016 - from scratch
    Jxck
    Jxck 2016/12/02
  • Node.js における Promise を使った例外処理 - from scratch

    さて、 Node.js のエラーハンドリングは難しいと言われてますが、 2016年現在、つまりNodeの v4 とか v6 が主流になり、 Promise が基的な処理として採用されている状況ではどうでしょうか。ちょっと考えてみます。 一応これの補足です。 qiita.com TL;DR 未だに難しい。ただし、 Promise で改善されている。async-await や zone まで来たらかなり楽になる。 あと、 unhandledRejection が uncaughtException よりも酷いことにならないので、大分マシになっている。 Node.js のエラーハンドリングの難しさ まず JavaScript には同期と非同期のエラーハンドリングのやり方があります。前者は所謂 try-catch による方法、後者は callback を使って第一引数で実現する方法や emit(

    Node.js における Promise を使った例外処理 - from scratch
  • ES Modules と Node.js について - from scratch

    書こう書こうと思いながらこのタイミングまでのがしてしまいました。 今一番 Node.js の中で hot な discussion の一つと言えるでしょう、『ES Modules が Node.js の中でどうなるか』です。 ES Modules 現況 ES2015 が発刊されてそろそろ一年です。 ES2015 にある機能は Node.js v6でも 93% 程度カバーされています。モダンブラウザでも大体が90%を超えています。しかし、 ES Modules だけはまだどのブラウザも実装しきれていません(kangax compat table は ES Modules は省かれてます)。 そもそも ECMAScript 2015 自身で定義されたのは構文だけなので、構文はともかく、どうやってモジュールを取ってくるかという Loader の部分がまだ決まりきっていません。 https://w

    ES Modules と Node.js について - from scratch
    Jxck
    Jxck 2016/05/10
    .mjs にすると無設定のサーバは octet-stream で出しちゃうだろうあたりが気になる mime-sniff は撲滅したいし。一方で最適化的にも content-type 分けたい気がするけど全部 .js で付け分けるのだとなかなか難しそう。
  • DeNAを卒業します - from scratch

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

    DeNAを卒業します - from scratch
    Jxck
    Jxck 2016/04/19
    🍣めでたい!🍣
  • Node.js と io.js の統合は最終局面へ - from scratch

    いくつかこの何日間でニュースが出ているので紹介します。 ちなみに、 io.js と Node.js のニュースに関してはこれまで2つ書いたので、まだ良く知らない人はそれをまずはご一読ください。 yosuke-furukawa.hatenablog.com yosuke-furukawa.hatenablog.com さて、次の展開へ、という事でいくつか話があります。 「Join the Node Foundation?」 というissueが mikeal から提案される github.com issue 文を翻訳したものを貼っておきます。 Node Foundationのためのすべての文書が揃った。 TSC Charter (技術委員会の目的) Development Policy(開発ポリシー) Convergence Plan(移行プラン) Project Lifecyle (Wor

    Node.js と io.js の統合は最終局面へ - from scratch
  • Node.js v0.12 がリリースされました。 - from scratch

    Node.js v0.12 がリリースされました。 さてさて、さいきんずっとio.jsの話をしてましたが、この度Node.js v0.12がリリースされました。 これまでずっとNode.js v0.12でどう変わるのかを話してましたが、この際一度、何が変わったのかおさらいしておきましょう。 参考URL Node v0.12.0 (Stable) API changes between v0.10 and v0.12 · joyent/node Wiki · GitHub Stream3 Stream3については前に一度この記事で話しました。 Stream今昔物語 - from scratch Stream2にあったold modeの概念がなくなり、Stream1とStream2の両方のAPIに対応されAPIがシンプルになりました。 Stream中のバッファに出力するcorkとそのバッファか

    Node.js v0.12 がリリースされました。 - from scratch
    Jxck
    Jxck 2015/02/09
  • io.js がリリースされました - from scratch

    さてさて、io.js ver.1.0.0, 1.0.1 が無事アメリカ時間の1/13日に予告通りリリースされました。 リリースから数日経過して、現在はv1.0.3が出ています。 ある程度v1.0が安定してきた今、実際にNode.jsとどう違うのかを解説したいと思います。 Node.jsと機能的に違う所はどこか 前回の記事のio.jsについて知っていること - from scratchでも触れたんですが、一番大きな違いはv8が新しくなり、ES6の機能が増えました。 詳しくは公式のES6に関するページを読んでもらうとして、かいつまんで書いていきます。 ES6の機能に"shipping", "staged", "in_progress"の3段階のラベルがつくようになりました。 これはES6の機能の安定度合いを示していて、 "shipping" > "staged" > "in_progress"

    io.js がリリースされました - from scratch
    Jxck
    Jxck 2015/01/23
    class と arrow function が待ち遠しい。
  • JavaScriptの科目 - from scratch

    なんかブログのお蔵入り記事を見返してたら色々出てきたので見切りでリリースしておく。 今読むとなんか合わない気もするし、まぁお酒の中での与太話程度に見ておいてください。 これの話してたのは2月くらいなので一年位経過してる。。 JavaScript の科目 先日、牛角.jsという名の飲み会で、@mootohさんと@bad_at_mathさんと牛角で飲み会でした。 その飲み会で出た話題を一つ。 元々はこの話で、 バベルの塔へ向けたフロントエンド開発者の咆哮について。気持ちはよくわかる。 https://t.co/QaabnJeEVw— juske the badatmath (@bad_at_math) February 3, 2014 フロントエンジニアが持つべきスキルセットが多すぎる!!ということをHNのスレで話し合っててすごく面白く、それを肴に飲み会してました。 んで、そこから話は飛び火し

    JavaScriptの科目 - from scratch
    Jxck
    Jxck 2014/12/31
    おもしろいw
  • io.jsについて知っていること - from scratch

    今、Node.jsに起きてることを語る上で、io.jsは避けて通れない話題でしょう。 今回のNode.js アドベントカレンダー 2014の締めを飾るために、このio.jsについて僕が知っている限りの事をまとめて書くことにします。 io.jsを知り、今後"Node"がどうなっていくのかを皆で一緒に考えていきましょう。 またこの一連のio.jsのfork騒動はOSSという特殊なプロジェクトをどう進めていくのがハッピーなのかを知る一つの教材だと思います。 OSSに関わっている皆さん、今回も長いですが、最後まで読んでもらえると幸いです。 io.js とは何か Node.jsのForkです。次のNode.jsの安定版になる、v0.12をForkしています。「アイ・オー ジェイエス」と読みます。名前の由来は木星にある四番目に大きな衛星の名前から取られました。*1 Nodeを使っている人のことをnod

    io.jsについて知っていること - from scratch
    Jxck
    Jxck 2014/12/25
    会長の秀逸なまとめ。 Node.js と io.js の関係は FUD に惑わされず、この記事を読んでちゃんと解釈してから言って欲しいですね。本当にお疲れさまでした!!
  • EcmaScript6 + power-assert でテストを書く - from scratch

    この記事はJavaScript Advent Calendar 2014の15日目の記事です。 さてさて、EcmaScript6に対する機運が高まっている中で、ES6の新機能の紹介記事が出てきておりますが、ES6が使えるブラウザはまだ浸透しておらず、使おうとするならばTraceur Compilerや6to5といったトランスパイラを利用せざるを得ないというのが現状です。 これらのトランスパイラも実際のプロダクトで使おうとするとまだそこまで実績がないし、いきなり番で使うという訳にいかない人達が多いかと思っています。 ただし、ES6には慣れておきたい、、、ES6の新機能(let, template-string, arrow function, generator, promise, etc...)を使ってみたい、、、 ならばせめてテストだけでもES6で書こうじゃないか、いずれES6が来た時

    EcmaScript6 + power-assert でテストを書く - from scratch
    Jxck
    Jxck 2014/12/16
  • 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
    Jxck
    Jxck 2014/12/04
    encoding/json に手を入れた感じなのかな?
  • Stream今昔物語 - from scratch

    この記事は Node.js Advent Calendar 2014 の 1日目の記事です。 こんにちは、代表です。 Stream大好きなみんなのためにStreamの過去と現在、そして未来についてお話するよ!! Streamを何故使うのかっていう話と歴史的な話をします!! Streamとは データの流れを扱うための抽象化されたモジュールです。もうみんな耳にタコかもしれませんが、Streamを使うとデータの流れを綺麗に書くことができます。ちなみに今に始まった概念ではなくて、C++にもC#にもStreamがありますし、Java8の新機能にもStreamがあります。「データを扱うときの抽象化された流れ」を指す広義のStreamという意味では今日の言語ではだいたい実装されています。 Node.jsでは、以下のリンクが参考になるでしょう。 Node.js の Stream API で「データの流れ」

    Stream今昔物語 - from scratch
    Jxck
    Jxck 2014/12/01
    Stream を util.pump で繋いでいたころからの進化は、 2012 の #nodefest で mikeal が話してたな。UST の動画ってどっかにまだあるのかな?
  • 東京Node学園祭 2014を開催しました - from scratch

    写真は @summerwind さんからです!ありがとうございました。 僕が最初に参加した学園祭から3年、まさか開催する側に立つとは3年前の僕は思いもしなかった。すごく楽しかった!! 東京Node学園祭 2013にスタッフ兼スピーカーとして参加しました。 - from scratch 東京Node学園祭 2012に行ってきました。 - from scratch 東京Node学園祭に行って来ました。 - from scratch ちなみに今回は2011年にも来たGuillermo Rauch、2012年にも来たMikeal Rogersに加えて新しくStrong Loopの元CEOであるIssac RothとNodeSchoolの主催者であるMaxwell Ogdenの4人を呼んで開催しました。自分で言うのもなんですが、ハンズオンあり、基調講演ありで非常に有意義なカンファレンスだったと思って

    東京Node学園祭 2014を開催しました - from scratch
    Jxck
    Jxck 2014/11/27
    おつかれさまでした! #nodefest
  • 【翻訳】リッチな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
    Jxck
    Jxck 2014/11/14
    お、 Guille のやつ翻訳されてた。お疲れ様です!
  • Node.jsのコミュニティに変化を与えるnode-forwardについて - from scratch

    ちょっとここ最近node.jsを騒がせてるnode-forwardについてまとめました。 node-forwardとは Node.jsを専門とするTechnical Committee(技術委員会)です。 nodeforward.org というサイトができており、簡単にそこに書かれている事を翻訳しておきました。 [翻訳] nodeforward.org Node Forwardとはオープンなコラボレーションを通してNode, JavaScript, それらのエコシステムを改善するために努力をするコミュニティです。 Nodeは驚くべき速さで成長しています。この成長はコミュニティが一定以上の規模になるまでに起きたいくつかの問題を先頭を切って解決してきました。 いくつかの問題は単純にアサインされるようなものだけじゃなく、リーダーシップとコントリビューターの自主性を要求するような問題でした。一方で

    Node.jsのコミュニティに変化を与えるnode-forwardについて - from scratch
    Jxck
    Jxck 2014/10/23
  • WebRTCについての話を社内勉強会でしてきた - from scratch

    ずっと興味はあったし、追っていたんですが手は出せていなかったWebRTCについてやっと学ぶことが出来ました。 ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化 作者: Ilya Grigorik,和田祐一郎,株式会社プログラミングシステム社出版社/メーカー: オライリージャパン発売日: 2014/05/16メディア: 大型この商品を含むブログ (2件) を見る ハイパフォーマンスブラウザネットワーキングという(以下、HPBN)がありまして、会社の中で輪読会していました。みんなで一つの章を担当しながら話すというスタイルでやっていました。 そこで僕が紹介したWebRTCの話です。 基的にWebRTCの中でやっていることを深く説明した資料になっています。 HPBNの資料だけで分からなかったところはWebRTCミートアップの資料や先人た

    WebRTCについての話を社内勉強会でしてきた - from scratch
    Jxck
    Jxck 2014/10/09
    よい資料だった
  • nodeconf.eu 3日目 (mad science, leveldb, strongloop) - from scratch

    英語すごいできるんですね。」みたいなコメントが有ったんですが、できないです。 相手が伝えている情報のうち、分かる単語から情報を拾って、確認するっていう、3 way handshake みたいな確認を逐一しながら補完しているだけです。要は気合です気合。 向こうの人は優しくて、こっちがネイティブじゃないんだってわかるとゆっくり喋ってくれたり簡単な言葉に直してくれるので楽ですね。 さてさて最終日も濃かったnodeconf.euの話をしていきます。 mad science act track このtrackでは、今までの「node.jsの運用」とか「microservicesで今後のnode.jsがどうこう」というよりもnode.jsのcutting edgeを走るsubstack, feross, dominic tarr, mikolaの話を聞いて彼らが普段何を考えてるのか、どんなものを作っ

    nodeconf.eu 3日目 (mad science, leveldb, strongloop) - from scratch
    Jxck
    Jxck 2014/09/13
    お疲れさまでした!
  • traceur-compiler 入門 - from scratch

    最近ちょっとはまってるtraceur-compilerについて紹介していきます。 前書き 今回、書いてたら非常に長くなってしまって、ちょっとした薄いの記事くらいの文量があります。 その代わり、公式ドキュメント + コードの中を読みこんで書いているので、今のところ多分日では一番詳しい記事かと思います。 すごく長いので章分けしました。興味が有るところだけ読み飛ばしてもらってもいいかと思います。 第一章 traceur-compiler概要 第二章 ES6言語仕様概要 第三章 traceur compilerの使いどころと類似ツール 第一章 traceur-compiler概要 traceur-compilerとは Googleが作っている EcmaScript6 形式で書かれた JavaScript を EcmaScript5 の形式に変換してくれるツールです。"トレーサーコンパイラー"と

    traceur-compiler 入門 - from scratch
    Jxck
    Jxck 2014/07/31
    良いまとめ
  • Farewell Node.js (翻訳) - from scratch

    「visionmedia、Node.js辞めるってよ」って事で、今回はこの話の翻訳ですね。 Farewell Node.js — Code adventures — Medium 最近のnode.jsはホントTJ Fontaine のリーダー就任から始まってNode.jsでできたエディタであるAtomがreleaseされたり、gemのモジュール数をnpmのモジュール数が抜いたり、socket.io v1.0が出たりと色々あるんですが、今回の話は飛び抜けて衝撃的だったなぁと思ってます。 一応知らない方のためにvisionmediaについて説明しておくと、以下のモジュールは全てvisionmedia製です。 express (Web Applicaiton Framework) mocha (Testing Framework) jade (hamlライクなtemplate engine) s

    Farewell Node.js (翻訳) - from scratch
    Jxck
    Jxck 2014/07/06
    翻訳キタ!!
  • 大阪のNode.js勉強会でNode.jsのセキュリティについての話してきた #npp02 - from scratch

    大阪Node学園に行ってきました。 かねてから雰囲気を知りたいと思っていた大阪Node学園に行ってきました。 行く前から今回の勉強会はすごく人数が少ない、という事だったので、役に立つ話(セキュリティの話)とぶっちゃけ話(心の闇)の両方をしようと思って行ってきました。 建前と音の話 建前と音というタイトルで話してきました。 建前編はセキュリティに関する話がメインで、そんなにNode.js関係ないんですがProductionで動かすなら知っておいてまぁ損はないです。 音編は音というかセキュリティに関するぶっちゃけ話なので言えない事が多く、削除してしまいました。 大阪Node学園の発表内容 「Node を稼働させる」 by @kumatch 資料 : Nodeを稼働させる from kumatch kumatch Node.jsを番環境で起動させるには、っていうことで、プロセスをデーモ

    大阪のNode.js勉強会でNode.jsのセキュリティについての話してきた #npp02 - from scratch
    Jxck
    Jxck 2014/06/16
    #mozaicfm の質問の回がメンションされてた。あと、消された本音について今度オフラインで聞いてみよう。