Slide 1

Slide 1 text

開発者向けSaaS Rocro Rocro株式会社 峯尾 嘉征 PyData.Tokyo Meetup 2017/11/29

Slide 2

Slide 2 text

■ ソフトウェア開発者向けサービス群 – https://rocro.com – GitHub / Bitbucketと連携 ■ 9/14 Public Beta開始 – 現在、無料でご利用いただけます ■ 名前の由来 – アジャイル開発:イテレーションを回しながらソフトウェアをつくる – 回転させながらものをつくる道具 → ろくろ © Rocro Inc. 2

Slide 3

Slide 3 text

■ Inspecode – 自動コードレビュー&コード修正サービス – 現在57個のツールをサポート ■ 静的解析、コードフォーマット、ユニットテスト ■ Docstand – APIドキュメント自動生成&ホスティングサービス – Sphinxにも対応 ■ Loadroid – 自動負荷テストサービス – closed test中。参加を希望する方はご連絡ください。 © Rocro Inc. 3

Slide 4

Slide 4 text

■ 静的解析の結果を分かりやすくレポート – A, B, C, D, Fの5段階評価 – Issueを様々な分類でチェック ■ ファイル ■ ツール ■ 言語 ■ 重要度 ■ 新規/既存 – トレンド ■ 5段階評価 ■ Issue数 © Rocro Inc. 4 Inspecode

Slide 5

Slide 5 text

■ Continuous Integration – Git Push/Pull Requestの自動チェック ■ ツールごとにIssue数の閾値を設定可能 閾値を超えたらFail – Email/Slack/HipChat通知 ■ 失敗・回復時だけ通知も可能 – Badge(READMEに貼るアイコン) © Rocro Inc. 5 Inspecode

Slide 6

Slide 6 text

■ サポートしているPythonツール – Flake8 – Prospector – Pyflakes – Pylint – YAPF – pycodestyle (旧pep8) – autopep8 ■ サポートしているPythonバージョン – 2.7 – 3.4, 3.5, 3.6 © Rocro Inc. 6 Inspecode 近々、noseなど ユニットテストにも対応する予定

Slide 7

Slide 7 text

Rocroの強み ■ ࣗಈηοτΞοϓ ■ ࣗಈमਖ਼ ■ ࣗಈฒྻԽ ユーザの⼿間を⼤幅に減らし、結果を素早く返すことにフォーカス © Rocro Inc. 7

Slide 8

Slide 8 text

自動セットアップ ■ 強力なデフォルト設定 – レポジトリ内の使用言語を検出して、適切なツールを自動実行 例:Pythonを検出 → Pyflakesなどを適用 – 各ツールの設定ファイルを検出して自動適用 例:Prospectorの場合、.prospector.ymlを検出して適用 ■ 依存ライブラリを自動でダウンロード – 例:自動でpip install -r requirements.txt エンジニアの各種セットアップの時間を⼤幅に削減 © Rocro Inc. 8

Slide 9

Slide 9 text

自動修正 ■ ツールで検出したIssueを自動で修正 → エンジニアの修正作業の時間を大幅に削減 ■ 修正機能を独自に実装 – Checkstyle, PMD, golint, gosimple – 今後も対応ツールを増やしていく予定 ■ PythonではYAPF, autopep8が自動修正に対応 if err != nil { return err } return nil return err © Rocro Inc. 9

Slide 10

Slide 10 text

自動並列化 ■ ツールレベルで自動で並列化 – ツールごとにDockerコンテナ – 様々なツールを活用するチームほど 実行時間を大幅に短縮可能 A B C A B 実⾏時間削減 C © Rocro Inc. 10

Slide 11

Slide 11 text

End © Rocro Inc. 11