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.
→
Shigeki Shoji
March 21, 2024
Technology
330
0
Share
依存ライブラリはどこに?
Shigeki Shoji
March 21, 2024
More Decks by Shigeki Shoji
See All by Shigeki Shoji
OpenID Connectによるサービス間連携
takesection
0
150
アーティファクト管理でサプライチェーン攻撃を回避!!
takesection
0
110
2025-12-19-LT
takesection
0
150
2025-12-11 nakanoshima.dev LT
takesection
0
160
アジャイルテストで高品質のスプリントレビューを
takesection
0
220
Introduction to kanjava
takesection
0
140
LT Slide 2025-04-22
takesection
0
220
Instructional Designer
takesection
0
190
Zero to Hero
takesection
0
270
Other Decks in Technology
See All in Technology
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
160
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
360
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
160
プラットフォームエンジニア ワークショップ/ platform-workshop
databricksjapan
0
160
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
2
200
新規ゲーム開発におけるAI駆動開発のリアル
202409e2
0
1.2k
APIテストとは?
nagix
0
170
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
170
Sony_KMP_Journey_KotlinConf2026
sony
2
200
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
370
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
410
Strands Agents超入門
kintotechdev
1
150
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
First, design no harm
axbom
PRO
2
1.2k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
130
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
220
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
70
39k
We Are The Robots
honzajavorek
0
240
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
310
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Transcript
依存ライブラリはどこに? 2024年3⽉21⽇ Shigeki Shoji
庄司重樹 受賞歴 AWS 2023 Japan Top Engineers 資格 AWS認定12冠 (All
Certifications) Professional Scrum Product Owner I Professional Scrum Master I Professional Scrum Developer I コミュニティ AWS Community Builders program、関ジャバ、JJUG、Scala関⻄、もめんと会他 2
とあるJavaアプリケーションの構成 3
依存ライブラリをどこから取得しよう? 4
ライブラリ公開元から直接 • グループ名はDNSドメイン名を逆向きにしたものと推測してみ る… 5
Maven等が登場する前 • ソースコードを公開先からダウンロードして取り込む • ftp等で公開先からダウンロードしてクラスパスに追加して取り 込む • 依存ライブラリが別のライブラリに依存していると、対応バー ジョンの不⼀致等で管理がとにかく⼤変 •
開発者が複数いると、ある⼈の環境では動作するが、別の⼈の 環境では動作しないということが増⼤ 6
いいアイデアない? 7
Hubのようなものがあれば • 個別に公開先からではなく、⼀元管理されたところがあれば 8
CI/CDを⽀えるインフラに成⻑ MavenやGradle等を使って⾃動的に依存ライブラリをダウン ロードして、アプリケーションコードをコンパイル、それをパッ ケージングしたアーティファクトをリポジトリにアップロード 9
Maven Centralってどこにあるの? • https://repo1.maven.org/maven2 10
ライブラリの検索 • https://central.sonatype.com/ 11
セマンティックバージョニング • 詳細はここで • 簡単にいうと、後⽅互換性の有無、バグ修正のみの場合などに、どの 部分のバージョンを変更するかの仕様 • Node.js で使⽤される npm
ではこのセマンティックバージョニングに 則った形式のみ受け⼊れられている(でも肝⼼の後⽅互換性がないの にマイナーバージョンのみやパッチバージョンの変更がされているラ イブラリがある) 12
いいね!社内で開発したライブラリも管 理していい? 13
Maven Centralはパブリックリポジトリ • Maven Centralからライブラリのダウンロードに認証不要 • アップロードする場合は、認証と公開鍵⽅式の署名が必要 • 組織内で作成したライブラリを世界中で使ってもらいたい場合 はMaven
Centralに登録できる 14
プライベートなライブラリの管理 15
Inhouse Repository • オンプレミス • Sonatype Nexus • JFrog Artifactory
• クラウド • AWS CodeArtifact • GitHub Packages • GitLab Packages and Registries 16
アーティファクト管理ツールの特徴 • 最近のアーティファクト管理ツールは脆弱性のチェック機能が ある • Java以外のプロトコル (Go、.NET、Rust、Python、Node.js、 Docker、Linux(rpm)、Linux(apt) その他) にも対応している
17
おわりに • 社内の再利⽤可能なアーティファクトを Inhouse Repository を活⽤していきましょう • アーティファクト管理ツールは単なるファイルシステムとは違 うということを理解しましょう 18
19 ありがとうございました