Successfully reported this slideshow.
Your SlideShare is downloading. ×

増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 36 Ad

増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎

ーーーーーーーーーーーーーーーーーーーーーーー
schoo WEB-campusは「WEBに誕生した、学校の新しいカタチ」。
WEB生放送の授業を無料で配信しています。
▼こちらから授業に参加すると、先生への質問や、ユーザーとのチャット、資料の拡大表示等が可能です。
https://schoo.jp/class/599/room
ーーーーーーーーーーーーーーーーーーーーーーー

ーーーーーーーーーーーーーーーーーーーーーーー
schoo WEB-campusは「WEBに誕生した、学校の新しいカタチ」。
WEB生放送の授業を無料で配信しています。
▼こちらから授業に参加すると、先生への質問や、ユーザーとのチャット、資料の拡大表示等が可能です。
https://schoo.jp/class/599/room
ーーーーーーーーーーーーーーーーーーーーーーー

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Viewers also liked (20)

Advertisement

Similar to 増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎 (20)

More from schoowebcampus (20)

Advertisement

Recently uploaded (20)

増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎

  1. 1. 「wri.pe」を事例に学ぶ 自作サービスの作り方 Yuichiro MASUI / @masuidrive ∼ リリース編 ∼
  2. 2. @masuidrive Yuichiro MASUI miil / Toreta ! MobiRuby / PukiWiki Ruby on Rails
  3. 3. アジェンダ • 振り返り - 5min • Herokuへデプロイ - 10min • 自動テスト - 15min
  4. 4. source code http://bit.ly/open-wripe
  5. 5. http://bit.ly/open-wripe
  6. 6. 欲しいメモ帳アプリ • プログラマならMarkdown • gmailみたいなArchive • カレンダービュー • 全文検索・キーボードオペレーション • iPhone/iPad/Androidサポート
  7. 7. 設計 • 1週間以内に常用できるレベルのサービス構築 • 自分でずっと使える • メンテナンス・バージョンアップを簡単に • データの保全性を第一に
  8. 8. 技術選択 • 認証はGithubとFacebook • テストも兼ねてRails 4.0.0 + Ruby 2.0 • JavascriptはBackbone.js + HTML5 storage • 運用はPaaSで
  9. 9. View Model Controller Browser Ruby on RailsMySQL WebAPI
  10. 10. Javascripts! 57% Libraries! 8% Models! 15% Controllers! 20%
  11. 11. リリースに向けて • 技術的タスク • 広報的タスク
  12. 12. デプロイ • ハードウエア • OS • ミドルウエア • デプロイ
  13. 13. デプロイ先 • 自宅サーバ • データセンタ • VPS • Amazon Web ServiceA
  14. 14. PaaS • Platform as a Service • RubyやJavaなどの実行環境をサービスとして提供 • Heroku(SalesForce), EngineYard, Mogok(IIJ)
  15. 15. PaaSのメリット • 障害発生時に対応してもらえる • 高負荷時に対応が容易 • バックアップなど開発以外のコンポーネントが用意 されている • 多くの場合、開発時は無料で使える
  16. 16. PaaSのデメリット • 用意されているコンポーネント以外使えない • PaaS自体に障害が発生した場合対処できない • 処理性能に比べて高価格 • 設置リージョンの選択子が少ない
  17. 17. Heroku • 歴史がある (2007年∼) • 実績多数 • アドオンが多様 • Matzいるし • US/EUリージョン
  18. 18. deployは超簡単 • heroku toolbeltをインストールして • heroku create プロジェクト名 • git push heroku master • open http://PROJECT.herokuapp.com/
  19. 19. 維持コスト • Heroku Dyno x 2: $34.50 • Heroku Worker x 1: $36.00 • Heroku Postgres Olive: $50.00 • Adept Scale Skiff: $18.00 • Heroku SSL: $20.00 • Websolr Cobalt: $20.00 • Total: $178.50/mo
  20. 20. 気をつけたこと • なるべく軽快に動く様に作る • Rails以外のモノを使うときはAdd-onでサポートさ れているか確認
  21. 21. Rails使うならNew Relic • レスポンスタイムなどの統計情報をグラフ化 • 基本プランは無料 • 有料プランだと詳細な実行状態を確認できる
  22. 22. テストの自動化 • 一回のリリースだけならテストは重要ではない • 趣味の開発の場合、次の開発が1年後とかも • 一人で開発するにもテストが重要
  23. 23. テスト 機能テスト 結合テスト 単体テスト ← Unit test ← Integration test ← Functional test
  24. 24. Railsのテスト • 標準テスト - UnitTest • RSpec
  25. 25. Javascriptのテスト • RailsのテストはAPIレベルでのテストのみ • ユーザが触れるブラウザの挙動はテストされない
  26. 26. ブラウザを使ったテスト
  27. 27. 自動テスト • Selenium IDEで記録・実行 • ブラウザのみで実行
  28. 28. サーバと連携 • Selenium RC/Webdriver • プログラムから操作 • Capybara (Rails), PHPUnit extension
  29. 29. wri.peのテスト • Capybara - ブラウザ操作 • RSpec - テストフレームワーク • FactoryGirl - Fixture管理
  30. 30. まとめ • 運用を考えてリリースしよう • 継続的なリリースのためにテストを書こう • 一人プロジェクトでもテストは大事
  31. 31. 宿題 なぜテストが重要なのか 書き出しなさい

×