Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
静的解析ツールを導入した話
Search
K1mu21
June 08, 2024
Programming
260
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
静的解析ツールを導入した話
業務でQodanaを導入した話になります
K1mu21
June 08, 2024
More Decks by K1mu21
See All by K1mu21
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
390
dependabotを導入して失敗した話
k1mu21
0
190
Rust勉強会1回目の資料
k1mu21
0
100
ギャレトレ勉強会
k1mu21
0
120
リプレイスでやったこと
k1mu21
1
110
Cloudflareいいぞ
k1mu21
1
180
WebGLを触ってみよう
k1mu21
1
71
GoのAirを使ってみた話
k1mu21
0
170
学生から社会人1年目を通して
k1mu21
2
290
Other Decks in Programming
See All in Programming
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
140
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
240
AI-Powered Domain-Driven Design
ziobrando
0
220
phperだってパンチカードでコーディングしたい
o0h
PRO
0
380
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
510
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
460
オーケストレーション記述言語 Katari
yukikurage
0
170
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
190
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
1k
🇪🇸 React Alicante 2026 (Workshop)
ythecombinator
PRO
0
100
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
270
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.2k
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
HDC tutorial
michielstock
2
970
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
530
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Building Applications with DynamoDB
mza
96
7.2k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
530
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
30 Presentation Tips
portentint
PRO
1
430
Bash Introduction
62gerente
615
220k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
750
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は神
宣伝