2019年10月24日

プログラミング

【イベントレポート】 Meguro.es#23 @ Wantedly, Inc

meguro_esmeguro_es

目次

  1. 初めに
  2. コンテンツ
  3.  Ma_gician <拡大版>
  4.  Apollo のキャッシュを理解する
  5.  GraphQL サーバーのスキーマファースト開発を半年経て
  6.  ライブで学ぶ The Elm Architecture
  7.  BigQueryでprotobufをパースした話
  8.  Vue.js / Nuxt.js のグローバルエラーハンドリング実装
  9. まとめ

はじめに

2019年10月10日、ウォンテッドリー株式会社様のオフィスにて開催された Meguro.es#23 の参加レポートです。

Meguro.es では受付で名札を渡される他に自分の属性を表すシールを選んで貼ることができます。

IMG_3235.jpg (215.0 kB)

これがあることで、懇親会で「 Vue やってるんですね、私は React をやっているのですが〜」みたいに会話が生まれやすいのでとても助かります。

また、輪になるときはスペースを空けてねという案内がありました。

知り合いがいないと懇親会で1人になってしまうことはどうしても発生してしまうので、このような配慮が行き届いているのはとてもありがたいなと思いました。

ちなみにMeguro.esという名前ですが、会場は港区でした。前回は六本木でやっていました。ゆる〜い感じですね。

コンテンツ

Ma_gician (世界中のフロントエンダーの残業時間を減らす、新しい JavaScript フロントエンドフレームワーク)<拡大版>

Ma gician <wide version> @meguro.es 2019/10/10 from Eucen Stew

発表者の @StewEucen さんが独自に開発している JavaScript フレームワークの紹介でした。

Twitterで開発状況などをつぶやいており、最近は勉強会で精力的に発表しているようです。

ちなみに Ma_gician というのは開発中のコードネームで、年内に正式 OSS として公開する予定で、そのときは別の名前になるようです。楽しみですね!

Apollo のキャッシュを理解する

Wantedly の @kbys_02 さんによる GraphQL のクライアントライブラリ Apollo Client のキャッシュについての解説でした。

私も最近 React Native の開発で使っているのですが、 Apollo Client はキャッシュと最適化の機能が強力でとても便利だと感じています。一方でデフォルトのキャッシュポリシーが cache-first となっておりキャッシュが見つかればネットワークリクエストを送信しないため、キャッシュがどうなっているかを理解することは必須です。

Twitter のタイムラインを見ていても分かりやすくて助かるという感想が多かったです!

GraphQL サーバーのスキーマファースト開発を半年経て

1つ前の発表に続いて Wantedly の @chloe463 さんによる GraphQL に関する登壇でした。 Wantedly さんの GraphQL への注力ぶりがわかりますね。

GraphQL 自体がリクエストの柔軟性があってフロントエンドと相性が良いというのもありますが、 Apollo Client v2 が登場した後のこの1年くらいで注目度が高まっている気がします。

Wantedly では BFF サーバーとして GraphQL サーバーを利用しているとのことでした。 BFF とは Backends For Frontends の略で、複数のバックエンドをフロントエンドから利用しやすい形として提供するための中間層です。
Nexus というライブラリを使ってまず TypeScript のコードでスキーマを宣言し、そこからGraphQLスキーマを生成しているというのが興味深かったです。これは私も調査してみようと思いました。

ライブで学ぶ The Elm Architecture

@y_taka_23 さんによる Elm 言語で提供される The Elm Architecture フレームワークの紹介でした。
私は、 Elm 言語は名前は聞いたことがありますが実際に動くコードを目にしたのは初めてでした。

The Elm Architecture では Model, Update, View という要素が登場しますが、これがほぼ React + Redux の Reducer, Action, Component に対応するので、すんなり理解できました。
(そもそもが Redux が Elm に影響されているらしいです)

BigQueryでprotobufをパースした話

Wantedly の @qnighy さんによる登壇でした。

BigQuery で複雑な処理を書きたいときは JavaScript でカスタムクエリを実装できるので、それを使って protobuf を無理やりパースしたという話でした。

なるほどわからんという感じでしたが、 JavaScript の裾野の広さを認識させられました。

Vue.js / Nuxt.js のグローバルエラーハンドリング実装

@nori3tsu さんによる、 エラー処理をカスタムエラークラスの実装とグローバルエラーハンドリングによって共通化するという話でした。

エラー処理は毎回書いているとコードが肥大化しますし、あちこちに書いてしまうと変更したいときに大変なので、できるだけ共通化したいですね。

window.addEventlistener('error', (event) => {
  // event.error でエラーインスタンス取得
}); 

window.addEventListener('unhandledrejection', (event) => {
  // event.reason でエラーインスタンス取得
});

これらの書き方は Vue.js じゃなくても使えるテクニックなので参考になりました。

まとめ

Meguro.es は回数を重ねていますが、配慮が行き届いており初参加の方に優しい勉強会で、それでいてレベルが高いという印象です。
およそ2ヶ月に1回開催されますので、近隣の方、興味を持った方は参加してみてはいかがでしょうか。

最後になりますが、 @fuya さんをはじめとする運営メンバーの方々は、いつもこのような場を提供していただきありがとうございます。機会があれば今後も参加させていただこうと思っています。

1

0

AUTHOR

しんのき エンジニア

新しい技術が好きなWebエンジニアです。 元々インフラやPHPをやっていたのですが、最近はReact NativeとFirebaseを使って頑張ってます。

アプリでもっと便利に!気になる記事をチェック!

記事のお気に入り登録やランキングが表示される昨日に対応!毎日の情報収集や調べ物にもっと身近なメディアになりました。

palanでは一緒に働く仲間を募集しています

正社員や業務委託、アルバイトやインターンなど雇用形態にこだわらず、
ベテランの方から業界未経験の方まで様々なかたのお力をお借りしたいと考えております。

話を聞いてみたい

運営メンバー

eishis

Eishi Saito 総務

SIerやスタートアップ、フリーランスを経て2016年11月にeishis, Inc.を設立。 マーケター・ディレクター・エンジニアなど何でも屋。 COBOLからReactまで色んなことやります。

sasakki デザイナー

アメリカの大学を卒業後、日本、シンガポールでデザイナーとして活動。

しまだ

しまだ デザイナー

WebAR/VRのデザインと3DCG制作がメインです。 肩書きは「アニメ案件に関わりたいデザイナー」。

Miu マーケター

ドイツでWEBマーケティングしています。

しんのき エンジニア

新しい技術が好きなWebエンジニアです。 元々インフラやPHPをやっていたのですが、最近はReact NativeとFirebaseを使って頑張ってます。

yamakawa

やまかわたかし デザイナー

フロントエンドデザイナー。デザイン・HTML/CSSマークアップ・JSアニメーション実装を担当しています。

furuya エンジニア

サーバーサイド、フロントエンド、Unityと色々手を出してる雑食系エンジニア。ReactNativeが最近のマイブーム。

Sayaka Osanai デザイナー

Sketchだいすきプロダクトデザイナー。シンプルだけどちょっとかわいいデザインが得意。 好きな食べものは生ハムとお寿司とカレーです。

はらた

はらた エンジニア

サーバーサイドエンジニア Ruby on Railsを使った開発を行なっています

うえまつゆい エンジニア

サーバーサイドエンジニアからフロントエンドエンジニアになりました。主にReact Nativeでのアプリ開発をしています。

kobori

こぼり ともろう エンジニア

サーバーサイドエンジニア。SIerを経て2019年7月に入社。日々学習しながらRuby on Railsを使った開発を行っています。

sasai

ささい エンジニア

フロントエンドエンジニア WebGLとReactが強みと言えるように頑張ってます。

CONTACT PAGE TOP