๋ฐ์ํ ์๋ฐ19 ์๋ฐ ๊ธฐ์ ๋ฉด์ ๋๋น ์์ ์ง๋ฌธ 1. ์๋ฐ์ ์ฅ๋จ์ ์๋ฐ์ ์ฅ์ ์ ๊ฐ์๋จธ์ ์ ์ฌ์ฉ์ผ๋ก ์ธํด ์ด์์ฑ์ด ๋์ ์ด๋ค ์ด์์ฒด์ ์๋ ์ข ์๋์ง ์๋ ๊ฒ์ ๋๋ค. ๋จ์ ์ ๋ฐ๋ก ์ปดํ์ผ์ด ๋๋ ๊ฒ์ด ์๋๋ผ jvm์ ๊ฑฐ์ณ์ผ ํ๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ๋ง์ด ๋ฆ๋ค๋ ๊ฒ์ ๋๋ค. ํ์ง๋ง ํ๋์จ์ด ๋ฐ๋ฌ๊ณผ jit ์ปดํ์ผ๋ฌ์ ๋ฑ์ฅ์ผ๋ก ์๋์ ๊ฒฉ์ฐจ๊ฐ ์ค์ด๋ค์์ต๋๋ค. 2. ๋ฆฌ์คํธ, ๋งต, ์ ์ ์ฐจ์ด ๋ฆฌ์คํธ์ ์ ์ ์ปฌ๋ ์ ์ ํฌํจ๋์ด ์๊ณ ๋งต์ ๋งต์ ํฌํจ๋์ด์์ต๋๋ค. ๋ฆฌ์คํธ๋ ์ค๋ณต ์ ์ฅ์ ํ์ฉํ๊ณ ์์๊ฐ ์์ต๋๋ค. ์ ์ ์ค๋ณต ์ ์ฅ์ ํ์ฉํ์ง ์๊ณ ์์๊ฐ ์์ต๋๋ค. ๋งต์ ํค๊ฐ์ ์ค๋ณต์ด ํ์ฉ๋์ง ์์ง๋ง ๋ฐธ๋ฅ๊ฐ์ ์ค๋ณต์ด ํ์ฉ๋ฉ๋๋ค. 3. ๋ฆฌ์คํธ, ๋งต, ์ ์ ์ฅ๋จ์ ๋ฆฌ์คํธ๋ ๊ฐ๋ณ์ ์ธ ๋ฐฐ์ด๋ก ๋น์ด์๋ ๋ฐ์ดํฐ๊ฐ ์์ต๋๋ค. ํ์ง๋ง ์ํ๋ ๋ฐ์ดํฐ๊ฐ ๋ค์ชฝ์ ์์นํ๋ ๊ฒฝ์ฐ, ์ํํด์ ์ฐพ๋ ๋ฐฉ์์ด๋ฏ๋ก ๋ค.. 2023. 4. 17. [์๋ฐ ๊ฐ๋ ์ ๋ฆฌ] JAVA STREAM ์คํธ๋ฆผ(STREAM)์ด๋? stream์ iterator์ ๋น์ทํ ์ญํ ์ ํ๋ ๋ฐ๋ณต์ - ๋๋ค์์ผ๋ก ์์ ์ฒ๋ฆฌ ์ฝ๋๋ฅผ ์ ๊ณต - ๋ด๋ถ ๋ฐ๋ณต์๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ๋ณ๋ ฌ ์ฒ๋ฆฌ๊ฐ ์ฝ๋ค - ์ค๊ฐ ์ฒ๋ฆฌ์ ์ต์ข ์ฒ๋ฆฌ ์์ ์ ์ํ ITERATOR์ STREAM์ ์ฐจ์ด์ - iterator๋ ์ปฌ๋ ์ ์ ์์๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ๋ถํฐ ์ฒ๋ฆฌํ๋ ๊ฒ๊น์ง ๊ฐ๋ฐ์๊ฐ ์์ฑํด์ผ ํจ - stream์ ๋๋ค์์ผ๋ก ์์ ์ฒ๋ฆฌ ๋ด์ฉ๋ง ์ ๋ฌ, ๋ฐ๋ณต์ ์ปฌ๋ ์ ๋ด๋ถ์์ ์ผ์ด๋๋ค. ์ฝ๋ ์ / ๋ฐฐ์ด /์ซ์ ๋ฒ์ / ํ์ผ / ๋๋ ํ ๋ฆฌ๋ก๋ถํฐ ์คํธ๋ฆผ ์ป๊ธฐ ์ฝ๋ ์ Stream stream = studentList.stream(); stream.forEach(s-> System.out.println(s.getName())); ๋ฐฐ์ด - ๋ฌธ์์ด๋ก ๊ตฌ์ฑ๋ ๋ฐฐ์ด์ผ ๊ฒฝ์ฐ, Stri.. 2023. 4. 11. [์ด๊ฒ์ด ์๋ฐ๋ค] chapter.12 ํ์ธ ๋ฌธ์ 1. ์ค๋ ๋์ ๋ํ ์ค๋ช ์ค ํ๋ฆฐ ๊ฒ์ ๋ฌด์์ ๋๊น? ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฉ์ธ(main) ์ค๋ ๋๊ฐ main()๋ฉ์๋๋ฅผ ์คํ์ํจ๋ค. ์์ ์ค๋ ๋ ํด๋์ค๋ Thread ํด๋์ค๋ฅผ ์์ํด์ ๋ง๋ค ์ ์๋ค. Runnable ๊ฐ์ฒด๋ ์ค๋ ๋๊ฐ ์คํํด์ผ ํ ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฒด๋ผ๊ณ ๋ณผ ์ ์๋ค. ์ค๋ ๋ ์คํ์ ์์ํ๋ ค๋ฉด run()๋ฉ์๋๋ฅผ ํธ์ถํด์ผ ํ๋ค. 2. ๋์์๊ณผ ์์ ์ ์ฌ์ํ๊ธฐ ์ํด ๋ ๊ฐ์ง ์ค๋ ๋๋ฅผ ์คํํ๋ ค๊ณ ํฉ๋๋ค. ๋น์ด ์๋ ๋ถ๋ถ์ ์ ๋นํ ์ฝ๋๋ฅผ ๋ฃ์ด๋ณด์ธ์. package org.chapter12; public class ThreadExample { public static void main(String[] args) { Thread thread1 = new MovieThread(); thread1.sta.. 2023. 3. 31. [TDD] @ParameterizedTest ์ฌ์ฉํ๊ธฐ @ParameterizedTest ํ ๊ฐ์ ๋ฉ์๋์ ๋ํด ์ฌ๋ฌ ๊ฐ์ ํ ์คํธ๋ฅผ ์ํํด์ผ ํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ ์ด๋ ธํ ์ด์ @Test ๋์ @ParameterizedTest ๋ก ์ ๋๋ค. arguments๋ฅผ ํ์ฉํด ํ ์คํธ๋ฅผ ์ฌ๋ฌ ๋ฒ ์ํํ ์ ์๋ค. ์ฌ์น ์ฐ์ฐ ๊ณ์ฐ๊ธฐ ํ ์คํธ ์ฝ๋ ์์ฑ ์์ 1. ์์กด์ฑ ์ถ๊ฐ testImplementation 'org.junit.jupiter:junit-jupiter-params:5.8.2' 2. ENUM ํด๋์ค ์์ฑ package org.example; import java.util.Arrays; public enum ArithmeticOperator { ADDITION("+") { @Override public int arithmeticCalculate(int operand1.. 2023. 3. 29. [TDD] ํ ์คํธ ์ฝ๋ ์์ฑ์ ํ์์ฑ๊ณผ ์์ฑ ๋ฐฉ๋ฒ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ์ด์ ? 1. ๋ฌธ์ํ ์ญํ 2. ์ฝ๋์ ๊ฒฐํจ์ ๋ฐ๊ฒฌํ๊ธฐ ์ํจ 3. ๋ฆฌํฉํ ๋ง ์ ์์ ์ฑ ํ๋ณด 4. ํ ์คํธ ํ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํ๋ค ๋ณด๋ฉด ๋ ๋ฎ์ ๊ฒฐํฉ๋๋ฅผ ๊ฐ์ง ์ค๊ณ๋ฅผ ์ป์ ์ ์์ TDD • Test Driven Development (ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ) • ํ๋ก๋์ ์ฝ๋๋ณด๋ค ํ ์คํธ ์ฝ๋๋ฅผ ๋จผ์ ์์ฑํ๋ ๊ฐ๋ฐ ๋ฐฉ๋ฒ • ๊ธฐ๋ฅ ๋์์ ๊ฒ์ฆ (๋ฉ์๋ ๋จ์) BDD • Behavior Driven Development (ํ์ ์ฃผ๋ ๊ฐ๋ฐ) • ํ์์ ๋ํ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฐ๋ฐ ๋ฐฉ๋ฒ • ์ ์ ์๋๋ฆฌ์ค ๋์์ ๊ฒ์ฆ (์๋๋ฆฌ์ค ๋จ์) • ํ๋์ ์๋๋ฆฌ์ค๋ Given, When, Then ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง 1. BDD์ ์ ์ ์ฑ ์ ๊ด๊ณ์์ ๊ด์ ์์ ๋ณด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์(๋์) ์ค ๊ฐ์น์๋ ๊ธฐ๋ฅ.. 2023. 3. 28. [INTELLIJ] WEB APP ๊ฐ๋ฐ ํ๊ฒฝ ์ค์ ํ๊ธฐ ์ค์นํด์ผ ํ ๋ชฉ๋ก JDK 8 ์ด์ (https://www.oracle.com/technetwork/java/javase/downloads/index.html) Maven (https://maven.apache.org/download.cgi) IntelliJ IDEA (https://www.jetbrains.com/idea) Tomcat Server (https://tomcat.apache.org/download-80.cgi) ๋๊ตฌ ๋ณ ์ค์น ์ด์ 1. MAVEN - ํ๋ก์ ํธ ๊ด๋ฆฌ๋ฅผ ์ํ Maven ๋๊ตฌ - apache software foundation์์ ๊ฐ๋ฐํ java ๊ธฐ๋ฐ ํ๋ก์ ํธ ๊ด๋ฆฌ - ํ๋ก์ ํธ์ ์ปดํ์ผ, ๋น๋, ์ํ ๋ฐ ํ ์คํธ - ์๋ฒ ์ธก deploy ์์๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ด๋ฆฌ 2. INTELLIJ.. 2023. 2. 22. ํด๋ฆฐ์ฝ๋ VS ๋ฆฌํฉํ ๋ง ์๋ ํ์ธ์. ์ค๋์ ํด๋ฆฐ์ฝ๋์ ๋ฆฌํฉํ ๋ง์ ๊ดํ ์ด์ผ๊ธฐ๋ฅผ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๊ตฌ๊ธ ๊ฒ์ ์ ๋ ๋จ์ด๊ฐ ํผ์ฉ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ด ๋ ๊ฐ๋ ์ด ์๋นํ ํท๊ฐ๋ ธ๋๋ฐ์. ํด๋ฆฐ์ฝ๋์ ๋ฆฌํฉํ ๋ง ๊ฐ๊ฐ์ ๊ฐ๋ ๊ณผ ๋ ๊ฐ๋ ์ฌ์ด์ ์ฐจ์ด์ ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ํด๋ฆฐ์ฝ๋ - ๊ฐ๋ ํด๋ฆฐ์ฝ๋๋, ๊ฐ๋ ์ฑ์ด ๋์ ์ฝ๋๋ฅผ ๋งํฉ๋๋ค. - ๊ฐ๋ ์ฑ์ ๋์ด๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํํด์ผ ํฉ๋๋ค. ๋ค์ด๋ฐ ๊ท์น์ ์ค์ํ๋ค. ์ค๋ฅ๊ฐ ์์ด์ผ ํ๋ค. ์ค๋ณต์ด ์์ด์ผ ํ๋ค. ์์กด์ฑ์ ์ต๋ํ ์ค์ธ๋ค. ํด๋์ค ํน์ ๋ฉ์๋๊ฐ ํ ๊ฐ์ง ์ผ๋ง ์ฒ๋ฆฌํ๋ค. ๋ฆฌํฉํ ๋ง - ๊ฐ๋ ํ๋ก๊ทธ๋จ์ ์ธ๋ถ ๋์์ ๊ทธ๋๋ก ๋ ์ฑ, ๋ด๋ถ์ ์ฝ๋๋ฅผ ์ ๋ฆฌํ๋ฉด์ ๊ฐ์ ํ๋ ๊ฒ์ ๋งํฉ๋๋ค. ์ฝ๋์ ๊ฐ๋ ์ฑ์ ๋์ด๊ณ , ํฅํ ์ด๋ฃจ์ด์ง ์ ์ง ๋ณด์์ ํฐ ๋์์ด ๋ฉ๋๋ค. - ๋ฆฌํฉํ ๋ง์ด ํ์ํ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต.. 2023. 1. 18. ์ธํ ๋ฆฌ์ ์ด ์ค์น ๋ฐ ์คํ ์ธํ ๋ฆฌ์ ์ด ์ค์น1. ์ธํ ๋ฆฌ์ ์ด ํํ์ด์ง ์ ์www.jetbrains.com2. ์๋จ ๋ค์ด๋ก๋ ํด๋ฆญ3. ๋ค์ด๋ก๋ ํด๋ฆญ ์ ์ค์น ํ์ผ ๋ค์ด๋ก๋ULTIMATE ๋ฒ์ : ๋ชจ๋ ๊ธฐ๋ฅ ์ ๊ณตCOMMUNITY EDITION : ์ ํ๋ ๊ธฐ๋ฅ ์ ๊ณต์ธํ ๋ฆฌ์ ์ด ๊ฐ๊ฒฉ๊ฐ์ธ์ฉ ์ฐ๊ฐ ์ฒญ๊ตฌ๊ฐ์ธ ์๊ฐ ์ฒญ๊ตฌ์ค์น ๊ณผ์ ์ธํ ๋ฆฌ์ ์ด ์คํ์คํ ํ๋ฉด์ข์ธก ๋ฉ๋ด๋ฐProjects : ์ ํ๋ก์ ํธ ์์ฑ / ํ๋ก์ ํธ ๋ถ๋ฌ์ค๊ธฐCustomize : ์ปฌ๋ฌ ํ ๋ง / ํฐํธ ํฌ๊ธฐ ์ค์ Plugins : ๋ง์ผํ๋ ์ด์ค / ํ์ฅํ๋ก๊ทธ๋จ ์ค์นLearn : ์ธํ ๋ฆฌ์ ์ด ์ฌ์ฉ๋ฒ ์ค๋ช 2023. 1. 4. [์ด๊ฒ์ด ์๋ฐ๋ค] chapter.1 ํ์ธ ๋ฌธ์ 1. JDK์ JRE์ ํ์ด์ ์ ์ค๋ช ํ ๊ฒ ์ค ํ๋ฆฐ ๊ฒ์ ๋ฌด์์ ๋๊น? JDK๋ JRE์ ์ปดํ์ผ๋ฌ ๋ฑ์ ๊ฐ๋ฐ ๋๊ตฌ๊ฐ ํฌํจ๋๋ค. ์๋ฐ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ ค๋ฉด JSK๊ฐ ๋ฐ๋์ ํ์ํ๋ค. ์๋ฐ ํ๋ก๊ทธ๋จ์ ์คํ๋ง ํ๋ ค๋ฉด JRE๋ฅผ ์ค์นํด๋ ์๊ด์๋ค. JRE์๋ ์ปดํ์ผ๋ฌ(javac.exe)๊ฐ ํฌํจ๋์ด ์๋ค. 2. JVM์ ๋ํ ์ค๋ช ์ผ๋ก ํ๋ฆฐ ๊ฒ์ ๋ฌด์์ ๋๊น? JVM์ java.exe ๋ช ๋ น์ด์ ์ํด ๊ตฌ๋๋๋ค. JVM์ ๋ฐ์ดํธ ์ฝ๋๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ณํ์ํค๊ณ ์คํํ๋ค. JVM์ ์ด์์ฒด์ ์ ๋ ๋ฆฝ์ ์ด๋ค. (์ด์์ฒด์ ๋ณ๋ก ๋์ผํ JVM์ด ์ ์ฉ๋๋ค.) ๋ฐ์ดํธ ์ฝ๋๋ JVM์ ๋ ๋ฆฝ์ ์ด์ง๋ง, JVM์ ์ด์์ฒด์ ์ ์ข ์์ ์ด๋ค. 3. ์๋ฐ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ๊ณผ์ ์ ์์๋๋ก ๋์ดํ์์ค. javac.exe๋ก ๋ฐ์ดํธ ์ฝ๋ ํ์ผ(~.class)๋ฅผ ์์ฑํ๋ค.. 2023. 1. 3. ์ด์ 1 2 ๋ค์ ๋ฐ์ํ