๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์Šคํ„ฐ๋””44

[์˜ค๋ธŒ์ ํŠธ] ๋ถ€๋ก B, C 'ํƒ€์ž… ๊ณ„์ธต์˜ ๊ตฌํ˜„', '๋™์ ์ธ ํ˜‘๋ ฅ, ์ •์ ์ธ ์ฝ”๋“œ' ๋ถ€๋ก B๋Š” ์ƒ์†์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ํƒ€์ž… ๊ณ„์ธต์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•œ๋‹ค. ๋ถ€๋ก C๋Š” ๋™์ ์ธ ํ˜‘๋ ฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •์ ์ธ ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•œ๋‹ค. ํƒ€์ž… ๊ณ„์ธต์˜ ๊ตฌํ˜„ ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•œ ํƒ€์ž… ๊ณ„์ธต ๊ตฌํ˜„ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์—์„œ ํด๋ž˜์Šค๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ํƒ€์ž…(user-defined data type)์ด๊ณ , ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด์˜ ํƒ€์ž…๊ณผ ๊ตฌํ˜„์„ ๋™์‹œ์— ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•œ ํƒ€์ž… ๊ณ„์ธต์€ ์ƒ์†์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ƒ์†์„ ์ด์šฉํ•  ๊ฒฝ์šฐ, ์ž์‹ํด๋ž˜์Šค๋Š” ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๊ตฌํ˜„๊ณผ ํผ๋ธ”๋ฆญ ์ธํ„ฐํŽ˜์ด์Šค ๋ชจ๋‘ ๋ฌผ๋ ค๋ฐ›์„ ์ˆ˜ ์žˆ์–ด ํƒ€์ž… ๊ณ„์ธต์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ž์‹ํด๋ž˜์Šค์™€ ๋ถ€๋ชจํด๋ž˜์Šค๋ฅผ ๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ์‹œํ‚ค๊ธฐ ๋•Œ๋ฌธ์— ๋˜๋„๋ก์ด๋ฉด ์ถ”์ƒ ํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™œ์šฉํ•ด์„œ ํƒ€์ž… ๊ณ„์ธต์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ด์šฉํ•œ ํƒ€์ž… ๊ณ„.. 2023. 2. 10.
[์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํ‚น ํ•˜ํ–ฅ์‹ ์ ‘๊ทผ] 3. ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต ๊ฐ๊ธฐ ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ์—์„œ ๋™์ž‘ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์„ธ์Šค ๊ฐ„์˜ ๋…ผ๋ฆฌ์  ํ†ต์‹  ์ œ๊ณต (ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต์€ ํ”„๋กœ์„ธ์Šค ๊ฐ„์˜ ํ†ต์‹ ์ด๊ณ , ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์€ ํ˜ธ์ŠคํŠธ ๊ฐ„์˜ ํ†ต์‹ ์ด๋‹ค.) ๋‹ค์ค‘ํ™”์™€ ์—ญ๋‹ค์ค‘ํ™” ์—ญ๋‹ค์ค‘ํ™” : ํŠธ๋žœ์ŠคํฌํŠธ ๊ณ„์ธต ์„ธ๊ทธ๋จผํŠธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ์†Œ์ผ“์œผ๋กœ ์ „๋‹ฌ, ํŠธ๋žœ์ŠคํฌํŠธ ํ—ค๋” ์ž‘์„ฑ ํ˜ธ์ŠคํŠธ๋Š” IP ๋ฐ์ดํ„ฐ๊ทธ๋žจ์„ ์ˆ˜์‹ ํ•˜๊ณ , IP ์ฃผ์†Œ์™€ ํฌํŠธ ๋„˜๋ฒ„๋ฅผ ์‚ฌ์šฉํ•ด ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ์†Œ์ผ“์œผ๋กœ ์ „๋‹ฌํ•œ๋‹ค. ๋น„์—ฐ๊ฒฐ ์—ญ๋‹ค์ค‘ํ™”์™€ ์—ฐ๊ฒฐ์ง€ํ–ฅ์  ์—ญ๋‹ค์ค‘ํ™”๊ฐ€ ์žˆ๋‹ค. ๋‹ค์ค‘ํ™” : ์ถœ๋ฐœ์ง€ ํ˜ธ์ŠคํŠธ์—์„œ ์†Œ์ผ“์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์œผ๊ณ , ์ด์— ๋Œ€ํ•œ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ๋ฐ์ดํ„ฐ์— ํ—ค๋” ์ •๋ณด๋กœ ์บก์Šํ™”ํ•˜๊ณ , ๊ทธ ์„ธ๊ทธ๋จผํŠธ๋“ค์„ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” ์ž‘์—… ๋‹ค์ค‘ํ™”์˜ 2๊ฐ€์ง€ ์š”๊ฑด 1. ์†Œ์ผ“์€ ์œ ์ผํ•œ ์‹๋ณ„์ž๋ฅผ ๊ฐ–๋Š”๋‹ค 2. ๊ฐ ์„ธ๊ทธ๋จผํŠธ๋Š” ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ์ „.. 2023. 2. 6.
[์˜ค๋ธŒ์ ํŠธ] ๋ถ€๋ก 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.
[์˜ค๋ธŒ์ ํŠธ] 14์žฅ '์ผ๊ด€์„ฑ ์žˆ๋Š” ํ˜‘๋ ฅ' 14์žฅ์€ ์„ค๊ณ„๋ฅผ ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋ณ€๊ฒฝ์„ ์บก์Šํ™”ํ•˜๋Š” ๊ธฐ๋ฒ•์„ ์†Œ๊ฐœํ•œ๋‹ค. ์ •๋ฆฌํ•˜์ž๋ฉด ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์œ ์‚ฌํ•œ ํ˜‘๋ ฅ ํŒจํ„ด์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ผ๊ด€์„ฑ ์žˆ๋Š” ํ˜‘๋ ฅ ํŒจํ„ด์„ ์ ์šฉํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ์ง๊ด€์ ์ด๋ฉฐ ์œ ์—ฐํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ผ๊ด€์„ฑ ์žˆ๋Š” ํ˜‘๋ ฅ์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ์ฑ…์—์„œ๋Š” ์ €๋ฒˆ์— ๋‹ค๋ฃจ์—ˆ๋˜ ํ•ธ๋“œํฐ ์š”๊ธˆ์ œ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ฝ”๋“œ๋กœ ์„ค๋ช…ํ•ด ์ฃผ๋Š” ๊ฑฐ ์ข‹์€๋ฐ... ์ฝ”๋“œ ๋„ˆ๋ฌด ์–ด๋ ต๋‹ค.... ใ… ใ…  ์บก์Šํ™” ์ข…๋ฅ˜ ๊ฐœ๋ณ„ ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ๊ด€๋ฆฌ ๋ฐ์ดํ„ฐ ์บก์Šํ™” : ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋ฅผ private์œผ๋กœ ์™ธ๋ถ€์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋„๋ก ์บก์Šํ™”ํ•œ ๊ฒƒ. ๋ฉ”์„œ๋“œ ์บก์Šํ™” : ํด๋ž˜์Šค์˜ ๋‚ด๋ถ€ ํ–‰๋™์„ ์บก์Šํ™”ํ•œ ๊ฒƒ ํ˜‘๋ ฅ์— ์ฐธ์—ฌํ•˜๋Š” ๊ฐ์ฒด๋“ค์˜ ๊ด€๊ณ„์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ๊ด€๋ฆฌ ๊ฐ์ฒด ์บก์Šํ™” : ๊ฐ์ฒด์™€ ๊ฐ์ฒด ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์บก์Šํ™”ํ•œ ๊ฒƒ. (ํ•ฉ์„ฑ์„.. 2023. 1. 14.