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
97
たのしい情報収集(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
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Unsuck your backbone
ammeep
669
57k
GraphQLとの向き合い方2022年版
quramy
44
13k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
RailsConf 2023
tenderlove
29
940
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
The Cost Of JavaScript in 2023
addyosmani
45
7k
What's in a price? How to price your products and services
michaelherold
243
12k
Optimizing for Happiness
mojombo
376
70k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
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のカンファレンスでは最⼤規模で、 初⼼者向けのセッションも結構やってるよ