Konifar's WIP

親方!空からどらえもんが!

Kyash Android で UIテストを導入した時の方針

先日、KyashAndroidアプリのUIテストをEspressoで書いてCIで回すようにしました。

ユーザー登録、ログイン、カード登録のテストが、毎晩元気に走っています。

f:id:konifar:20180813174047g:plain

きっかけはKPTです。iOSでログイン直後に発生するユニットテストでは気づけない問題が見つかり、 Problem として上がってきました。

テストケースを15項目くらいSpreadSheetにまとめていて大きなリリースの時は手動で確認していたのですが、なぜか「今回はやらないで大丈夫」と判断した時に限ってバグが発生するんですよね。また、手動のテストケースはミスや形骸化しやすいので、 Try としてテストケースの一部を自動化してみることにしたのでした。

Espressoでテストを書く時は、@sumio_tymさんの素晴らしい資料があるので、下記2つを読んでおけば間違いないと思います*1

今回は、導入・メンテナンスのしやすさを考慮して決めたいくつかの方針についてまとめておこうと思います。まだ運用にのせたばかりなので、もしもっといいやり方があれば変えていくので@konifarまで教えてください。

*1:外山さんには、オフィスで直接色々とアドバイスもいただきとても感謝しています。

続きを読む

Kyashに入社して半年くらい経ちました

早いもので、2017年12月にKyashに入社してから半年が経ちました。

最近は 「勢いある」「Kyashよさそう」と言っていただくことも増えてありがたいなぁと思うと同時に、中にいるとちょっと過大評価されているなと感じることもあります。

自分自身も後で見返せるように、実際どうなの?という話を自分の視点から書いておこうと思います。Kyash実際はこんな感じなんだーというのがなんとなく伝われば嬉しいかぎりです。

ちなみにこういう話は思いもしないところ思いもしないツッコミを受けるものなので結構緊張しています。何か気になる表現があれば@konifarまで直接連絡をもらえるとありがたいです。

続きを読む

Androidプロジェクト内の未使用のリソースを削除するgradle pluginを作りました

Androidプロジェクト内で使っていないdrawableやstyle、stringなどのリソースを削除するgradle pluginを作りました。

gradleコマンド一発で完了するので、gradle-pullrequest-builderとCIのジョブを組み合わせれば未使用のリソースを消すPRを自動で作成することもできます。

我ながら便利なので紹介しておこうと思います。

github.com

続きを読む

DroidKaigi登壇におけるKyashを使った投げ銭の経緯と結果

先日DroidKaigiで登壇した際、自社プロダクトであるKyashの紹介とアイスブレイクを兼ねて「もしもこの発表がよかったなぁと感じていただけたら、このスライドのQRコードから39円*1送ってみてください」と言ってみたところ、 25人の方から7,400円もの投げ銭をいただきました。

送っていただいた皆さん、本当にありがとうございました。想像の10倍以上のフィードバックをいただいたので、事の経緯と結果を備忘として残しておこうと思います。

*1:実は39円送った時のみ表示されるアニメーションを実装しています

続きを読む

DroidKaigi 2018 iOS appのApple審査が通るまで

FlutterでDroidKaigi 2018のiOSアプリを作りましたという記事を書いた後、Appleの審査で何悶着かありもう公開は無理だと諦めていたところ、DroidKaigi当日の2018年2月8日に奇跡的に審査が通りApp Storeからインストールできるようになりました。

DroidKaigi 2018 Flutter

DroidKaigi 2018 Flutter

  • Yusuke Konishi
  • ユーティリティ
  • 無料

色々な人に知見をいただき、本当に感謝しています。iOSアプリを開発している人にとってはよくあることなのかもしれませんが、自分にとっては新鮮な体験だったので忘れないうちに時系列で残しておこうと思います。いつか、どこかの誰かが同じ思いをした時に少しでも助けになれば嬉しいかぎりです。

続きを読む

DroidKaigi2018で発表したFlutterアプリの話のスライド補足

DroidKaigi2018で『コードで見るFlutterアプリの実装』というタイトルで話をしてきました。

speakerdeck.com

聞きに来ていただいた皆さん、資料を読んでフィードバックをくれた皆さん、運営の皆さん、発表前に場を温めていただいた @mhidakaさん、ありがとうございました。

スライドだけだと話がわかりづらいところもあると思うので、書き起こし形式で補足しておこうと思います。当日用のスライドを一部削ったり、アドリブの台詞を省いたりはしています。

ちなみにこのやり方は、@yanzmさんが去年今年にやっていてとてもよいなぁと思ったので真似させていただきました。

続きを読む

FlutterでDroidKaigi 2018のiOSアプリを作りました

DroidKaigi2018が来週に迫ってきましたね。

自分もコードで見るFlutterアプリの実装というテーマで発表します。 その題材として、DroidKaigi2018のiOSアプリを作りました。コードも公開しています。

github.com

f:id:konifar:20180201010928p:plain

作った理由は、以前の記事に書いたとおりです。

また、公式アプリではないですが今年はiOSアプリも用意したいなぁと思っています。iOSDC2017に参加した時にAndroidアプリが欲しいと思ったからです。

まだ申請中なので間に合うかどうかわかりませんが、iOS端末がメインの方に使っていただけると嬉しいです。

DroidKaigiの発表では、時間の都合上Flutterの基本的な部分の説明は省くつもりなので、ここで簡単にまとめておこうと思います。

続きを読む