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
ビルドツールの話(202110社内勉強会)
Search
shimadamiyuki
October 21, 2021
0
77
ビルドツールの話(202110社内勉強会)
月一で実施している社内勉強会の資料です(2021.10)
shimadamiyuki
October 21, 2021
Tweet
Share
More Decks by shimadamiyuki
See All by shimadamiyuki
20240912 JJUGナイトセミナー
mii1004
0
200
STORES決済の裏側のはなし(Code Polaris 色んなエンジニアLT大会)
mii1004
0
230
オブジェクト指向がわからない(202201社内勉強会)
mii1004
0
96
たのしい情報収集(202112社内勉強会)
mii1004
0
67
リファクタリング?(202111社内勉強会)
mii1004
0
58
OpenAPI Generator使ってみる(Java女子部ハロウィンLT)
mii1004
0
56
Hello Spring(202109社内勉強会)
mii1004
0
73
StreamAPI, Lambdaと仲良くなる(202108社内勉強会)
mii1004
0
82
Javaはじめのいっぽ(202107社内勉強会)
mii1004
0
81
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
160
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Fireside Chat
paigeccino
34
3.1k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
GitHub's CSS Performance
jonrohan
1030
460k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
The Invisible Side of Design
smashingmag
298
50k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Transcript
ビルドツールの話 10⽉チーム会
Q. Javaのビルドツールといえば︖ Maven︕ Gradle︕ どちらかお好きな⽅で、くらいの空気感だと思います。
この前登場したspring initializerでも MavenとGradleのどっちかを選べます。
ビルドツールの役割 l 依存するライブラリをダウンロードする l Javaのソースコードをコンパイルする l テストを実⾏する l パッケージングする(jar, war・・・)
など
Q. ライブラリって︖ ⾊々なアプリで共通で使うようなプログラムを、 再利⽤できるようにまとめたもの
何気なく書いてるそのimportも 誰かが作ってくれたライブラリを使っているのかも
アプリケーションでライブラリを使っている =ライブラリに依存している アプリケーション ライブラリA ライブラリB ライブラリAに依存するよ ライブラリBに依存するよ ライブラリCに依存するよ ・・・ というのがライブラリの依存関係
ビルドツールなしでライブラリを 管理するのは⼤変 • ⼤量のjarファイルをやりとりしないといけないとか • ライブラリのバージョンがごちゃごちゃになるとか • こっちのPCでは動くのにあっちでは動かないとか
MavenやGradleを使えば・・・ <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</version> <scope>provided</scope> </dependency> compileOnly group: 'org.projectlombok',
name: 'lombok', version: '1.18.22' 定義ファイルに依存するライブラリやバージョンを書いて おけば、Maven/Gradleが必要なjarをダウンロードしてき てくれる
Q. リモートリポジトリって︖ Maven/Gradleがライブラリをダウンロードしにいく場所。 (Gradleでも)Mavenセントラルリポジトリが主に使われていて、よく使うよ うなライブラリは⼤体揃ってる https://repo1.maven.org/maven2/ ライブラリの検索サイトもあるよ https://mvnrepository.com/ 会社によっては社内にリモートリポジトリを⽤意してあることもあるので、そ の場合は定義ファイルで使うリポジトリを指定するよ
Q. もっと詳しく YouTubeでJJUGのナイトセミナーの録画を⾒てね JJUGナイトセミナー「Maven / Gradle⼊⾨」2020/12/11 https://jjug.doorkeeper.jp/events/114832 https://www.youtube.com/watch?v=es0eOiP82R4
11/21(⽇) は JJUG CCC コミュニティ主催のJavaカンファレンス(年2回開催) https://ccc2021fall.java-users.jp/ 国内で開催されるJavaのカンファレンスでは最⼤規模で、 初⼼者向けのセッションも結構やってるよ