์ธํ๋ฐ/์คํ๋ง ๋ถํธ - ํต์ฌ ์๋ฆฌ์ ํ์ฉ(32)
-
์คํ๋ง ์ธ๋ถ ์ค์ ๋ฐฉ๋ฒ (์ปค๋งจ๋ ๋ผ์ธ ์ธ์, ์ปค๋งจ๋ ๋ผ์ธ ์ต์ ์ธ์, ์คํ๋ง ํตํฉ)
์คํ๋ง ์ธ๋ถ ์ค์ ๋ฐฉ๋ฒ (OS ํ๊ฒฝ ๋ณ์, ์๋ฐ ์์คํ ์์ฑ) (tistory.com) ์คํ๋ง ์ธ๋ถ ์ค์ ๋ฐฉ๋ฒ (OS ํ๊ฒฝ ๋ณ์, ์๋ฐ ์์คํ ์์ฑ) 0๏ธโฃ ์ธ๋ถ ์ค์ ์ด๋ ? ๋ณดํต ์ค๋ฌด์์ ๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด ๋๋ถ๋ถ ํ์ฌ์์ ์ด์ ์๋ฒ์ ๊ฐ๋ฐ ์๋ฒ๋ฅผ ๋๋ ์ ๊ฐ๋ฐ์ ์งํํ๋ค. ๋จผ์ ๊ฐ๋ฐ ์๋ฒ์์ ๊ฐ๋ฐํ๊ณ , ํ ์คํธ๋ฅผ ์งํ ํ ์ ์์ ์ผ๋ก ๋์ํ hyejin.tistory.com ์ ๋ฒ ๊ธ์์๋ ์คํ๋ง ์ธ๋ถ ์ค์ ํ๋ ๋ฐฉ๋ฒ ์ค OS ํ๊ฒฝ ๋ณ์, ์๋ฐ ์์คํ ์์ฑ์ ์ฌ์ฉํด์ ์ฝ์ด์ค๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ดค๋ค. ์ด๋ฒ์๋ ๋๋จธ์ง ์ธ๋ถ ์ค์ ๋ฐฉ๋ฒ์ ๋ํด์ ์์ฑํ ์์ ์ด๋ค. 1๏ธโฃ ์ธ๋ถ ์ค์ ๋ฐฉ๋ฒ : ์ปค๋งจ๋ ๋ผ์ธ ์ธ์ ์ปค๋งจ๋ ๋ผ์ธ ์ธ์ (Command line arguments)๋ ์ ํ๋ฆฌ์ผ์ด์ ์คํ ์์ ์ ์ธ๋ถ ์ค์ ๊ฐ์ main..
2023.05.08 -
์คํ๋ง ์ธ๋ถ ์ค์ ๋ฐฉ๋ฒ (OS ํ๊ฒฝ ๋ณ์, ์๋ฐ ์์คํ ์์ฑ)
0๏ธโฃ ์ธ๋ถ ์ค์ ์ด๋ ? ๋ณดํต ์ค๋ฌด์์ ๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด ๋๋ถ๋ถ ํ์ฌ์์ ์ด์ ์๋ฒ์ ๊ฐ๋ฐ ์๋ฒ๋ฅผ ๋๋ ์ ๊ฐ๋ฐ์ ์งํํ๋ค. ๋จผ์ ๊ฐ๋ฐ ์๋ฒ์์ ๊ฐ๋ฐํ๊ณ , ํ ์คํธ๋ฅผ ์งํ ํ ์ ์์ ์ผ๋ก ๋์ํ๋ค๋ ๊ฒ์ ํ์ธํ ํ์ ์ค์ ๊ณ ๊ฐ์๊ฒ ์๋น์ค ํ๋ ์ด์ ํ๊ฒฝ์ ๋ฐฐํฌ๋ฅผ ํ๋ ๋ฐฉ์์ผ๋ก ์งํํ๋ค. ๊ฐ๋ฐ ํ๊ฒฝ : ๊ฐ๋ฐ ์๋ฒ, ๊ฐ๋ฐ DB ์ด์ ํ๊ฒฝ: ์ด์ ์๋ฒ, ์ด์ DB ์ด๋ฐ์์ผ๋ก DB๋ ๋ค๋ฅธ ๊ฐ๊ฐ ๋ค๋ฅธ ๊ฒ์ ์ฌ์ฉํด์ ์งํํด์ฃผ๋๋ฐ ๊ทธ๋ฌ๋ฉด ๊ฐ๊ฐ ํ๊ฒฝ์ ๋ฐ๋ผ์ DB URL , username ๋ฑ๋ฑ์ ์ค์ ์ด ์กฐ๊ธ์ฉ ๋ค๋ฅด๊ฒ ๋๋ค. ํ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฅธ ์ค์ ๊ฐ์ ์ฌ์ฉํ๊ธฐ ์ํด์ ๋น๋ ํ ๊ฐ ํ๊ฒฝ์ ๋ง์ถฐ ์คํ ์์ ์ ์ธ๋ถ ์ค์ ๊ฐ์ ์ฃผ์ ํด์ฃผ๋ฉด ๋๋ค. ๋ฐฐํฌ ํ๊ฒฝ๊ณผ๋ ์๊ด์์ด ๋น๋๋ ํ๋ฒ๋ง ์งํํ๊ณ , ๊ทธ ๋ค์ ์คํ ์์ ์ ํ๊ฒฝ์ ๋ฐ๋ผ ์ค์ ๊ฐ..
2023.05.04 -
์คํ๋ง ๋ถํธ - ์๋ ๊ตฌ์ฑ ๋์ ์๋ฆฌ
์๋ ๊ตฌ์ฑ Auto Configuration ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง๋ค๊ณ ์ฌ์ฉํด๋ณด๊ธฐ (tistory.com) ์๋ ๊ตฌ์ฑ Auto Configuration ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง๋ค๊ณ ์ฌ์ฉํด๋ณด๊ธฐ ์๋ ๊ตฌ์ฑ ์ฌ์ฉ ์ ์คํ๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง๋ค๊ณ ์ฌ์ฉํด๋ณด๊ธฐ (tistory.com) ์๋ ๊ตฌ์ฑ ์ฌ์ฉ ์ ์คํ๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง๋ค๊ณ ์ฌ์ฉํด๋ณด๊ธฐ ์คํ๋ง @Conditional (tistory.com) ์คํ๋ง @Conditional 0๏ธโฃ ์์ ํ๋ก์ ํธ hyejin.tistory.com ์ ๋ฒ ๊ธ์์ ์๋ ๊ตฌ์ฑ @AutoConfiguration์ ์ฌ์ฉํด์ ๊ฐ๋จํ ๋ฉ๋ชจ๋ฆฌ ์กฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ์ง์ ์ฌ์ฉํด๋ดค๋ค. ์ด๋, ์๋ ๊ตฌ์ฑ์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ resources/META-INF/spring ํด๋์ org.springframework.boot.a..
2023.05.02 -
์๋ ๊ตฌ์ฑ Auto Configuration ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง๋ค๊ณ ์ฌ์ฉํด๋ณด๊ธฐ
์๋ ๊ตฌ์ฑ ์ฌ์ฉ ์ ์คํ๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง๋ค๊ณ ์ฌ์ฉํด๋ณด๊ธฐ (tistory.com) ์๋ ๊ตฌ์ฑ ์ฌ์ฉ ์ ์คํ๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง๋ค๊ณ ์ฌ์ฉํด๋ณด๊ธฐ ์คํ๋ง @Conditional (tistory.com) ์คํ๋ง @Conditional 0๏ธโฃ ์์ ํ๋ก์ ํธ ๋ง๋ค๊ธฐ ์คํ๋ง ๋ถํธ๊ฐ ์ ๊ณตํ๋ ์๋ ๊ตฌ์ฑ์ ๋ํด์ ์์๋ณด๊ธฐ ์ ์ ๊ฐ๋จํ ์์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๊ฒ์ธ๋ฐ ์ด ์์ ํ๋ก์ ํธ๋ hyejin.tistory.com ์ ๋ฒ ๊ธ์์๋ ์คํ๋ง ๋ถํธ๊ฐ ์ ๊ณตํ๋ ์๋ ๊ตฌ์ฑ Auto Configuration ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ ์ ์ง์ ์คํ๋ง ๋น์ผ๋ก ๋ฑ๋กํด์ ์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ค์ด๋ดค๋ค. ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋ ํ์ํ ๋น๋ค์ด ๋ญ์ง ์์์ผ ํ๊ณ , ์ด๋ฅผ ํ๋ํ๋ ๋น์ผ๋ก ๋ฑ๋กํด์ค์ผ ํ๋ค๋ ๋จ์ ์ด ์์ด๋๋ฐ ์คํ๋ง ๋ถํธ์์๋ ์๋ ๊ตฌ์ฑ ๊ธฐ..
2023.04.28 -
์๋ ๊ตฌ์ฑ ์ฌ์ฉ ์ ์คํ๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ง๋ค๊ณ ์ฌ์ฉํด๋ณด๊ธฐ
์คํ๋ง @Conditional (tistory.com) ์คํ๋ง @Conditional 0๏ธโฃ ์์ ํ๋ก์ ํธ ๋ง๋ค๊ธฐ ์คํ๋ง ๋ถํธ๊ฐ ์ ๊ณตํ๋ ์๋ ๊ตฌ์ฑ์ ๋ํด์ ์์๋ณด๊ธฐ ์ ์ ๊ฐ๋จํ ์์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๊ฒ์ธ๋ฐ ์ด ์์ ํ๋ก์ ํธ๋ ์ค์๊ฐ์ผ๋ก ์๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์น์ผ๋ก ํ hyejin.tistory.com ์ ๋ฒ ๊ธ์์ ๋ง๋ ์ค์๊ฐ memory ์กฐํ ํ๋ ํ๋ก์ ํธ๋ฅผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋ง๋ค์ด์ ๋ค๋ฅธ ํ๋ก์ ํธ๋ค์์๋ ์ฌ์ฉํ๊ณ ์ถ์ ๋ ๋จผ์ ์คํ๋ง ๋ถํธ๊ฐ ์ ๊ณตํ๋ ์๋ ๊ตฌ์ฑ AutoConfiguration์ ์ฌ์ฉํ์ง ์๊ณ ์์ํ๊ฒ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ค์ด ๋ณผ ๊ฒ์ด๋ค. ๐ ์ฐธ๊ณ ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ค ๋๋ ์คํ๋ง ๋ถํธ ํ๋ฌ๊ทธ์ธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ง ์๋๋ค. (๋ค๋ฅธ ํ๋ก์ ํธ์์ ํฌํจ๋์ด ์ฌ์ฉ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ง์ ์คํ๋ ์ผ์ด ์์) 0..
2023.04.28 -
์คํ๋ง @Conditional
0๏ธโฃ ์์ ํ๋ก์ ํธ ๋ง๋ค๊ธฐ ์คํ๋ง ๋ถํธ๊ฐ ์ ๊ณตํ๋ ์๋ ๊ตฌ์ฑ์ ๋ํด์ ์์๋ณด๊ธฐ ์ ์ ๊ฐ๋จํ ์์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๊ฒ์ธ๋ฐ ์ด ์์ ํ๋ก์ ํธ๋ ์ค์๊ฐ์ผ๋ก ์๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์น์ผ๋ก ํ์ธํ๋ ์์ ์ด๋ค. Memory public class Memory { private long used; private long max; public Memory(long used, long max) { this.used = used; this.max = max; } public long getUsed() { return used; } public long getMax() { return max; } @Override public String toString() { return "Memory{" + "used=" + used ..
2023.04.27 -
์คํ๋ง ๋ถํธ Auto Configuration
0๏ธโฃ ์์ ํ๋ก์ ํธ ์์ฑ dependencies { implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //ํ ์คํธ์์ lombok ์ฌ์ฉ testCompileOnly 'org.project..
2023.04.25 -
์คํ๋ง ๋ถํธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ์ ์คํ๋ง ๋ถํธ ์คํํฐ
์์ฆ์ ์คํ๋ง์ ์ฌ์ฉํ๋คํ๋ฉด ์คํ๋ง ๋ถํธ๋ ๊ฑฐ์ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ๋ค ๋ณด๋๊น.. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ๊ฐ ์ด๋ ค์ด ๊ฑฐ์๋์ง๋ ๋ชฐ๋๋๋ฐ ์ฌ์ค ์คํ๋ง ๋ถํธ๊ฐ ์์ ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ๊ฐ ์ด๋ ค์ ๋ค. ํ๋ก์ ํธ๋ฅผ ์ฒ์ ์์ํ๋ค๊ณ ํ๋ฉด ์ด์ ์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ง ํ๋ํ๋ ๊ณ ๋ฏผํ๊ณ ์ ํํด์ผ ํ๋๋ฐ ์ฌ๊ธฐ์ ์ด์ ๋ํด์ ์ด ๊ฐ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฒ์ ๊น์ง ๊ณ ๋ฏผํด์ผ ํ๋ค. ๊ทผ๋ฐ ์ฌ๊ธฐ์ ๊ฐ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ๋ง ๊ณ ๋ฏผํ๋๊ฒ ์๋๋ผ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค๋ผ๋ฆฌ ํธํ์ด ์ ๋๋ ๋ฒ์ ์ด ์๊ณ ์๋๋ ๋ฒ์ ์ด ์์ด์ ์ด๊ฒ๊น์ง ๊ณ ๋ฏผํด์ผ ํ๋ค... ๊ทธ๋๊น ํ๋ก์ ํธ ์ค์ ํ๋๋ฐ์ ๊ฝค๋ ๋ง์ ์๊ฐ์ด ๋ค์ด๊ฐ๋ค.. . ์ด๋ฌํ ๋ฌธ์ ๋ค์ ์คํ๋ง ๋ถํธ๊ฐ ํด๊ฒฐํด์ฃผ๋๋ฐ ์คํ๋ง ๋ถํธ๋ ๊ฐ๋ฐ์๋ค์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ๊ด๋ฆฌ ์คํ๋ง ๋ถํธ..
2023.04.24 -
์คํ๋ง ๋ถํธ์ ์น ์๋ฒ ์คํ ๋ฐ ๋น๋ ๋ฐฐํฌ
0๏ธโฃ ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ ์์ฑ https://start.spring.io/ ์ด ์ฌ์ดํธ๋ก ๋ค์ด๊ฐ์ ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ์ ์๋ค. ๋ฒ์ ์ 3.0.x ๋ฒ์ ๋๋ฅผ ์ ํํ๋ฉด ๋๊ณ , 3 ๋ฒ์ ์ ์ฌ์ฉํ๋ ค๋ฉด ์๋ฐ 17์ด์์ ์ฌ์ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์๋ฐ 17์ธ์ง๋ ๊ผญ ํ์ธํด์ผ ํ๋ค!! ๊ทธ๋ฆฌ๊ณ Dependencies ์์ spring web ์ ์ ํํด์ฃผ๊ณ ํ๋ก์ ํธ ์์ฑํ๋ฉด ๋๋ค! dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' } build.gradle์์ ๋ณด๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ์ด ์๋ ๊ฒ์ ..
2023.04.21 -
์คํ๋ง ๋ถํธ 3.xx ๋น๋ ์ค๋ฅ (Could not resolve org.springframework.boot:spring-boot-dependencies:3.0.5.)
์คํ๋ง ๋ถํธ ํต์ฌ ์๋ฆฌ ์ ํ์ฉ ๊ฐ์๋ฅผ ๋ฃ๋ค๊ฐ ์ด์ ์คํ๋ง๋ถํธ 3์ ๋๋ฅผ ์ฌ์ฉํด์ ์์ ์ ์งํํ๊ธฐ ๋๋ฌธ์ ์๋ฐ 17๋ ์ด๋ฐ์ ์ค์นํ์๋ค.. (์คํ๋ง๋ถํธ 3๋ถํฐ๋ ์๋ฐ 17์ด์์ด์ด์ผ ํ๋ค.) ๊ทธ๋ฆฌ๊ณ ์ด์ ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ๋ฅผ ์์ฑํด์ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๋๋ฐ ... Execution failed for task ':dependencies'. > Could not resolve all dependencies for configuration ':detachedConfiguration1'. > Could not resolve org.springframework.boot:spring-boot-dependencies:3.0.5. Required by: project : > Could not resolve org.spr..
2023.04.20 -
๋ถํธ ํด๋์ค ๋ง๋๋ ๋ฒ
๋ถํธ ํด๋์ค๋ฅผ ๋ง๋ ๋ค๋ ๊ฒ์ ์ฆ, ์ง๊ธ๊น์ง ์งํํ๋ ๋ด์ฅ ํฐ์บฃ ์คํ, ์คํ๋ง ์ปจํ ์ด๋ ์์ฑ, ๋์คํจ์ฒ ์๋ธ๋ฆฟ ๋ฑ๋ก์ ๋ชจ๋ ๊ณผ์ ์ ํธ๋ฆฌํ๊ฒ ์ฒ๋ฆฌํด์ฃผ๋ ํด๋์ค๋ฅผ ๋ง๋ ๋ค๋ ๊ฒ์ด๋ค. (๋ถํธ ๋ง๊ทธ๋๋ก ์์์ ํธ๋ฆฌํ๊ฒ ์ฒ๋ฆฌํด์ฃผ๋ ๊ฒ์ด๋ค.) MySpringApplication public class MySpringApplication { public static void run(Class configClass, String[] args) { System.out.println("MySpringApplication.run args = " + List.of(args)); // ํฐ์บฃ ์ค์ Tomcat tomcat = new Tomcat(); Connector connector = new Connector(); connect..
2023.04.18 -
๋ด์ฅ ํฐ์บฃ ๋น๋, ๋ฐฐํฌ (Fat Jar)
WAR ๋ฐฐํฌ ๋ฐฉ์ ๋จ์ ๊ณผ ๋ด์ฅ ํฐ์บฃ (tistory.com) WAR ๋ฐฐํฌ ๋ฐฉ์ ๋จ์ ๊ณผ ๋ด์ฅ ํฐ์บฃ 0๏ธโฃ WAR ๋ฐฐํฌ ๋ฐฉ์์ ๋จ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌํ๋ ค๋ฉด ์ฐ์ ํฐ์บฃ ๊ฐ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ๋ณ๋๋ก ์ค์นํ ๋ค์, ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ WAR๋ก ๋น๋ํ ๋ค์ ๋ค์ ์ด ๋น๋ํ WAR ํ hyejin.tistory.com ์ ๋ฒ ๊ธ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ด์ฅ ํฐ์บฃ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ํฌํจํ๋ค. ํฐ์บฃ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ํฌํจํ๊ณ ์๋ฐ ์ฝ๋๋ก ์ด์ ์ง์ ์คํํ๋ ๊ฒ์ธ๋ฐ ์๋ฐ์ main ๋ฉ์๋๋ฅผ ์คํํ๊ธฐ ์ํด์๋ jar ํ์์ผ๋ก ๋น๋ํด์ผ ํ๋ค. ์๋๋ ์ง์ META-INF/MANIFEST.MF ํ์ผ์ Manifest-Version: 1.0 Main-Class: hello.embed.EmbedTomcatSpringMain..
2023.04.18