์คํฐ๋50 [์ค๋ธ์ ํธ] ๋ถ๋ก A '๊ณ์ฝ์ ์ํ ์ค๊ณ' ๋ถ๋ก A์์๋ ์ฌ์ ์กฐ๊ฑด, ์ฌํ์กฐ๊ฑด, ๋ถ๋ณ์์ ์์๋ณด๊ณ ๋คํ์ฑ์ ์ธก๋ฉด์์ ์ํผํ์ ๊ณผ ์๋ธํ์ ์ด ์ค์ํด์ผ ํ๋ ์ ์ฝ์กฐ๊ฑด์ ๊ณ์ฝ์ ๊ด์ ์์ ์ค๋ช ํ๋ค. ๊ณ์ฝ์ ์ํ ์ค๊ณ(Design by Contract, DBC)๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋ ฅ์ ํ์ํ ๋ค์ํ ์ ์ฝ๊ณผ ๋ถ์ํจ๊ณผ๋ฅผ ๋ช ์์ ์ผ๋ก ์ ์ํ๊ณ ๋ฌธ์ํํ ์ ์๋ค(p.535). ๊ณ์ฝ์ ์ํ ์ค๊ณ ๊ตฌ์ฑ์์ ์ฌ์ ์กฐ๊ฑด (precondition): ๋ฉ์๋๊ฐ ํธ์ถ๋๊ธฐ ์ํด ๋ง์กฑ๋ผ์ผ ํ๋ ์กฐ๊ฑด. ์๊ตฌ์ฌํญ(requires)์ ๋ช ์ํ๋ฉฐ, ์ฌ์ ์กฐ๊ฑด์ ๋ง์กฑ์ํค๋ ๊ฒ์ ๋ฉ์๋๋ฅผ ์คํํ๋ ํด๋ผ์ด์ธํธ์ ์๋ฌด๋ค. ์ฌํ์กฐ๊ฑด (postcondition): ๋ฉ์๋๊ฐ ์คํ๋ ํ์ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด์ฅํด์ผ ํ๋ ์กฐ๊ฑด. ์ฌํ์กฐ๊ฑด(effects)์ ์๋ฒ๊ฐ ๋ง์กฑ์ํค์ง ๋ชปํ๋ฉด ํด๋ผ์ด์ธํธ์๊ฒ ์์ธ๋ฅผ ๋์ ธ์ค์ผ ํ๋ฉฐ, ์ด.. 2023. 2. 3. [์ปดํจํฐ ๋คํธ์ํน ํํฅ์ ์ ๊ทผ] 2. ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต Chapter 2 : ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต ๋คํธ์ํฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ฆฌ ํด๋ผ์ด์ธํธ-์๋ฒ ๊ตฌ์กฐ server ํญ์ host์ด๋ค. ๊ณ ์ ๋ IP ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ๋ณดํต ๋ฐ์ดํฐ ์ผํฐ์ ์์นํ๊ณ ์๋ค. client ์๋ฒ์ ์ฐ๊ฒฐํ๊ณ ํต์ ํ๋ค. ๊ฐ๋ ๋๋ ํญ์ ์ผ์ ธ ์์ ์ ์๋ค. ์ฃผ์ ๋ณ๋ ๊ฐ๋ฅ (๋ฐ์ดํฐ๋ฅผ ๋จผ์ ์์ฒญํ๊ธฐ ๋๋ฌธ์ ์์ ์ ์ฃผ์๋ฅผ ๋ด์์ ๋ณด๋ผ ์ ์์) ์๋ก ์ง์ ํต์ ํ์ง ์๋๋ค. ์) HTTP, IMAP, FTP P2P ๊ตฌ์กฐ ํญ์ ์ผ์๋ ์๋ฒ๊ฐ ์กด์ฌํ์ง ์๋๋ค. ํผ์ด๋ผ๋ ๊ฐํ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ํธ์คํธ ์์ด ์๋ก ์ง์ ํต์ ํ๊ฒ ํ๋ค. Self-scalability ํ๋ค. ์๋ก์ด ํผ์ด๋ ์์ ๋ถํ๋ฅผ ๋ง๋ค์ด๋ด์ง๋ง, ์๋น์ค ๋ฅ๋ ฅ์ ์ถ๊ฐํ๊ธฐ๋ ํ๋ค. ์ฆ, ํด๋ผ์ด์ธํธ์ ์๊ฐ ๋ง์์ ธ๋ ์์ ์ ์ผ๋ก ์๋น์คํ ์ ์๋ค. ํ๋ก์ธ.. 2023. 1. 28. [์ค๋ธ์ ํธ] 15์ฅ '๋์์ธ ํจํด๊ณผ ํ๋ ์์ํฌ' 15์ฅ์ ์ค๊ณ๋ฅผ ์ฌ์ฌ์ฉํ๋ ๋์์ธ ํจํด๊ณผ ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ๋ ํ๋ ์์ํฌ์ ๋ํด ์ค๋ช ํ๊ณ , ์ด์ movie ์์ ์ ์ ์ฉ๋ ๋์์ธ ํจํด์ ์๊ฐํ๋ค. ๋์์ธ ํจํด์ด๋? - ์ํํธ์จ์ด ์ค๊ณ์์ ๋ฐ๋ณต์ ์ผ๋ก ๋ฐ์ํ๋ ๋ฌธ์ ์ ๋ํด ๋ฐ๋ณต์ ์ผ๋ก ์ ์ฉํ ์ ์๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด๋ค(์ค๊ณ ์ฌ์ฌ์ฉ). - ๋์์ธ ํจํด์ ํน์ ์ ํฉ(context)๋ด์์ ์ผ๋ฐ์ ์ธ ์ค๊ณ ๋ฌธ์ (problem)๋ฅผ ํด๊ฒฐ(solution)ํ๋ฉฐ, ํ๋ ฅํ๋ ์ปดํฌ๋ํธ๋ค ์ฌ์ด์์ ๋ฐ๋ณต์ ์ผ๋ก ๋ฐ์ํ๋ ๊ตฌ์กฐ๋ฅผ ์์ ํ๋ค(p.516). - ํจํด์ ๊ณตํต์ผ๋ก ์ฌ์ฉํ ์ ์๋ ์ญํ , ์ฑ ์, ํ๋ ฅ์ ํ ํ๋ฆฟ์ด๋ค(p.517). - ํน์ ํ ๋ณ๊ฒฝ์ ์บก์ํํจ์ผ๋ก์จ ํ๋ ฅ์ ์ผ๊ด์ฑ ์๊ณ ์ ์ฐํ๊ฒ ํด์ค๋ค. ๋ฐ๋ผ์, ์ด๋ค ๋์์ธ ํจํด์ด ์ด๋ค ๋ณ๊ฒฝ์ ์บก์ํํ๋์ง๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ค์ํ๋ค. Strate.. 2023. 1. 21. Lambdas and Stream Streams API ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํฌํจํ๋ ์ปฌ๋ ์ ์ด๋ผ๋ ์ฐ๋ฆฌ๊ฐ ์ป๊ณ ์ ํ๋ ์ ๋ณด๋ ๋น์ทํ ์ ์๋ค. ์๋ฅผ ๋ค์ด, '์ด๋ฌํ ์กฐ๊ฑด์ ๋ง๋ ์์ดํ ์ ์ค', '์ด๋ฌํ ๋ฐฉ๋ฒ์ ํ์ฉํด์ ๋ชจ๋ ์์ดํ ์ ๋ฐ๊ฟ์ค, ' '์ค๋ณต๋ ๋ฐ์ดํฐ๋ ์ง์์ค', ๋๋ '์ด๋ฐ ๋ฐฉ๋ฒ์ผ๋ก ์์๋ค์ ์ ๋ ฌํด ์ค' ๋ฑ์ ์ปฌ๋ ์ ์ ์์ฒญํ๋ค๊ณ ์๊ฐํด ๋ณด์. ์ฐ๋ฆฌ๋ ์ด๋ฌํ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด for๋ฌธ๊ณผ Iterator๋ฅผ ์ด์ฉํด์ ์ฝ๋๋ฅผ ์์ฑํ๊ฑฐ๋ ๊ฐ ์ปฌ๋ ์ ํด๋์ค์ ๋ง๋ ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ์๋ค. List๋ฅผ ์ ๋ ฌํ ๋๋ Collections.sort()๋ฅผ ์ฌ์ฉํ๊ณ ๋ฐฐ์ด์ ์ ๋ ฌํ ๋๋ Arrays.sort()๋ฅผ ์ฌ์ฉํ๋ค. Streams API๋ ๋ฐ์ดํฐ ์์ค๋ฅผ ์ถ์ํ ํด์ ๋ฐ์ดํฐ ์์ค๊ฐ ๋ฌด์์ด๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ค๋ฃฐ ์ ์๋ ๋ฉ์๋๋ฅผ ์ ๊ณตํด ์ค๋ค. ๊ทธ๋์ ์ฐ.. 2023. 1. 19. [์ค๋ธ์ ํธ] 14์ฅ '์ผ๊ด์ฑ ์๋ ํ๋ ฅ' 14์ฅ์ ์ค๊ณ๋ฅผ ์ผ๊ด์ฑ ์๊ฒ ๋ง๋ค๊ธฐ ์ํด ๋ณ๊ฒฝ์ ์บก์ํํ๋ ๊ธฐ๋ฒ์ ์๊ฐํ๋ค. ์ ๋ฆฌํ์๋ฉด ์ ์ฌํ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด ์ ์ฌํ ํ๋ ฅ ํจํด์ ์ฌ์ฉํด์ผ ํ๋๋ฐ, ์ผ๊ด์ฑ ์๋ ํ๋ ฅ ํจํด์ ์ ์ฉํ๋ฉด ์ฝ๋๊ฐ ์ดํดํ๊ธฐ ์ฝ๊ณ ์ง๊ด์ ์ด๋ฉฐ ์ ์ฐํด์ง๊ธฐ ๋๋ฌธ์ด๋ค. ์ผ๊ด์ฑ ์๋ ํ๋ ฅ์ ์ค๋ช ํ๊ธฐ ์ํด ์ฑ ์์๋ ์ ๋ฒ์ ๋ค๋ฃจ์๋ ํธ๋ํฐ ์๊ธ์ ์์ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ค. ์ฝ๋๋ก ์ค๋ช ํด ์ฃผ๋ ๊ฑฐ ์ข์๋ฐ... ์ฝ๋ ๋๋ฌด ์ด๋ ต๋ค.... ใ ใ ์บก์ํ ์ข ๋ฅ ๊ฐ๋ณ ๊ฐ์ฒด์ ๋ํ ๋ณ๊ฒฝ ๊ด๋ฆฌ ๋ฐ์ดํฐ ์บก์ํ : ํด๋์ค์ ์ธ์คํด์ค ๋ณ์๋ฅผ private์ผ๋ก ์ธ๋ถ์์ ์ ๊ทผํ ์ ์๋๋ก ์บก์ํํ ๊ฒ. ๋ฉ์๋ ์บก์ํ : ํด๋์ค์ ๋ด๋ถ ํ๋์ ์บก์ํํ ๊ฒ ํ๋ ฅ์ ์ฐธ์ฌํ๋ ๊ฐ์ฒด๋ค์ ๊ด๊ณ์ ๋ํ ๋ณ๊ฒฝ ๊ด๋ฆฌ ๊ฐ์ฒด ์บก์ํ : ๊ฐ์ฒด์ ๊ฐ์ฒด ์ฌ์ด์ ๊ด๊ณ๋ฅผ ์บก์ํํ ๊ฒ. (ํฉ์ฑ์.. 2023. 1. 14. [์ปดํจํฐ ๋คํธ์ํน ํํฅ์ ์ ๊ทผ] 1. ์ปดํจํฐ ๋คํธ์ํฌ์ ์ธํฐ๋ท Chapter 1 : ์ปดํจํฐ ๋คํธ์ํฌ์ ์ธํฐ๋ท ํ๋กํ ์ฝ์ด๋? ๋ ์ด์์ ํต์ ๊ฐ์ฒด ๊ฐ์ ๊ตํ๋๋ ๋ฉ์์ง ํฌ๋งท, ์์๋ฟ๋ง ์๋๋ผ, ๋ฉ์์ง์ ์ก์์ ๊ณผ ๋ค๋ฅธ ์ด๋ฒคํธ์ ๋ฐ๋ฅธ ํ๋๋ค์ ์ ์ํ๋ฉฐ, ์ธํฐ๋ท์ ๋ชจ๋ ์ปค๋ฎค๋์ผ์ด์ ์ ํ๋กํ ์ฝ์ ๋ฐ๋ฅธ๋ค. The Network edge hosts: clients and servers ์๋ฒ๋ ๋ณดํต ๋ฐ์ดํฐ ์ผํฐ ๋ด์ ์์ The Network core Packet Switching ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ๋ ํจํท์ด๋ผ๋ ์์ ๋ฐ์ดํฐ ๋ฉ์ด๋ฆฌ๋ก ๋ถํ ํด์ ๋ณด๋ ์ก์ ์ธก๊ณผ ์์ ์ธก ์ฌ์ด์์ ๊ฐ ํจํท์ ํต์ ๋งํฌ์ ํจํท ์ค์์น(๋ผ์ฐํฐ/๋งํฌ ๊ณ์ธต ์ค์์น)๋ฅผ ๊ฑฐ์นจ ํจํท์ ๋งํฌ์ ์ต๋ ์ ์ก๋ฅ ๊ณผ ๊ฐ์ ์๋๋ก ๊ฐ๊ฐ์ ํต์ ๋งํฌ์์ ์ ์ก๋จ ํจํท ์ค์์น๋ store-and-forward ๋ฐฉ์์ ์ด์ฉํจ ํจํท ์ค์.. 2023. 1. 7. ์ด์ 1 ยทยทยท 3 4 5 6 7 8 9 ๋ค์