SlideShare a Scribd company logo
1 of 58
SonarQubeでちょっと楽しい?
静的解析
@渋谷Java 2015/03/07
金森 政雄
自己紹介
• 認証と決済のシステム
– 社内の他のサービスから利用
• 主にオフショア管理がお仕事
初LT参戦、よろしくお願いします
とりあえず言いたいことは・・・
Why 消費税増税!!??
十数種類の決済種×月額/従量/+α
× 社内全サイト = デスマしか見えない
ちなみに
IT企業役員
売れっ子若手芸人 ヒラの開発者
まさかの
同い年
アジェンダ
• SonarQube概要
• SonarQubeとの出会い
• 機能紹介
• Tips
• まとめ
SonarQube概要
SonarQubeとは
• OSSのソースコード静的解析ツール
– 様々な言語の解析をサポート(一部有料plugin)
– サイト: http://www.sonarqube.org/
• 以前は「Sonar」と呼ばれていた
• ライセンスは LGPL v3.
• SonarSource社が追加言語のカバーやサポート
SonarQubeデモページ
http://nemo.sonarqube.org/
SonarQubeとの出会い
社内の成長活動:お題「自動化」
理想
 テスト自動化やCIって楽しそう!!
社内の成長活動:お題「自動化」
理想
 テスト自動化やCIって楽しそう!!
 デプロイ自動化もやってみたい!!
社内の成長活動:お題「自動化」
理想
 テスト自動化やCIって楽しそう!!
 デプロイ自動化もやってみたい!!
 最近流行りのツールもいろいろ試そう!!
社内の成長活動:お題「自動化」
理想
 テスト自動化やCIって楽しそう!!
 デプロイ自動化もやってみたい!!
 最近流行りのツールもいろいろ試そう!!
現実
 コストダウン最優先
現実
 コストダウン最優先
 部門の壁
『デプロイや構成管理は運用部なので手出し無用』
社内の成長活動:お題「自動化」
理想
 デプロイ自動化もやってみたい!!
 最近流行りのツールもいろいろ試そう!!
諸々あって静的解析担当に
本音:
「えー、今更静的解析?」
諸々あって静的解析担当に
本音:
「えー、今更静的解析?」
というわけにもいかないので・・・
静的解析のイメージ@Java
• Checkstyle
– 開発中は便利
– ルールのカスタマイズが面倒(設定、ルール追加)
• FindBugs
– バグ本当に見つかります・・・?
– checkstyleと一緒に入れとくだけ入れておく
• Jenkins
– Pluginで解析・レポートが見れる
静的解析のイメージ@Java
• Checkstyle
– 開発中は便利
– ルールのカスタマイズが面倒(設定、ルール追加)
• FindBugs
– バグ本当に見つかります・・・?
– checkstyleと一緒に入れとくだけ入れておく
• Jenkins
– Pluginで解析・レポートが見れる
もうやってるんですけど・・・
増える要求
増える要求
難易度の判定も
できたらいいな
増える要求
難易度の判定も
できたらいいな
レガシーなコードの
見積もりを出したい
増える要求
難易度の判定も
できたらいいな
レガシーなコードの
見積もりを出したい
チーム毎の
品質を
比較したい
増える要求
難易度の判定も
できたらいいな
レガシーなコードの
見積もりを出したい
チーム毎の
品質を
比較したい
リファクタリング
ポイントの特定
増える要求
難易度の判定も
できたらいいな
レガシーなコードの
見積もりを出したい
チーム毎の
品質を
比較したい
リファクタリング
ポイントの特定
SonarQube発見!!
• 多機能:難易度判定などにも使えそう
• pluginの開発で拡張もできる!!
• これならやる気出そう!!
SonarQube機能紹介
ソースコード解析の流れ
ソースコード
DB
ソースコード
DB
Analyzer
ソースコード
DB
Analyzer
解析
ソースコード
DB
Analyzer
解析
ソースコード
格
納
DB
Analyzer
CIツール
解析 解析
ソースコード
格
納
DB
Analyzer
CIツール
開発者
解析 解析
参照
ソースコード
格
納
SonarQube Runner
• SonarQube推奨のAnalyzer
– SonarQubeのサイトからダウンロード
• 言語問わず解析に利用できる
– 前提:言語に応じたpluginをインストールする
– 設定ファイルで解析する言語を指定
• 設定ファイルを配置しそこでコマンドを実行
– 設定ファイル:「sonar-project.properties」
– コマンド:「sonar-runner」
※パス通すの忘れない
sonar-project.properties
#Required metadata
sonar.projectKey=sample
sonar.projectName=sample
sonar.projectVersion=1.0
# Comma-separated paths to directories with sources
(required)
sonar.sources=src
# Language
sonar.language=java
# Encoding of the source files
sonar.sourceEncoding=UTF-8
解析結果の確認
コード行数
重複率の割合
サイクロマチック複雑度
SQALE Rating
技術的負債
LOC:コード行数
• コードの行数を計測
– コメントは抜いてくれる
• ファイル数、クラス数、アクセサの数も測定
Duplications:コードの重複率
• ソースコードの重複率
Complexity:複雑度
• サイクロマチック複雑度
– デフォルトを1として分岐ごとに+1
– プロジェクトの合計、関数/クラスファイルの平均
• 1関数あたり15を超え始めると注意
Technical Debt:技術的負債
• 技術的課題を負債にたとえる
– 単位は修正にかかる工数
– 工数は設定で変更できる
SQALE Rating
• コード全体に占める技術的負債の割合
– コード全体はLoC×30min(デフォルト)
• A~Eで判定
– Aは10%以下、Eは100%以上
問題のあるところにドリルダウン
※SonarQubeドキュメントから拝借
dashboardのカスタマイズ
• widgetを組み合わせてdashboardを作れる
Time Machine
• 測定値の推移が見れるdashboard
Tips(というより起こったこと)
①メモリ不足連発
• ハードウェア要件
( http://docs.sonarqube.org/display/SONAR/Requirements )
– SonarQubeは最低1GBのメモリが必要
– ディスクI/Oも高速である必要がある
• 試しに仮想マシンで動かしてエラー連発
(当たり前ですが)ハードウェア要件ちゃんと確認する
②文字コードが統一されていない
• SonarQube Runnerの設定で文字コード指定
• 設定に反する文字コードのソースがあるとエ
ラー
文字コードが統一されてないと解析すらしても
らえない
③指標は組み合わせて見る
• 社内で悪名高いレガシーコードを分析
– 皆の期待:「品質めちゃくちゃ悪いはず」
③指標は組み合わせて見る
• 社内で悪名高いレガシーコードを分析
– 皆の期待:「品質めちゃくちゃ悪いはず」
⇒SQALE Rating→「A」
③指標は組み合わせて見る
• 社内で悪名高いレガシーコードを分析
– 皆の期待:「品質めちゃくちゃ悪いはず」
⇒SQALE Rating→「A」
③指標は組み合わせて見る
• 原因はソースコードの重複率
– 重複率:68.2%⇒半分以上要らないコード
– ちゃんと動くところがコピーされるので規模に対して負債
は膨らまなかった?
1つの指標だけ見ても判断できない。
組み合わせてまずいところを見つけていく
まとめ
「見える化」って大事
• 「見られている意識」が品質の改善に
– 自然とソースレビュー/リファクタリング提案
– 他と比較されるので成果がわかりやすい
• 上司受けがよい
– 定量化された指標
おまけ
• ローカルで試せる環境作成用のplaybook
https://github.com/G-F/sonar-playbook
• Vagrant と ansibleで自動的に下記が入ります
– SonarQube
– mysql
– Jenkins
• メモリ注意!!(デフォルトで2GB使います)
最後に
• この人に少しでも追いつきたいので英語の勉強がて
らSonarQubeのドキュメント和訳してます
• 少しずつ公開していくので不備などあればどんどん
指摘してください
最後に
• この人に少しでも追いつきたいので英語の勉強がて
らSonarQubeのドキュメント和訳してます
• 少しずつ公開していくので不備などあればどんどん
指摘してください
以上!!

More Related Content

What's hot

基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装Masatoshi Tada
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugMasatoshi Tada
 
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきことこれからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと土岐 孝平
 
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイントSpringを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント土岐 孝平
 
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかC#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかYoshifumi Kawai
 
Python製BDDツールで自動化してみた
Python製BDDツールで自動化してみたPython製BDDツールで自動化してみた
Python製BDDツールで自動化してみたKeijiUehata1
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーyoku0825
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについてmoai kids
 
企業システムにアジャイルは必要か
企業システムにアジャイルは必要か企業システムにアジャイルは必要か
企業システムにアジャイルは必要かHiromasa Oka
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころTakuto Wada
 
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかなぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかYusuke Suzuki
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
オーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiAオーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiAOre Product
 
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話JustSystems Corporation
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with KarateTakanori Suzuki
 
TDD のこころ @ OSH2014
TDD のこころ @ OSH2014TDD のこころ @ OSH2014
TDD のこころ @ OSH2014Takuto Wada
 

What's hot (20)

基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装基礎からのOAuth 2.0とSpring Security 5.1による実装
基礎からのOAuth 2.0とSpring Security 5.1による実装
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
 
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきことこれからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
 
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイントSpringを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント
 
C#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのかC#の強み、或いは何故PHPから乗り換えるのか
C#の強み、或いは何故PHPから乗り換えるのか
 
Python製BDDツールで自動化してみた
Python製BDDツールで自動化してみたPython製BDDツールで自動化してみた
Python製BDDツールで自動化してみた
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについて
 
企業システムにアジャイルは必要か
企業システムにアジャイルは必要か企業システムにアジャイルは必要か
企業システムにアジャイルは必要か
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころ
 
なぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのかなぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Keycloakのステップアップ認証について
Keycloakのステップアップ認証についてKeycloakのステップアップ認証について
Keycloakのステップアップ認証について
 
オーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiAオーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiA
 
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
DDDとクリーンアーキテクチャでサーバーアプリケーションを作っている話
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
 
TDD のこころ @ OSH2014
TDD のこころ @ OSH2014TDD のこころ @ OSH2014
TDD のこころ @ OSH2014
 

Similar to Sonar qubeでちょっと楽しい静的解析

hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorockyuzorock
 
運用管理を楽にしたいという話
運用管理を楽にしたいという話運用管理を楽にしたいという話
運用管理を楽にしたいという話Hisashi HATAKEYAMA
 
今日から始めるDigitalOcean
今日から始めるDigitalOcean今日から始めるDigitalOcean
今日から始めるDigitalOceanMasahito Zembutsu
 
Out systemsaichiusermeeting#5 lt2
Out systemsaichiusermeeting#5 lt2Out systemsaichiusermeeting#5 lt2
Out systemsaichiusermeeting#5 lt2潤司 渡部
 
20131213 OSC enterprise
20131213 OSC enterprise20131213 OSC enterprise
20131213 OSC enterprisesamemoon
 
じっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープじっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープKazuhiro Serizawa
 
リリース対象どーれだっ??
リリース対象どーれだっ??リリース対象どーれだっ??
リリース対象どーれだっ??__Black
 
20161206 re growth-tokyo-maroon1st
20161206 re growth-tokyo-maroon1st20161206 re growth-tokyo-maroon1st
20161206 re growth-tokyo-maroon1st宗 大栗
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜Koichi ITO
 
reInvent 2018に行ってきた
reInvent 2018に行ってきたreInvent 2018に行ってきた
reInvent 2018に行ってきたYu Otsubo
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?Makoto SAKAI
 
20180828 subscliption test_solution@Test Engineers Meetup #3
20180828 subscliption test_solution@Test Engineers Meetup #320180828 subscliption test_solution@Test Engineers Meetup #3
20180828 subscliption test_solution@Test Engineers Meetup #3譲 安田
 
DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜
DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜
DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜Teruo Adachi
 
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜Ryo Sasaki
 
Ansibleは簡単なIT自動化
Ansibleは簡単なIT自動化Ansibleは簡単なIT自動化
Ansibleは簡単なIT自動化You&I
 
初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話Masataka Tsukamoto
 
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014taiju higashi
 
スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31Sukusuku Scrum
 

Similar to Sonar qubeでちょっと楽しい静的解析 (20)

hbstudy#6LTyuzorock
hbstudy#6LTyuzorockhbstudy#6LTyuzorock
hbstudy#6LTyuzorock
 
運用管理を楽にしたいという話
運用管理を楽にしたいという話運用管理を楽にしたいという話
運用管理を楽にしたいという話
 
今日から始めるDigitalOcean
今日から始めるDigitalOcean今日から始めるDigitalOcean
今日から始めるDigitalOcean
 
Out systemsaichiusermeeting#5 lt2
Out systemsaichiusermeeting#5 lt2Out systemsaichiusermeeting#5 lt2
Out systemsaichiusermeeting#5 lt2
 
20131213 OSC enterprise
20131213 OSC enterprise20131213 OSC enterprise
20131213 OSC enterprise
 
じっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープじっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープ
 
リリース対象どーれだっ??
リリース対象どーれだっ??リリース対象どーれだっ??
リリース対象どーれだっ??
 
20161206 re growth-tokyo-maroon1st
20161206 re growth-tokyo-maroon1st20161206 re growth-tokyo-maroon1st
20161206 re growth-tokyo-maroon1st
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
 
reInvent 2018に行ってきた
reInvent 2018に行ってきたreInvent 2018に行ってきた
reInvent 2018に行ってきた
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
 
20180828 subscliption test_solution@Test Engineers Meetup #3
20180828 subscliption test_solution@Test Engineers Meetup #320180828 subscliption test_solution@Test Engineers Meetup #3
20180828 subscliption test_solution@Test Engineers Meetup #3
 
DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜
DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜
DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜
 
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
 
Ansibleは簡単なIT自動化
Ansibleは簡単なIT自動化Ansibleは簡単なIT自動化
Ansibleは簡単なIT自動化
 
初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話初心者がOpenIndianaで自宅サーバを作ったよって話
初心者がOpenIndianaで自宅サーバを作ったよって話
 
Osoljp201204
Osoljp201204Osoljp201204
Osoljp201204
 
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
 
Zabbix on SoftLayer
Zabbix on SoftLayer Zabbix on SoftLayer
Zabbix on SoftLayer
 
スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31スクラムプロジェクト準備(公開用) No.31
スクラムプロジェクト準備(公開用) No.31
 

More from 政雄 金森

AWS FIS の実験テンプレートを書いてみよう!!
AWS FIS の実験テンプレートを書いてみよう!!AWS FIS の実験テンプレートを書いてみよう!!
AWS FIS の実験テンプレートを書いてみよう!!政雄 金森
 
DevAx::connect はじめました
DevAx::connect はじめましたDevAx::connect はじめました
DevAx::connect はじめました政雄 金森
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発政雄 金森
 
Serverless Meetup Tokyo #15 Amazon EventBridge スキーマレジストリ でイベントの扱いを簡単に!
Serverless Meetup Tokyo #15 Amazon EventBridge スキーマレジストリ でイベントの扱いを簡単に!Serverless Meetup Tokyo #15 Amazon EventBridge スキーマレジストリ でイベントの扱いを簡単に!
Serverless Meetup Tokyo #15 Amazon EventBridge スキーマレジストリ でイベントの扱いを簡単に!政雄 金森
 
Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理政雄 金森
 
APIモック3分クッキング
APIモック3分クッキングAPIモック3分クッキング
APIモック3分クッキング政雄 金森
 
Spring'17リリースノート輪読会 API By フレクト
Spring'17リリースノート輪読会 API By フレクトSpring'17リリースノート輪読会 API By フレクト
Spring'17リリースノート輪読会 API By フレクト政雄 金森
 
Sf素人が2週間でアプリケーションビルダーに挑戦してみた
Sf素人が2週間でアプリケーションビルダーに挑戦してみたSf素人が2週間でアプリケーションビルダーに挑戦してみた
Sf素人が2週間でアプリケーションビルダーに挑戦してみた政雄 金森
 

More from 政雄 金森 (8)

AWS FIS の実験テンプレートを書いてみよう!!
AWS FIS の実験テンプレートを書いてみよう!!AWS FIS の実験テンプレートを書いてみよう!!
AWS FIS の実験テンプレートを書いてみよう!!
 
DevAx::connect はじめました
DevAx::connect はじめましたDevAx::connect はじめました
DevAx::connect はじめました
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発
 
Serverless Meetup Tokyo #15 Amazon EventBridge スキーマレジストリ でイベントの扱いを簡単に!
Serverless Meetup Tokyo #15 Amazon EventBridge スキーマレジストリ でイベントの扱いを簡単に!Serverless Meetup Tokyo #15 Amazon EventBridge スキーマレジストリ でイベントの扱いを簡単に!
Serverless Meetup Tokyo #15 Amazon EventBridge スキーマレジストリ でイベントの扱いを簡単に!
 
Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理
 
APIモック3分クッキング
APIモック3分クッキングAPIモック3分クッキング
APIモック3分クッキング
 
Spring'17リリースノート輪読会 API By フレクト
Spring'17リリースノート輪読会 API By フレクトSpring'17リリースノート輪読会 API By フレクト
Spring'17リリースノート輪読会 API By フレクト
 
Sf素人が2週間でアプリケーションビルダーに挑戦してみた
Sf素人が2週間でアプリケーションビルダーに挑戦してみたSf素人が2週間でアプリケーションビルダーに挑戦してみた
Sf素人が2週間でアプリケーションビルダーに挑戦してみた
 

Sonar qubeでちょっと楽しい静的解析

Editor's Notes

  1. 消費税の話入れる?
  2. 以前っていつころ?