๐ Java & Kotlin & Spring/- Java & kotlin14 [Java] Bouncy Castle ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ํ์ผ ์ํธํ, ๋ณตํธํ ํ๊ธฐ (feat.๋ธ๋ก ์ํธ์ SEED ์๊ณ ๋ฆฌ์ฆ) ์ต๊ทผ BoB ๋ฉด์ ์ ์ค๋นํ๋ฉด์ ์ง๋ ํ๋ก์ ํธ๋ค์ ๋๋์๋ณด๊ณ ์์๋ค. ๋ด ์ง๋ ํ๋ก์ ํธ ์ค์ ํ๊ณผ ์ฐ๊ตฌ์ค์์ ํ์ฌ ์กธ์ ๋ ผ๋ฌธ์ ์ฐธ์ฌํด์ ํ์ผ ์๋ณตํธํ ๋ชจ๋์ ๊ตฌํํ๋ ๊ฒฝํ์ด ์๋ค. ํ์ฌ ํด๋น ํ๋ก๊ทธ๋จ์ ์์ค ์ฝ๋๋ ๋ณด์์ ๊ณต๊ฐ๋์ด ์์ง ์๊ณ ๋๋ 2๋ ์ ์ ํ๋ก์ ํธ๋ผ์ ๊ธฐ์ต์ด ์ ๋์ง ์์๋ค. ๊ทธ๋์ ์ต๋ํ ๊ทธ ๊ธฐ์ต์ ๋๋ฌ์ด ํ์ผ ์๋ณตํธํ ๋ชจ๋์ ๋ค์ ๊ตฌํํ๋ ค ํ๋๋ฐ, ์๊ฐ๋ณด๋ค ํ๊ธ๋ก ๋ ์๋ฃ๊ฐ ๋ง์ง ์์ ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ ๊ณต์ ํ๋ค๋ฉด ๊ฝค ๋์ ๋ ๊ฒ ๊ฐ์์ ๊ทธ ๊ณผ์ ์ ํ ๋ฒ ํฌ์คํ ํ๋ ค ํ๋ค. ๋ชฉ์ฐจ Bouncy Castle ๋ธ๋ก ์ํธ, SEED ์๊ณ ๋ฆฌ์ฆ์ด๋? ํ๋ก์ ํธ ์์ฑ ํ๋ก์ ํธ ์์ฑ ์์กด์ฑ ์ถ๊ฐ FileUtil.class ๊ตฌํ BouncyModule.class ๊ตฌํ Encryption.class ๊ตฌํ ํ ์ค.. 2021. 6. 19. [Java ์ฌํ] Generic(์ ๋ค๋ฆญ)์ ํต์ฌ๋ง ์ดํดํด๋ณด์. ์ด ์๋ฆฌ์ฆ๋ Spring์์ Generic์ ์ด์ฉํ์ฌ CRUD ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํด๋ณด์.์ ์ด์ด์ง๋ ๊ธ ์ ๋๋ค. Generic(์ ๋๋ฆญ)์ ํต์ฌ๋ง ์ดํดํด๋ณด์. Spring์์ Generic์ ์ด์ฉํ์ฌ CRUD ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํด๋ณด์. ์ด ๊ธ์ ์ด๋ก ์ ๊ด๋ จํ ๊ธ์ด๊ณ ์ค์ ์์ ์ด๋ป๊ฒ ์ฐ์ด๋์ง ๊ถ๊ธํ์๋ค๋ฉด 2๋ฒ ๋งํฌ๋ฅผ ํด๋ฆญํด์ ํ์ธํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค. ์ค๋ ์์๋ณผ ๊ฒ์ ๋ฐ๋ก Generic(์ ๋๋ฆญ)์ผ๋ก ๋ถ๋ฆฌ๋ ๊ฒ์ด๋ค. ์ ๋๋ฆญ์ ์ฌ์ฉํ๋ ์ด์ ์ ๋ฐฉ๋ฒ์ ๋ํด์๋ ์๊ฒ ๋๋ฐ ์ค์ ์์ ๋ค ํด๋์ค๋ฅผ ์ ๋๋ฆญ์ผ๋ก ์ง์ ํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ๊ฑฐ๋ ๊ถ๊ธํ๋ค๋ฉด ์ด๋ฒ ์๋ฆฌ์ฆ๊ฐ ํฐ ๋์์ด ๋์ง ์์๊น ์๊ฐํ๋ค. ์์ํด๋ณด์. Generic ์ ๋๋ฆญ์ Java 1.5 ๋ฒ์ ๋ถํฐ ์ถ๊ฐ๋์์ผ๋ฉฐ ๋ญ ์ด๋ฐ ์ด์ผ๊ธฐ๋ ์ ์ ์ ์ด ๋๊ณ ์ ๋๋ฆญ์ด ๋ฌด์์ด๋ฉฐ ์ ์ ๋๋ฆญ์.. 2020. 8. 27. [Java ์ฌํ] List ์ปฌ๋ ์ ์์ ์ฐธ์กฐ๋ณ์์ ํ์ ์ ์ด๋ค ๊ฒ์ผ๋ก ํด์ผํ ๊น? ์ค๋ ์์๋ณผ ๊ฒ์ ArrayList๋ LinkedList๋ฅผ ์ฌ์ฉํ ๋ ์ฐธ์กฐ ๋ณ์ ํ์ ์ ์ด๋ค ๊ฒ์ผ๋ก ํด์ผํ ๊น? ์ด๋ค. ์ด๊ฒ ๋ฌด์จ ๋ง์ด๋๋ฉด ํ์๋ ์๋ฐ๋ผ๋ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ฉฐ ๋ค์ํ ์ฝ๋๋ฅผ ๋ด์์๋๋ฐ, ๊ฐ์ ์ผ์ ์ํํ๋ ์ฝ๋ ์ด๋๋ผ๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ง ๊ฒฝ์ฐ๋ฅผ ๋ณด์๋ค. ๊ทธ ์ค ๋ํ์ ์ธ๋ฐ ๋ฐ๋ก List ์ปฌ๋ ์ ์์์ ์ฐธ์กฐ๋ณ์ ํ์ ์ด๋ค. ์ด ์ฝ๋๋ฅผ ๋ณด๊ณ ์ด ๋์ ์ฐจ์ด๋ฅผ ๋ช ํํ ๋ต๋ณ์ ํ ์ ์๋ ์ฌ๋์ด๋ผ๋ฉด ๋ด ๊ธ์ ๋ณด์ง ์์๋ ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ค๋ ์์๋ณผ ๋ด์ฉ์ด๋ค. ์ด ๋์ ์ฐจ์ด๋ฅผ ์์๋ณด๊ธฐ ์ ์ ๋คํ์ฑ์ด๋ผ๋ ๊ฐ๋ ๊ณผ ์ธํฐํ์ด์ค์ ๋ํ ์ด๋์ ๋ ์ดํด๊ฐ ์์ด์ผ ํ๋ค. ์ค๋์ ๋คํ์ฑ๊ณผ ์ปฌ๋ ์ ์ ๋ํ ๋ด์ฉ์ ์์๋ณด๋ ํฌ์คํ ์ด ์๋๋ฏ๋ก ์ํ์ฝ๋ฉ์ ๋คํ์ฑ ๊ฐ์๊ณผ ์ํ์ฝ๋ฉ์ ์ธํฐํ์ด์ค ๊ฐ์๋ฅผ ๋ด๋ณธ๋ค๋ฉด ์ดํด๊ฐ ๋น ๋ฅด๊ฒ ๋ ๊ฒ์ด๋ค.. 2020. 7. 29. [Java ์ฌํ] Java ์์ Comparable๋ก ์ ๋ ฌ ๊ธฐ์ค ๋ฐ๊พธ๊ธฐ. Java์์ comparator๋ก ์ ๋ ฌ ๊ธฐ์ค ๋ฐ๊พธ๊ธฐ ์๋ฐ๋ก ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด๋ฅผ ํ๋ค ๋ณด๋ฉด ํน์ ์กฐ๊ฑด์ ์ํ ์ ๋ ฌ์ ์ํํ ๋๊ฐ ์๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฐ์์๋ ์ ๋ ฌ์ ์ํด์ Arrays.sort() ์ static ๋ฉ์๋๋ ,Collections.sort()์ static ๋ฉ์๋๋ฅผ ์ ๊ณตํ์ง๋ง, ์ด๋ ๊ธฐ๋ณธ ์ ๋ ฌ์ธ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ํน์ ์กฐ๊ฑด์ ์ํ ์ ๋ ฌ(๋ค์ฐจ์ ๋ฐฐ์ด์ ์ ๋ ฌ, ๊ฐ์ฒด ์ ๋ ฌ, ์กฐ๊ฑด ์ ๋ ฌ)์ ์ํํ๊ธฐ๋ ๋ถ๊ฐ๋ฅํ๋ค. ์ด ๋ถํธํจ์ ํด์ํด๊ธฐ ์ํด ๋ ๊ฐ์ง์ ์กฐ๊ฑด ์ ๋ ฌ ๋ฐฉ์์ด ์กด์ฌํ๋๋ฐ ๋ฐ๋ก Comparator, Comparable ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํ ์ ๋ ฌ ๋ฉ์๋ ์ฌ์ ์์ด๋ค. ํ์ง๋ง ๋ ์ธํฐํ์ด์ค ๊ฐ์ ์ฌ์ฉ ๋ชฉ์ ์ ๋ฐ๋ฅธ ์ฐจ์ด๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๊ทธ ์ฐจ์ด๋ถํฐ ๋ช ํํ๊ฒ ์ง๊ณ ๋์ด๊ฐ์. Compara.. 2020. 2. 24. [Java ์ฌํ] ์ถ์ํ์ ๋ํ ์ฌ์คํ ๊ณ ์ฐฐ. ์ด ๊ธ์ ์ถ์ํ์ ๋ํ ๊ฐ์ธ์ ์ธ ์๊ฐ๊ณผ ์คํ๋ง ์ ๋ฌธ์ ์ํ ์๋ฐ ๊ฐ์ฒด ์งํฅ์ ์๋ฆฌ์ ์ดํด - ๊น์ข ๋ฏผ ์ ๋ฅผ ์ฝ๊ณ ๋์ ๋๋ ๊ฐ์ ์ ์์ ์ ? ๋ฌธํ์ ? ์ผ๋ก ์ ๊ทผํ์ฌ ๋ณธ์ธ์ ์๊ฐ๊ณผ ๊น์ข ๋ฏผ ๊ฐ๋ฐ์์ ์๊ฐ์ ์ถํฉํ์ฌ ์ ๋ฆฌํ ๊ธ ์ ๋๋ค. Abstraction VS Abstract Art ์ ๋ชฉ์์ ์ฐ์ธ Abstraction์ Computer Science์์ ๋ง ํ๋ ์ถ์ํ์ ๊ฐ๋ ์ด๊ณ Abstract Art๋ ํผ์นด์๊ฐ ์ ํ์๋ ์ถ์ ๋ฏธ์ ์ ์ถ์ํ ์ด๋ค. ์ ์ ํ์ต์ ํ๋ค ๋ณด๋, ์ด ๋์ ์ ํ ๋ค๋ฅธ ๋ถ์ผ์ ์ฉ์ด์ง๋ง ๊ฐ์ ์๋ฏธ๋ก ์ฐ์ด๊ฒ ๋๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. ๋ฌผ๋ก ๋ป์ด๋ผ๋๊ฒ ๊ฐ์ ๋ฟ๋ฆฌ์์ ๋์ ๋น์ทํ ๋๋์ ์๋ฏธ๋ฅผ ์ ๋ฌํ๊ธด ํ์ง๋ง, Computer Science์์ ๊ฐ์ฅ ์ ๋ค์ด๋ง๋๊ฒ ์ค์ ํ๋๊ฐ ์ถ์ํ๊ฐ ์๋๊น๋ผ.. 2019. 12. 23. [Java ์ฌํ] ๋ณ์๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ด๊ธฐ๋ ๊ณผ์ ๊ณผ ์คํ ํ๋ ์๊ณผ ๋ง๋จ ์ด๋ฒ ์๊ฐ์๋ ๋ฐ๋ก ์ ์ ๋ง ํ๋ ๋ฉ๋ชจ๋ฆฌ์ JRE, JVM์ ๊ด๊ณ ์์ ์กฐ๊ธ ๋ ๊น๊ฒ ๋ค์ด๊ฐ์ ์คํ ํ๋ ์์ด ์ด๋ป๊ฒ ์๊ธฐ๊ณ ์คํ ํ๋ ์์ด ์ด๋ค ๊ณผ์ ์ผ๋ก ์ฌ๋ผ์ง๋ฉฐ, static ์์ญ์๋ ์ด๋ค ๋ฐ์ดํฐ๊ฐ ๋ด๊ธฐ๋์ง ์ ํํ ์์๋ณด์. ์คํ ํ๋ ์์ ์์กด ๊ธฐ๊ฐ ์คํ ํ๋ ์์ ์์กด ๊ธฐ๊ฐ์ ๋ํด ์ ํํ ์์๋ณด์. public class Post02 { public static void main(String[] args) { System.out.println("hello"); } } class Post03 { void greeting(){ } void sayHello(){ } } ์์ ๊ฐ์ ์ฝ๋์์ ๋ฐ์ดํฐ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ ํํ๊ฒ ๊ทธ๋ ค๋ณด์๋ฉด static ์์ญ์๋ Post02, Post03๊ฐ ๋ด๊ธฐ๋ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๊ฐ ๋ .. 2019. 12. 21. ์ด์ 1 2 3 ๋ค์