東京Node学園祭2016 参加レポート

昨日、2016年11月13日、Node.js日本ユーザグループが主催する日本で最大のNode.jsのカンファレンス東京Node学園祭に参加してきました。

渋谷のマークシティーで行われ、Javascriptそのものやその周辺のツールを開発方が直々に登壇するという大変豪華なカンファレンスでした。

以下が登壇者の一覧です。

Douglas Crockford 氏
  • ECMAScriptの仕様化団体の一人であり、JSONの開発者です。
James Snell 氏
  • WhatWG Social Activity WG の仕様化を進める一人であり、 Node.js core committer
Bradley Meck 氏
  • ECMAScript 仕様化団体の一人であり、 Node のモジュールエコシステムの今後の鍵を握る人物
Cheng Zhao 氏
  • デスクトップアプリ開発が可能な Electron の作者
Yoshua Wuyts 氏
  • React/Redux をベースに次世代の フロントエンド開発フレームワークである choo の開発を進める人物

今回の記事では、印象に残った登壇を

Building Interactive npm Command Line Modules

@_lrlnaさんの登壇

node.jsのnpmをコマンドラインで使用する方法について発表でした。

登壇スライドはこちらです。

yargsというnpmを使うと、引数、オプション、アイリアスなどを自然に設定できるとのこと。
https://www.npmjs.com/package/yargs

こちらの写真はデモで生涯でどのくらいネコを飼えるかどうかを教えてくれるコマンドをlrlnaさんが作成したそうです。

自分でコマンドラインを作ってみたくなりました。

The Seif Project

午後一発目はJSONの仕様を決めたDouglas CrockfordさんのSeif Projectの基調講演でした。

トゥギャッターはこちら
アプリケーションとしてのWebをアップグレードする "The Seif Project" 東京Node学園祭2016 基調講演 #nodefest

とてつもなく貴重な講演を聞けた気がします。
Webアプリの次の仕様をプロトコルレベルで開発中なのだそうです。

Douglasさんの問題意識として、Web(HTML)はドキュメントとしては優秀だがアプリとしては問題が多すぎるとのこと。パスワードは改ざんされ、動作は遅い。そして多くの企業、Apple,Microsoft,Googleなどがその状況をなんとかしようとしているがどこも上手く言っていない。

Webのオープンさを引き続きつつ、セキュアなアプリを作るためにSeif Projectを立ち上げたのだそう。

その方法がすごい。
TCPプロトコルから独自に実装し、JSONで公開鍵を渡すことで通信をさせる仕組みを作るのだそう。

スライドの例は、AliceとBobの通信の例で、AliceがBobに対して、seifプロトコルでBobの公開鍵をハッシュ化したものと、Aliceの公開鍵をハッシュ化したものをJson形式でBobに渡し、BobはAliceの公開鍵とセッションキーをハッシュ化したものを返す仕組みです。

こうすることで、通信の安全性を保つのだそう。

フロント側はQtと呼ばれるオープンソースを使うのだそう。
もともとNokiaが開発していたのがオープンソースになったとのことですが、PC,スマフォどこでも動くのが特徴です。

https://www.qt.io/

これをブラウザから呼ぶようにしようと考えているのだそうです。

Seifプロジェクトに賛同するファーストペンギンを募集中とのこと。

Seifプロジェクトサイト
http://www.seif.place/

プロジェクトはスケジュール方式ではなくて、クオリティベースでリリースをされていくとのこと。
今の実装はseifnodeとseifのプロトコル実装が完了しているステータス。

せっかくなので質問してみました。

Seifプロジェクトはブラウザで動くことを想定しているそうですが、どのようにユーザーに届くのかのイメージができなかったのです。
回答によると、今までURLにhttp://~と書いていたところを下記のようなURLを書くようになるとのことです。

seif: publickey @ ipaddress / referral

seifがプロトコルって質問して理解しました。httpプロトコルからseifプロトコルに変わるってことですね。

カンファレンスに参加して

Douglasさんの基調講演がすごすぎてそれに全部もってかれた感があります。
Webの次の仕様を直接聞けて、とてもワクワクしています。
まさかこんな話を聞けるとは思わなかったです。

自分でもNode.jsでアプリを作って行こうと思います。