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
43
ビルドツールの話(202110社内勉強会)
月一で実施している社内勉強会の資料です(2021.10)
shimadamiyuki
October 21, 2021
Tweet
Share
More Decks by shimadamiyuki
See All by shimadamiyuki
STORES決済の裏側のはなし(Code Polaris 色んなエンジニアLT大会)
mii1004
0
170
オブジェクト指向がわからない(202201社内勉強会)
mii1004
0
64
たのしい情報収集(202112社内勉強会)
mii1004
0
39
リファクタリング?(202111社内勉強会)
mii1004
0
36
OpenAPI Generator使ってみる(Java女子部ハロウィンLT)
mii1004
0
42
Hello Spring(202109社内勉強会)
mii1004
0
49
StreamAPI, Lambdaと仲良くなる(202108社内勉強会)
mii1004
0
51
Javaはじめのいっぽ(202107社内勉強会)
mii1004
0
43
ドラゴンクエストXを支える技術(201902社内LT)
mii1004
0
25
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
A designer walks into a library…
pauljervisheath
201
23k
Six Lessons from altMBA
skipperchong
22
3k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
How to train your dragon (web standard)
notwaldorf
74
5.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
Debugging Ruby Performance
tmm1
70
11k
In The Pink: A Labor of Love
frogandcode
138
21k
The Language of Interfaces
destraynor
151
23k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
33
6k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
123
39k
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のカンファレンスでは最⼤規模で、 初⼼者向けのセッションも結構やってるよ