ポッドキャスト Today I Learned FMの28 回目はメンタルヘルスの話題について話しました。この記事はその収録に関する追記です。
続きを読む初回の AppStore レビューで7回リジェクトされたので項目と対応をまとめとく
最近パイロットアプリを AppStore にリリースしました。最初の審査は通常よりもきびしいという噂の通り、いや、噂を通り越して審査を通るまでに 7 回リジェクト(メタリジェクト含む)され、休日も挟んで 12 日ほどかかりました。しんどかった気持ちを供養するためにリジェクトされた内容とその対応をまとめておきます。
- 前提条件
- リジェクトその 1. パーミッション関連の文言
- 対応
- リジェクトその 2. 利用規約に反するコンテンツの扱い
- 対応
- リジェクトその 3. アプリの利用方法
- 対応
- リジェクトその 4. アイコンのデザイン
- 対応
- リジェクトその 5. バグの指摘
- 対応
- リジェクトその 6. レビューワー変更に伴う説明の繰り返し
- 対応
- まとめ
公園で出会った4ヶ国語話すベビーシッターが教えてくれた子供の多言語習得の秘訣
先日公園の砂場で娘と遊んでいたところ、向こうから2歳くらいの男の子とはつらつとした年配の女性がやってきた。ほどなくして娘が男の子と一緒に遊び始めたので、なんとはなしにその女性(Tさん)と立ち話を始めた。
続きを読むServerless Framework で作る mono repo AWS プロジェクト構成
サーバーレスなアーキテクチャを実現するサービスは世の中いくつか存在します。その中でも Serverless Framework(serverless.com) はベンダーに依存せずサーバーレス構築を提供するユニークなサービスです。サポートするベンダーも AWS, Google, Azure といった代表的なものから kubeless や openwhisk など比較的若いサービスまで多岐に渡っています。
つい最近 Serverless Framework を使って AWS のサーバーレス環境(TypeScript)を構築したのですが、 mono repo にするにあたってレイヤの切り分けや、サービスをまたいで利用される共通機能や変数の扱い方について学びがあったので、ブログに残すことにしました。Serveless Framework に興味がある方、どういう構成でサーバレスなプロジェクトが作れるのか気になる方にとって参考になるかと思います!
- プロジェクト概要
- プロジェクトルート
- バックエンド
- インフラレイヤ
- アプリレイヤ
- フロントエンド
- private API へのアクセス(IAM Permissions)
- まとめ: Serverless Framework に対する所感
React Apollo MockProvider の知見をまとめた
MockProviderはReact Apolloクライアントのリクエストや結果をモックするのに推奨されている方法です。サンプルコードを見る限りではいい感じに動くように見えますが、実際に使うとなると、結構ハマりどころがあります。MockProviderの使い方のヒントについてはすでにmediumなどに素晴らしい記事がありますが、それでもMockProvierの予期せぬ動作に数時間を溶かしてしまいました。
そんなわけでこの記事では、レスポンスを適切にモックするまでに得られた知見をシェアします。
なおテスト環境は以下です:
@apollo/client: 3.2.0 react-native:0.62.2 jest: 24.9.0 react-native-testing-library: 2.1.1
それでは行ってみましょう!
- 1. useQueryはhooks packageから直接インポートする
- 2. Fragmentを使っているときは__typenameも定義する
- 3. コンポーネントの描画を必ず走らせる
- 4. InMemoryCacheを挿入してエラーメッセージをわかりやすくする
- 5. "No more mocked responses" error => 引数をチェックする
- 6. Mutationや複数のQueryをテストする場合はキャッシュを無効化する
- まとめ
React Nativeの次世代アーキテクチャTurboModuleとJSIの話
stand.fm 社が主催する React Native 勉強会にて Catching up with TurboModules
という題名で未だ全容がはっきりしない TurboModules について発表しました。
この記事は発表では伝えきれない部分を補うものとなっています。
- 現状の Native - React Native のブリッジ実装と課題
- JSI(JavaScript Interface)
- TurboModule
- 1. global.__turboModuleProxy の定義
- 2.Native Module(Java/objC)と JSI をバインド
- 3. Native のモジュールを呼び出す
- TurboModule は現状使えるのか
- TurboModule 対応は必要か
- アプリケーション開発者
- ライブラリ開発者
- (おまけ) TurboReactPackage を使って Android アプリの起動の高速化を試みる
- 検証
- 結果
- まとめ