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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shigeki Shoji
March 21, 2024
Technology
320
0
Share
依存ライブラリはどこに?
Shigeki Shoji
March 21, 2024
More Decks by Shigeki Shoji
See All by Shigeki Shoji
2025-12-19-LT
takesection
0
130
2025-12-11 nakanoshima.dev LT
takesection
0
140
アジャイルテストで高品質のスプリントレビューを
takesection
0
210
Introduction to kanjava
takesection
0
130
LT Slide 2025-04-22
takesection
0
210
Instructional Designer
takesection
0
180
Zero to Hero
takesection
0
260
Fargateを使った研修の話
takesection
0
380
20240730_kanjava.pdf
takesection
0
190
Other Decks in Technology
See All in Technology
Snowflake Intelligence導入で 分かった活用のコツ
wonohe
0
130
AgentCore×VPCでの設計パターンn選と勘所
har1101
3
260
Do Ruby::Box dream of Modular Monolith?
joker1007
1
320
ネットワーク運用を楽にするAWS DevOps Agent活用法!! / 20260421 Masaki Okuda
shift_evolve
PRO
2
200
2026年、知っておくべき最新 サーバレスTips10選/serverless-10-tips
slsops
13
5.1k
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
150
AI時代にデータ基盤が持つべきCapabilityを考える + Snowflake Data Superheroやっていき宣言 / Considering the Capabilities Data Platforms Should Have in the AI Era + Declaration of Commitment as a Snowflake Data Superhero
civitaspo
0
120
AIエージェントの権限管理 2: データ基盤の Fine grained access control 編
ren8k
0
120
EBS暗号化に失敗してEC2が動かなくなった話
hamaguchimmm
2
180
MLOps導入のための組織作りの第一歩
akasan
0
320
データを"持てない"環境でのアノテーション基盤設計
sansantech
PRO
1
100
AI時代のガードレールとしてのAPIガバナンス
nagix
0
220
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
180
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
500
sira's awesome portfolio website redesign presentation
elsirapls
0
220
Writing Fast Ruby
sferik
630
63k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Scaling GitHub
holman
464
140k
KATA
mclloyd
PRO
35
15k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
110
Six Lessons from altMBA
skipperchong
29
4.2k
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 ありがとうございました