だれも聞いていないと思って歌え

dance as if no one’s watching, sing as if no one’s listening, and live everyday as if it were your last.

「Node学園 27時限目」に行ってきました

8月31日に リクルートテクノロジーズさん で開催された「Node学園 27限目」に行ってきました。

nodejs.connpass.com

イベント概要

月に一度のペースで開催されている、 Node.js 日本ユーザーグループ主催による Node.js の勉強会です。

参加動機

  • 24 限目参加時の記事にも書いたように、 Node.js に強く興味を持ったので積極的に参加していこうと思っていたため。
  • プライベートで Headless Chrome を勉強していて、 Puppeteer はまだ触れていないが興味があった。
  • ES Modules や Server Side Rendering など話題の技術をキャッチしておきたかった。

「ayojs」 by yosuke_furukawa

Ayo.js とは

  • Node.js から fork されて生まれた Ayo.js (読み方は特に決まっておらず、アイ・オー、エイ・ヨーなど)。
  • コードより “人” にフォーカスしたプロジェクトで、現在は Node.js そのままだが Ayojs で改善していこうという動きもある。

Ayo.js を fork した理由

  • 技術面で大きな功績のあるメンバーが、 Code of Conduct 違反があったため除名の可否の投票を行ったが却下され、そしてその結果を受けてメンバーの何人かが抜けた。
    • Code of Conduct とは行動規範を示したもので、みんなが居心地よく活動するためのルール。
    • 違反を行った場合、Github の organization から ban や除名が行われる。

medium.com

  • 渦中のコミッターからの意見がブログに挙げられている。
  • 問題は解決していると思っていた、人を傷つけているつもりがなかった、また無根拠な指摘もあるという内容だそう。

Node.js と Ayo.js の今後

  • io.js は技術的な背景により生まれたプロジェクトだったが、 Ayo.js は政治的な背景により生まれたプロジェクト。
    • Ayo.js が Node.js に統合されるかはまだ不明。
  • Node.js もそのままではなく、改善していこうという動きがある。

[発表とパネルトーク形式]ES Modules 現状質問会 by teppeis, jxck

teppeis.hatenablog.com

  • 直前に公開されたブログ記事の解説から始まる。
    • 循環参照、ユニバーサル標準、ブラウザと Node で同じやり方でモジュール定義ができるそう。
    • 記事を読んでいなかったのであとで読み直す(読んだ)
  • Node.js における ES Modules はまだ色々と決まっていないことが多く、今後の話については議論が分かれる模様。
  • 議論の内容にはあまりついていけなかったけれど、先に書いたようにまだ決まっていないことも多いようだし、焦って使う必要はなさそう。

メモ

  • import.meta.url ( URL ベースになると置き換え不可能な、 __filename の代わりに追加されることを検討されている機能)
  • @std/esm(パッケージングの仕方が面白いらしい)
  • webpackaging

GraphCMS + Node(apollo-client) + Elastic Beanstalkで環境構築 by tgfjt

speakerdeck.com

  • WordPress から Netlify へ。
    • 静的に構築・運用可能なものへの置き換え。
  • 動的な部分もあるが WordPress は辛い -> GraphCMS
  • GUI により GraphQL を知らない状態でも操作・作成が可能
    • ただし、エディタがぶっ壊れている。 Markdown のコードブロックとか。

高機能ホスティングサービス Netlify www.netlify.com

GraphQL クライアントライブラリ github.com

Express と互換性のある Node.js のフレームワーク github.com

教える人のための Node.js by chantoku

www.slideshare.net

  • 教える側の人はプロだが、教わりたい人は プログラミング〜 JavaScript 中級者 まで様々。
    • 教える側と教わる側の技術に差がありすぎて、教える側からは何が分からないのか分からない。
  • 例えば、「 Node.js でも async/await が使えるようになりました」でも、 async/await とは何か? -> コールバックとは何か・それの何が辛いのか -> Promise とは何? と理解していくことになる。
  • ES2015 など書き方が変わりすぎている( Twitter にて、 3 年以上前の資料は読まなくていい、と教えているという意見も )。
  • ここ一年で JavaScript を勉強したので、どれもこれも分かりすぎる内容で自分だけじゃなかったという安心感が。

はじめてのSSR by brn227

speakerdeck.com

  • SSR = Server Side Rendering
  • Node.js はよく落ちるので Supervisor で監視
  • ブラウザの Routing と Node.js の Routing の二重管理になっているのが問題点
  • 本当に必要になるまでやるべきではないかなあ(情報も散らばっていて、分かりにくい)
  • フロントのコードがサーバーでも動くので、フロントと Node の両方を意識しないといけない
  • SSR はまだ触れられていないので、あれこれと色んなことを理解しておかないといけないので、今の自分にはつらそう。。。

puppeteer 入門 by mkamakura

  • 読み方は「ぱぴてぃあ」
  • puppeteer 以外にも、 Chromy, Chrominator, Chromeless
  • しっかりした設計、他のライブラリは不得意なタブなどもうまく扱っている by Chromy 開発者
  • API ドキュメントいっぱいいろいろあります
  • コードが await だらけになる

行ってみての感想

  • ES Modules や SSR などまだまだあまりよく分かっていないものも多いので、手の届く範囲から勉強していきたい。
  • GraphQL については先輩からネガティブな感想を聞いて、手を出すのを躊躇していたが理解するところからしていきたい。 GitHub API で GraphQL のものも公開されているので、既存のものから置き換える形でまず使ってみたい。
  • Chromy はすでにプライベートで使っているものだったので、 Puppeteer を利用してみようと思う。