๐Ÿผ๋ฐฑ์•ค๋“œ

์ด์ „ ๊ธ€์—์„œ 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..
๊ณ„๋ž€์†Œ๋…„
'๐Ÿผ๋ฐฑ์•ค๋“œ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (6 Page)