tomoima525's blog

Androidとか技術とかその他気になったことを書いているブログ。世界の秘密はカレーの中にある!サンフランシスコから発信中。

Mutation 後のキャッシュ更新処理についての設計指針(GraphQL, Apollo)

前回は、Apollo GraphQL における Mutation(トランザクション処理)の前提知識としてキャッシュ機構について説明しました。(記事はこちら)
今回は React Apollo(v2) における Mutation 後のキャッシュ更新処理について整理しつつ、どのパターンをどのユースケースで採用すべきかについてまとめてみました。

  • Mutation 後のキャッシュ更新処理
    • Mutation の返り値を使う(Optimistic UI/update)
    • Refetch
    • Subscription
  • どう使いわけるか
続きを読む

React Apollo のキャッシュ機構とアクセス

f:id:tomoima525:20190722044223p:plain

GraphQL におけるトランザクション処理は Mutation と呼ばれます。トランザクション処理の結果に基づいてビューも更新するのが一般的ですが、GraphQL の場合、いくつかの手法があります。それらの手法、どれを採用すべきかについては、後続の記事にて解説するとして、今回は前提知識となる キャッシュ機構のふるまいと利用方法について書きます。なお、この記事は React Apollo(v2)の仕様に基づいています。

続きを読む

ソフトウェアエンジニアと育児の Retrospective (生後 1 ヶ月編)

f:id:tomoima525:20190705163559j:plain

娘が産まれてあっという間に 6 週間がたった。毎日ドタバタ眼の前のことに追われて過ごしているので、日々どのように時間を使っていて、何ができて、何ができていないのか、正直あまり把握できていない。そこで記録を兼ねて振り返ってみることにした。

続きを読む

奥さんの脚を抱えてお産にのぞむ ~ベイエリア出産立ち会い体験記~

f:id:tomoima525:20190603172014p:plain

2週間前、娘が産まれた。アメリカは出生主義で、すぐに誕生証明が発行されたので、いまのところ娘は"アメリカ人"だ。日本国籍はこれから手続きをする。出産まで思いもよらずいろいろな出来事があってドラマチックだったので、この経験と感動を書きとどめておきたい。

続きを読む

旅をしながら仕事をする、あるいはリモートワークができるチームの作り方の話

f:id:tomoima525:20190122174807p:plain

12月中旬から1月中旬のおよそ3週間と少しのあいだ、ヨーロッパを旅しつつリモートで仕事をしていました。自分が働いている会社は現在サンフランシスコと日本に拠点があり、日本にいるメンバーも北海道や北関東など様々な場所からリモートで働いています。今回旅行中どう働いたのかという話に加えて、旅先で気づいたリモートチームを作るためにチームが備えるべきことについて書きました。

続きを読む

クライアントとサーバーどちらに実装するかの設計指針をチームで持つこと

f:id:tomoima525:20190106074708j:plain モバイルアプリケーションを開発していると、この要件や仕様はクライアントとサーバーどちらに置くべきか、という議論がチームでなされることがしばしばあります。例えば、

  • あるレスポンスAを受けて処理Bを行い、その結果をユーザーに提示する
  • 登録処理などで、処理C,処理Dという異なる処理を並列して行い、それらが完了したらユーザー側に通知する

やろうと思えばクライアント側で処理を全て持つこともできますし、サーバー側で実装もできますね。

このような仕様のディスカッションが起きたとき、チームで統一した判断基準を持っていますか?

続きを読む

海外の国際デベロッパーカンファレンスに採択されるまでの道のりと登壇のノウハウ

f:id:tomoima525:20181230073149p:plain:w400

11月にアメリカでDroidconと呼ばれるAndroidデベロッパーカンファレンスに初めて登壇しました。この記事では海外(日本国外)カンファレンスの選択、採択されるまでの道のり、発表までどのような準備が必要かをまとめてみました。

続きを読む