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
Shigeki Shoji
March 21, 2024
Technology
380
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
依存ライブラリはどこに?
Shigeki Shoji
March 21, 2024
More Decks by Shigeki Shoji
See All by Shigeki Shoji
OpenID Connectによるサービス間連携
takesection
1
140
OpenID Connectによるサービス間連携
takesection
0
300
アーティファクト管理でサプライチェーン攻撃を回避!!
takesection
0
160
2025-12-19-LT
takesection
0
180
2025-12-11 nakanoshima.dev LT
takesection
0
200
アジャイルテストで高品質のスプリントレビューを
takesection
0
260
Introduction to kanjava
takesection
0
170
LT Slide 2025-04-22
takesection
0
260
Instructional Designer
takesection
0
230
Other Decks in Technology
See All in Technology
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
370
アカウント統制の健康診断
kenichinakamura
1
190
LLM-as-a-Judgeは本当に信頼できるのか――評価器を評価する話
taka_aki
3
1.1k
シンプルな設定ファイルで実現する AWS IAM Identity Center の ユーザー管理Terraformフレームワークを公開しました / Simplifying AWS IAM Identity Center User Management: An Open-Source Terraform Framework
yamaguchitk333
0
320
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
190
AI駆動開発におけるハーネスエンジニアリングの勘所
tsukuboshi
1
780
AI秘書と毎日働くのはもう当たり前。開発以外の業務に足りない機能をどう埋める?
minorun365
PRO
2
1.7k
ビジネス部門からPOを迎えての半年間の進歩と課題
zozotech
PRO
0
140
freeeにおける AI を用いた ブラウザ動作確認の自動化の取り組み
freee
PRO
0
220
データマネジメント × 法務で作りあげる、 freeeの新しいデータガバナンスへの軌跡
freee
PRO
1
420
VLA-JEPA: Enhancing Vision-Language-Action Models with Latent World Models
takmin
0
330
Claude for Google Workspaces ポン出し/claude-for-google-workspace-slide-conversion
emiki
0
13k
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
580
The Mindset for Success: Future Career Progression
greggifford
PRO
0
550
Paper Plane
katiecoart
PRO
5
54k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
59k
The SEO Collaboration Effect
kristinabergwall1
1
600
New Earth Scene 8
popppiees
4
2.7k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
850
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
580
Thoughts on Productivity
jonyablonski
76
5.4k
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 ありがとうございました