11/27の開催された JSConf JP 2021の参加レポ
最初から最後の懇親会まで参加したのは初で、どの登壇も興味深く面白かった
リアルタイムでは3レーンだったのが惜しまれたが、アーカイブが残っていた!
以下、みたやつ
JavaScript エコシステムを維持する OSS の努力と課題
JSやTSの仕様の取り込みから、それがさらに周辺のエコシステムにどう取り込まれるかを説明されていて勉強になった
また、OSSメンテナーのインタビューが印象的かつ「ありがとうございます!」という気持ちになった
JavaScript エコシステムを維持する OSS の努力と課題 - Speaker Deck
WEBフロントエンドのリプレースを支えるテストの考え方
リプレースにおけるテストの戦術をここまでロジカルにまとめられているのすごいなと思った
テストがないコードをテストを書きながらリプレースしていくという正攻法をちゃんとやらなければならないという話だった
Webフロントエンドのリプレースを支えるテストの考え方 / JSConf JP 2021 - Speaker Deck
The 2021 edition of dealing with files on the Web
Web上でファイルを操作する話
例えば、こういうAPIなど知らないことがたくさんあったのであとで見返したい developer.mozilla.org
Web ベースのカジュアルゲーム「Block Pong」の実装とビジネス
ゲームのリプレイの実装方法を考えるときに、なるほど二つのやり方がまずあるというのがあるのかと勉強になった
- 動画形式で動画を単純に再生する
- 初期状態と入力情報を記録してトーレスする
そして、トレースが思ったより難しいというのも知れてよかった
Web ベースのカジュアルゲーム「block pong」の実装とビジネス
AMP キャッシュを超えるシステムを自社ドメインで実現する方法
Denoの話
Deno のこれまでとこれから JSConf JP 2021
を裏で見つつカニさんの話を聞いた
「AMPを使った方がよいか」という質問に、使う必要はないがAMPにはWEBを高速化するエッセンスが盛り沢山なので上手に取り込もうという話が刺さった
状態管理ライブラリについて
@dai_shiさんのお話
その時はなるほどと思ったことがあったような気がするが、覚えてないので見直す
ネタとしてはValtioはフィンランド語で「状態の意味じゃなくて goverment の意味」だよってリリース2日後にコメントがあったとのこと
zustand 英語読みはザスタンド (元はドイツ語)
Next.js でリアーキテクトした話 by リクルート
@takepepeさんの登壇
Next.js でリアーキテクトした話 / story-of-re-architect-with-nextjs - Speaker Deck
人が増える前にコードベースの標準化がちゃんとできていて並列開発ができるようになっている理想的な増員受け入れ体制だな思った
参考にさせていただきたい
関数型プログラミングのデザインパターンひとめぐり with Ramda.js
ここからLT
関数型まったくわからないが、Ramda.jsで関数型でかけるらしい
興味があるのでいつか触ってみたい
【Ramda.js / Folktale】JavaScriptで (なるべく) 関数型にブラックジャックを実装する - Qiita
組織フェーズを見据えたWebフロントエンドのアーキテクチャと変遷
DDDとWebフロントエンドという興味のある話だった
組織フェーズを見据えたWebフロントエンドのアーキテクチャと変遷 - Speaker Deck
時間が短かったのであとで見直したい
加速するEdge Computing
いま注目のEdge Computingについて 加速するEdge Computing - Speaker Deck
Edgeで何をすべきか、何をすべきでないか、自分の整理にもなって大変参考になった
State of CSS 2021 Survey Results
State of JS と State of CSS の作者の@sachagreifさんの話
英語だったのでほとんどわからなかったが、スライドがかわいかった
How projects are born and run in a web browser engine
最後のKinuko Yasudaさんの話がめちゃささった
タイムラインも盛り上がっていたと思うが、資料は公開されていないのでアーカイブ動画見返したい
furukawaさんの
Chromium はめちゃくちゃ多様性のあるコミュニティで、国も所属も全部ばらばらで開発されている。#jsconfjp pic.twitter.com/j3GEzFUHyG
— Yosuke Furukawa (@yosuke_furukawa) 2021年11月27日
Chromium はプロポーザルを書いて、それを基に議論をして、徐々に行ったり来たりを繰り返して最終的に実装したりゴールに迫ったりする。
— Yosuke Furukawa (@yosuke_furukawa) 2021年11月27日
その上で重要なのは
1. 誰が利益を得るのか
2. ゴールの計画
3. どうしてそれが維持可能なのか
が重要#jsconfjp pic.twitter.com/Lk3ymycQfo
Chromium のゴールを共有するにはデモを作ったり、プロトタイプを見せたり大きめのやつはプランを出したり
— Yosuke Furukawa (@yosuke_furukawa) 2021年11月27日
一方でプロトタイプしやすいやつだけやってても実は手の届くところだけになりがち。
新しい事を実装するときのドキドキする楽しい面をもっと重要にして出していけるようにしたい。#jsconfjp pic.twitter.com/s3dGCLG07E
辛い、面白くない部分だけをあれこれ考えながらやっててもしょうがない、楽しい部分に変えられないかを常に想像しながらやる所が重要。#jsconfjp pic.twitter.com/6mv2QOyI8K
— Yosuke Furukawa (@yosuke_furukawa) 2021年11月27日
ブレインストーミングとそれを収集して揉んで、自分のアイデアをブラッシュアップするっていうのが重要。そのうえで、問題領域のオーナーを決めて実行に移していく必要がある。 #jsconfjp pic.twitter.com/DaHJrBjb28
— Yosuke Furukawa (@yosuke_furukawa) 2021年11月27日
みんなが向かっていくべき方向を見せる。こうなったらいいよねっていう空を見上げて向かうべき所を見定める。それが north star 北極星#jsconfjp pic.twitter.com/bOZh0gvioX
— Yosuke Furukawa (@yosuke_furukawa) 2021年11月27日
結論が出ない時は一旦決まった時間だけ timebox として決めておいて、その中で話を進めたり、常に plan B を検討しながら進めるのが重要。#jsconfjp pic.twitter.com/nabjuZABsu
— Yosuke Furukawa (@yosuke_furukawa) 2021年11月27日
必要だと思ったらとにかくたくさんどっかに書く。
— Yosuke Furukawa (@yosuke_furukawa) 2021年11月27日
オーバーコミュニケートが重要。こんだけ多様なコミュニティだとコンテキストがシェアされていないのが普通。オーバーコミュニケートすることをオーバーコミュニケートしてもいいくらい。#jsconfjp pic.twitter.com/RbrEnrZC8K
懇親会
懇親会では飛び込みLTでアクセシビリティの話をされていたので、自分の記事をぶっこんでみた
KKさんのアクセシビリティに関する論文 - UGA Boxxx
いつもの?雰囲気がわからなかったが、面白かったと言ってもらえたのでよかったのかな。。
自分は面白かったので来年も参加したい
他参考
https://zenn.dev/h_yoshikawa0724/articles/2021-11-28-jsconf-jp-2021