0705 - 0808
# 0705 - 0808
# 0706 - SpringBoot properties์ yaml
# YAML (YML Ain't Markup Language)
XML, C, ํ์ด์ฌ, ํ, RFC2822์์ ์ ์๋ e-mail ์์์์ ๊ฐ๋ ์ ์ป์ด ๋ง๋ค์ด์ง '์ฌ๋์ด ์ฝ๊ฒ ์ฝ์ ์ ์๋' ๋ฐ์ดํฐ ์ง๋ ฌํ ์์.
YAML์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌ์คํธ, ํด์ฌ, ์ค์นผ๋ผ ๋ฐ์ดํฐ ์กฐํฉ์ผ๋ก ์ ์ ํ ํํํ ์ ์๋ค๋ ๋ฏฟ์์ ๊ฐ์ง๊ณ ๋ง๋ค์ด์ก๋ค. ๋ฌธ๋ฒ์ ์๋์ ์ผ๋ก ์ดํดํ๊ธฐ ์ฝ๊ณ , ๊ฐ๋ ์ฑ์ด ์ข๋๋ก ๋์์ธ๋์์ผ๋ฉฐ, ๊ณ ๊ธ ์ปดํจํฐ ์ธ์ด์ ์ ํฉํ๋ค. ๋ํ ๋ค์ฌ์ฐ๊ธฐ ๋ฐ XML์ ํน์๊ธฐํธ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์, XML๊ณผ ๊ฑฐ์ ๋น์ท ํ๋ค.
JSON์ yaml์ ์ผ์ข ์ด๋ค.
# ์ฌ์ฉ๋ฐฉ๋ฒ ๋ฐ Properties์ ๋น๊ต์ ์ด์
์ฅ์
- ๊ฐ๋
์ฑ์ด ์ข๋ค.
- ๊ณ์ธต ๊ตฌ์กฐ๋ก ํํํ์ฌ ๊ฐ๋ ์ฑ์ด ์ข๋ค. ๋ํ ๋ถํ์ํ ์์ค์ ์ค๋ณต๋ ์ ๊ฑฐ ํ ์ ์๋ค.
- ๋ค์ฌ์ฐ๊ธฐ, ๋์ด์ฐ๊ธฐ๋ก ๊ตฌ๋ถํ์ฌ ๋ณด๊ธฐ ํธํ๋ค.
- ๋ฆฌ์คํธ ํํ
- ์ฌ๋ฌ ์ค์ ์ธ ๋์๋ ํ์ดํ(-)์ผ๋ก ์์ํ๋ ํ ์ค์ ํ๋์ ์์๋ฅผ ํํํ๋ค.
- ํ ์ค์ ๋ชจ์ ์ธ ๋์๋ ๋๊ดํธ([])๋ฅผ ์ด์ฉํ์ฌ ์ผํ๋ก ๊ฐ ์์๋ฅผ ๊ตฌ๋ถํ๋ค.
- ์ฃผ์
- ์ฃผ์์ #์ผ๋ก ํ์ํ๋ฉฐ, ํ ์ค์ด ๋๋ ๋๊น์ง ์ ํจํ๋ค.
- SpringBoot Profile ์ ์ฉ์ด ์ฉ์ดํ๋ค. (with "---" ๊ตฌ๋ถ์)
- ํํ์ผ ๋ด์์ ์ฌ๋ฌ ํ์ผ์ ์ฌ์ฉํ๋ ๊ฒ์ฒ๋ผ ๋ถ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค.
- application.yml ํ์ผ ํ๋๋ก ์ฌ๋ฌ๊ฐ์ yml์ ์์ฑ ํ๊ฒ๊ณผ ๊ฐ์ด ์ฒ๋ฆฌ ๊ฐ๋ฅ
- ๊ฐ๋
์ฑ์ด ์ข๋ค.
๋จ์
- @PropertySource ์ด๋ ธํ ์ด์ ์ผ๋ก ํ๋กํผํฐ ๊ฐ์ ๋ถ๋ฌ ์ฌ ์ ์๋ค.
# 0707 - docker ์ข ๋ฃ
# ์คํ์ค์ธ ๋์ปค ์ปจํ ์ด๋ ์ ๋ณด ํ์ธ
docker ps
# ์คํ์ค์ธ ๋์ปค ์ปจํ ์ด๋ ์ค spring-boot-cpu-bound ์ ํ๋ฆฌ์ผ์ด์ ์ด ํฌํจ๋ ์ค ์ฐพ๊ธฐ
docker ps | grep spring-boot-cpu-bound
# ๋์ปค ์ปจํ ์ด๋ ์ข ๋ฃ์ํค๊ธฐ
docker container kill -s 15 {์ปจํ
์ด๋ id}
# 0722 - jar, war ์ฐจ์ด์ ๋ฐ ํน์ง
JAR(Java Archive) WAR(Web Application Archive) ๋ชจ๋ JAVAdml jar ํด์ ์ด์ฉํ์ฌ ์์ฑ๋ ์์ถ(์์นด์ด๋ธ) ํ์ผ์ด๋ฉฐ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ๋ฐฐํฌํ๊ณ ๋์์ํฌ ์ ์๋๋ก ๊ด๋ จ ํ์ผ(๋ฆฌ์์ค, ์์ฑํ์ผ ๋ฑ)๋ค์ ํจํค์ง
# JAR
.jar ํ์ฅ์ ํ์ผ์๋ Class์ ๊ฐ์ Java ๋ฆฌ์์ค์ ์์ฑ ํ์ผ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ์ก์ธ์๋ฆฌ ํ์ผ์ด ํฌํจ๋์ด ์๋ค.
์ฝ๊ฒ JAVA ์ดํ๋ฆฌ์ผ์ด์
์ด ๋์ํ ์ ์๋๋ก ์๋ฐ ํ๋ก์ ํธ๋ฅผ ์์ถํ ํ์ผ. ์ค์ ๋ก JAR ํ์ผ์ ํ๋ซํผ์ ๊ท์๋๋ ์ ๋ง ์ ์ธํ๋ฉด WIN ZIPํ์ผ๊ณผ ๋์ผํ ๊ตฌ์กฐ.
JAR ํ์ผ์ ์ํ๋ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ์ด ๊ฐ๋ฅํ๋ฉฐ JDK(Java Development Kit)์ ํฌํจํ๊ณ ์๋ JRE(Java Runtime Environment)๋ง ๊ฐ์ง๊ณ ๋ ์คํ์ด ๊ฐ๋ฅ.
# WAR
.war ํ์ฅ์ ํ์ผ์ servlet/jsp ์ปจํ
์ด๋์ ๋ฐฐ์น ํ ์ ์๋ ์น ์ดํ๋ฆฌ์ผ์ด์
(Web Application) ์์ถ ํ์ผ ํฌ๋งท. JSP, SERVLET, JAR, CLASS, XML, HTML, JAVASCRIPT ๋ฑ Servlet Context ๊ด๋ จ ํ์ผ๋ค๋ก ํจํค์ง ๋์ด์๋ค. WAR๋ ์น ์์ฉ ํ๋ก๊ทธ๋จ์ ์ํ ํฌ๋งท์ด๊ธฐ ๋๋ฌธ์ ์น ๊ด๋ จ ์์๋ง ํฌํจํ๊ณ ์์ผ๋ฉฐ ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์น ์ดํ๋ฆฌ์ผ์ด์
์ ์ฝ๊ฒ ๋ฐฐํฌํ๊ณ ํ
์คํธ ํ ์ ์๋ค.
์ํ๋ ๊ตฌ์ฑ์ ํ ์ ์๋ JAR ํฌ๋งท๊ณผ ๋ฌ๋ฆฌ WAR์ WEB-INF ๋ฐ META-INF ๋๋ ํ ๋ฆฌ๋ก ์ฌ์ ์ ์ ๋ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ฉฐ WARํ์ผ์ ์คํํ๋ ค๋ฉด Tomcat, Weblogic, Websphere ๋ฑ์ ์น ์๋ฒ (WEB)๋๋ ์น ์ปจํ
์ด๋(WAS)๊ฐ ํ์ํ๋ค.
WAR ํ์ผ๋ JAVA์ JAR ์ต์
(java -jar)์ ์ด์ฉํด ์์ฑํ๋ JARํ์ผ์ ์ผ์ข
์ผ๋ก ์น์ดํ๋ฆฌ์ผ์ด์
์ ์ฒด๋ฅผ ํจํค์งํ๊ธฐ ์ํ JARํ์ผ.
# 0808 - Maven์ groupId, artifactId, version
# groupId
groupId๋ ๋ชจ๋ ํ๋ก์ ํธ ์ฌ์ด์์ ๊ณ ์ ํ๊ฒ ์๋ณ๋๋ ID
๋ค์๊ณผ ๊ฐ์ ๋ค์ด๋ฐ ์คํค๋ง ์ ์ฉ
- package ๋ช ๋ช ๊ท์น์ ๋ฐ๋ฅด๋๋ก ํ๋ค.
- ์ต์ํ ๋น์ ์ด ์ปจํธ๋กค ํ๋ ๋๋ฉ์ธ ๋ค์์ด์ด์ผ ํ๋ค.
- ํ์ ๊ทธ๋ฃน์ ์ผ๋ง๋ ์ง ์ถ๊ฐํ ์ ์๋ค.
- ์)
org.apache.maven
,org.apache.commons
ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ฉด ์ ๊ตฌ๋ถ๋๋ groupId๋ฅผ ๋ง๋ค ์ ์๋ค.
- ํ์ฌ ํ๋ก์ ใ ์ผ๊ฐ ๋ค์ค ๋ชจ๋ ํ๋ก์ ํธ๋ผ๋ฉด, ๋ถ๋ชจ groupId์ ํ์ฌ ํ๋ก์ ํธ์ ์๋ณ์๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ์.
- ์)
org.apache.maven
,org.apache.maven.plugins
,org.apache.maven.reporting
# artifactId
- artifactId๋ ๋ฒ์ ์ ๋ณด๋ฅผ ์๋ตํ jar ํ์ผ์ ์ด๋ฆ์ด๋ค.
- ์ด๋ฅธ์ ์ํ๋ ๊ฒ์ผ๋ก ์๋ฌด๊ฑฐ๋ ์ ํด๋ ๊ด์ฐฎ๋ค.
- ๋จ, ์๋ฌธ์๋ก๋ง ์์ฑํ๋๋ก ํ๋ค.
- ๋จ, ํน์๋ฌธ์๋ ์ฌ์ฉํ์ง ์๋๋ค.
- ๋ง์ฝ ์จ๋ ํํฐ jar ํ์ผ์ด๋ผ๋ฉด, ํ ๋น๋ ์ด๋ฆ์ ์ฌ์ฉํด์ผ ํ๋ค.
- ์)
maven
,commons-math
- ์)
# version
- ์ซ์์ ์ ์ผ๋ก ์ด๋ฃจ์ด์ง ์ผ๋ฐ์ ์ธ ๋ฒ์ ํํ๋ฅผ ์ฌ์ฉํ๋ค.(1.0. 1.1, 1.0.1)
- SNAPSHOT(nightly) ๋น๋ ๋ ์ง๋ฅผ ๋ฒ์ ์ผ๋ก ์ฌ์ฉํ์ง ์๋๋ก ํ๋ค.
- ์จ๋ ํํฐ ์ํฐํฉํธ๋ผ๋ฉด, ๋ฒ์ ๋๋ฒ๋ฅผ ์ด์ด๋ฐ์ ์ฌ์ฉํ๋๋ก ํ๋ค.