์ด์ ๊ธ์์ 3-way handshaking ๋ถ๋ถ์ open()์ด๋ผ๋๊ฒ์ด ์๋ค. ์์คํ
์ฝ์ด๋ค. ์ด๊ฒ ๋ญ๊น? https://koreatstm.tistory.com/90?category=1126817 TCP vs UDP ์ ์ก๊ณ์ธต์ IP์ ์ํด ์ ๋ฌ๋๋ ํจํท์ ์ค๋ฅ๋ฅผ ๊ฒ์ฌํ๊ณ ์ฌ์ ์ก ์๊ตฌ์ ๊ฐ์ ์ ์ด๋ฅผ ๋ด๋นํ๋ ๊ณ์ธต์ด๋ค. TCP์ UDP๋ TCP/IP์ ์ ์ก๊ณ์ธต์์ ์ฌ์ฉํ๋ ํ๋กํ ์ฝ์ด๋ค. TCP/IP ์ ์ก๊ณ์ธต์ ์ด์ ๊ธ์ ์ฐธ koreatstm.tistory.com 1. ์์คํ
์ฝ System Call์ ์ด์ ์ฒด์ ์ ์ปค๋์ด ์ ๊ณตํ๋ ์๋น์ค์ ๋ํด, ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ฒญ์ ๋ฐ๋ผ ์ปค๋์ ์ ๊ทผํ๊ธฐ ์ํ ์ธํฐํ์ด์ค์ด๋ค. ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์์
์ด ํ์ํ ๋, ์ด์์ฒด์ ์๊ฒ ๋ช
๋ น์ ๋ํ์ ์์ฒญํ๋ ๊ฒ์ด๋ค. 2. ๊ทธ๋ผ ์์คํ
์ฝ..
๐ผ๋ฐฑ์ค๋
1. TCP vs UDP ์ ์ก๊ณ์ธต์ IP์ ์ํด ์ ๋ฌ๋๋ ํจํท์ ์ค๋ฅ๋ฅผ ๊ฒ์ฌํ๊ณ ์ฌ์ ์ก ์๊ตฌ์ ๊ฐ์ ์ ์ด๋ฅผ ๋ด๋นํ๋ ๊ณ์ธต์ด๋ค. TCP์ UDP๋ TCP/IP์ ์ ์ก๊ณ์ธต์์ ์ฌ์ฉํ๋ ํ๋กํ ์ฝ์ด๋ค. TCP/IP ์ ์ก๊ณ์ธต์ ์ด์ ๊ธ์ ์ฐธ๊ณ ํ์ https://koreatstm.tistory.com/89 OSI 7๊ณ์ธต๊ณผ TCP/IP 4๊ณ์ธต ๋ชจ๋ธ ์ปดํจํฐ๋ผ๋ฆฌ ํต์ ํ ๋, ๋คํธ์ํฌ ํต์ ์ ํ๋ค. ์ด๋ ๋ชจ๋ ์ปดํจํฐ๋ OSI 7๊ณ์ธต ๋๋ TCP/IP 4๊ณ์ธต ๋ชจ๋ธ์ ๋ง๊ฒ ๋์ํ๋ค. ๋คํธ์ํฌ ํต์ ์ด ์ผ์ด๋๋ ๊ณผ์ 1 ์ฌํ๋ฆฌ๋ฅผ ์ด๊ณ ๊ฒ์์ฐฝ์ www.google.com์ ์
koreatstm.tistory.com ์ด์ TCP์ UDP์ ์ฐจ์ด๋ฅผ ์์๋ณด์. TCP๋ Transmission Control Protocol, UDP๋ ..
์ปดํจํฐ๋ผ๋ฆฌ ํต์ ํ ๋, ๋คํธ์ํฌ ํต์ ์ ํ๋ค. ์ด๋ ๋ชจ๋ ์ปดํจํฐ๋ OSI 7๊ณ์ธต ๋๋ TCP/IP 4๊ณ์ธต ๋ชจ๋ธ์ ๋ง๊ฒ ๋์ํ๋ค. 1. ๋คํธ์ํฌ ํต์ ์ด ์ผ์ด๋๋ ๊ณผ์ 1 ์ฌํ๋ฆฌ๋ฅผ ์ด๊ณ ๊ฒ์์ฐฝ์ www.google.com์ ์
๋ ฅํ๋ค 2 ํจํท์ด๋ผ๋ ํฌ์ฅ์ง๋ก ์ด๋ฅผ ๊ฐ์ผ๋ค 3 ํจํท์ ๋คํธ์ํฌ์ ํ๋ ค ๋ณด๋ธ๋ค 4 ์ด ํจํท์ ๋คํธ์ํฌ์ ์๋ ๋ผ์ฐํฐ๊ฐ ์ฝ์ด ๊ตฌ๊ธ ์๋ฒ๋ก ์ ๋ฌํ๋ค 5 ๊ตฌ๊ธ ์๋ฒ๋ ์ด ํจํท์ ํ์ด, ์น์๋ฒ๊ฐ ์ฝ์ ์ ์๋ ํํ๋ก ๋ณ๊ฒฝํ๊ณ ์น์๋ฒ์ ์ ๋ฌํ๋ค. ์ฐ๋ฆฌ๋ www.google.com์ด๋ผ๋ URL๋ง ์
๋ ฅํ์ง๋ง, ๋ด๋ถ์ ์ผ๋ก ์ด๋ฐ ๋ฐฉ์์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค. ์ด๋ป๊ฒ? 2. ํ๋กํ ์ฝ ํต์ ๊ท์ฝ์ด๋ค. ๋๊ฐ? ๋๊ตฌ์๊ฒ? ๋ฌด์์? ๊ฐ์ ์ ๋ณด๋ฅผ ๋ณด๋ผ ๊ฒ์ธ๋ฐ ์๋ฌด๋ ๊ฒ๋ ๋ณด๋ด๋ฉด ์๋ฌด๋ ๊ฒ๋ ๋ฐ๋๋ค. ๊ท์น์ด ํ์ํ ๊ฒ..
(1)๋ด์ฅ ํฐ์ผ์ ๊ฐ์ง๋ค. ํฐ์ผ์ ๋ฐ๋ก ์ค์นํ ํ์ ์์ด ๋ฐ๋ก ์คํ๊ฐ๋ฅํ๋ค. Socket: ์ด์์ฒด์ ๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฒ A์ B๊ฐ ํต์ ํ๋ค. A๊ฐ 5000๋ฒ ์์ผ์ ์คํํ๋ฉด B๊ฐ ip์ฃผ์:5000์ ํฌํธ๋ฒํธ๋ฅผ ๋ฃ๊ณ ์ฐ๊ฒฐํ๋ค. ๊ทธ๋ฌ๋ฉด A์ B๋ ํต์ ์ด ๊ฐ๋ฅํ๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ฌ๋ฉด C๊ฐ A๋ ํต์ ์ ํ๊ณ ์ถ์๋ฐ, 5000๋ฒ์ ์ด๋ฏธ ์ฌ์ฉํ๊ณ ์์ผ๋ฏ๋ก C๋ 5000๋ฒ์ผ๋ก ์ฐ๊ฒฐ์ ๋ชปํ๋ค. ์ต์ด์ 5000๋ฒ ํฌํธ๋ ์ฐ๊ฒฐ์ฉ๋๋ก๋ง ์ฐ๊ณ main์ฐ๋ ๋(์๋ก์ด ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ์)๊ฐ ๋จ, ์ฐ๊ฒฐ์ด ๋๋ ์๊ฐ ์๋ก์ด ์์ผ(5001)์ ๋ง๋ ๋ค. ๊ทธ๋ฌ๋ฉด A๋ 5000๋ฒ ๊ณผ์ ์ฐ๊ฒฐ์ ๋๊ธฐ๊ณ 5001๋ก B์ ํต์ ํ๋ค. ์ด๋, 5001์ ์ค๋ ๋1์ ๋ง๋๋๋ฐ, ์ด๋ C๋ 5000๋ฒ์ ์ ๊ทผํ ์ ์๋๋ฐ, ๊ทธ๋ฌ๋ฉด 5000๋ฒ์ด ์๋ก์ด ์์ผ์ ..
JPA๋ Java Persistence(์์์ฑ) API์ด๋ค. ex) ๋จ์ ํ๋ฐ์ฑ. ์ด ๋ฐ์ดํฐ๋ฅผ ํ๋๋์คํฌ์ ๊ธฐ๋กํ๋ฉด ๋นํ๋ฐ์ฑ์ด๋ฏ๋ก ์๊ตฌ์ ์ฅ๋จ. ์๊ตฌํ ๊ธฐ๋ก๋๋๊ฒ Persistence. ์๋ฐ๋ ๋ฐ์ดํฐ ์ ์ฅ์ DBMS๋ก ๊ด๋ฆฌํ๋ค. JPA๋ ์๋ฐ์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ์๊ตฌํ ๊ธฐ๋กํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ API API๋? Application -> ํ๋ก๊ทธ๋จ Programming ->ํ๋ก๊ทธ๋๋ฐ์ ํตํด์ ํ๋ก๊ทธ๋จ ๋ง๋ฌ Interface ->์ด๊ฑธ ํตํด์ ํ๋ก๊ทธ๋๋ฐ ์ฝ์(ํ๋กํ ์ฝ vs ์ธํฐํ์ด์ค) ํ๋กํ ์ฝ: ์ฝ์ - A,B,C์ ๊ถ๋ฆฌ๊ฐ ๋๋ฑํ๋ค. B๊ฐ ๊ฐ์ํ ์ ์๋ค. ์๋ก๊ฐ ๋ชจ๋ ๋์ ํ ์ ์๋ ๊ฒ vs ์ธํฐํ์ด์ค: ์ฝ์ - B๊ฐ ํ์ด ์
. B๊ฐ ๋ง๋ ๊ท์น์ A์ C๊ฐ ๋ฌด์กฐ๊ฑด ๋ฐ๋ผ์ผ ํ๋ค. ์ฆ, B๊ฐ ๊ท์น์ ์ ํ ๋..
์คํ๋ง์ ํ๋ ์์ํฌ์ด๋ค ํ๋ ์์ํฌ:ํ ์์์ ๋์. ํ์ ๋ง์ถฐ์คํ
๋ ํ์ ๋ง์ถฐ์ ๊ฐ๋ฐํด๋ผ ์คํ๋ง์ ์คํ์์ค์ด๋ค ๋ด๋ถ๋ฅผ ๋ฏ์ด๊ณ ์น ์ ์๋ค. + ๋ฌด๋ฃ ์คํ๋ง์ IoC(Inversion of Controller = ์ ์ด์ ์ญ์ ) ์ปจํ
์ด๋๋ฅผ ๊ฐ์ง๋ค. ๊ฐ๋ฐ์๊ฐ ๊ฐ์ฒด ์์ฑ๊ณผ ๊ด๋ฆฌ๋ฅผ ์คํ๋ง์ ์์ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ฃผ๋๊ถ์ด ์คํ๋ง์ ์๋ค. ํด๋์ค: ์ค๊ณ๋ ์ค๋ธ์ ํธ: ์ค์ฒดํ๊ฐ ๊ฐ๋ฅํ ๊ฒ ์ธ์คํด์ค: ์ค์ฒดํ ๋ ๊ฒ ๊ฐ๊ตฌ(ํด๋์ค-์ถ์์ ) - ์์,์นจ๋(์ค๋ธ์ ํธ) - ์ธ์คํด์ค ์ค๋ธ์ ํธ๋ฅผ new๋ก ํด์ heap ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฐ๋ค. ์์ s = new ์์(); s๋ ๋ ํผ๋ฐ์ค ๋ณ์๊ฐ ๋๊ณ , s๋ ๋ฉ์๋๊ฐ ์คํ๋๋ ๋์๋ง ์ฌ์ฉ๋จ. ๋ค๋ฅธ ๋ฉ์๋์์ ์ด ์์๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ผ๋ฉด, ์์ s = new ์์(); ์ด๊ฑฐ๋ฅผ ๋ ์น๋ฉด ์๋ก์ด ..
IO๋? Input & Output Java IO๋ ๊ฐ์ฒด์ด๋ค. Decorator ํจํด์ผ๋ก ๋ง๋ค์ด์ก๋ค. ConcreteComponent - ์ฃผ์ธ๊ณต Decorator - ์ฅ์ , component์ญํ ์ ๊ฐ์ง ์ ์๋ค. ์ฃผ์ธ๊ณต๊ณผ ์ฅ์์ ๊ตฌ๋ถํ ์ ์์ด์ผ ํ๋ค. InputStream, OutputStream, Reader, Writer: ์ถ์ํด๋์ค์ฌ์ new๋ก ๊ฐ์ฒด ์์ฑ ๋ถ๊ฐ๋ฅํ๋ฉฐ, Component์ ํด๋น ์ฃผ์ธ๊ณต์ ์ด๋ค ๋์์๊ฒ์ ์ฝ์ด๋ค์ผ์ง, ์ธ์ง๋ฅผ ๊ฒฐ์ ํ๊ณ , 1byte or byte[] , 1char or char[]๋จ์๋ก ์ฝ๊ณ ์ฐ๋ ๋ฉ์๋๋ฅผ ๊ฐ์ง๋ค. ์ฅ์์ InputStream, OutputStream, Reader, Write๋ฅผ ์์ฑ์์์ ๋ฐ์๋ค์ด๊ณ ๋ค์ํ ๋ฐฉ์์ผ๋ก ์ฝ๊ณ ์ฐ๋ ๋ฉ์๋๋ฅผ ๊ฐ์ง๋ค. Java..
์ฃผ์๋ฌธ ํ๋ก๊ทธ๋๋ฐ ์คํ๊ณผ๋ ์๊ด ์๋ ๋ฌธ์ฅ์ผ๋ก ํ๋ก๊ทธ๋จ์ ์ค๋ช
์ ๋ถ์ด๊ธฐ ์ํด ์ฌ์ฉํ๋ค. ์๋ฐ์ ์ฃผ์๋ฌธ ์ฃผ์๊ธฐํธ ์ค๋ช
// //๋ถํฐ ์์ํด์ ์ค ๋๊น์ง ์ฃผ์์ฒ๋ฆฌ /* ... */ /*์ */ ์ฌ์ด์ ๋ด์ฉ์ด ๋ชจ๋ ์ฃผ์์ฒ๋ฆฌ /** ... */ /**์ */์ฌ์ด์ ๋ด์ฉ์ด ๋ชจ๋ ์ฃผ์์ฒ๋ฆฌ JavaDoc ์ฃผ์๋ฌธ JavaDoc ์ฃผ์๋ฌธ์์ ์ฌ์ฉํ๋ ํ๊ทธ๋ค annotation ์ค๋ช
@version ํด๋์ค๋ ๋ฉ์๋์ ๋ฒ์ @author ์์ฑ์ @deprecated ๋์ด์ ์ฌ์ฉ๋์ง ์๊ฑฐ๋, ์ญ์ ๋ ์์ @since ์ธ์ ์์ฑ, ์ถ๊ฐ, ์์ ๋์๋๊ฐ? @see ์ธ๋ถ ๋งํฌ๋ ํ
์คํธ, ๋ค๋ฅธ ํ๋๋ ๋ฉ์๋ ๋งํฌ์ ์ฌ์ฉ @link see์ ๋์ผ ๊ธฐ๋ฅ. ๋งํฌ ์ ๊ณต @exception ๋ฐ์ํ ์ ์๋ Exception ์ ์ IntelliJ..