株式会社マネーフォワードで開催されたpotatotips #36のまとめ記事です。
iOSの人間によるまとめなので、Androidの内容の薄さはご容赦。
※発表された方へ
資料アップロードされましたら、お知らせ頂けますと、こちらの記事の更新が行えますのでご協力いただけましたら幸いです。
koutalouさん 実際Xamarinってどうなの?(iOS & Android)
主催のマネーフォワードの児玉さんによるXamarinのお話です。遅刻して発表はほぼ聞けていないのですが、資料をみるとXamarinでも作れそうな気分になってきますね。
jpmarthaさん giginet/xcprofilerをいじり倒す(iOS)
今年3月に開催されるtry!Swiftの主催者です。
giginet(ぎぎにゃん)さんがつくったxcprofilerにオプションを追加してPRを送ったという発表です。
xcprofilerはXcodeでのビルド時間を表示するコマンドラインツールです。
これにしきい値(threshold)を設定するためのオプションのPRを送ったとのことです。
yoichitgyさん GitHubでみるOSSライブラリ導入の判断指標 (Android)
OSSの導入判断をどうやってやっているかというお話でした。
- Star & Watcher数が多いこと
- 直近のContribution & contributorsが多いこと
- 放置されたPRやIssueが少ないこと
- Main Contributor以外の人がIssueに回答していること
- 本家mainブランチがほぼ最先端
- 外部依存ライブラリが少ない
- GitHub Parse - 直近の活発度合い
hachinobuさん カスタムな画面遷移OSSをつくった話(iOS)
マネーフォワードのhachnobuさんが、iOSでカスタムな画面遷移OSSであるSamuraiTransitionを作られたお話です。
斜め、×など、ユニークな形に切って、画面遷移が行えるライブラリでした。
UIViewControlleAnimatedTransitionProtocolに準拠しており、
UIViewのsnapshotViewやresizableSnapshotViewを利用しているようです。
kengoScalさん 本当にあった怖い脆弱性の話(Android)
マネーフォワードのkengoScalさんによる自社Androidアプリで見つかった脆弱性に関するTipです。
モバイルアプリの脆弱性の連絡窓口はJPCRERT/CCから来るそうで、リーチ可能な連絡先にしか連絡してくれないことや、法務や広報と連携しようなど、実際に直面しないとわからないようなtipsをお話されていました。
GoroOtsuboさん 自力で音声インタフェースを作ると何が起こるか(iOS)
iOS10で登場したSiriKitの用途のなかで、特に音声をテキストに変換するお話でした。
SiriKitの利用が限定されている理由については納得感がありました。
shimesabaさん GoogleAnalyticsを追加った効果測定(iOS)
マネーフォワードの杉本さんによるコホート分析を使った効果測定のお話です。
GoogleAnalyticsのカスタムディメンションが活用されていました。
(休憩)
ピザ🍕がうまい。
oobaさん サーバサイドエンジニアと効率よく開発するためにやっていること(iOS)
メルカリの大庭さんによるサーバーサイドエンジニアと効率よく開発するためのTipsです。
手元ですぐアプリを実行するための環境
- 開発環境はDeploygateや本番環境はTestflight
- ソースコードからビルドしてもらう際は、チェックアウトしたらすぐに実行できるように
開発者向け機能としては、
- 本番環境と開発環境を変える
開発者向けメニュー
本体を振ると、サーバーを切り替えたり、リセットできたりできるようにしているようです。LLDB Pluginの活用
デバッガに独自のコマンドを作れる仕組みで、APIのレスポンスが期待されているものと違うときに使っています。ArrayやDictionaryをJSON文字列として出力したり、URLRequestのインスタンスからcurlのコマンドが背性できるようにしているそうです。-
Charlesの活用
ネットワークプロキシのデバッグアプリ- ネットワーク通信の監視
- リクエストやレスポンスのダンプ
- レスポンスの書き換え
operandoOSさん AndroidのLayout Parseがクソすぎるので助けてAsyncLayoutInflater!!(Android)
メルカリの岡野さんによる非同期でxmlのレイアウトの解析をしてくれるAsyncLayoutInflaterのお話でした。
きっといつか今日の話はQiitaとかにまとめてくれると期待してます!(他人事
— shinobu.apk (@operandoOS) January 13, 2017
#potatotips
すいません、僕にはできませんでした。
サンプルコード: operando/AsyncLayoutInflater-Sample
参考資料:Asynchronous layout inflation
hiragramさん CarthageでビルドしたバイナリをTravisCIでキャッシュし時間短縮(iOS)
SpeeeのhiragramさんによるTravisCIでCarthageのビルドバイナリをキャッシュする話でした。
25分のビルドが4分になっていますが、自己責任でとのことです。
Circle CIなど違うCIでもやってみたいと思いました(自己責任)。
Nonchalantさん Translatorのススメ(iOS)
Usecaseで取得したEntityをTranslatorでModelに変換するというお話でした。
KeithYokoma さん Resource management in Robolectric(Android)
DriveModeのよこまくさんRobolectricの発表です。
今年3月に開催されるDroidkaigiの運営をやっているそうです。
bannzaiさん Clean Architecture用の開発ツールを作ったお話(iOS)
マネーフォワードの廣瀬さんによるClean Architectureを生成するKuriというOSSを作ったというお話です。翌日のSwift Tweetsでも発表されていました。
参考資料:まだMVC,MVP,MVVMで消耗してるの? iOS Clean Architectureについて
SatoshiN21さん フォントの基本からUIFontDescriptorまで(iOS)
エウレカの長坂さんによるUIFontに関するお話でした。
フォントのお話は岸川さんもtry!Swiftでお話されていたので、こちらの資料も参考になると思います。
懇親会
🍣🍺がうまい(ただしサーモンが凍っていた)
🍕🍣🍺#potatotips pic.twitter.com/4Y998ysTgE
— Daiki Matsudate (@d_date) January 13, 2017