tomoima525's blog

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

javascript

TypeScript の AWS Lambda function を2000倍見栄え良くする

AWS Lambda Advent Calendar 13日目の記事です。 qiita.com 今回は AWS Lambda function で TypeScript の 関数を書くときにコンソール上で2000倍(※当社比)見栄え良くする方法を書きます。 ちなみにここでの"見栄えの良さ"はAWS コンソール上での読みさすさ…

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

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

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

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

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

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

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以上になりました。この記事ではどのような変更があったの…

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

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

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

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

2020 年の React Native 開発

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

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

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

React Nativeハイブリッドアプリケーション開発ことはじめ

React NativeとNativeのハイブリッドアプリケーションはFacebookやAirbnbなど大企業がを積極的に導入していることやNativeアプリを部分的にリプレイスできる利便性から今後も採用が増える分野と考えられます。本記事ではハイブリッドアプリを開発した自分の…

結婚式でLINE Message APIを使った写真共有サービスを作った話

先日結婚式を挙げました。式中ご参列いただいた方と簡単に写真を共有したいなと思い、LINE Message APIを使ってそういうマイクロサービスを作ってみました。ここではどのように実装していったのかを記憶が薄れぬうちに書きました。

Flow導入して数ヶ月がたった所感

ReactNativeプロジェクトで、型がないことによるつらいシーンが多くなり(特に変数の解釈に起因するバグ)、Facebook製の静的型解析ツールである[Flow](https://flow.org/en/)を数ヶ月前に導入しました。導入時の学びと、しばらく運用して感じていることについ…

React Native Meetup Portlandでハイブリットアプリ開発について話しました

先日React Native Meetup Portlandという勉強会でReactNativeとNativeのハイブリットアプリ開発について発表をしてきました。アメリカの自社開催以外のの勉強会で発表することは初めてだったので、知見と反省をメモしておこうと思います。

ReactNativeで理解しておくと良いReduxとMiddlewareのフローを理解する

(5/29/2017追記 ‘必要不可欠’ とタイトルに書いていたら'必要不可欠でない'と指摘を受けました。なんらかのデータフローの仕組みは必要だけどReduxである必要はないのでタイトル修正しました) 最近ReactNativeをちょこちょこ書いています。アプリ向けのReact…