Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
静的解析ツールを導入した話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
K1mu21
June 08, 2024
Programming
1
230
静的解析ツールを導入した話
業務でQodanaを導入した話になります
K1mu21
June 08, 2024
Tweet
Share
More Decks by K1mu21
See All by K1mu21
dependabotを導入して失敗した話
k1mu21
0
140
Rust勉強会1回目の資料
k1mu21
0
65
ギャレトレ勉強会
k1mu21
0
72
リプレイスでやったこと
k1mu21
1
73
Cloudflareいいぞ
k1mu21
1
130
WebGLを触ってみよう
k1mu21
1
59
GoのAirを使ってみた話
k1mu21
0
150
学生から社会人1年目を通して
k1mu21
2
250
データベースで沼った話
k1mu21
0
76
Other Decks in Programming
See All in Programming
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
140
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
490
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
160
20260315 AWSなんもわからん🥲
chiilog
2
150
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
220
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
340
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.8k
ロボットのための工場に灯りは要らない
watany
10
2.9k
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
240
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
5
1k
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
390
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
530
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
66k
Rails Girls Zürich Keynote
gr2m
96
14k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
830
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
RailsConf 2023
tenderlove
30
1.4k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
110
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Embracing the Ebb and Flow
colly
88
5k
Discover your Explorer Soul
emna__ayadi
2
1.1k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
200
Transcript
静的解析ツールを導入した話 K1mu21
自己紹介 • K1mu21 ◦ 23卒です • 所属 ◦ 株式会社ラクーンホールディングス •
分野 ◦ バックエンド(+フロントエンド) • 使用言語 ◦ Go,Java,PHP,Astro • 趣味 ◦ 旅行、筋トレ、日本酒 • X ◦ @detunote • 分野 ◦ バッsaクエンド(+フロントエンド)
静的解析ツールとは • 人間の記述したプログラムのソースコードを解析し、プログラミング言語の 文法や仕様を満たしているか、定められたコーディング規約に則っている かなどを調べるもの • 例 ◦ ESLintとか
導入した静的解析ツール
導入する上で必要だったもの • VScode上で解析結果が見れる • GitLabのCodeQuarityの機能で解析結果が表示される • 表示させるエラーの調整ができる
導入を考えたツール • 今回はJavaメインですが他言語でも使えます! • SpotBugs ◦ コマンドを叩いたら解析が実行されるが VScode上表示するのが大変 • Soner
Lint, Soner Qube ◦ VScodeに表示できる、CodeQuality簡単に使える、エラー指定できるで完璧 ◦ 無料もあるが有料版がLOC課金で年900万円超え($での支払い)🥺🥺🥺 • Qodana ◦ VScodeに一応表示できる、CodeQuality使えるようにできる、エラー指定できる ◦ 無料もあり、有料が年11万くらい🥳
Qodanaの特徴 • JetBrains製の静的解析ツール ◦ InteliJとかGorandとかの静的解析する機能だけ取り出したもの • DockerImageがある ◦ CI時にイメージ呼び出して動かすだけでいいのでめちゃくちゃ助かる •
ドキュメントが見やすい ◦ https://www.jetbrains.com/help/qodana/getting-started.html • 料金が安い ◦ 安いプランでも1Developer年7200円 • 解析結果をHTML形式にも出力できる
Qodanaのデメリット • 未使用変数、メソッドの指摘が推奨設定でされなかった ◦ PHPなどはされるのを確認できたが、 Javaだけされなかった ◦ 公式に問い合わせて解決できたが返信きたのが 3週間後...😡 •
社内GitLabサーバーを殺しかけた ◦ 400MBのArtifactを作りまくってサーバーを殺しかけた ◦ 残り容量2GBくらいまで減らした • 有料版じゃないのでSpring FrameworkのDIを考慮してくれないのでめっちゃ指摘さ れる ◦ 指摘数が半端じゃないほど増える • ドキュメントに甘い部分がある ◦ 例のコードが動かなかった
とりあえず実装したもの • VScodeへの表示 ❌ ◦ Qodana Cloudに結果を上げる必要がありセキュリティ的に一旦保留 • CodeQuarityを使って表示 ⭕ • エラーの調整ができる ⭕
追加 • GitLab Pageの機能を使って解析結果をHTML形式でも見れるようにしまし た(GitHub Pagesみたいなもの)
JetBrainsは神
宣伝