俺コン Vol.1 / Day. 2にいってきました。
昨日2017年10月3日は俺コン2日目でした。
私もスピーチしてきました。
レポートしていきたいと思います。
俺コンとは
iOSDCに応募されたCfPでリジェクトされたトークから完全招待制で選ばれたトークをスピーチするイベントです。
東京のSwift界隈の名だたるコミュニティと松館さんが一同に集まって開催されました。
それぞれのコミュニティで聞きたいトークを選んだとのことです。
- Swift愛好会
- iOS Test Night
- AKIBA.swift
- fastlane勉強会
- Kyobashi.swift
- 松館 大輝さん (@d_date) / フリーランス
実践テスト駆動開発 in iOS / 細沼 祐介 (@tobi462)
テスト駆動開発のお話。
価値のあるコードが重要でやみくもにテストをすればいいのではないと断りつつ、どうすればテスト駆動開発ができるのかを発表していました。
テスト駆動開発は
- テストコードを書く(テストは失敗する)
- 実装する。(テストが成功する)
- リファクタリングする
という工程をたどるそうなのですが、それをライブコーディングでしてしてくれてとてもわかり易い発表でした。
テストしたい欲が高まってきた。
CIサービスBitriseで公開SDKのビルド&リリースを自動化した話
私、佐藤の発表です。
自社MAMORIOのSDK開発でビルドとリリースを自動化した話を発表しました。
テーマがニッチかな?と思ったのですが、Twitterではちらほらつぶやいてくれた方がいて嬉しい。
クラウドトラッキングの仕組みってどうなってるんだろう🤔#orecon_ios #fastlane_study_jp
— Kohei Tabata (@nerd0geek1) 2017年10月3日
fastlane、Android向けのビルドツールはこちら↓https://t.co/WU25CMvNQ1#orecon_ios #fastlane_study_jp
— Kohei Tabata (@nerd0geek1) 2017年10月3日
Frameworkの取り出し方、マニュアルだと確かにまぁめんどくさいよね #orecon_ios #fastlane_study_jp
— ワニ@tmk (@alligator_tama) 2017年10月3日
ディレクトリ構造とかちゃんと見てなかったのでありがたい。 #orecon_ios #fastlane_study_jp
— トビ@んなぁ〜、八神コウちゃんのなれ果て (@tobi462) 2017年10月3日
CircleCIに親しみすぎた俺には、逆にBitriseのGUIが難しかったw#orecon_ios #fastlane_study_jp
— Kohei Tabata (@nerd0geek1) 2017年10月3日
何故2回クローンするのかと思ったらそういう事か #orecon_ios #fastlane_study_jp
— かっくんiOSDC9/17LT登done (@fromkk) 2017年10月3日
非公開用リポジトリと公開用リポジトリ2つをクローンした話をしてました。
直接ymlファイルを修正すれば大丈夫!w #orecon_ios #fastlane_study_jp https://t.co/JvPcYxPrGu
— かっくんiOSDC9/17LT登done (@fromkk) 2017年10月3日
gymはipaを出力するもので、Framework出力という要件にはあってない。なるほど。 #orecon_ios #fastlane_study_jp
— トビ@んなぁ〜、八神コウちゃんのなれ果て (@tobi462) 2017年10月3日
gymはframeworkビルドに使えないということか。#orecon_ios #fastlane_study_jp
— Kohei Tabata (@nerd0geek1) 2017年10月3日
実際に使ってる人のworkflow見て見たかった。 #orecon_ios #fastlane_study_jp
— Ei (@eiskst) 2017年10月3日
via_shellってネーミングいいな #orecon_ios #fastlane_study_jp
— トビ@んなぁ〜、八神コウちゃんのなれ果て (@tobi462) 2017年10月3日
名前褒められた!嬉しい
ここまでならfastlane使わなくてもカスタムスクリプトワークフローで良さそう #orecon_ios #fastlane_study_jp
— かっくんiOSDC9/17LT登done (@fromkk) 2017年10月3日
fasaneでシェルスクリプトを実行 #orecon_ios #fastlane_study_jp pic.twitter.com/JI62AY7Ejs
— takano (@iototaku) 2017年10月3日
Git SubmoduleとかローカルのPodspecリポジトリとかでもうちょいいい感じにやれそうな気もする。#orecon_ios #fastlane_study_jp
— ワニ@tmk (@alligator_tama) 2017年10月3日
BitriseにSlackとの連携機能が含まれているのか、なるほどなぁ。 #orecon_ios #fastlane_study_jp
— トビ@んなぁ〜、八神コウちゃんのなれ果て (@tobi462) 2017年10月3日
fastlaneで複数リポジトリを操作するアクションが見つからなかったので愚直にシェルを書いた #orecon_ios #fastlane_study_jp
— ○=×=△=□ (@kz56cd) 2017年10月3日
fastlaneに自分のしたいアクションがなければshellで愚直に書くのもあり #orecon_ios #fastlane_study_jp
— Ei (@eiskst) 2017年10月3日
まとめ。ありがとうございました。#orecon_ios #fastlane_study_jp pic.twitter.com/hxLAuJcnk1
— takano (@iototaku) 2017年10月3日
質問
会場ででた質問です。
Q:ShellスクリプトでなぜFastlaneでやったの?BitriseにもShellスクリプト実行するWorkflowsはある。
A:確かに無理にFastlaneでやる必要はなかった。頭がFastlaneでするつもりになっていたので書いただけ。
Q:今あるActionで自分のやりたいことができないなら自分でActionつくってコントリビューターになるのも手だよ!
A:頑張る。
発表しての感想
Tipsを共有する発表だったのですが、いろいろ反応がありました。
BitriseとSlackとの連携や、ディレクトリの指定の仕方など「わかってしまえば簡単だけど知らないと気づかない」ことって多いです。
そこを共有できたのは嬉しいです。
あとただ説明するだけでなくて、「どう考えてこの手順にしたのか」を伝えるって大事ですね。
今回xcbuildコマンドを使ってgymコマンドを使わなかったところとか。
gitのプッシュにshellスクリプトを使ったところとか。
Twitterでそこに言及があったので、WHYを伝える努力、これからも続けようと思いました。
3年以上運用しているアプリにUIテストを導入した / Kazuya Ueoka (@fromkk)
この発表良かったです。
すごくためになりました。あとでもっと読み込みたいです。
テストのために、階層が深いViewControllerを一発で起動する方法や、ViewControllerを以下にテストできる状態に持っていく方法が共有されました。
一見の価値ありです。
@fromkk、テストコードを切り出してライブラリーにしたそうです。
スター欲しがってました。スターしよう!
https://github.com/fromkk/Lunch
LT
個人開発自分もどんどんやろうと思っているのでとても参考になりました。
ストレス社会に生きる、iOSエンジニアにオススメする百合の世界と作品 / ダンボー田中(@ktanaka117)
おわりに
とてもよい勉強会でした。
テスト欲がどんどん高まっています。
自分のプロジェクトにどんどん投入しよう。
最後にスピーチとして誘っていただいた平田さん、松館さんありがとうございました。
登壇して良かったです!