コネヒト開発者ブログ

コネヒト開発者ブログ

JSConf JP(Day2)に行ってきました!

こんにちわ!フロントエンドエンジニアの黒田です!

2019年12月1日に行われたJSConf JP(Day2)のレポート記事で、コネヒト Advent Calendar 2019 22日目の記事です。
ちなみに、弊社コネヒト株式会社はJSConf JPにシルバースポンサーとして協賛しました。

さて、ここからはトークセッションの概要になりますが、会場では3Roomに別れて同時に別々のセッションが開かれており、実際に私が視聴したセッションに限りのレポートになることをご了承ください。

InversifyJSを用いたレイヤードアーキテクチャの構築

speakerdeck.com

レイヤードアーキテクチャやDDDなどアーキテクチャのおさらいとDIコンテナを実装すべき話、またそれらを実現するライブラリについての話でした。
当初はInversifyJSがこれらを解決するライブラリとして紹介する予定だったが、TSyringeというMicrosoft製のライブラリを使った方がいいよということらしいです。

Build and scale multiple Voice application by using TypeScript

speakerdeck.com

CMでおなじみのAlexaの開発の話でした。
リクエスト/レスポンス処理はask-sdkを使ってTypeScriptベースで開発できるようです。
ただ、機能を意味するスキルの設計にやや難があるらしくいい感じに作れるFWが今後作られることを期待しているらしいです。
若干専門的な事柄がありつつも、基本的に音声・言語処理系の知識がなくても開発可能なところに興味が沸きました。

正攻法はあるのか !? 泥臭く戦った Node.js バージョンアップ一部始終

speakerdeck.com

Nodeを6系から一気に10系にバージョンアップした話でした。
ノウハウがない中で泥臭くリリースノートの差分確認や全機能テストを繰り返して、無事リリースまで行ったのは単純にお疲れ様でしたとしか言いようがありません。
泥臭いと書くとネガティブに捉えがちですが、シンプルに正攻法とも言えるわけでこれはこれで貴重な経験談を聞けたなと思います。
ただ、ライブラリのバージョンメンテナンスはこまめにやっていこうなとしみじみ思いました。

Migration from React Native to PWA

speakerdeck.com

React Nativeへの移行やフルNativeへの移行はちらほら聞いたことはあるが、React NativeからPWAへの移行は聞いたことがないので驚きでした。
マルチプラットフォーム対応やReact Nativeのライブラリ管理、ビルド/デプロイ周りはweb中心のエンジニアだと馴染みがなくて大変なんだろうなという所感。
あとは開発リソース不足の問題も含めて改めて「開発 ≠ 運用」という言葉が印象に残りました。

GraphQLを用いたECサイトにおけるパフォーマンス改善

speakerdeck.com

パフォーマンス改善のアプローチをフロント、サーバー、GraphQL/Schemaの3つに分けて分かりやすく説明していました。
GraphQLでN+1問題を回避したり、over-fetchingをなくしたり、実践的なTipsを多く挙げられていました。

JavaScriptのままでTypeScriptを始める

speakerdeck.com

TypeScriptを導入したいんだけど諸々な事情で取り入れられないよーというアルアルな方向けに、JavaScriptで相応の恩恵が得られるTyped-JavaScriptというライブラリの話でした。
ややエッジが効いているものの、規約に沿ったコメントを書いておくだけで導入可能なようです。素晴らしい!

Your benchmark may not guide a real application performance

speakerdeck.com

パフォーマンス計測指標の設定の仕方について、よく出てくる指標はあくまで一般的な指標であって盲目的にそれらを採用するのはNGだよという話でした。
言うは易しではありますが、最適な計測指標を見つけるには自分のプロダクトのドメイン知識をよく理解して設定しようそうしましょう。

JavaScriptとSwift/JavaをつなげるCapacitorと、これからのWeb Frontned.

speakerdeck.com

クロスプラットフォーム開発で使われるCapacitorの話でした。
ionicは触れたことがなく個人的には理解に難ありなセッションでしたが、簡単にネイティブアクセスできるコードがJavaScriptで書けるようです。

大規模アプリケーション開発でのElm実践

UniposはElmを使っているというのは知っていたけど、実際どんな設計になるのかをElmという言語の特徴を元に解説する話でした。
Elm食わず嫌いで今まできてしまっていましたが、少しだけ触ってみようかなと、それほど登壇者のElm愛が伝わってきました。

最新のWeb技術でIoT開発をする

speakerdeck.com

webエンジニアだとなかなかIoTの世界は触れる機会は少ないけれど、JavaScriptで動くようにできるIoTデバイスがあるんだよという話でした。
obnizはJavaScriptがかければ、あとはセンサーやモーターの知識を補完するだけでIoTができるらしいです。
事例もふまえてかなり分かりやすく説明されていました。価格もお手頃価格なので機会があれば試してみたいですね。

Sponsor talk

恒例のスポンサートークです。
Yahoo! Japan, リクルートテクノロジーズ, ドワンゴ, DMM, Twilioといった有名どころの企業が登壇していました。
中でもtwilioの自社サービスを使った対話型のセッションが聞き手を巻き込んでいて特に印象に残りました。

points at random

f:id:Naomichi-Kuroda:20200106184201j:plain
points at random

最後のクロージングセッションです。
登壇者はMariko Kosakaさんで、実は11年前にアートイベントのインターンとして会場に来ていたそうです。

本題では、Sol Lewitt氏のアートクリエイティブの過程がコードによく似ていること。
また、Marikoさんのキャリアの中でとても多くの人と出会い、その出会いが重要なものばかりであったこと。
それらの出会いは偶然、ランダムのように見えて実はランダムではなく、皆がそれぞれ持っているprivilege(特権)のおかげなのだそうです。
特に後半のコミュニティに関する内容はすごくエモくて素敵なセッションでした!

Closing

f:id:Naomichi-Kuroda:20200106184306j:plain
closing

代表の古川さんの挨拶でイベントの締め括りです。
JSConf Jpができるまでの経緯や関係者への感謝の言葉を述べていました。
最後にみんなで記念撮影で終幕でした。

最後に

以上、JSConf JP 2日目のレポートでした。
1日目から参加してきましたが、海外の方も結構参加されていて国際色豊かなイベントだったなという一方、会場が真冬の屋上だったり、教室のようで狭かったり運営の方は大変だろうなーと思いつつも、1回目でこれだけやれれば大成功だったのではないかなーと思いました。
次回は9月頃に開催予定だそうですので、JavaScriptを使われる方、スポンサーの方は次回以降も参加してどんどん盛り上がっていったらいいなと思います。

コネヒトでは職域を問わず幅広くWebエンジニアを積極採用中です!

  • フロントエンドエンジニア

www.wantedly.com

  • サーバーサイドエンジニア

www.wantedly.com

  • インフラエンジニア

www.wantedly.com