tomoima525's blog

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

開発

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

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

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

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

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コードについては、アプリを正しくビルド…

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

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

2020 年の React Native 開発

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

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

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

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

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

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

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

Android App Bundle/Dynamic feature modulesにみるモジュール化の未来

Google I/O 2018で発表された新機能であるAndroid App BundleとDynamic feature modulesが大規模アプリのペインポイントを解決しそうなので、早速利用/サンプルプロジェクトを触ってみた所感などを書きます。(5/9Dynamic featureのテスト方法について更新し…

日本向けのアプリとUS向けのモバイルアプリの違いはなにか

日本向けアプリとUS向けのモバイルアプリを開発した経験から「日本のアプリとUS向けのアプリの違いって何ですか?」と聞かれることがあります。個人的に最も違う点を挙げるなら、タイポグラフィだと思います。具体的にどういうことなのか、またもし海外向け…

「Android アプリ設計パターン入門」でReactNativeハイブリッドアプリやMVVMアプリ設計について執筆しました

本を書きました! ひょんな経緯から、クラウドファンディングによるAndroid設計本「Android アプリ設計パターン入門」の執筆に携わりました。 自分が担当した章は「7章 チームとアーキテクチャ」になります。クラウドファンディングの本で手にとっていただく…

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

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

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

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

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

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

中規模チームスプリントでSlack上のコミュニケーションが抜群に取りやすくなったひとつの方法

チーム規模が大きくなってくると、メンバーでコミュニケーションを取る際のストレスがだんだん上がってきます。特にSlack上でのやりとりは関係者が増えると複雑になりがちです。この点に関してここ最近、明らかにコミュニケーションの質が向上した取り組みが…

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

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

アニメの名言をSlackに引用できるkotoha-slackを作りました

Slack上でアニメの名言を引用したい時に、スラッシュコマンドで一覧を表示できるkotoha-slackを作りました。 コードはGithubにあります。 github.com

バックアップ機能がついたTwitCal 3.4.0をリリースしました

Android向けのカレンダー形式TwitterClient TwitCalの最新版をリリースしました。 今回はいつものバグ修正と合わせて、バックアップ機能を追加しました。 TwitCal Free ツイートをカレンダーでふりかえろう 開発元:tomoima@kumonos 無料 posted with アプリ…

Firebase Test Lab使ってみた雑感

Google IO 2016にて発表されたFirebase Test Labを試してみました。メリデメ、感じたことなどまとめました。 (6/2/2016 追記しました) tl;dr 2016年5月時点では、サポート端末の観点からアメリカ以外で使うにはまだ早そう。またネットワーク通信エラーでテス…

個人でサービス、OSS開発をする時にモチベーションを継続させるノウハウ

個人で(≒会社とは別に)サービスやOSS開発することは、会社で身につけられる以上のスキル、実績が得られたり、コミュニティを広げたりするなどメリットが多くあります。 tomoima525.hatenablog.com 自分自身もこれまでいくつかサービスやOSSを開発してきたの…

TwitCal 3.0 をリリースしました

過去の自分のツイートをカレンダー形式でふりかえることができるツイッタークライアント TwitCal の 3.0をリリースしました。 前回のリリースから実に4ヶ月が経過してしまったのですが、バグ修正以外にもいくつか新しい機能を追加したので、ぜひ使ってみてく…

Android Best Practices のディレクトリ構成を作れるテンプレート作った

Android Studioでプロジェクトを新規で作る時、テンプレートは何を選択していますか? テンプレートには自動でNavigation Drawerを生成してくれるものや、最近だと広告をつけてくれるものなど色々ありますが、実際のところ、Add No Activityを選択するか、Bl…

RealmDBでEndlessListView、あとMVPアーキテクチャ

自分の過去のツイートをカレンダーでふりかえることができるTwitCalというツイッタークライアントアプリを作っています。このアプリではデータのキャッシュ、ロードにRealmというモバイル向けDBを利用しています。 Realmは高速なので、Listviewで3000件のデ…

自分のツイートをカレンダー形式で振り返ることができるAndroidアプリTwitCalをリリースしました

大変久しぶりにAndroidアプリをリリースしました!のでその紹介をします。 TwitCal 自分のツイートをカレンダーでふりかえろう 開発元:tomoima@kumonos 無料 posted with アプリーチ 概要 カレンダーとTwitterの自分のツイートタイムラインが一体化したアプ…

スタンディングワークを半年続けた自分がスタンディングワークの最適解について考えた

約半年前からスタンディングワークをしているのですが、なんとなく自分の中で一番捗る最適解が見えてきたので、書こうと思います。 スタンディングワークについてはこちらの記事を御覧ください。 スタンディング・コーディングを試してみた - tomoima525's b…

エンジニアとしてキャリアを積みたいなら自分のウェブサービスも作ったほうがよい

自分の実力を簡単に示したいなら自分でサービス作るのが手っ取り早い話