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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ62

[์šด์˜์ฒด์ œ์™€ ์ •๋ณด๊ธฐ์ˆ ์˜ ์›๋ฆฌ] 2์žฅ ์šด์˜์ฒด์ œ ๊ฐœ์š” ์šด์˜์ฒด์ œ๋ž€? ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด ๋ฐ”๋กœ ์œ—๋‹จ์— ์„ค์น˜๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ด๋ฉฐ, ์‚ฌ์šฉ์ž ๋ฐ ๋‹ค๋ฅธ ๋ชจ๋“  ์†Œํ”„ํŠธ์›จ์–ด์™€ ํ•˜๋“œ์›จ์–ด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ด๋‹ค. ์ปค๋„์ด๋ž€? ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์ฃผํ•˜๋Š” ์šด์˜์ฒด์ œ์˜ ๋ถ€๋ถ„์„ ๋งํ•œ๋‹ค. ์šด์˜์ฒด์ œ์˜ 2๊ฐ€์ง€ ์ฃผ์š” ๊ธฐ๋Šฅ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ๋‚ด์˜ ์ž์›(resource)์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ ์šด์˜์ฒด์ œ์˜ ๋ถ„๋ฅ˜ ๋™์‹œ ์ž‘์—… ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹จ์ผ์ž‘์—…(single tasking) ๋‹ค์ค‘์ž‘์—…(multi tasking) : ์šด์˜์ฒด์ œ๊ฐ€ ๋‹ค์ค‘์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ๋•Œ์—๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์ด CPU์™€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•œ๋‹ค. ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ ์ผ๊ด„์ฒ˜๋ฆฌ(batch processing) : ์š”์ฒญ๋œ ์ž‘์—…์„ ์ผ์ •๋Ÿ‰์”ฉ ๋ชจ์•„์„œ ํ•œ๊บผ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋ฉฐ, ๋ชจ๋“  ์ž‘์—…์ด ์™„์ „ํžˆ ์ข…๋ฃŒ๋œ ํ›„์— ๊ฒฐ.. 2023. 2. 18.
[์˜ค๋ธŒ์ ํŠธ] ๋ถ€๋ก 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.