SlideShare a Scribd company logo
1 of 43
Download to read offline
[Confidential] © 2013 Actcat, Inc.
2014/03/30
Actcat, Inc.
Rubyでも今すぐ始められるCI
How-to & Tips
[Confidential] © 2013 Actcat, Inc.
軽く自己紹介
あくときゃっと の すみ です
n そろそろ2年スタートアップやってる	
  
エンジニアですm(_	
  _)m	
  
n エンジニアの開発効率改善サービスの開発
に注力してます(いわゆるCI)	
  
n Twitter:	
  @sumyapp
2
[Confidential] © 2013 Actcat, Inc.
たまにブログで炎上してお騒がせしてます
3
「Ruby	
  on	
  Railsを勉強するな!」	
  
というタイトルで、	
  
炎上したりしてます。。。	
  
Matzさんにリツイート頂いたり
[Confidential] © 2013 Actcat, Inc.
最近はCIネタのブログも始めました
sideci.hatenablog.com
4
Matzさんにリツイート頂いたり
[Confidential] © 2013 Actcat, Inc. 5
RUBYでも今すぐ始められるCI HOW-TO & TIPS
[Confidential] © 2013 Actcat, Inc.
そもそもCIって何…?
n というのは省略。	
  
n ざっくりと、	
  
軽めにすぐに出来そうな、	
  
コードの品質をちょっとよくしたり、	
  
開発効率を上げたりなTipsを紹介します。	
  
n ざっくりなので内容は浅いです
6
[Confidential] © 2013 Actcat, Inc.
1人で開発している人でもだれでも、
今すぐ始められるCI Tips 10選
1.  テストを書こうよ!RSpecとCucumber	
  
2.  静的解析ツールやSImpleCovなどを一括実
行、なんでも分かるmetric_fu	
  
3.  コードに規律を!RuboCop	
  
4.  ちょっと賢くRailsのコード書いてみたい、	
  
rails-­‐bestpractices.com	
  
5.  毎朝コツコツbundle	
  outdated	
  と	
  bundle	
  
update
7
[Confidential] © 2013 Actcat, Inc.
6.  コードはなるべく書かない!みんな大好き
www.ruby-­‐toolbox.com	
  
7.  まずはエディタをいい感じにしよう!	
  
SublimeText	
  vs	
  Vim(Rubymine,Emacs,etc…)	
  
8.  友達かチームかコラボレーターがいるなら
コードレビューしてもらおう、GitHub	
  
9.  「パーフェクトRuby」か「メタプログラミ
ングRuby」を読み始めて魔術使いになろう	
  
10. クローズドβ中のSideCIを宣伝	
  
8
[Confidential] © 2013 Actcat, Inc.
テストを書こうよ!RSpec
9
http://rspec.info/
こんな感じのコードに対して
こんな感じにテストコードを書く
[Confidential] © 2013 Actcat, Inc.
テストを書こうよ!RSpec
10
http://rspec.info/
テスト通った!
[Confidential] © 2013 Actcat, Inc.
テストを書こうよ!RSpec
11
http://rspec.info/
Specファイルに書いた内容のテスト当然落ちる!
実装してなかったり、バグが有ったりすると
[Confidential] © 2013 Actcat, Inc.
使っている人はそこまで多くないけど、
有名だよね、Cucumber
12
http://cukes.info/
∼という状況が与えられているとき(Given)、誰かが
何かをしたら(When)、こうなるはず(Then)	
  
みたいに英語でFeature全体のテストを書ける
[Confidential] © 2013 Actcat, Inc.
書いたらRunするとFailかPassしてくれる
13
http://cukes.info/
[Confidential] © 2013 Actcat, Inc.
RSpecとCucumber両方載ってる、
『The RSpec Book』
14
[Confidential] © 2013 Actcat, Inc.
静的解析ツールやSImpleCovなどを一括実
行、なんでも分かるmetric_fu
n $	
  gem	
  install	
  metric_fu	
  
n $	
  metric_fu	
  
n で動いてくれたはずなんだけど、昨日適当
にためそうとしたらREEKでコケたので、	
  
とりあえずご紹介だけ。	
  
n 色々な解析ツールを一括実行、数値やグラ
フ化して表示してくれるgemです
15
[Confidential] © 2013 Actcat, Inc. 16
http://d.hatena.ne.jp/tbpg/20130813/1376412269
[Confidential] © 2013 Actcat, Inc.
コードに規律を!RuboCop
n $	
  gem	
  install	
  rubocop	
  
n $	
  rubocop	
  
=>	
  色々お叱りを頂けます
17
http://d.hatena.ne.jp/tbpg/20130813/1376412269
[Confidential] © 2013 Actcat, Inc.
日本語書くだけで怒られる、厳しい警官
18
[Confidential] © 2013 Actcat, Inc.
ちょっと賢くRailsのコード書いてみたい、
rails-bestpractices.com
n RailsでのBestなPracticeを投票しあう、	
  
コミュニティサイト	
  
n Whitespaceは削除しようぜ、	
  
みたいな小さなことから、	
  
n DRYなdatabase.ymlの書き方、のような、	
  
勉強になる(けど小さいけど…)なことまで、	
  
色々載ってるベストプラクティス集サイト
19
[Confidential] © 2013 Actcat, Inc. 20
[Confidential] © 2013 Actcat, Inc.
rails_best_practiceというgemもある
n さっきのmetric_fuでも使われてた。	
  
n 使い方は簡単。Railsのディレクトリで	
  
n $	
  gem	
  install	
  rails_best_practices	
  
n $	
  rails_best_practices
21
[Confidential] © 2013 Actcat, Inc.
自動で実行させたいなら Guard
22
https://github.com/guard/guard
[Confidential] © 2013 Actcat, Inc.
Guardはファイルの保存を検知して、
何かを実行したり出来る
n Guardは色々な種類のgemがあるので、	
  
わりとなんでも連動できます	
  
n ちょっと設定ファイルとか多いので、	
  
紹介されているQiita上の記事をぺたり	
  
	
  
テストの自動実行あれこれ	
  
http://qiita.com/okitan/items/
25238a9b836c14d52cbd	
  
23
[Confidential] © 2013 Actcat, Inc.
毎朝コツコツbundle outdatedと
bundle update
n $	
  bundle	
  outdated	
  
n 今あるBugはGemのBugかも?
n アップデート可能なGemのリストが出るの
で、bundle	
  updateしよう!	
  
24
[Confidential] © 2013 Actcat, Inc.
コードはなるべく書かない!みんな大好き
www.ruby-toolbox.com
25
[Confidential] © 2013 Actcat, Inc.
5分しか時間がないので省略…
n ブログに記事書いてあるんで、興味がある
方は読んでもらえると><	
  
http://sideci.hatenablog.com/	
  
n コードを書かずに実装しよう、ruby-­‐
toolbox.com	
  
http://sideci.hatenablog.com/entry/
2014/03/25/080000
26
[Confidential] © 2013 Actcat, Inc.
まずはエディタをいい感じにしよう!
SublimeText vs Vim
n 素のVimやEmacs以外ならなんでも良いと思
います、エディタ	
  
n 素のVimとか使うと、whitespaceは入りまく
るし、タブ幅はズレまくるし。。。	
  
n トータルで最初からいい感じなSublime	
  Text
とか、Vimをカスタマイズして使うとかする
と、CIツール使うよりよっぽどお手軽にコー
ドが綺麗に!
27
[Confidential] © 2013 Actcat, Inc.
Web制作者のためのSublime Textの教科書
今すぐ最高のエディタを使いこなすプロのノウハウ
28
[Confidential] © 2013 Actcat, Inc.
友達かチームかコラボレーターがいるなら
コードレビューしてもらおう、GitHub
n プルリクエスト型開発に切り替えて、	
  
コードレビューをお互いにするようにす
ると、いい感じにお互いの知見、思考が
向上しますよ!(たぶん)	
  
29
[Confidential] © 2013 Actcat, Inc.
GitHub実践入門
Pull Requestによる開発の変革
30
[Confidential] © 2013 Actcat, Inc.
「パーフェクトRuby」と「メタプログラミ
ングRuby」を読み始めて魔術使いになろう
n どちらも必読本です。	
  
もしまだ読んでない人がいたらぜひ。	
  
n 基礎が分かっている人は	
  
メタプログラミングRubyの方をオススメ。	
  
可読性は高いけどコードを追うのが難し
めだけど生産性高くて徹底的DRY、な魔術
的コードの読み書きに役立つ本です
31
[Confidential] © 2013 Actcat, Inc. 32
[Confidential] © 2013 Actcat, Inc. 33
さいごに10個目のTIPSな宣伝
[Confidential] © 2013 Actcat, Inc.
クローズドβ中のSideCIを宣伝
n https://www.sideci.com/
34
[Confidential] © 2013 Actcat, Inc. 35
GitHubログインでかんたん導入。	
  
設定ファイル不要	
  
[Confidential] © 2013 Actcat, Inc.
既知のセキュリティ・ホールを検出
36
コードがプッシュされるとセキュリティ・ホールをチェック。	
  
既知のセキュリティ・ホールを検出	
  
セキュリティ・ホール要因のコードやCOMMITにコメント	
  
[Confidential] © 2013 Actcat, Inc. 37
コードをrails-­‐bestpractices.comのPracticeに基づきチェック	
  
問題となる可能性が高いコードやCOMMITにコメント	
  
例:	
  誰も使用していないメソッドを検出、指摘
[Confidential] © 2013 Actcat, Inc. 38
RubyのGemのバージョンアップをお知らせする機能追加	
  
その他にもCIに欠かせない機能を随時アップデート!	
  
[Confidential] © 2013 Actcat, Inc.
サービス利用時の流れ
39
Engineer
コードの標準化
自動テスト	
  
Coming	
  soon.
セキュリティ保証
自動で実行、コメントで結果をお知らせ
ビルド、テスト等の	
  
CI的コマンドの実行
Githubログイン	
  
コードをPush
hook
[Confidential] © 2013 Actcat, Inc. 40
全ての解析結果の概要、詳細を確認できる管理画面	
  
(GitHubやNotificationでは新しい解析結果のみをお知らせ)	
  
[Confidential] © 2013 Actcat, Inc.
コードのセキュリティ
n SideCIのスタッフがあなたの	
  
コードを読むことはありません!	
  
n 全ての接続をSSL暗号化	
  
n 情報保護の徹底(NDA締結可)	
  
l 解析結果など、あらゆる個人情報、機密情報を	
  
社外には一切提出しません
41
SIdeCI
解析結果に含まれるコードスニペットは	
  
都度異なる鍵を用いて暗号化しています。	
  
暗号化🔒
管理画面はもちろん、SideCIを構成する複数のサーバの	
  
全ての接続をSSLによって暗号化し、通信を行っています。	
  
ソースコードはGithubが管理。必要なタイミングでのみ、	
  
SideCIが暗号化して預かっているGithub	
  Tokenを復号、	
  
コードをcheck	
  out、解析しています。	
  
[Confidential] © 2013 Actcat, Inc.
Plans & Pricing
42
ü Unlimited	
  Private	
  Repository	
  
ü Unlimited	
  Analysis	
  
ü Unlimited	
  Collaborator	
  
¥0	
  
※有料サービスの目処が立ちましたらご連絡致します
[Confidential] © 2013 Actcat, Inc.
「	
  
	
  	
  	
  	
  	
  」
Closed	
  beta	
  version

More Related Content

What's hot

初心者大歓迎! Webアプリを作ってみよう!
初心者大歓迎!  Webアプリを作ってみよう! 初心者大歓迎!  Webアプリを作ってみよう!
初心者大歓迎! Webアプリを作ってみよう! 淳平 豊田
 
9 power night2014_iwai
9 power night2014_iwai9 power night2014_iwai
9 power night2014_iwaiTerraSky
 
Cloud garage使って ECサイトの構築
Cloud garage使って ECサイトの構築Cloud garage使って ECサイトの構築
Cloud garage使って ECサイトの構築毅 佐藤
 
2017/09/02 CloudGaragere lease tour in okayama LT
2017/09/02 CloudGaragere lease tour in okayama LT2017/09/02 CloudGaragere lease tour in okayama LT
2017/09/02 CloudGaragere lease tour in okayama LTTakeshi Furusato
 
クラウドの積極的利活用による生産性向上と経営に寄与する仕組みづくり
クラウドの積極的利活用による生産性向上と経営に寄与する仕組みづくりクラウドの積極的利活用による生産性向上と経営に寄与する仕組みづくり
クラウドの積極的利活用による生産性向上と経営に寄与する仕組みづくりgree_tech
 
グリーのセキュリティ戦略:組織改革成功の秘訣と新たな課題への取り組み
グリーのセキュリティ戦略:組織改革成功の秘訣と新たな課題への取り組みグリーのセキュリティ戦略:組織改革成功の秘訣と新たな課題への取り組み
グリーのセキュリティ戦略:組織改革成功の秘訣と新たな課題への取り組みgree_tech
 
Androidインストール
AndroidインストールAndroidインストール
Androidインストール康宏 髙田
 
ノンプログラミングで API はじめて体験!_築山 春木氏
ノンプログラミングで API はじめて体験!_築山 春木氏ノンプログラミングで API はじめて体験!_築山 春木氏
ノンプログラミングで API はじめて体験!_築山 春木氏kintone papers
 
WordCampでコントリビュータデイに参加しよう!
WordCampでコントリビュータデイに参加しよう!WordCampでコントリビュータデイに参加しよう!
WordCampでコントリビュータデイに参加しよう!Daisuke Takahashi
 
#recotech_WIZY開発の裏側
#recotech_WIZY開発の裏側#recotech_WIZY開発の裏側
#recotech_WIZY開発の裏側recotech
 
WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)
WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)
WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)Toshi Aizawa
 
Google Mirror API勉強会 20130607
Google Mirror API勉強会 20130607Google Mirror API勉強会 20130607
Google Mirror API勉強会 20130607Keiji Ariyama
 
kintone 開発者ライセンスの取得
kintone 開発者ライセンスの取得kintone 開発者ライセンスの取得
kintone 開発者ライセンスの取得kintone papers
 
#reco_tech Cloud searchでレコチョク検索の実現に向けて
#reco_tech   Cloud searchでレコチョク検索の実現に向けて#reco_tech   Cloud searchでレコチョク検索の実現に向けて
#reco_tech Cloud searchでレコチョク検索の実現に向けてrecotech
 
WordPress使いの為のconcrete5導入
WordPress使いの為のconcrete5導入WordPress使いの為のconcrete5導入
WordPress使いの為のconcrete5導入Toshiaki Endo
 
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...Sadao Tokuyama
 
OAuth for the iKnow! API
OAuth for the iKnow! APIOAuth for the iKnow! API
OAuth for the iKnow! APINov Matake
 
AWS純正で作る DeploymentPipelineの話
AWS純正で作る  DeploymentPipelineの話AWS純正で作る  DeploymentPipelineの話
AWS純正で作る DeploymentPipelineの話Osamu Hashimoto
 
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜gree_tech
 

What's hot (20)

初心者大歓迎! Webアプリを作ってみよう!
初心者大歓迎!  Webアプリを作ってみよう! 初心者大歓迎!  Webアプリを作ってみよう!
初心者大歓迎! Webアプリを作ってみよう!
 
9 power night2014_iwai
9 power night2014_iwai9 power night2014_iwai
9 power night2014_iwai
 
Cloud garage使って ECサイトの構築
Cloud garage使って ECサイトの構築Cloud garage使って ECサイトの構築
Cloud garage使って ECサイトの構築
 
2017/09/02 CloudGaragere lease tour in okayama LT
2017/09/02 CloudGaragere lease tour in okayama LT2017/09/02 CloudGaragere lease tour in okayama LT
2017/09/02 CloudGaragere lease tour in okayama LT
 
クラウドの積極的利活用による生産性向上と経営に寄与する仕組みづくり
クラウドの積極的利活用による生産性向上と経営に寄与する仕組みづくりクラウドの積極的利活用による生産性向上と経営に寄与する仕組みづくり
クラウドの積極的利活用による生産性向上と経営に寄与する仕組みづくり
 
グリーのセキュリティ戦略:組織改革成功の秘訣と新たな課題への取り組み
グリーのセキュリティ戦略:組織改革成功の秘訣と新たな課題への取り組みグリーのセキュリティ戦略:組織改革成功の秘訣と新たな課題への取り組み
グリーのセキュリティ戦略:組織改革成功の秘訣と新たな課題への取り組み
 
Androidインストール
AndroidインストールAndroidインストール
Androidインストール
 
ノンプログラミングで API はじめて体験!_築山 春木氏
ノンプログラミングで API はじめて体験!_築山 春木氏ノンプログラミングで API はじめて体験!_築山 春木氏
ノンプログラミングで API はじめて体験!_築山 春木氏
 
WordCampでコントリビュータデイに参加しよう!
WordCampでコントリビュータデイに参加しよう!WordCampでコントリビュータデイに参加しよう!
WordCampでコントリビュータデイに参加しよう!
 
#recotech_WIZY開発の裏側
#recotech_WIZY開発の裏側#recotech_WIZY開発の裏側
#recotech_WIZY開発の裏側
 
WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)
WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)
WordPress + Speed of CDN (WordCamp Tokyo 2015 LT)
 
Google Mirror API勉強会 20130607
Google Mirror API勉強会 20130607Google Mirror API勉強会 20130607
Google Mirror API勉強会 20130607
 
kintone 開発者ライセンスの取得
kintone 開発者ライセンスの取得kintone 開発者ライセンスの取得
kintone 開発者ライセンスの取得
 
#reco_tech Cloud searchでレコチョク検索の実現に向けて
#reco_tech   Cloud searchでレコチョク検索の実現に向けて#reco_tech   Cloud searchでレコチョク検索の実現に向けて
#reco_tech Cloud searchでレコチョク検索の実現に向けて
 
WordPress使いの為のconcrete5導入
WordPress使いの為のconcrete5導入WordPress使いの為のconcrete5導入
WordPress使いの為のconcrete5導入
 
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都  Flex & Google App Engine for Java & ...
2010年11月27日土曜日FlexUserGroup勉強会 第125回 京都 Flex & Google App Engine for Java & ...
 
OAuth for the iKnow! API
OAuth for the iKnow! APIOAuth for the iKnow! API
OAuth for the iKnow! API
 
AWS純正で作る DeploymentPipelineの話
AWS純正で作る  DeploymentPipelineの話AWS純正で作る  DeploymentPipelineの話
AWS純正で作る DeploymentPipelineの話
 
Gwabc2015
Gwabc2015Gwabc2015
Gwabc2015
 
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
 

Viewers also liked

どうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIどうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIKoichiro Sumi
 
CIを取り入れ始めて超楽になったこと
CIを取り入れ始めて超楽になったことCIを取り入れ始めて超楽になったこと
CIを取り入れ始めて超楽になったことKoichiro Sumi
 
capybara で快適なテスト生活を
capybara で快適なテスト生活をcapybara で快適なテスト生活を
capybara で快適なテスト生活をRyunosuke SATO
 
Java9 and Project Jigsaw
Java9 and Project JigsawJava9 and Project Jigsaw
Java9 and Project Jigsawtakezoe
 
Java9新機能概要
Java9新機能概要Java9新機能概要
Java9新機能概要HonMarkHunt
 
10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!bitter_fox
 

Viewers also liked (6)

どうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIどうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCI
 
CIを取り入れ始めて超楽になったこと
CIを取り入れ始めて超楽になったことCIを取り入れ始めて超楽になったこと
CIを取り入れ始めて超楽になったこと
 
capybara で快適なテスト生活を
capybara で快適なテスト生活をcapybara で快適なテスト生活を
capybara で快適なテスト生活を
 
Java9 and Project Jigsaw
Java9 and Project JigsawJava9 and Project Jigsaw
Java9 and Project Jigsaw
 
Java9新機能概要
Java9新機能概要Java9新機能概要
Java9新機能概要
 
10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!10のJava9で変わるJava8の嫌なとこ!
10のJava9で変わるJava8の嫌なとこ!
 

Similar to Rubyでも今すぐ始められるCI How-to & Tips - SideCI TokyuRuby会議07 LT資料 #tqrk07

開発メンバーを増やすときの 秩序だったプラクティス with SideCI
開発メンバーを増やすときの秩序だったプラクティス with SideCI開発メンバーを増やすときの秩序だったプラクティス with SideCI
開発メンバーを増やすときの 秩序だったプラクティス with SideCIKoichiro Sumi
 
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurbSidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurbKoichiro Sumi
 
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorbRuby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorbKoichiro Sumi
 
ActiveResourceモデルによるAPIの隠蔽の怖い話 ~レスポンスタイムへの致命的影響~ at #shinjukurb
ActiveResourceモデルによるAPIの隠蔽の怖い話~レスポンスタイムへの致命的影響~ at #shinjukurbActiveResourceモデルによるAPIの隠蔽の怖い話~レスポンスタイムへの致命的影響~ at #shinjukurb
ActiveResourceモデルによるAPIの隠蔽の怖い話 ~レスポンスタイムへの致命的影響~ at #shinjukurbKoichiro Sumi
 
sysloadや監視などの話(仮)
sysloadや監視などの話(仮)sysloadや監視などの話(仮)
sysloadや監視などの話(仮)Takanori Sejima
 
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_Akito Tsukahara
 
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件について
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件についてAndroidアプリ屋だけどWebフロントエンド開発にアサインされた件について
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件についてTakuya Kihara
 
Trac Lightningの社内標準化と継続的な運用のために
Trac Lightningの社内標準化と継続的な運用のためにTrac Lightningの社内標準化と継続的な運用のために
Trac Lightningの社内標準化と継続的な運用のためにKaoru NAKAMURA
 
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発Takeshi Totani
 
Spath for enterprise
Spath for enterpriseSpath for enterprise
Spath for enterpriseKoichiro Sumi
 
TypeScript製フレームワーク「Nest」のご紹介
TypeScript製フレームワーク「Nest」のご紹介TypeScript製フレームワーク「Nest」のご紹介
TypeScript製フレームワーク「Nest」のご紹介bitbank, Inc. Tokyo, Japan
 
CIツールのまとめとSide CI - CIツール勉強会@福岡
CIツールのまとめとSide CI - CIツール勉強会@福岡CIツールのまとめとSide CI - CIツール勉強会@福岡
CIツールのまとめとSide CI - CIツール勉強会@福岡Koichiro Sumi
 
若手エンジニアとして今年頑張ったこと
若手エンジニアとして今年頑張ったこと若手エンジニアとして今年頑張ったこと
若手エンジニアとして今年頑張ったことTsukasa Omukai
 
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechconアバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechconDeNA
 
Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)Takashi Sogabe
 
20131019 OSC@Tokyo CloudStackユーザー会
20131019 OSC@Tokyo CloudStackユーザー会20131019 OSC@Tokyo CloudStackユーザー会
20131019 OSC@Tokyo CloudStackユーザー会samemoon
 
Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?Terui Masashi
 

Similar to Rubyでも今すぐ始められるCI How-to & Tips - SideCI TokyuRuby会議07 LT資料 #tqrk07 (20)

開発メンバーを増やすときの 秩序だったプラクティス with SideCI
開発メンバーを増やすときの秩序だったプラクティス with SideCI開発メンバーを増やすときの秩序だったプラクティス with SideCI
開発メンバーを増やすときの 秩序だったプラクティス with SideCI
 
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurbSidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
Sidekiq Proを1年ほど使ってみて良かったところ、困ったところ | 新宿.rb 29th #shinjukurb
 
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorbRuby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb
 
ActiveResourceモデルによるAPIの隠蔽の怖い話 ~レスポンスタイムへの致命的影響~ at #shinjukurb
ActiveResourceモデルによるAPIの隠蔽の怖い話~レスポンスタイムへの致命的影響~ at #shinjukurbActiveResourceモデルによるAPIの隠蔽の怖い話~レスポンスタイムへの致命的影響~ at #shinjukurb
ActiveResourceモデルによるAPIの隠蔽の怖い話 ~レスポンスタイムへの致命的影響~ at #shinjukurb
 
sysloadや監視などの話(仮)
sysloadや監視などの話(仮)sysloadや監視などの話(仮)
sysloadや監視などの話(仮)
 
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
Web api開発をするなら ドキュメントは自動生成にしておこう__ph_per_kaigi2021_
 
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件について
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件についてAndroidアプリ屋だけどWebフロントエンド開発にアサインされた件について
Androidアプリ屋だけどWebフロントエンド開発にアサインされた件について
 
Trac Lightningの社内標準化と継続的な運用のために
Trac Lightningの社内標準化と継続的な運用のためにTrac Lightningの社内標準化と継続的な運用のために
Trac Lightningの社内標準化と継続的な運用のために
 
ドリコムのインフラCI
ドリコムのインフラCIドリコムのインフラCI
ドリコムのインフラCI
 
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発
JJUGナイトセミナー オープンソースポータルLiferayの紹介とLiferay IDEを使った簡単ポートレット開発
 
Swift losf
Swift losfSwift losf
Swift losf
 
Spath for enterprise
Spath for enterpriseSpath for enterprise
Spath for enterprise
 
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
 
TypeScript製フレームワーク「Nest」のご紹介
TypeScript製フレームワーク「Nest」のご紹介TypeScript製フレームワーク「Nest」のご紹介
TypeScript製フレームワーク「Nest」のご紹介
 
CIツールのまとめとSide CI - CIツール勉強会@福岡
CIツールのまとめとSide CI - CIツール勉強会@福岡CIツールのまとめとSide CI - CIツール勉強会@福岡
CIツールのまとめとSide CI - CIツール勉強会@福岡
 
若手エンジニアとして今年頑張ったこと
若手エンジニアとして今年頑張ったこと若手エンジニアとして今年頑張ったこと
若手エンジニアとして今年頑張ったこと
 
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechconアバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
 
Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)
 
20131019 OSC@Tokyo CloudStackユーザー会
20131019 OSC@Tokyo CloudStackユーザー会20131019 OSC@Tokyo CloudStackユーザー会
20131019 OSC@Tokyo CloudStackユーザー会
 
Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?
 

More from Koichiro Sumi

Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会
Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会
Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会Koichiro Sumi
 
エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...
エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...
エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...Koichiro Sumi
 
rablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41th
rablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41thrablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41th
rablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41thKoichiro Sumi
 
管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb
管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb
管理画面の作り方ディスカス 新宿.rb 36th #shinjukurbKoichiro Sumi
 
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devlove
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devloveプロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devlove
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devloveKoichiro Sumi
 
ベトナムのホーチミン・ハノイ・ ダナンを1週間見て回った話
ベトナムのホーチミン・ハノイ・ダナンを1週間見て回った話ベトナムのホーチミン・ハノイ・ダナンを1週間見て回った話
ベトナムのホーチミン・ハノイ・ ダナンを1週間見て回った話Koichiro Sumi
 
IVS CTO Night 2015 Winter LT資料 / SideCI
IVS CTO Night 2015 Winter LT資料 / SideCIIVS CTO Night 2015 Winter LT資料 / SideCI
IVS CTO Night 2015 Winter LT資料 / SideCIKoichiro Sumi
 
毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話
毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話
毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話Koichiro Sumi
 
PHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェック
PHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェックPHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェック
PHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェックKoichiro Sumi
 
API通信周りの継続的なテストの仕組み~SideCIでの実践~
API通信周りの継続的なテストの仕組み~SideCIでの実践~API通信周りの継続的なテストの仕組み~SideCIでの実践~
API通信周りの継続的なテストの仕組み~SideCIでの実践~Koichiro Sumi
 
Git plus something / Git+何かで更にGitを使いこなす
Git plus something / Git+何かで更にGitを使いこなすGit plus something / Git+何かで更にGitを使いこなす
Git plus something / Git+何かで更にGitを使いこなすKoichiro Sumi
 
ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9
ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9
ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9Koichiro Sumi
 
Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420
Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420
Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420Koichiro Sumi
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果Koichiro Sumi
 
スマートアップ スマートフォンサービス マーケティング手法 〜避けよう!弊社の失敗談編〜
スマートアップ スマートフォンサービス マーケティング手法 〜避けよう!弊社の失敗談編〜スマートアップ スマートフォンサービス マーケティング手法 〜避けよう!弊社の失敗談編〜
スマートアップ スマートフォンサービス マーケティング手法 〜避けよう!弊社の失敗談編〜Koichiro Sumi
 
iOSアプリの広告による収益化 ~各アドネットワークの傾向、SmAddによる収益最大化~
iOSアプリの広告による収益化 ~各アドネットワークの傾向、SmAddによる収益最大化~iOSアプリの広告による収益化 ~各アドネットワークの傾向、SmAddによる収益最大化~
iOSアプリの広告による収益化 ~各アドネットワークの傾向、SmAddによる収益最大化~Koichiro Sumi
 

More from Koichiro Sumi (19)

Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会
Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会
Siderご紹介スライド@第2回 GitHub Enterprise ユーザ会
 
エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...
エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...
エンジニアが作りたいものを本気で作るための起業という選択肢。レビュー支援サービスSiderの着想から現在、未来 | Rails developers me...
 
rablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41th
rablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41thrablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41th
rablについてざっくりだけ調べてみた #shinjukurb 新宿rb 41th
 
管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb
管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb
管理画面の作り方ディスカス 新宿.rb 36th #shinjukurb
 
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devlove
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devloveプロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devlove
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devlove
 
ベトナムのホーチミン・ハノイ・ ダナンを1週間見て回った話
ベトナムのホーチミン・ハノイ・ダナンを1週間見て回った話ベトナムのホーチミン・ハノイ・ダナンを1週間見て回った話
ベトナムのホーチミン・ハノイ・ ダナンを1週間見て回った話
 
IVS CTO Night 2015 Winter LT資料 / SideCI
IVS CTO Night 2015 Winter LT資料 / SideCIIVS CTO Night 2015 Winter LT資料 / SideCI
IVS CTO Night 2015 Winter LT資料 / SideCI
 
毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話
毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話
毎日2000個のコンテナをstartする鯖が突然死して僕が驚愕した話
 
PHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェック
PHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェックPHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェック
PHPMD, PHP_CodeSniffer x SideCIによる継続的コードチェック
 
API通信周りの継続的なテストの仕組み~SideCIでの実践~
API通信周りの継続的なテストの仕組み~SideCIでの実践~API通信周りの継続的なテストの仕組み~SideCIでの実践~
API通信周りの継続的なテストの仕組み~SideCIでの実践~
 
Git plus something / Git+何かで更にGitを使いこなす
Git plus something / Git+何かで更にGitを使いこなすGit plus something / Git+何かで更にGitを使いこなす
Git plus something / Git+何かで更にGitを使いこなす
 
About SideCI
About SideCIAbout SideCI
About SideCI
 
ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9
ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9
ただのSEが初めてArduinoで遊んでみたw(今更 : 品モノラボ #9
 
Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420
Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420
Spath Workshop | 世の中をより良くするアイデアを形に出来るようになる会議 β版 20130420
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果
 
スマートアップ スマートフォンサービス マーケティング手法 〜避けよう!弊社の失敗談編〜
スマートアップ スマートフォンサービス マーケティング手法 〜避けよう!弊社の失敗談編〜スマートアップ スマートフォンサービス マーケティング手法 〜避けよう!弊社の失敗談編〜
スマートアップ スマートフォンサービス マーケティング手法 〜避けよう!弊社の失敗談編〜
 
iOSアプリの広告による収益化 ~各アドネットワークの傾向、SmAddによる収益最大化~
iOSアプリの広告による収益化 ~各アドネットワークの傾向、SmAddによる収益最大化~iOSアプリの広告による収益化 ~各アドネットワークの傾向、SmAddによる収益最大化~
iOSアプリの広告による収益化 ~各アドネットワークの傾向、SmAddによる収益最大化~
 
Smadd概要資料
Smadd概要資料Smadd概要資料
Smadd概要資料
 

Rubyでも今すぐ始められるCI How-to & Tips - SideCI TokyuRuby会議07 LT資料 #tqrk07

  • 1. [Confidential] © 2013 Actcat, Inc. 2014/03/30 Actcat, Inc. Rubyでも今すぐ始められるCI How-to & Tips
  • 2. [Confidential] © 2013 Actcat, Inc. 軽く自己紹介 あくときゃっと の すみ です n そろそろ2年スタートアップやってる   エンジニアですm(_  _)m   n エンジニアの開発効率改善サービスの開発 に注力してます(いわゆるCI)   n Twitter:  @sumyapp 2
  • 3. [Confidential] © 2013 Actcat, Inc. たまにブログで炎上してお騒がせしてます 3 「Ruby  on  Railsを勉強するな!」   というタイトルで、   炎上したりしてます。。。   Matzさんにリツイート頂いたり
  • 4. [Confidential] © 2013 Actcat, Inc. 最近はCIネタのブログも始めました sideci.hatenablog.com 4 Matzさんにリツイート頂いたり
  • 5. [Confidential] © 2013 Actcat, Inc. 5 RUBYでも今すぐ始められるCI HOW-TO & TIPS
  • 6. [Confidential] © 2013 Actcat, Inc. そもそもCIって何…? n というのは省略。   n ざっくりと、   軽めにすぐに出来そうな、   コードの品質をちょっとよくしたり、   開発効率を上げたりなTipsを紹介します。   n ざっくりなので内容は浅いです 6
  • 7. [Confidential] © 2013 Actcat, Inc. 1人で開発している人でもだれでも、 今すぐ始められるCI Tips 10選 1.  テストを書こうよ!RSpecとCucumber   2.  静的解析ツールやSImpleCovなどを一括実 行、なんでも分かるmetric_fu   3.  コードに規律を!RuboCop   4.  ちょっと賢くRailsのコード書いてみたい、   rails-­‐bestpractices.com   5.  毎朝コツコツbundle  outdated  と  bundle   update 7
  • 8. [Confidential] © 2013 Actcat, Inc. 6.  コードはなるべく書かない!みんな大好き www.ruby-­‐toolbox.com   7.  まずはエディタをいい感じにしよう!   SublimeText  vs  Vim(Rubymine,Emacs,etc…)   8.  友達かチームかコラボレーターがいるなら コードレビューしてもらおう、GitHub   9.  「パーフェクトRuby」か「メタプログラミ ングRuby」を読み始めて魔術使いになろう   10. クローズドβ中のSideCIを宣伝   8
  • 9. [Confidential] © 2013 Actcat, Inc. テストを書こうよ!RSpec 9 http://rspec.info/ こんな感じのコードに対して こんな感じにテストコードを書く
  • 10. [Confidential] © 2013 Actcat, Inc. テストを書こうよ!RSpec 10 http://rspec.info/ テスト通った!
  • 11. [Confidential] © 2013 Actcat, Inc. テストを書こうよ!RSpec 11 http://rspec.info/ Specファイルに書いた内容のテスト当然落ちる! 実装してなかったり、バグが有ったりすると
  • 12. [Confidential] © 2013 Actcat, Inc. 使っている人はそこまで多くないけど、 有名だよね、Cucumber 12 http://cukes.info/ ∼という状況が与えられているとき(Given)、誰かが 何かをしたら(When)、こうなるはず(Then)   みたいに英語でFeature全体のテストを書ける
  • 13. [Confidential] © 2013 Actcat, Inc. 書いたらRunするとFailかPassしてくれる 13 http://cukes.info/
  • 14. [Confidential] © 2013 Actcat, Inc. RSpecとCucumber両方載ってる、 『The RSpec Book』 14
  • 15. [Confidential] © 2013 Actcat, Inc. 静的解析ツールやSImpleCovなどを一括実 行、なんでも分かるmetric_fu n $  gem  install  metric_fu   n $  metric_fu   n で動いてくれたはずなんだけど、昨日適当 にためそうとしたらREEKでコケたので、   とりあえずご紹介だけ。   n 色々な解析ツールを一括実行、数値やグラ フ化して表示してくれるgemです 15
  • 16. [Confidential] © 2013 Actcat, Inc. 16 http://d.hatena.ne.jp/tbpg/20130813/1376412269
  • 17. [Confidential] © 2013 Actcat, Inc. コードに規律を!RuboCop n $  gem  install  rubocop   n $  rubocop   =>  色々お叱りを頂けます 17 http://d.hatena.ne.jp/tbpg/20130813/1376412269
  • 18. [Confidential] © 2013 Actcat, Inc. 日本語書くだけで怒られる、厳しい警官 18
  • 19. [Confidential] © 2013 Actcat, Inc. ちょっと賢くRailsのコード書いてみたい、 rails-bestpractices.com n RailsでのBestなPracticeを投票しあう、   コミュニティサイト   n Whitespaceは削除しようぜ、   みたいな小さなことから、   n DRYなdatabase.ymlの書き方、のような、   勉強になる(けど小さいけど…)なことまで、   色々載ってるベストプラクティス集サイト 19
  • 20. [Confidential] © 2013 Actcat, Inc. 20
  • 21. [Confidential] © 2013 Actcat, Inc. rails_best_practiceというgemもある n さっきのmetric_fuでも使われてた。   n 使い方は簡単。Railsのディレクトリで   n $  gem  install  rails_best_practices   n $  rails_best_practices 21
  • 22. [Confidential] © 2013 Actcat, Inc. 自動で実行させたいなら Guard 22 https://github.com/guard/guard
  • 23. [Confidential] © 2013 Actcat, Inc. Guardはファイルの保存を検知して、 何かを実行したり出来る n Guardは色々な種類のgemがあるので、   わりとなんでも連動できます   n ちょっと設定ファイルとか多いので、   紹介されているQiita上の記事をぺたり     テストの自動実行あれこれ   http://qiita.com/okitan/items/ 25238a9b836c14d52cbd   23
  • 24. [Confidential] © 2013 Actcat, Inc. 毎朝コツコツbundle outdatedと bundle update n $  bundle  outdated   n 今あるBugはGemのBugかも? n アップデート可能なGemのリストが出るの で、bundle  updateしよう!   24
  • 25. [Confidential] © 2013 Actcat, Inc. コードはなるべく書かない!みんな大好き www.ruby-toolbox.com 25
  • 26. [Confidential] © 2013 Actcat, Inc. 5分しか時間がないので省略… n ブログに記事書いてあるんで、興味がある 方は読んでもらえると><   http://sideci.hatenablog.com/   n コードを書かずに実装しよう、ruby-­‐ toolbox.com   http://sideci.hatenablog.com/entry/ 2014/03/25/080000 26
  • 27. [Confidential] © 2013 Actcat, Inc. まずはエディタをいい感じにしよう! SublimeText vs Vim n 素のVimやEmacs以外ならなんでも良いと思 います、エディタ   n 素のVimとか使うと、whitespaceは入りまく るし、タブ幅はズレまくるし。。。   n トータルで最初からいい感じなSublime  Text とか、Vimをカスタマイズして使うとかする と、CIツール使うよりよっぽどお手軽にコー ドが綺麗に! 27
  • 28. [Confidential] © 2013 Actcat, Inc. Web制作者のためのSublime Textの教科書 今すぐ最高のエディタを使いこなすプロのノウハウ 28
  • 29. [Confidential] © 2013 Actcat, Inc. 友達かチームかコラボレーターがいるなら コードレビューしてもらおう、GitHub n プルリクエスト型開発に切り替えて、   コードレビューをお互いにするようにす ると、いい感じにお互いの知見、思考が 向上しますよ!(たぶん)   29
  • 30. [Confidential] © 2013 Actcat, Inc. GitHub実践入門 Pull Requestによる開発の変革 30
  • 31. [Confidential] © 2013 Actcat, Inc. 「パーフェクトRuby」と「メタプログラミ ングRuby」を読み始めて魔術使いになろう n どちらも必読本です。   もしまだ読んでない人がいたらぜひ。   n 基礎が分かっている人は   メタプログラミングRubyの方をオススメ。   可読性は高いけどコードを追うのが難し めだけど生産性高くて徹底的DRY、な魔術 的コードの読み書きに役立つ本です 31
  • 32. [Confidential] © 2013 Actcat, Inc. 32
  • 33. [Confidential] © 2013 Actcat, Inc. 33 さいごに10個目のTIPSな宣伝
  • 34. [Confidential] © 2013 Actcat, Inc. クローズドβ中のSideCIを宣伝 n https://www.sideci.com/ 34
  • 35. [Confidential] © 2013 Actcat, Inc. 35 GitHubログインでかんたん導入。   設定ファイル不要  
  • 36. [Confidential] © 2013 Actcat, Inc. 既知のセキュリティ・ホールを検出 36 コードがプッシュされるとセキュリティ・ホールをチェック。   既知のセキュリティ・ホールを検出   セキュリティ・ホール要因のコードやCOMMITにコメント  
  • 37. [Confidential] © 2013 Actcat, Inc. 37 コードをrails-­‐bestpractices.comのPracticeに基づきチェック   問題となる可能性が高いコードやCOMMITにコメント   例:  誰も使用していないメソッドを検出、指摘
  • 38. [Confidential] © 2013 Actcat, Inc. 38 RubyのGemのバージョンアップをお知らせする機能追加   その他にもCIに欠かせない機能を随時アップデート!  
  • 39. [Confidential] © 2013 Actcat, Inc. サービス利用時の流れ 39 Engineer コードの標準化 自動テスト   Coming  soon. セキュリティ保証 自動で実行、コメントで結果をお知らせ ビルド、テスト等の   CI的コマンドの実行 Githubログイン   コードをPush hook
  • 40. [Confidential] © 2013 Actcat, Inc. 40 全ての解析結果の概要、詳細を確認できる管理画面   (GitHubやNotificationでは新しい解析結果のみをお知らせ)  
  • 41. [Confidential] © 2013 Actcat, Inc. コードのセキュリティ n SideCIのスタッフがあなたの   コードを読むことはありません!   n 全ての接続をSSL暗号化   n 情報保護の徹底(NDA締結可)   l 解析結果など、あらゆる個人情報、機密情報を   社外には一切提出しません 41 SIdeCI 解析結果に含まれるコードスニペットは   都度異なる鍵を用いて暗号化しています。   暗号化🔒 管理画面はもちろん、SideCIを構成する複数のサーバの   全ての接続をSSLによって暗号化し、通信を行っています。   ソースコードはGithubが管理。必要なタイミングでのみ、   SideCIが暗号化して預かっているGithub  Tokenを復号、   コードをcheck  out、解析しています。  
  • 42. [Confidential] © 2013 Actcat, Inc. Plans & Pricing 42 ü Unlimited  Private  Repository   ü Unlimited  Analysis   ü Unlimited  Collaborator   ¥0   ※有料サービスの目処が立ちましたらご連絡致します
  • 43. [Confidential] © 2013 Actcat, Inc. 「            」 Closed  beta  version