tomoima525's blog

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

ビジネス版マッチングサービス Lunchclub で人に沢山会っている話と英会話に困らない質問リスト

7 月に入って諸事情*1により時間が余裕ができたので、自分の世界を広げる行動の一環として、積極的に人と会うようにしている。"人に会う"といってもまだまだ対面で会うことは難しいので、もっぱらオンラインで。さまざまなジャンルの人と話すツールとして Lu…

Provisioned Concurrency を Amplify 上の Lambda Function で利用する方法

Provisioned Concurrency は、Lambda 関数を常にクラウド上に起動させておく機能です。Amplify はこの機能をサポートしていませんが、CloudFormation ファイルをカスタマイズすることで Provisioned Concurrency の生成を自動化することができます。この記事…

「なんとなく元気がない」状態には名前があり対応が必要だと全マネジャーは知っていたほうが良い

ポッドキャスト Today I Learned FMの28 回目はメンタルヘルスの話題について話しました。この記事はその収録に関する追記です。

初回の AppStore レビューで7回リジェクトされたので項目と対応をまとめとく

最近パイロットアプリを AppStore にリリースしました。最初の審査は通常よりもきびしいという噂の通り、いや、噂を通り越して審査を通るまでに 7 回リジェクト(メタリジェクト含む)され、休日も挟んで 12 日ほどかかりました。しんどかった気持ちを供養する…

AmplifyでひとつのResource内に複数のLambda functionを作る

背景 Amplify で新しい Function を追加すると、CloudFormation 上に新しいスタックが作成されます。プロジェクトの立ち上げ期はどんどん機能追加していくものですが、プロジェクトやチームの規模が大きくなると問題になる可能性があります。CloudFormation …

公園で出会った4ヶ国語話すベビーシッターが教えてくれた子供の多言語習得の秘訣

先日公園の砂場で娘と遊んでいたところ、向こうから2歳くらいの男の子とはつらつとした年配の女性がやってきた。ほどなくして娘が男の子と一緒に遊び始めたので、なんとはなしにその女性(Tさん)と立ち話を始めた。

Serverless Framework で作る mono repo AWS プロジェクト構成

サーバーレスなアーキテクチャを実現するサービスは世の中いくつか存在します。その中でも Serverless Framework(serverless.com) はベンダーに依存せずサーバーレス構築を提供するユニークなサービスです。サポートするベンダーも AWS, Google, Azure とい…

React Apollo MockProvider の知見をまとめた

MockProviderはReact Apolloクライアントのリクエストや結果をモックするのに推奨されている方法です。サンプルコードを見る限りではいい感じに動くように見えますが、実際に使うとなると、結構ハマりどころがあります。MockProviderの使い方のヒントについ…

React Nativeの次世代アーキテクチャTurboModuleとJSIの話

stand.fm 社が主催する React Native 勉強会にて Catching up with TurboModules という題名で未だ全容がはっきりしない TurboModules について発表しました。 speakerdeck.com この記事は発表では伝えきれない部分を補うものとなっています。 現状の Native…

Google Speech To Textでそこそこ使える書き起こしツールを作る

奥さんが自分のメディアを持っていて日々サステナビリティや育児について発信しており、その一環で色々な方にインタビューをしています。 www.misamisaz.com インタビューページ インタビューは録音した音源をもとに対話形式で書き起こすわけなのですが、こ…

Apollo Client v3 アップデートのハマりどころまとめ

先日会社のプロジェクトにて、ようやくApollo Clientをv3にアップデートしました。今回のメジャーアップデートはいくつか大きな変更点があり、我々のプロジェクトでは影響を受けたファイルは合計300以上になりました。この記事ではどのような変更があったの…

ポスト COVID-19にシリコンバレーは終焉するのか、あるいはポッドキャストを始めた話

先日 JABI(Japan America Business Initiatives)というグループが主催するイベントにて"シリコンバレースタートアップのリモート開発"という題目で登壇しました。おおまかな概要としては、 ベイエリアでは採用コストの問題からリモートチームを国内外につく…

React NativeでiOSアプリをAndroidアプリに移植するときに気をつけること

数ヶ月前、自社製品(2年以上前にiOS版をリリース)のAndroid版アプリを開発/リリースしました。アプリはReact Nativeで実装されており、多くのコードがそのままで動きます。しかし、ビルド設定やデバイス固有のNativeコードについては、アプリを正しくビルド…

ベイエリアロックダウン(自宅退避令)の74日を振り返る

ベイエリアで自宅退避令(Shelter in Place)が発動されたのは3月17日のこと。それから6月1日までほとんどの長距離移動や経済活動は制限され、実質的にロックダウン状態だった。この特殊な状況は記録に値するかもしれないと考え Twitter で毎日 #ベイエリア封鎖…

業務用エスプレッソマシンを家に導入してハッピーライフを送る

ここ数ヶ月、ラテ作りにハマっている。COVID19の影響で完全在宅勤務になった2月からは毎日1-2杯は入れている。 使っているエスプレッソマシンはRancilioのSilviaという、いわゆる業務用モデルである。 ラテ好きで、コーヒーショップでよく飲んでいる人なら、…

読んだ本 2020年 2月

3月も中頃だけど、2月に読んだ本たち。本はいつ読んでいるかというと、通勤時の行きの電車で読んでいる(帰りは仕事している)。電車はだいたい30分で、月12回(週3回)ほどなので、だいたい6時間ほどで4冊読んでいる計算だ。今月読んだ本だとテッド・チャンの"…

柔軟に開発チームを拡張する ~スタッフ・オーグメンテーションの知見~

ベイエリアにある今のスタートアップに入っておよそ一年ちょっとが経過しました。入社してから開発の他に採用やチーム作り、プロジェクトの推進などに力を入れて取り組んでます。今回は UI 改善や短期的なプロジェクトを回すために、スタッフ・オーグメンテ…

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

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

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

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

2020 年の React Native 開発

2019 年は React Native にとってはさまざまな変化があったので、それらを振返りつつこの記事では最近の React Native をめぐる状況と個人的見解について書きます。採用を検討している方、Flutter などのクロスプラットフォーム開発フレームワークと比べたい…

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

我が家に娘が生まれて 6 ヶ月が経ちました。育児にもだいぶ慣れてきたのですが、唯一苦労しているのが寝かしつけでした。どうやったら健やかに寝てくれるのか模索していたところ、ねんねトレーニングを専門で行う睡眠コンサルタントの存在を知り、トレーニン…

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

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

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

GraphQL におけるトランザクション処理は Mutation と呼ばれます。トランザクション処理の結果に基づいてビューも更新するのが一般的ですが、GraphQL の場合、いくつかの手法があります。それらの手法、どれを採用すべきかについては、後続の記事にて解説す…

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

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

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

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

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

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

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

モバイルアプリケーションを開発していると、この要件や仕様はクライアントとサーバーどちらに置くべきか、という議論がチームでなされることがしばしばあります。例えば、 あるレスポンスAを受けて処理Bを行い、その結果をユーザーに提示する 登録処理など…

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

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

メルカリを退職してChanoma, Inc. にジョインしました

近況報告です。11月頭にメルカリを退職し、サンフランシスコを拠点とするChanoma, Inc.にジョインしました。

シリコンバレーに引っ越しました

5月末に、1年住んだサンフランシスコを離れ、シリコンバレーにあるサニーベールに引っ越ししました。