๊ฐ๋ฐ์ ์ ๋ฆฌ๋ ธํธ/JAVA
-
[๊ฐ๋ฐ์ ๋ฉด์ ์ง๋ฌธ] Java ๋ฒ์ ๋ณ ํน์ง ์ ๋ฆฌ๊ฐ๋ฐ์ ์ ๋ฆฌ๋ ธํธ/JAVA 2022. 12. 31. 18:14
๋ฉด์ ์์ ๋ณธ์ธ์ด ์ฌ์ฉํ ์๋ฐ์ ๋ฒ์ ๊ณผ ํน์ง ์ ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง ํ ์ค ์์์ผ ํฉ๋๋ค. Java ๋ฒ์ ๋ณ ํน์ง์ ์์๋ด ์๋ค. Java๋ 1995๋ ์ ์ฒ์ ์ถ์๋ ์ดํ ์ฌ๋ฌ ๋ฒ์ ์ ์ถ์ํ์ต๋๋ค. ๋ค์์ ์ผ๋ถ ์ฃผ์ ๋ฒ์ ์ ์ฃผ์ ๊ธฐ๋ฅ์ ๋๋ค. Java 1.0(1996): JDK(Java Development Kit)์ Java ์ธ์ด ์์ฒด๋ฅผ ๋์ ํ Java์ ์ฒซ ๋ฒ์งธ ๋ฒ์ ์ ๋๋ค. Java 1.1(1997): ์ด๋ฒคํธ ์ฒ๋ฆฌ, ์๋ก์ด AWT(Abstract Window Toolkit) ๊ตฌ์ฑ ์์ ๋ฐ ์๋ก์ด Java ์ธ์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ฒซ ๋ฒ์งธ ์ฃผ์ ์ ๋ฐ์ดํธ์ ๋๋ค. Java 1.2(1998): ์ด ์ ๋ฐ์ดํธ๋ ์๋ก์ด Java Virtual Machine(JVM)๊ณผ Java Collection Framework๋ฅผ ๋์ ํ์ต๋๋ค..
-
[๊ฐ๋ฐ์ ๋ฉด์ ์ง๋ฌธ] Java์ ํน์ง ์ ๋ฆฌ๊ฐ๋ฐ์ ์ ๋ฆฌ๋ ธํธ/JAVA 2022. 12. 31. 17:48
Java์ ํน์ง์ ์ค๋ช ํ์ธ์. ์๋ฐ(Java)๋ ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ์ธ๊ธฐ๋ฅผ ๋ ์ ์๋ ์๋ง์ ์ฃผ์ ๊ธฐ๋ฅ์ ๊ฐ์ถ ๊ณ ๊ธ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค. -๊ฐ์ฒด ์งํฅ: ์๋ฐ๋ ๊ฐ์ฒด ์งํฅ ์ธ์ด๋ก, ๋ฐ์ดํฐ์ ์ฝ๋๋ฅผ ํฌํจํ๋ "๊ฐ์ฒด"์ ๊ฐ๋ ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ค. ์ด๋ฅผ ํตํด ๋ชจ๋์ ๋ฐ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. -ํ๋ซํผ ๋ ๋ฆฝ: Java ํ๋ก๊ทธ๋จ์ Java Virtual Machine(JVM)์ด ์ค์น๋ ๋ชจ๋ ์ฅ์น ๋๋ ์ด์ ์ฒด์ ์์ ์คํํ ์ ์์ต๋๋ค. ์ด๋ก ์ธํด ์๋ฐ๋ ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ํ ๋์ค์ ์ธ ์ ํ์ด ๋์๋ค. -๊ณ ์ฑ๋ฅ: ์๋ฐ ํ๋ก๊ทธ๋จ์ ๋ฐ์ดํธ์ฝ๋๋ก ์ปดํ์ผ๋๊ณ , ์ด ๋ฐ์ดํธ์ฝ๋๋ JVM์ ์ํด ์คํ๋๋ค. ์ด๊ฒ์ ์๋ฐ ํ๋ก๊ทธ๋จ์ด ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ์คํ๋ ์ ์๋ค๋ ๊ฒ์ ..
-
[๊ฐ๋ฐ์ ๋ฉด์ ์ง๋ฌธ] Java๋ ๋ฌด์์ธ๊ฐ?๊ฐ๋ฐ์ ์ ๋ฆฌ๋ ธํธ/JAVA 2022. 12. 31. 17:42
Java๋ ๋ฌด์์ธ๊ฐ? ์๋ฐ(Java)๋ ๋ค์ํ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ณ ๊ฐ๋ฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด์ ์ปดํจํ ํ๋ซํผ์ด๋ค. 1995๋ ์ ๋ง์ดํฌ๋ก์์คํ ์ฆ์ ์ํด ์ฒ์ ์ถ์๋์์ผ๋ฉฐ ์ดํ ์ธ๊ณ์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ค ํ๋๊ฐ ๋์๋ค. ์๋ฐ๋ ๊ฐ์ฒด ์งํฅ ์ธ์ด๋ก, ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๊ธฐ ์ํ ์ฝ๋์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ "๊ฐ์ฒด"์ ๊ฐ๋ ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค. ๊ฐ๋จํ๊ณ ๋ฐฐ์ฐ๊ธฐ ์ฌ์ฐ๋ฉฐ ์ฐ๊ธฐ, ์ปดํ์ผ ๋ฐ ๋๋ฒ๊ทธํ๊ธฐ ์ฝ๋๋ก ์ค๊ณ๋์๋ค. ์๋ฐ๋ ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ , ์๋๋ก์ด๋ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ , ๊ฒ์์ ๊ตฌ์ถํ๋ ๋ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ค. ์น ์์ฉ ํ๋ก๊ทธ๋จ, ๊ณผํ ์์ฉ ํ๋ก๊ทธ๋จ ๋ฐ ๊ธฐํ ๋ง์ ์ ํ์ ์ํํธ์จ์ด ๊ฐ๋ฐ์๋ ์ฌ์ฉ๋๋ค. ์๋ฐ์ ์ฃผ์ ๊ธฐ๋ฅ ์ค ํ๋๋ ํ๋ซํผ์ ์์กดํ์ง ์๋๋ค๋ ๊ฒ์ธ๋ฐ, ์ด๋ ์๋ฐ ํ๋ก๊ทธ๋จ์ด ..
-
[Spring] Spring๊ณผ SpringBoot ๊ฐ๋ , ์ฐจ์ด๊ฐ๋ฐ์ ์ ๋ฆฌ๋ ธํธ/JAVA 2022. 2. 6. 17:29
Spring Framework์ Spring Boot์ ์ฐจ์ด์ o ์คํ๋ง ํ๋ ์์ํฌ = ํต์ฌ๊ธฐ์ o ์คํ๋ง ๋ถํธ = ํต์ฌ๊ธฐ์ ๋ค์ ํธํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ๊ธฐ์ ์คํ๋ง๊ณผ ์คํ๋ง ๋ถํธ๋ ๋ชจ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ธฐ ์ํ ์๋ฐ ๊ธฐ๋ฐ ํ๋ ์์ํฌ์ด์ง๋ง ๋ค๋ฅธ ๋ชฉ์ ์ ์ํด ์ค๊ณ๋๋ค. ์คํ๋ง(Spring)์ ์๋ฐ ํ๋ซํผ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ธฐ ์ํ ๋ฒ์ฉ ํ๋ ์์ํฌ์ด๋ค. ์ข ์์ฑ ์ฃผ์ (DI), ๋ฐ์ดํฐ ์ก์ธ์ค ๋ฐ ์น ๊ฐ๋ฐ ์ง์์ ํฌํจํ์ฌ ๊ด๋ฒ์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์คํ๋ง์ ๊ตฌ์ฑ ๊ฐ๋ฅ์ฑ์ด ๋ฐ์ด๋๋ฉฐ ํฌ๊ธฐ์ ๋ณต์ก์ฑ์ ๊ด๊ณ์์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ค. ์คํ๋ง ๋ถํธ๋ ์คํ๋ง ํ๋ ์์ํฌ ์์ ๊ตฌ์ถ๋ ํ๋ ์์ํฌ์ด๋ค. ๋ ๋ฆฝ ์คํํ ํ๋ก๋์ ๋ฑ๊ธ์ ์คํ๋ง ๊ธฐ๋ฐ ์์ฉํ๋ก๊ทธ๋จ์ ์ฝ๊ฒ ๋ง๋ค ์ ์๋๋ก ์ค๊ณ๋์๋ค..
-
[Spring] ์คํ๋ง AOP๊ฐ๋ฐ์ ์ ๋ฆฌ๋ ธํธ/JAVA 2022. 1. 24. 20:05
AOP : Aspect Oriented Programming, ํก๋จ๊ด์ฌ(๋ก๊น ๊ณผ ๋ณด์ ๋ฑ)์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ. Target: ํต์ฌ ๊ธฐ๋ฅ์ด ๋ด๊ธด ํด๋์ค Advice: ํก๋จ๊ด์ฌ์ฌ. ๋์ํ๋ ์์ ์ ๋ฐ๋ผ @Before, @After, @Around๋ก ๊ตฌ๋ถ๋ Aspect: ์คํ๋ง์ @Aspect ์ด๋ ธํ ์ด์ ์ ํฌํจํ ํด๋์ค๋ฅผ ๊ฒ์ํด์ Spring AOP ์ค์ ์ ๋ฐ์ํ๋ค. Advice๋ฅผ ์ ์ฉํ๋๋ก ์ง์ํ ์ ์๋ ํด๋์ค๋ฅผ Aspect๋ผ๊ณ ํ๋ค. Pointcut: ์คํ๋ง์์ AOP๊ฐ ์ ์ฉ๋ ํจ์๋ฅผ ์ง์นญํ๋ค. ๋๋ณด๊ธฐ https://codedragon.tistory.com/9014 https://linked2ev.github.io/gitlog/2019/09/22/springboot-mvc-14-%EC%8A%A4%ED%94%..
-
[Spring] ์ฝ๋๋ก ์์๋ณด๋ ์คํ๋ง IoC๊ฐ๋ฐ์ ์ ๋ฆฌ๋ ธํธ/JAVA 2022. 1. 22. 22:22
Bean๊ณผ ์์กด๊ด๊ณ @Controller member ์ปจํธ๋กค๋ฌ๋ member ์๋น์ค๋ฅผ ํตํด์ ๊ฐ์ , ์กฐํ ๋ฑ์ ์ํํ๋๋ฐ, ์ด๋ ์์กด๊ด๊ณ์ ์๋ค๊ณ ํ๋ค. @Controller ์ด๋ ธํ ์ด์ ์ ์คํ๋ง ์ปจํ ์ด๋๊ฐ ๋ฐ๋ ์์ฑํ๊ณ , ์ปจํ ์ด๋๊ฐ ๊ด๋ฆฌํ๊ฒ๋๋ค. @Autowired ์คํ๋ง์์ ๊ด๋ฆฌ๋ฅผ ํ๊ฒ๋๋ฉด ๋ชจ๋ ์คํ๋ง ์ปจํ ์ด๋์ ๋ฑ๋กํ๊ณ ๋ฐ์์ ์ฐ๋๋ก ๋ฐ๊ฟ์ผํ๋ค. -> new๋ก ๊ฐ์ฒด๋ฅผ ์ฌ๋ฌ๊ฐ ์์ฑํ๊ธฐ๋ณด๋จ, ์คํ๋ง ์ปจํ ์ด๋์ ๋ฑ๋กํด์ ํ๋์ ๊ณต์ฉ๊ฐ์ฒด๋ก ์ฌ์ฉํ๋ฉด ๋๋ค. ์คํ๋ง ์ปจํ ์ด๋๊ฐ ๋ฐ ๋ Controller๊ฐ ์์ฑ๋๊ณ , ์์ฑ์๊ฐ ํธ์ถ๋๋ค. ์์ฑ์์ Autowired๊ฐ ๋์ด์์ผ๋ฉด, ์คํ๋ง์ด ์คํ๋ง ์ปจํ ์ด๋์ ์๋ ์ฐ๊ด๋ member ์๋น์ค๋ฅผ ์ฐ๊ฒฐ ํด์ค๋ค. ์ฆ ์ฐ๊ฒฐ์์ผ์ค ๋ Autowired๋ฅผ ์ฐ๋ฉด ๋๋ค ! Bean ๋ฑ..
-
[Spring] ์คํ๋ง IoC๊ฐ๋ฐ์ ์ ๋ฆฌ๋ ธํธ/JAVA 2022. 1. 22. 18:31
IoC๋? :Inversion Of Controller ์ฆ, ์ ์ด๊ถ์ ์ญ์ ์ด๋ค ๊ฐ์ฒด๊ฐ ์ฌ์ฉํ๋ ์์กด ๊ฐ์ฒด๋ฅผ ์ง์ ๋ง๋ค์ด ์ฌ์ฉํ๋๊ฒ ์๋๋ผ, ์ฃผ์ ๋ฐ์ ์ฌ์ฉ๋ฐ๋ ๋ฐฉ๋ฒ. ์ฝ๋๋ฅผ ์์๋ก ์ค๋ช ํด๋ณด์. ์ด๋ค ๊ฐ์ฒด(BookService)๊ฐ ์ฌ์ฉํ๋ ์์กด ๊ฐ์ฒด(BookRepository)๋ฅผ ์ง์ ๋ง๋ค์ด ์ฌ์ฉํ๋๊ฒ ์๋๋ผ, ์ด๋ค ์ฅ์น(์์ฑ์)๋ฅผ ์ด์ฉํด์ ์ฃผ์ ์ ๋ฐ์์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ IoC๋ผ๊ณ ํ๋ค. ์์ ๊ฐ์ ๋ฐฉ๋ฒ์ ์คํ๋ง์์ ์ ๊ณตํด์ฃผ๊ณ ์๋ค. IoC ์ปจํ ์ด๋ Bean: Spring IoC๊ฐ ๊ด๋ฆฌํ๋ ๊ฐ์ฒด Container: Bean๋ค์ ๋ด๊ณ ์๋ ์ ์ฅ์ DI(Dependency Injection): ์์กด์ฑ ์ฃผ์ . ๊ฐ์ฒด๋ฅผ ์ธ๋ถ๋ก๋ถํฐ ์ฃผ์ ํด์ฃผ๋ ์์ ์ DI๋ผ๊ณ ํ๋ค. DI๋ IoC์ ์ผ์ข . IoC ์ปจํ ์ด๋ - Objec..
-
[Spring] ์คํ๋ง Life Cycle๊ฐ๋ฐ์ ์ ๋ฆฌ๋ ธํธ/JAVA 2022. 1. 17. 21:50
Spring Starter :spring-boot์์ starter๋ ์์กด์ฑ๊ณผ ์ค์ ์ ์๋ํํด์ฃผ๋ ๋ชจ๋์ ๋ปํ๋ค. Interceptor :์ธํฐ์ ํฐ๋ ์ปจํธ๋กค๋ฌ์ URI์ ์ ๊ทผํ๋ ๊ณผ์ (์ ๊ณผ ํ)์์ ๋ฌด์ธ๊ฐ๋ฅผ ์ ์ดํ ํ์๊ฐ ์์ ๋ ์ฌ์ฉ๋จ ๋๋ณด๊ธฐ https://atoz-develop.tistory.com/entry/Spring-%EC%8A%A4%ED%94%84%EB%A7%81-%EB%B9%88Bean%EC%9D%98-%EA%B0%9C%EB%85%90%EA%B3%BC-%EC%83%9D%EC%84%B1-%EC%9B%90%EB%A6%AC