SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Plannahの開発環境と
DeployGateの紹介
株式会社ミクシィ
イノベーションセンター
衣川憲治
自己紹介
• 衣川憲治(k_kinukawa)
• 2010年11月〜
• mixi for iPhone, iPad
• Plannah(3月末でクローズ)
• 4月よりDeployGateチームに所属
Plannahとは
• みんなで作る、思い出アル
バムアプリ
• 3月末でクローズしました。
チーム
• マーケティング、ディレクション(1名)
• デザイン、UI/UX(1名)
• アプリ、サーバー、インフラ、開発全般(衣川)
一人で開発しなければならない!
あなたならどうする?
ローンチまでの期間:3ヶ月
一番最初に、CI環境を整えよう
継続的インテグレーション(CI)
• ビルド、テストを継続的に実行する。
– 短いサイクル
– 自動化
• 高速に石橋を叩きながら開発を進める
開発
ビルド
テスト リリース
Jenkins
• ビルド、テストの自動
化
• アプリ配信の自動化
• メトリクスの自動取得
Github
• ソースコード管理
• issue管理
• コードレビュー
DeployGate
• アプリのリモート配信
サービス
• iOS対応しました
NOMADO
• 超便利なコマンドラインツール群
• shenzhenで、コマンドラインから一発ipaファイ
ル作成
• あとでデモします。
組み合わせると...
ソースコード
くれ!
ビルド・テスト
しろ!
アーカイブ作ってみ
んなに配れ!
配信!
Github
Xcode
DeployGate
チーム
プッシュ、レビュー、
マージ!
組み合わせると...
• Githubにpushしたら自動で
– ビルド
– テスト
– 自動配信
• メンバーは常に最新のビルドを使い倒す
• 少ない人数でも効率的な検証環境を整えて
おく。
便利なライブラリを有効活用しよう
CocoaPods
• ライブラリ管理のための必須ツール
• 導入のための設定も自動で行ってくれる
• 自作ライブラリも使える
CocoaPodsで導入したライブラリ
• AFNetworking
• MTStatusBarOverlay
• UICKeyChainStore
• ZXing
• QR-Code-Encoder-for-Objective-C
• EGOTableViewPullRefresh
• Kiwi
• OCMoc
• Nocilla
お勧めライブラリ
UICKeyChainStore
• NSUserDefaultのように、シンプルにKeyChain
のデータを操作できる。
[UICKeyChainStore setData:data forKey:kKeychainKey]; //セーブ
NSData *data = [UICKeyChainStore dataForKey:kKeychainKey]; //ロード
ZXing
• QRコードリーダー
– 見た目のカスタマイズ可能
– 高速
• (ZXingObjCは...)
– Apatch License 2.0
• (ZBarはGNU LGPL 2.1)
• QR-Code-Encoder-for-Objective-CでQRコード生成
EGOTableViewPullRefresh
• 引っ張り更新ライブラリ
• カスタマイズ可能
– 結構遊べる
• カスタマイズしたものをgithubに公開しました
Kiwi
• RSpecライクなBDDフレームワーク
• 内部的にOCUnit/XCTest使っている
– cmd+Uが使える
– Xcode5からSPEC単位で実行できる
• 導入も簡単
– http://qiita.com/k_kinukawa/items/710a1e209e1
bbb9713f6
CRToast
• ステータスバー、ナビゲーションバー上に表
示されるトースト通知ライブラリ
• iOS7っぽい
• PlannahではMTStatusBarOverlayを使っていた
が、次使うならこっち使いたい
GoogleAnalytics
• リアルタイム解析
– Push砲を打つと面白い
• ビューの表示解析
– ViewControllerの親クラスのViewDidLoadに以下
の一行を入れておく
[[GAI sharedInstance].defaultTracker trackView:NSStringFromClass([self class])];
その他
• CocoaPodsを使って簡単ライブラリ導入
• ManiacDev.comおすすめ
mBaaSを有効活用しよう
• モバイルアプリのためのバックエンドサービス
– ストレージ
– プッシュ通知
– ユーザー管理
• SNS連携
• Objective-Cの簡単なAPIで使える
• API設計が素敵
• 無料で結構使える
• Plannahでは、プッシュ通知だけParse.comを
利用
– 必要な機能だけ利用できる
• 趣味の開発でも積極的に利用
まとめ
• 最初にCI環境を作ってしまおう
• CocoaPodsを使って、便利なライブラリを活用
しよう
• mBaaSを有効活用しよう
• DeployGateを使おう

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

20151126 cookpad talk_test_engineer
20151126 cookpad talk_test_engineer20151126 cookpad talk_test_engineer
20151126 cookpad talk_test_engineer
 
SEゼミ2015 - OSS Hack Weekend - 1日目のまとめ
SEゼミ2015 - OSS Hack Weekend - 1日目のまとめSEゼミ2015 - OSS Hack Weekend - 1日目のまとめ
SEゼミ2015 - OSS Hack Weekend - 1日目のまとめ
 
チーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるかチーム開発をスムーズにするために何ができるか
チーム開発をスムーズにするために何ができるか
 
Dev love kansai
Dev love kansaiDev love kansai
Dev love kansai
 
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
Jenkinsを使ったコンシューマゲームでのデプロイとテストJenkinsを使ったコンシューマゲームでのデプロイとテスト
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
 
アジャイル入門
アジャイル入門アジャイル入門
アジャイル入門
 
GCS2013 リーンソフトウェア開発から見るゲーム開発7つのムダ
 GCS2013 リーンソフトウェア開発から見るゲーム開発7つのムダ  GCS2013 リーンソフトウェア開発から見るゲーム開発7つのムダ
GCS2013 リーンソフトウェア開発から見るゲーム開発7つのムダ
 
老舗大企業からスタートアップへの挑戦
老舗大企業からスタートアップへの挑戦老舗大企業からスタートアップへの挑戦
老舗大企業からスタートアップへの挑戦
 
Sphinxの環境構築が再現できない問題をDockerで解決してみた
Sphinxの環境構築が再現できない問題をDockerで解決してみたSphinxの環境構築が再現できない問題をDockerで解決してみた
Sphinxの環境構築が再現できない問題をDockerで解決してみた
 
CEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするためにCEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするために
 
アジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なことと
アジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なこととアジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なことと
アジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なことと
 
オープンソースによるイノベーションの継続
オープンソースによるイノベーションの継続オープンソースによるイノベーションの継続
オープンソースによるイノベーションの継続
 
U1w共有会 21/10/09
U1w共有会 21/10/09U1w共有会 21/10/09
U1w共有会 21/10/09
 
小さな会社(チーム)で クールなアプリをつくる方法 Gunosy UI Design Study #1
小さな会社(チーム)で クールなアプリをつくる方法 Gunosy UI Design Study #1小さな会社(チーム)で クールなアプリをつくる方法 Gunosy UI Design Study #1
小さな会社(チーム)で クールなアプリをつくる方法 Gunosy UI Design Study #1
 
ビルド職人頼みの自社製品リリースを、CI可能にした取り組み
ビルド職人頼みの自社製品リリースを、CI可能にした取り組みビルド職人頼みの自社製品リリースを、CI可能にした取り組み
ビルド職人頼みの自社製品リリースを、CI可能にした取り組み
 
ヤフーオープンローカルプラットフォームの設計思想
ヤフーオープンローカルプラットフォームの設計思想ヤフーオープンローカルプラットフォームの設計思想
ヤフーオープンローカルプラットフォームの設計思想
 
Think.next
Think.nextThink.next
Think.next
 
Windowsアプリ開発の実務で使うUnitTest
Windowsアプリ開発の実務で使うUnitTestWindowsアプリ開発の実務で使うUnitTest
Windowsアプリ開発の実務で使うUnitTest
 
connpass特徴と開発の流れ
connpass特徴と開発の流れconnpass特徴と開発の流れ
connpass特徴と開発の流れ
 
20150926 uwpストア攻略
20150926 uwpストア攻略20150926 uwpストア攻略
20150926 uwpストア攻略
 

Andere mochten auch

Vasily i os-20140403
Vasily i os-20140403Vasily i os-20140403
Vasily i os-20140403
Yusuke Arai
 
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
Takeshi Fukasawa
 
いままで使ってきた携帯電話
いままで使ってきた携帯電話いままで使ってきた携帯電話
いままで使ってきた携帯電話
Ippei Ogiwara
 
Hadoopの紹介
Hadoopの紹介Hadoopの紹介
Hadoopの紹介
bigt23
 
【登壇資料】人類総インターネット時代に20代を無駄にしないために
【登壇資料】人類総インターネット時代に20代を無駄にしないために【登壇資料】人類総インターネット時代に20代を無駄にしないために
【登壇資料】人類総インターネット時代に20代を無駄にしないために
Junichi Akagawa
 

Andere mochten auch (20)

1人でも頑張れる!Retty式開発環境
1人でも頑張れる!Retty式開発環境1人でも頑張れる!Retty式開発環境
1人でも頑張れる!Retty式開発環境
 
Vasily i os-20140403
Vasily i os-20140403Vasily i os-20140403
Vasily i os-20140403
 
ユニットテスト初学者がKiwiFramework非同期テストで失敗した
ユニットテスト初学者がKiwiFramework非同期テストで失敗したユニットテスト初学者がKiwiFramework非同期テストで失敗した
ユニットテスト初学者がKiwiFramework非同期テストで失敗した
 
Yahoo vs ClassMethod_battle5_iBeacon
Yahoo vs ClassMethod_battle5_iBeaconYahoo vs ClassMethod_battle5_iBeacon
Yahoo vs ClassMethod_battle5_iBeacon
 
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
 
チームを加速させるRetty式開発術
チームを加速させるRetty式開発術チームを加速させるRetty式開発術
チームを加速させるRetty式開発術
 
Xcodeプラグインで快適な開発ライフを
Xcodeプラグインで快適な開発ライフをXcodeプラグインで快適な開発ライフを
Xcodeプラグインで快適な開発ライフを
 
サービスを成長させる為の開発について
サービスを成長させる為の開発についてサービスを成長させる為の開発について
サービスを成長させる為の開発について
 
いままで使ってきた携帯電話
いままで使ってきた携帯電話いままで使ってきた携帯電話
いままで使ってきた携帯電話
 
Hadoopの紹介
Hadoopの紹介Hadoopの紹介
Hadoopの紹介
 
Javaone報告会
Javaone報告会Javaone報告会
Javaone報告会
 
20131209_buildinsidermeetup
20131209_buildinsidermeetup20131209_buildinsidermeetup
20131209_buildinsidermeetup
 
New Objective-C Features for Swift 2.0
New Objective-C Features for Swift 2.0New Objective-C Features for Swift 2.0
New Objective-C Features for Swift 2.0
 
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作
 
2014.11.12 ibm bluemix pdf
2014.11.12 ibm bluemix pdf2014.11.12 ibm bluemix pdf
2014.11.12 ibm bluemix pdf
 
Cocos2d-xの深層〜Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合
Cocos2d-xの深層〜Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合Cocos2d-xの深層〜Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合
Cocos2d-xの深層〜Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合
 
【登壇資料】人類総インターネット時代に20代を無駄にしないために
【登壇資料】人類総インターネット時代に20代を無駄にしないために【登壇資料】人類総インターネット時代に20代を無駄にしないために
【登壇資料】人類総インターネット時代に20代を無駄にしないために
 
Cross2013_DeNA
Cross2013_DeNACross2013_DeNA
Cross2013_DeNA
 
PHP at Yahoo! JAPAN
PHP at Yahoo! JAPANPHP at Yahoo! JAPAN
PHP at Yahoo! JAPAN
 
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
 

Ähnlich wie Plannahプロジェクトの開発環境とdeploy gateの紹介

はじめてがアジャイル
はじめてがアジャイルはじめてがアジャイル
はじめてがアジャイル
Kenichi Takahashi
 
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
de:code 2017
 
ウェブディレクションの基礎(第2回:制作・開発編) 先生:小嶋裕亮
ウェブディレクションの基礎(第2回:制作・開発編) 先生:小嶋裕亮ウェブディレクションの基礎(第2回:制作・開発編) 先生:小嶋裕亮
ウェブディレクションの基礎(第2回:制作・開発編) 先生:小嶋裕亮
schoowebcampus
 

Ähnlich wie Plannahプロジェクトの開発環境とdeploy gateの紹介 (20)

その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・
 
170520 DataSpider DevConn Hackathon
170520 DataSpider DevConn Hackathon170520 DataSpider DevConn Hackathon
170520 DataSpider DevConn Hackathon
 
UIデザイナー最終防衛マニュアル
UIデザイナー最終防衛マニュアルUIデザイナー最終防衛マニュアル
UIデザイナー最終防衛マニュアル
 
PHPを使う理由
PHPを使う理由PHPを使う理由
PHPを使う理由
 
kintoneの開発プロセスとプロジェクト管理ツール
kintoneの開発プロセスとプロジェクト管理ツールkintoneの開発プロセスとプロジェクト管理ツール
kintoneの開発プロセスとプロジェクト管理ツール
 
はじめてがアジャイル
はじめてがアジャイルはじめてがアジャイル
はじめてがアジャイル
 
Mobile cloudnight 2015/11/11
Mobile cloudnight 2015/11/11Mobile cloudnight 2015/11/11
Mobile cloudnight 2015/11/11
 
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
[MW10] Xamarin / OSS プロジェクトを活用したエンタープライズモバイルアプリケーションの実装 - Project Blue Monkey -
 
Apple sapの提携のその後
Apple sapの提携のその後Apple sapの提携のその後
Apple sapの提携のその後
 
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
 
CTOが語るUI/UX
CTOが語るUI/UXCTOが語るUI/UX
CTOが語るUI/UX
 
チームで開発を行う上の心構え
チームで開発を行う上の心構えチームで開発を行う上の心構え
チームで開発を行う上の心構え
 
ウェブディレクションの基礎(第2回:制作・開発編) 先生:小嶋裕亮
ウェブディレクションの基礎(第2回:制作・開発編) 先生:小嶋裕亮ウェブディレクションの基礎(第2回:制作・開発編) 先生:小嶋裕亮
ウェブディレクションの基礎(第2回:制作・開発編) 先生:小嶋裕亮
 
20130528 pasonatech
20130528 pasonatech20130528 pasonatech
20130528 pasonatech
 
変化の時代における開発者のスキル資産形成について
変化の時代における開発者のスキル資産形成について変化の時代における開発者のスキル資産形成について
変化の時代における開発者のスキル資産形成について
 
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
 
Monaca事例から学ぶHTML5モバイルアプリの活用ポイント
Monaca事例から学ぶHTML5モバイルアプリの活用ポイントMonaca事例から学ぶHTML5モバイルアプリの活用ポイント
Monaca事例から学ぶHTML5モバイルアプリの活用ポイント
 
Monacaソリューションセミナー20160621
Monacaソリューションセミナー20160621Monacaソリューションセミナー20160621
Monacaソリューションセミナー20160621
 
Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
 
デザイン・エンジニアがWeb開発で考えること
デザイン・エンジニアがWeb開発で考えることデザイン・エンジニアがWeb開発で考えること
デザイン・エンジニアがWeb開発で考えること
 

Kürzlich hochgeladen

Kürzlich hochgeladen (11)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

Plannahプロジェクトの開発環境とdeploy gateの紹介