non vorrei lavorare

昔はおもにプログラミングやガジェット系、今は?

Node学園 30時限目に行ってきた

背景

当日早速ブログ上げられてる方がいるけれど、自分の備忘録がてら記事にする。

Node学園 30時限目会場までの道のり

数日前、GW中に俺だけ起きて子供たちと奥さんが沖縄の方に出かけるので、残り数人だったけど枠が空いていた Node学園 30時限目に申し込んでよいかお伺いを立てて、無事承認されることで嫁Authをクリア!

当日までの間、いつも以上に細かな俺の素行を参加を人質に取ったように脅され続けるなど。

昨年の東京Node学園祭2017の2日目に行った会場と同じ場所かつ、常駐先からも近いので、 大分早く、会場周辺に着いた。

19時になって、会場のビルの2Fに行って受付の方からカードをもらい、エレベーター。 乗り換えを去年経験してなかったら、ちょっとあたふたしたと思われるが、2台目のエレベーターも スムーズに乗れた。

41Fに到着、が、どっちに行くんだっけ?っとまごついていたら、こっちですよと、親切な方が、 よくよく見たら、古川会長(@yosuke_furukawa)でした。会長の案内で無事会場に入れました! ありがとうございました。

発表内容と感想など

祝Node-v10リリース。これまでのNodeの振り返り by Shigeki Ohtsu

始めは、Qiitaで自分をフォローしてくださっている大津 繁樹(@jovi0608)さんの発表

speakerdeck.com

事前に資料公開して頂いていましたが、やはり会場で発表を聞いたらより理解が深まりました。 OpenSSLがらみでPerlが使われているなど初めて知りました!

V8の話を聞いて

Node.js v10.0.0で使用しているV8のバージョンがv6.2系から6.6系へアップデートされたと聞いて、 ついこの前、自分がWindows対応のプルリクを出して、1年ちかくかかって公式が対応してくれた plv8の事を思い出した。

github.com

plv8のV8のバージョンは6.4なのでNode.jsに負けてるのかぁwなど。

off the main thread with workers by Mariko Kosaka

speakerdeck.com

続いて、ちょっとまえにRebuild.fmにも出演されていたMariko Kosaka(@kosamari) さんのお話。

rebuild.fm

始めの方は、大津さんの発表と若干かぶることもあったりしましたが、 WebWorkerをいざ本格的に使いだしたら、使い勝手が悪く、これをもっと便利するには どうするとよいのか検討しているとのことでした。

昔、WebWorkerを動的に使って楽しんでましたが、動的な生成方法だと、デバッガを使うのが難しくなるなど デメリットがあること知ることができました。

LAPIs by Jxck

speakerdeck.com

3番目の発表はMozaic.fmのJxck(@Jxck)さん。低レイヤーと高レイヤーの中間的なAPIを低レイヤーのAPIを 使って実装するAPIの ことで、ポリフィルが確実に作れて、標準化を進めていく段階で試せるなど、しかし、これが仇となって標準化後の実装と ポリフィルの実装がずれるリスクがあるなどの課題があるなど。

自分の立場としては、標準化できる箇所は極力標準化してほしいなぁとIEのここで言えないバージョンの対応したり しているので切実w。

Jxckさんこの発表に関してのブログ記事も公開されたようです。

blog.jxck.io

LT 10分で、SSRを高速化してみる by shibukawa

docs.google.com

4番目の発表はReal World HTTPを書かれている渋川 よしき()さん というNext.jsでisomorphic-unfetchを使ってみたところ、

  • ローカルでHTTPリクエス
  • サーバーからのアクセスでページ表示側はすでに認証済み。そこからのデータ取得でさらに認証する必要はないはずだが、APIサーバー側で区別する方法がないため、迂回できない

といった問題が分かり、これを改善するためにshadow-fetchを作られたというお話でした。 SSR始めて早い段階で問題点を見つけられ、それを改善する実装まで作成されてただただ凄いなぁと感心しました。

LT BigInt あれこれ by shimataro

speakerdeck.com

最後の発表は、京都から来られた小田島 太郎(@shimataro999)さん。先日関西Node学園を立ち上げられたとのこと。

v10.0.0からはharmonyオプションが必要ながらも、任意桁数の整数が扱えるようになったというお話。 2の倍数だと滅茶苦茶処理が速いが、そうでないと数時間かかったり。

以前のNode.jsで大きな数を扱う記事を思い出した

abrakatabura.hatenablog.com

これをやってみた

10^210 / (10^10 + 3) の整数部分の桁数と、
一の位の数字を求めよ。
ただし 3^21 = 10460353203 を用いてよい。 
λ node --harmony-bigint
> a=10n**210n
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000n
> b=10n**10n+3n
10000000003n
> a/b
99999999970000000008999999997300000000809999999757000000072899999978130000006560999998031700000590489999822853000053144099984056770004782968998565109300430467209870859837038742048888377385333486784399n
> (a/b).toString().length
200

ということで、東大の入試問題もv10.0.0からは追加のnpmモジュールなしで解けるようになった。

ちなみに、自分の記事で取り上げたモジュールは現在のv10.0.0ではビルド出来なかった。

懇親会

Jxckさんには3月のMonthly webが4月公開だったので、4月のMonthly webの予定をお聞きした。 4月分は収録済みとのことでした。

2番目の発表のkosamariさんの隣に去年のNode学園祭で発表されたShirley Wuが座わられており、 ツイッターにアップされていた以下の

桜の動画に関して尋ねたり、rebuild.fmで@ChromiumDev中の人やってると言われていたkosamariさんが以下の写真撮られているのを 目撃したり

そのあと、古川会長にkjunichiさんもなにかLTなどしてくださいと言われて、ネタとして

abrakatabura.hatenablog.com

を実演するなどw。

とにかく、いろいろ参加出来て楽しいく知識を広げることができました。

関連記事

1年前の記事