tomoima525's blog

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

読んだ本、観た映画 2020年 1月

通勤時間や息抜きにそこそこ本を読んだり映画を観ているのに、心の中やノートに感想を留めておくのはもったいないなと思い、ブログに毎月記録することにした。最近の関心はマネジメントやエンジニアのチーム作りなので、それに関連した本を何冊か読んだ。というわけで2020年 1月読んだ本と見た映画です。

  • 読んだ本
    • SOFT SKILLS ソフトウェア開発者の人生マニュアル
    • HARD THINGS 答えがない難問と困難にきみはどう立ち向かうか
    • HIGH OUTPUT MANAGEMENT
    • 今夜、すべてのバーで
    • Another
  • 見た映画
    • IT 2
    • Inside Bill's Brain: Decoding Bill Gates
続きを読む

iOS NativeからReact Native に乗り換えた Shopify の話聞いてきた

"最も使われているサービスのひとつを iOS Native から React Native に作り変えた" というアナウンスメントを出し話題となった Shopify で、まさにその内容を扱った React Native の meetup があり、参加してきたので内容と所感をまとめました。

  • React Native is the Future of Mobile at Shopify
  • 発表内容
    • 検証/導入フェーズ
    • 技術スタック
    • React Native がもたらした効果
    • 途中でやめたこと
  • 追加で登壇者に聞いたこと
  • その他の発表
  • その他もろもろ
続きを読む

2020 年の React Native 開発

2019 年は React Native にとってはさまざまな変化があったので、それらを振返りつつこの記事では最近の React Native をめぐる状況と個人的見解について書きます。採用を検討している方、Flutter などのクロスプラットフォーム開発フレームワークと比べたいという方の参考になれば幸いです。
フラットに書くことを意識していますが、いち利用者としてのバイアスがあることをご了承ください。

  • 開発体験
    • Fast Refresh
    • Auto Linking
    • CocoaPods の標準採用
    • Expo によるワンストップ開発環境構築
  • フレームワーク/アーキテクチャ
    • Lean Core
    • Android
    • 最新の React への追随
  • コミュニティ
    • What do you dislike about React Native?
    • react-native-community 管理下のライブラリの普及
  • React Native の課題
    • 依然としてメジャーバージョンアップなし
    • 環境設定の複雑さ、複雑な依存関係
  • React Native を採用する(個人的な)選定基準
    • チームメンバーのスキルセット
    • ネイティブ実装がどの程度必要か
    • 会社/サービスの種類
  • React Native、React の今後
続きを読む

赤ちゃんのねんねトレーニングコンサルタントを雇ったら QoL が爆上がりした

f:id:tomoima525:20191102121531j:plain:w300

我が家に娘が生まれて 6 ヶ月が経ちました。育児にもだいぶ慣れてきたのですが、唯一苦労しているのが寝かしつけでした。どうやったら健やかに寝てくれるのか模索していたところ、ねんねトレーニングを専門で行う睡眠コンサルタントの存在を知り、トレーニングを依頼しました。結果としてトレーニングは大成功し夫婦の QoL が著しく向上したので、どのようなトレーニングを受けてどう改善したのか、ブログに残しておきます。

続きを読む

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

続きを読む