Enviar pesquisa
Carregar
Scrutinizer CIでPHPも静的解析 #phpstudy
•
13 gostaram
•
9,180 visualizações
Hiraku Nakano
Seguir
第78回 PHP勉強会 - PHP勉強会@東京 | Doorkeeper http://phpstudy.doorkeeper.jp/events/11523 で話した内容です。
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 11
Baixar agora
Baixar para ler offline
Recomendados
composer-scriptsについて
composer-scriptsについて
Hiraku Nakano
PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介
Hiraku Nakano
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
vimプラグインでよりよい(ry
vimプラグインでよりよい(ry
soh335
130427 kansai-emacs-github
130427 kansai-emacs-github
Yuki Shibazaki
Laravel5.1 Release
Laravel5.1 Release
Yuuki Takezawa
PHPデプロイツールの世界
PHPデプロイツールの世界
Yuuki Takezawa
Recomendados
composer-scriptsについて
composer-scriptsについて
Hiraku Nakano
PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介
Hiraku Nakano
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
vimプラグインでよりよい(ry
vimプラグインでよりよい(ry
soh335
130427 kansai-emacs-github
130427 kansai-emacs-github
Yuki Shibazaki
Laravel5.1 Release
Laravel5.1 Release
Yuuki Takezawa
PHPデプロイツールの世界
PHPデプロイツールの世界
Yuuki Takezawa
Kotlinにお触り
Kotlinにお触り
Shinobu Okano
PHP7をDockerで動かしたという話
PHP7をDockerで動かしたという話
侑弥 濱田
今日から始めるLaravel
今日から始めるLaravel
Masaru Matsuo
Web技術勉強会 20120609
Web技術勉強会 20120609
龍一 田中
H2O and php
H2O and php
Junichi Ishida
Play2 translate 20120714
Play2 translate 20120714
masahitojp
Frank-afcproxy
Frank-afcproxy
Toshiyuki Terashita
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
Hiroshi Toda
スクレイピングとPython
スクレイピングとPython
Hironori Sekine
TravisCI Nightに行ってきたので情報展開
TravisCI Nightに行ってきたので情報展開
Makoto Abe
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
shoma h
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
Hisateru Tanaka
PyPy 紹介
PyPy 紹介
shoma h
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
Sphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjp
Takeshi Komiya
Laravel 5.1 LTSでサービスを作る
Laravel 5.1 LTSでサービスを作る
infinite_loop
Espressoじゃなくてcodaを使う理由
Espressoじゃなくてcodaを使う理由
Tao Sasaki
Linux debug
Linux debug
Masami Ichikawa
Real World PHP in pixiv
Real World PHP in pixiv
Kenta USAMI
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
晃 遠山
はじめての CircleCI
はじめての CircleCI
Yosuke Mizutani
Mais conteúdo relacionado
Mais procurados
Kotlinにお触り
Kotlinにお触り
Shinobu Okano
PHP7をDockerで動かしたという話
PHP7をDockerで動かしたという話
侑弥 濱田
今日から始めるLaravel
今日から始めるLaravel
Masaru Matsuo
Web技術勉強会 20120609
Web技術勉強会 20120609
龍一 田中
H2O and php
H2O and php
Junichi Ishida
Play2 translate 20120714
Play2 translate 20120714
masahitojp
Frank-afcproxy
Frank-afcproxy
Toshiyuki Terashita
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
Hiroshi Toda
スクレイピングとPython
スクレイピングとPython
Hironori Sekine
TravisCI Nightに行ってきたので情報展開
TravisCI Nightに行ってきたので情報展開
Makoto Abe
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
shoma h
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
Hisateru Tanaka
PyPy 紹介
PyPy 紹介
shoma h
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
Sphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjp
Takeshi Komiya
Laravel 5.1 LTSでサービスを作る
Laravel 5.1 LTSでサービスを作る
infinite_loop
Espressoじゃなくてcodaを使う理由
Espressoじゃなくてcodaを使う理由
Tao Sasaki
Linux debug
Linux debug
Masami Ichikawa
Real World PHP in pixiv
Real World PHP in pixiv
Kenta USAMI
Mais procurados
(20)
Kotlinにお触り
Kotlinにお触り
PHP7をDockerで動かしたという話
PHP7をDockerで動かしたという話
今日から始めるLaravel
今日から始めるLaravel
Web技術勉強会 20120609
Web技術勉強会 20120609
H2O and php
H2O and php
Play2 translate 20120714
Play2 translate 20120714
Frank-afcproxy
Frank-afcproxy
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
スクレイピングとPython
スクレイピングとPython
TravisCI Nightに行ってきたので情報展開
TravisCI Nightに行ってきたので情報展開
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
第21回関西PHP勉強会 ReactPHPは もっと流行って欲しい #phpkansai
PyPy 紹介
PyPy 紹介
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
Sphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjp
Laravel 5.1 LTSでサービスを作る
Laravel 5.1 LTSでサービスを作る
Espressoじゃなくてcodaを使う理由
Espressoじゃなくてcodaを使う理由
Linux debug
Linux debug
Real World PHP in pixiv
Real World PHP in pixiv
Destaque
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
晃 遠山
はじめての CircleCI
はじめての CircleCI
Yosuke Mizutani
GitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろう
Nobuhiro Ueda
Travis CIで実現するPHPアプリの自動テスト
Travis CIで実現するPHPアプリの自動テスト
Yusuke Ando
PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテスト
Yusuke Ando
behatで始めるBDD
behatで始めるBDD
Tsutomu Chikuba
phpspecで始めるBDD
phpspecで始めるBDD
Yuuki Takezawa
Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門
leverages_event
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
ディープラーニングで株価予測をやってみた
ディープラーニングで株価予測をやってみた
卓也 安東
為替と株の予測の話
為替と株の予測の話
Kentaro Imajo
それPhpStormで出来るよ #phpstudy
それPhpStormで出来るよ #phpstudy
晃 遠山
JIRA Agileを活用したアジャイル開発実践事例 #AUGJ
JIRA Agileを活用したアジャイル開発実践事例 #AUGJ
満徳 関
Destaque
(13)
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
はじめての CircleCI
はじめての CircleCI
GitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろう
Travis CIで実現するPHPアプリの自動テスト
Travis CIで実現するPHPアプリの自動テスト
PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテスト
behatで始めるBDD
behatで始めるBDD
phpspecで始めるBDD
phpspecで始めるBDD
Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
ディープラーニングで株価予測をやってみた
ディープラーニングで株価予測をやってみた
為替と株の予測の話
為替と株の予測の話
それPhpStormで出来るよ #phpstudy
それPhpStormで出来るよ #phpstudy
JIRA Agileを活用したアジャイル開発実践事例 #AUGJ
JIRA Agileを活用したアジャイル開発実践事例 #AUGJ
Semelhante a Scrutinizer CIでPHPも静的解析 #phpstudy
研究紹介スライド
研究紹介スライド
Norihito Kitagawa
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
健一 辰濱
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
Kazumi IWANAGA
シナリオレビューという手法の提案
シナリオレビューという手法の提案
tuna cook
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
You&I
「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう
中條 剛
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Katsuhiro Morishita
新・ReVIEWパーサについて
新・ReVIEWパーサについて
masayoshi takahashi
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Kazumi IWANAGA
Git hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうか
Kakigi Katuyuki
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
Shoken Fujisaki
Type scriptmemo
Type scriptmemo
ytanno
既存プロジェクトにSwiftLintを導入した話
既存プロジェクトにSwiftLintを導入した話
akatsuki174
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
中條 剛
CotEditor Script
CotEditor Script
Kosuke Usami
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
ymmt
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
civic Sasaki
20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料
慎平 仁藤
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
Tsuubito Ishii
Semelhante a Scrutinizer CIでPHPも静的解析 #phpstudy
(20)
研究紹介スライド
研究紹介スライド
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
シナリオレビューという手法の提案
シナリオレビューという手法の提案
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
新・ReVIEWパーサについて
新・ReVIEWパーサについて
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Git hubで雑誌記事を執筆するのは間違っているだろうか
Git hubで雑誌記事を執筆するのは間違っているだろうか
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
LLプログラマ向けSwift ExtensionsとテストライブラリQuickの紹介
Type scriptmemo
Type scriptmemo
既存プロジェクトにSwiftLintを導入した話
既存プロジェクトにSwiftLintを導入した話
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
今年はRubyを勉強するぞ!という方へCodeYourRubyリポジトリのご紹介
CotEditor Script
CotEditor Script
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
Mais de Hiraku Nakano
composerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudy
Hiraku Nakano
Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt
Hiraku Nakano
JSON SchemaとPHP
JSON SchemaとPHP
Hiraku Nakano
こわくない同時実行制御
こわくない同時実行制御
Hiraku Nakano
pecl-AOPの紹介
pecl-AOPの紹介
Hiraku Nakano
URLで遊ぼう
URLで遊ぼう
Hiraku Nakano
Xml builderの紹介
Xml builderの紹介
Hiraku Nakano
Mais de Hiraku Nakano
(7)
composerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudy
Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt
JSON SchemaとPHP
JSON SchemaとPHP
こわくない同時実行制御
こわくない同時実行制御
pecl-AOPの紹介
pecl-AOPの紹介
URLで遊ぼう
URLで遊ぼう
Xml builderの紹介
Xml builderの紹介
Último
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Último
(12)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Scrutinizer CIでPHPも静的解析 #phpstudy
1.
Scrutinizerで始める 静的解析 @Hiraku
2.
自己紹介 • 中野 拓 •
https://twitter.com/Hiraku • http://blog.tojiru.net/ • https://github.com/hirak • 最近昔のコードを書きなおして GitHubに上げなおしてる。 • フレームワーク論争に疲れました
3.
コードの品質を高める工夫、 してますか?
4.
二つの潮流 品質の高い コード 実行して試す • テスト • ドッグフーディング 実行せず読む •
インスペクション • コードレビュー
5.
Scrutinizer(すくりゅーてぃないざー) • https://scrutinizer-ci.com/ • コードの静的解析サービス •
インスペクション特化型Travis-CI • レポートの見た目がカッコいい
6.
Code ClimateのPHP版 と言えば分かるかも? • Code
ClimateはRubyとJavaScriptのみ。 • ScrutinizerはPHPとJavaScriptのみ。
7.
できること • 全自動コードレビュー • バグっぽいところの検出 •
循環度や依存度の警告 • 修正内容の提案(パッチ自動作成) • 品質に点数をつけてくれる • 他のOSSと比較して優越感にひたる • カバレッジをGitHubバッジにしてくれる • Coveralls的な機能
8.
Scrutinizerの長所 • Travis-CIやJenkinsでもOSSを組み合わせれば実行できるが… • CodeSnifferとかpdependとかMess
DetectorとかCPDとか • 結構面倒くさい • ほとんどセットアップせずに使えて、レポートがカッコいい • PHP Analyzerという独自解析ツール • publicリポジトリなら無料で使える • privateリポジトリは有償プランで
9.
PHPライブラリ作成を支えるサービス • Composer (依存管理) •
Packagist (中央リポジトリ) • Poser (packagistのバッジサービス) • VersionEye (依存パッケージのバージョンアップに追随してい るかチェック) • Travis-CI (Jenkinsよりお手軽) • Scrutinizer-CI (静的解析だけならTravisよりお手軽)
10.
バッジをREADME.mdに貼りましょう • https://github.com/Ocramius/ProxyManager/blob/master/RE ADME.md
11.
両側から攻めて、 クリーンなコードを目指せ!! 品質の高い コード 実行して試す • テスト • ドッグフーディング 実行せず読む •
インスペクション • コードレビュー
Baixar agora