์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ํ๋ฌํฐ ๊ฐ๋ฐํ๊ฒฝ ์ค์
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ
- C์ธ์ด
- ํ์ด์ฝ ์ด๋์ฝ๋
- ์ต๋จ ๊ฒฝ๋ก
- ํ๋ฌํฐ
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ ๋ฌธ์ ํ์ด
- ํ์ด์ฌ
- SWEA
- ํ์ด์ฝ ์น๊ตฌ์ฝ๋
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ ์ฐ์ต๋ฌธ์
- JAVA SPRING
- ํ์ ๋ถ๊ธฐ
- ์๋ฐ ์คํ๋ง
- ์คํ๋ง
- ๋ฐฐ์ด
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ ์๋ฃจ์
- spring
- ํ์ด์ฝ ์ถ์ฒ์ธ์ฝ๋
- Java
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ 3ํ
- C
- ์๋ฐ
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ ์์
- ํ์ด์ฝ ์ถ์ฒ์ธ
- programmers
- ๋ฐฑ์ค
- php ํ๋ก๊ทธ๋๋ฐ
- php
- Flutter
- Today
- Total
๋ชฉ๋กJava Spring (96)
์ฌ๋ฅ์ด๐ป
[Java Spring] 3-2. IP(์ธํฐ๋ท ํ๋กํ ์ฝ) ๋ด๊ฐ ์ํ๋ ๊ณณ๊น์ง ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด์๋ ์ฐ์ ๋์ ์๋๋ฐฉ์ IP ์ฃผ์๊ฐ ํ์ํ๋ค. ์ด ๋ IP(์ธํฐ๋ท ํ๋กํ ์ฝ)์ ์ญํ ์ ๋ค์๊ณผ ๊ฐ๋ค. ์ง์ ํ IP ์ฃผ์(IP Address)์ ๋ฐ์ดํฐ ์ ๋ฌ ํจํท(Packet)์ด๋ผ๋ ํต์ ๋จ์๋ก ๋ฐ์ดํฐ ์ ๋ฌ ํจํท์๋ ์ถ๋ฐ์ง IP, ๋ชฉ์ ์ง IP, ์ ์ก ๋ฐ์ดํฐ ๋ฑ์ด ๋ด๊ฒจ ์๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์ด ํจํท์ ์ ์กํ๊ณ , ์๋ฒ๊ฐ ํจํท์ผ๋ก ์๋ต์ ํ๋ฉด์ ํต์ ์ด ์ด๋ฃจ์ด์ง๋ค. ๊ทธ๋ฌ๋, ์ด๋ฌํ IP ํ๋กํ ์ฝ์ ๋ค์๊ณผ ๊ฐ์ ํ๊ณ๊ฐ ์๋ค. ๋น์ฐ๊ฒฐ์ฑ ํจํท์ ๋ฐ์ ๋์์ด ์๊ฑฐ๋ ์๋น์ค ๋ถ๋ฅ ์ํ์ฌ๋ ํจํท ์ ์ก ๋น์ ๋ขฐ์ฑ ์ค๊ฐ์ ํจํท์ด ์ฌ๋ผ์ง๋ฉด? ํจํท์ด ์์๋๋ก ์์ค๋ฉด? ํ๋ก๊ทธ๋จ ๊ตฌ๋ถ ๊ฐ์ IP๋ฅผ ์ฌ์ฉํ๋ ์๋ฒ์์ ํต์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋..
[Java Spring] 3-1. ์ธํฐ๋ท ํต์ ์ธํฐ๋ท์์ ์ปดํจํฐ ๋์ ์ด๋ป๊ฒ ํต์ ํ ๊น? ๋ด๊ฐ ๋ณด๋ด๊ณ ์ ํ๋ ๋ฐ์ดํฐ๋ ๋ณต์กํ ์ธํฐ๋ท ๋ง์ ๊ฑฐ์ณ์ ๋ชฉ์ ์ง์ ์ ๋ฌ๋๋ค. ์ด ๊ณผ์ ์์ ๋ฐ์ํ๋ ๋ณต์กํ ์ผ๋ค์ ์ดํดํ๊ธฐ ์ํด์๋ ์ฐ์ IP(์ธํฐ๋ท ํ๋กํ ์ฝ)์ ๋ํด ์ดํดํด์ผ ํ๋ค.
[Java Spring] 3-0. ๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ์น ๊ธฐ๋ณธ ์ง์ ๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ์น ๊ธฐ๋ณธ ์ง์ - ์ธํ๋ฐ | ๊ฐ์ ์ค๋ฌด์ ๊ผญ ํ์ํ HTTP ํต์ฌ ๊ธฐ๋ฅ๊ณผ ์ฌ๋ฐ๋ฅธ HTTP API ์ค๊ณ ๋ฐฉ๋ฒ์ ํ์ตํฉ๋๋ค., [์ฌ์ง] ๐ฃ ํ์ธํด์ฃผ์ธ์!๋ณธ ๊ฐ์๋ ์๋ฐ ์คํ๋ง ์์ ์ ๋ณต ์๋ฆฌ์ฆ์ ์ธ ๋ฒ์งธ ๊ฐ์์ ๋๋ค. ์ฐ์ํํ์ ๋ค ์ต์ฐ์ ๊ธฐ์ www.inflearn.com
[Java Spring] 2-61. ์ค์ฝํ์ ํ๋ก์ ์ด๋ฒ์๋ ํ๋ก์ ๋ฐฉ์์ ์ฌ์ฉํด๋ณด์. @Component @Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS) public class MyLogger { } ์ฌ๊ธฐ๊ฐ ํต์ฌ์ด๋ค. proxyMode = ScopedProxyMode.TARGET_CLASS ๋ฅผ ์ถ๊ฐํด์ฃผ์. ์ ์ฉ ๋์์ด ์ธํฐํ์ด์ค๊ฐ ์๋ ํด๋์ค๋ฉด TARGET_CLASS ๋ฅผ ์ ํ ์ ์ฉ ๋์์ด ์ธํฐํ์ด์ค๋ฉด INTERFACES ๋ฅผ ์ ํ ์ด๋ ๊ฒ ํ๋ฉด MyLogger์ ๊ฐ์ง ํ๋ก์ ํด๋์ค๋ฅผ ๋ง๋ค์ด๋๊ณ HTTP request์ ์๊ด ์์ด ๊ฐ์ง ํ๋ก์ ํด๋์ค๋ฅผ ๋ค๋ฅธ ๋น์ ๋ฏธ๋ฆฌ ์ฃผ์ ํด ๋ ์ ์๋ค. ์ด์ ๋๋จธ์ง ์ฝ๋๋ฅผ Provider ์ฌ์ฉ ์ด์ ์ผ..
[Java Spring] 2-61. ์ค์ฝํ์ Provider ์ฒซ๋ฒ์งธ ํด๊ฒฐ๋ฐฉ์์ ์์ ๋ฐฐ์ด Provider๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. ๊ฐ๋จํ ObjectProvider๋ฅผ ์ฌ์ฉํด๋ณด์. package hello.core.web; import hello.core.common.MyLogger; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.ObjectProvider; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.R..
[Java Spring] 2-60. request ์ค์ฝํ ์์ ๋ง๋ค๊ธฐ ์น ํ๊ฒฝ ์ถ๊ฐ ์น ์ค์ฝํ๋ ์น ํ๊ฒฝ์์๋ง ๋์ํ๋ฏ๋ก web ํ๊ฒฝ์ด ๋์ํ๋๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ์. build.gradle์ ์ถ๊ฐ //web ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ implementation 'org.springframework.boot:spring-boot-starter-web' ์ด์ hello.core.CoreApplication ์ main ๋ฉ์๋๋ฅผ ์คํํ๋ฉด ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. Tomcat started on port(s): 8080 (http) with context path '' Started CoreApplication in 0.914 seconds (JVM running for 1.528) ์ฐธ๊ณ : s..
[Java Spring] 2-59. ์น ์ค์ฝํ ์ง๊ธ๊น์ง ์ฑ๊ธํค๊ณผ ํ๋กํ ํ์ ์ค์ฝํ๋ฅผ ํ์ตํ๋ค. ์ฑ๊ธํค์ ์คํ๋ง ์ปจํ ์ด๋์ ์์๊ณผ ๋๊น์ง ํจ๊ปํ๋ ๋งค์ฐ ๊ธด ์ค์ฝํ์ด๊ณ , ํ๋กํ ํ์ ์ ์์ฑ๊ณผ ์์กด๊ด๊ณ ์ฃผ์ , ๊ทธ๋ฆฌ๊ณ ์ด๊ธฐํ๊น์ง๋ง ์งํํ๋ ํน๋ณํ ์ค์ฝํ์ด๋ค. ์ด๋ฒ์๋ ์น ์ค์ฝํ์ ๋ํด์ ์์๋ณด์ ์น ์ค์ฝํ์ ํน์ง ์น ์ค์ฝํ๋ ์น ํ๊ฒฝ์์๋ง ๋์ํ๋ค. ์น ์ค์ฝํ๋ ํ๋กํ ํ์ ๊ณผ ๋ค๋ฅด๊ฒ ์คํ๋ง์ด ํด๋น ์ค์ฝํ์ ์ข ๋ฃ์์ ๊น์ง ๊ด๋ฆฌํ๋ค. ๋ฐ๋ผ์ ์ข ๋ฃ ๋ฉ์๋๊ฐ ํธ์ถ๋ ๋ค. ์น ์ค์ฝํ ์ข ๋ฅ request: HTTP ์์ฒญ ํ๋๊ฐ ๋ค์ด์ค๊ณ ๋๊ฐ ๋ ๊น์ง ์ ์ง๋๋ ์ค์ฝํ, ๊ฐ๊ฐ์ HTTP ์์ฒญ๋ง๋ค ๋ณ๋์ ๋น ์ธ์คํด์ค๊ฐ ์์ฑ๋๊ณ , ๊ด๋ฆฌ๋๋ค. session: HTTP Session๊ณผ ๋์ผํ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ง๋ ์ค์ฝํ application..
[Java Spring] 2-58. ํ๋กํ ํ์ ์ค์ฝํ - ์ฑ๊ธํค ๋น๊ณผ ํจ๊ป ์ฌ์ฉ์ Provider๋ก ๋ฌธ์ ํด๊ฒฐ ์ฑ๊ธํค ๋น๊ณผ ํ๋กํ ํ์ ๋น์ ํจ๊ป ์ฌ์ฉํ ๋, ์ด๋ป๊ฒ ํ๋ฉด ์ฌ์ฉํ ๋ ๋ง๋ค ํญ์ ์๋ก์ด ํ๋กํ ํ์ ๋น์ ์์ฑํ ์ ์์๊น? ์คํ๋ง ์ปจํ ์ด๋์ ์์ฒญ ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ์ฑ๊ธํค ๋น์ด ํ๋กํ ํ์ ์ ์ฌ์ฉํ ๋ ๋ง๋ค ์คํ๋ง ์ปจํ ์ด๋์ ์๋ก ์์ฒญํ๋ ๊ฒ์ด๋ค. public class PrototypeProviderTest { @Test void providerTest() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class); ClientBean cl..
[Java Spring] 2-57. ํ๋กํ ํ์ ์ค์ฝํ - ์ฑ๊ธํค ๋น๊ณผ ํจ๊ป ์ฌ์ฉ์ ๋ฌธ์ ์ ์คํ๋ง ์ปจํ ์ด๋์ ํ๋กํ ํ์ ์ค์ฝํ์ ๋น์ ์์ฒญํ๋ฉด ํญ์ ์๋ก์ด ๊ฐ์ฒด ์ธ์คํด์ค๋ฅผ ์์ฑํด์ ๋ฐํํ๋ค. ํ์ง๋ง ์ฑ๊ธ ํค ๋น๊ณผ ํจ๊ป ์ฌ์ฉํ ๋๋ ์๋ํ ๋๋ก ์ ๋์ํ์ง ์์ผ๋ฏ๋ก ์ฃผ์ํด์ผ ํ๋ค. ๊ทธ๋ฆผ๊ณผ ์ฝ๋๋ก ์ค๋ช ํ๊ฒ ๋ค. ๋จผ์ ์คํ๋ง ์ปจํ ์ด๋์ ํ๋กํ ํ์ ๋น์ ์ง์ ์์ฒญํ๋ ์์ ๋ฅผ ๋ณด์. ํ๋กํ ํ์ ๋น ์ง์ ์์ฒญ ์คํ๋ง ์ปจํ ์ด๋์ ํ๋กํ ํ์ ๋น ์ง์ ์์ฒญ1 1. ํด๋ผ์ด์ธํธA๋ ์คํ๋ง ์ปจํ ์ด๋์ ํ๋กํ ํ์ ๋น์ ์์ฒญํ๋ค. 2. ์คํ๋ง ์ปจํ ์ด๋๋ ํ๋กํ ํ์ ๋น์ ์๋ก ์์ฑํด์ ๋ฐํ(x01)ํ๋ค. ํด๋น ๋น์ count ํ๋ ๊ฐ์ 0์ด๋ค. 3. ํด๋ผ์ด์ธํธ๋ ์กฐํํ ํ๋กํ ํ์ ๋น์ addCount() ๋ฅผ ํธ์ถํ๋ฉด์ count ํ๋..
[Java Spring] 2-56. ํ๋กํ ํ์ ์ค์ฝํ ์ฑ๊ธํค ์ค์ฝํ์ ๋น์ ์กฐํํ๋ฉด ์คํ๋ง ์ปจํ ์ด๋๋ ํญ์ ๊ฐ์ ์ธ์คํด์ค์ ์คํ๋ง ๋น์ ๋ฐํํ๋ค. ๋ฐ๋ฉด์ ํ๋กํ ํ์ ์ค ์ฝํ๋ฅผ ์คํ๋ง ์ปจํ ์ด๋์ ์กฐํํ๋ฉด ์คํ๋ง ์ปจํ ์ด๋๋ ํญ์ ์๋ก์ด ์ธ์คํด์ค๋ฅผ ์์ฑํด์ ๋ฐํํ๋ค. ์ฑ๊ธํค ๋น ์์ฒญ ์ฑ๊ธํค ์ค์ฝํ์ ๋น์ ์คํ๋ง ์ปจํ ์ด๋์ ์์ฒญํ๋ค. ์คํ๋ง ์ปจํ ์ด๋๋ ๋ณธ์ธ์ด ๊ด๋ฆฌํ๋ ์คํ๋ง ๋น์ ๋ฐํํ๋ค. ์ดํ์ ์คํ๋ง ์ปจํ ์ด๋์ ๊ฐ์ ์์ฒญ์ด ์๋ ๊ฐ์ ๊ฐ์ฒด ์ธ์คํด์ค์ ์คํ๋ง ๋น์ ๋ฐํํ๋ค. ํ๋กํ ํ์ ๋น ์์ฒญ1 ํ๋กํ ํ์ ์ค์ฝํ์ ๋น์ ์คํ๋ง ์ปจํ ์ด๋์ ์์ฒญํ๋ค. ์คํ๋ง ์ปจํ ์ด๋๋ ์ด ์์ ์ ํ๋กํ ํ์ ๋น์ ์์ฑํ๊ณ , ํ์ํ ์์กด๊ด๊ณ๋ฅผ ์ฃผ์ ํ๋ค. ํ๋กํ ํ์ ๋น ์์ฒญ2 3. ์คํ๋ง ์ปจํ ์ด๋๋ ์์ฑํ ํ๋กํ ํ์ ๋น์ ํด๋ผ์ด์ธํธ์..