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
140
ビルドツールの話(202110社内勉強会)
月一で実施している社内勉強会の資料です(2021.10)
shimadamiyuki
October 21, 2021
Tweet
Share
More Decks by shimadamiyuki
See All by shimadamiyuki
20240912 JJUGナイトセミナー
mii1004
0
260
STORES決済の裏側のはなし(Code Polaris 色んなエンジニアLT大会)
mii1004
0
300
オブジェクト指向がわからない(202201社内勉強会)
mii1004
0
180
たのしい情報収集(202112社内勉強会)
mii1004
0
120
リファクタリング?(202111社内勉強会)
mii1004
0
110
OpenAPI Generator使ってみる(Java女子部ハロウィンLT)
mii1004
0
91
Hello Spring(202109社内勉強会)
mii1004
0
120
StreamAPI, Lambdaと仲良くなる(202108社内勉強会)
mii1004
0
140
Javaはじめのいっぽ(202107社内勉強会)
mii1004
0
150
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.6k
My Coaching Mixtape
mlcsv
0
21
Marketing to machines
jonoalderson
1
4.5k
Code Reviewing Like a Champion
maltzj
527
40k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
47
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
140
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Exploring anti-patterns in Rails
aemeredith
2
220
Designing Powerful Visuals for Engaging Learning
tmiket
0
200
Testing 201, or: Great Expectations
jmmastey
46
7.9k
GitHub's CSS Performance
jonrohan
1032
470k
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のカンファレンスでは最⼤規模で、 初⼼者向けのセッションも結構やってるよ