
ํ๋ก๊ทธ๋จ์ด ๋์คํฌ ์ฝ๊ธฐ๋ฅผ ์์ฒญํ์ต๋๋ค. ๋์คํฌ๋ CPU๋ณด๋ค ์๋ง ๋ฐฐ ๋๋ฆฝ๋๋ค. ์์ฒญํ ํ๋ก๊ทธ๋จ์ ๊ทธ๋์ ๋ฌด์์ ํด์ผํ ๊น์. ๋ต์ด ๋ ๊ฐ์ง์ ๋๋ค.๋๊ธฐ์ ์ ์ถ๋ ฅ(synchronous I/O): ์ ์ถ๋ ฅ์ด ๋๋ ๋ค์์ผ ์ ์ด๊ฐ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ผ๋ก ๋์ด์ต๋๋ค. ์์ฒญํ ํ๋ก๊ทธ๋จ์

"C101์ด๋ M201์ ๋ค์ ํ์", "๊ฐ์ ํ๊ณผ ํ์ ์" ๊ฐ์ ์ง๋ฌธ์ ๊ฒฐ๊ณผ ๋ ๊ฐ๋ฅผ ๋ถ์ด๊ฑฐ๋ ๋ฆด๋ ์ด์ ์ ๊ฒน์ณ์ผ ๋ต์ด ๋์ต๋๋ค.์งํฉ ์ฐ์ฐ(UNION, INTERSECT, EXCEPT)์ ํฉ์งํฉ ํธํ์ฑ(union compatibility)์ด ์ ์ ์ ๋๋ค. ์กฐ์ธ(join

์ ํธ์์ ๋ณธ ๊ด๊ณ ๋์๋ ์ ์ฐจ์ ์ ๋๋ค. ๋ฌด์์ ์ด๋ค ์์๋ก ๊ณ์ฐํ ์ง ์ฌ๋์ด ์ง์ ์ ์ด์ผ ํ๊ณ , ์ฐ์ ์ฐ์ฐ๋ ์ ๋ ฌ๋ ๊ฐฑ์ ๋ ์ ๋ฉ๋๋ค. ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๋ ค๋ฉด ๊ทธ๊ฒ๋ค์ด ์ ๋ถ ํ์ํฉ๋๋ค.SQL์ 1974๋ IBM ์ฐํธ์ธ ์ฐ๊ตฌ์์์ System R์ด๋ผ๋ ๊ด๊ณ DBMS

์ธํฐ๋ท์ ๊ณ์ธต์ ๋ค์ฏ ๊ฐ์ ๋๋ค.๊ฐ ์ธต์ ์๋ ์ธต์๊ฒ "์์์ ๋ฐฐ๋ฌํด ๋ฌ๋ผ"๊ณ ๋งก๊ธฐ๊ณ , ์๊ธฐ ์ธต์์ ํ์ํ ์ ๋ณด๋ฅผ header(ํค๋)์ ์ ์ด ๋ถ์ ๋๋ค. ๊ทธ๋์ ๋ฐ์ดํฐ๋ ๋ด๋ ค๊ฐ์๋ก ํค๋๊ฐ ๊ฒน๊ฒน์ด ์์ด๊ณ , ๋ฐ๋ ์ชฝ์์๋ ๋ฐ๋๋ก ํ ๊ฒน์ฉ ๋ฒ๊ฒจ์ง๋๋ค. ์ด๊ฒ์ด encapsulat

์ปดํจํฐ๋ CPU, ๋ฉ๋ชจ๋ฆฌ(memory), ์ ์ถ๋ ฅ ์ฅ์น(I/O device) ์ธ ๋ฉ์ด๋ฆฌ๋ก ๋๋ฉ๋๋ค.์ฌ๊ธฐ์ ์ค์ํ ์ ์ ๊ฐ ํ๋ ์์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ๋ CPU์ ์์ ๊ณต๊ฐ์ด๋ผ๋ ๊ฒ์ ๋๋ค. CPU๋ ๋์คํฌ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ง์ ์ฝ์ง ๋ชปํฉ๋๋ค. ๋ฐ๋์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์จ ๊ฒ๋ง ์ฒ๋ฆฌํฉ๋

๊ฐ์ ์ฝ๋๋ผ๋ ์ด๋ค ํ๋์จ์ด์ ์ํํธ์จ์ด ์์์ ๋๋ฆฌ๋๋์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ๋ฌ๋ผ์ง๋๋ค. CPU ์๋, ๋ฉ๋ชจ๋ฆฌ, ์ด์์ฒด์ , ์ธํฐํ๋ฆฌํฐ ๊ตฌํ์ด ์ ๋ถ ์ ๊ฐ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.๊ทธ๋์ ์ด ๋จ์ ์ค์ธก๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฑ๋ฅ์ด๋ผ๊ธฐ๋ณด๋ค "์ด ์๊ณ ๋ฆฌ์ฆ์ ์ด ํ๊ฒฝ์์ ๋๋ฆฐ ๊ฒฐ๊ณผ"์ ๊ฐ๊น์ต๋๋ค.

SQL๋ง ์๋ ์ํ์์๋ "๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ด๋ ๋ ์ฟผ๋ฆฌ์ ์๋๊ฐ ์ ๋ค๋ฅธ๊ฐ"๋ฅผ ์ค๋ช ํ ์ ์์ต๋๋ค. SQL์ ์ํ๋ ๊ฒฐ๊ณผ๋ง ์ ์ ๋ฟ ๊ณ์ฐ ์์๋ฅผ ์ ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ ์์๋ฅผ ์ ๋ ์ธ์ด๊ฐ ๊ด๊ณ ๋์์ด๊ณ , DBMS๋ SQL์ ๊ด๊ณ ๋์ ์์ผ๋ก ๋ฐ๊พผ ๋ค ๊ทธ ์์ ๋ณํํด

์ธํฐ๋ท์ ํฌ๊ฒ network edge(๋คํธ์ํฌ ์ฃ์ง)์ network core(๋คํธ์ํฌ ์ฝ์ด)๋ก ๋๋ฉ๋๋ค. ๋ ธํธ๋ถ, ํด๋ํฐ, ์๋ฒ ๊ฐ์ end system์ ๋ชจ๋ edge์ ์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ๋ฐฐํฌํ๋ ์๋น์ค๋ ์ฌ๊ธฐ ์์ต๋๋ค. core์๋ router(๋ผ์ฐํฐ)๊ฐ ์๊ณ ,

ํ๋ก๊ทธ๋จ ํ๋๋ฅผ ์คํํ๋ค๊ณ ํด๋ด ์๋ค. ์ด์์ฒด์ ๊ฐ ์๋ค๋ฉด ์ด ํ๋ก๊ทธ๋จ์ CPU๋ฅผ ์ธ์ ๋ถํฐ ์ผ๋ง๋ ์ธ์ง, ๋ฉ๋ชจ๋ฆฌ์ ์ด๋ ์ฃผ์์ ์ฌ๋ผ๊ฐ์ง, ๋์คํฌ์ ์ด๋ ์์น์ ํ์ผ์ ์ธ์ง๋ฅผ ์ค์ค๋ก ์ ํด์ผ ํฉ๋๋ค. ํ๋ก๊ทธ๋จ์ด ๋ ์ด์์ด ๋๋ฉด ๋ฌธ์ ๊ฐ ์ปค์ง๋๋ค. ์๋ก ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ฎ์ด์ฐ

ํ๋ก๊ทธ๋จ์ด ๋ค๋ฃจ๋ ๊ฒ์ ๊ฒฐ๊ตญ ์๋ฃ(data)์ ๋๋ค. ์๋ฃ๋ ์ด๋๊ฐ์ ๋์ฌ์ผ ํ๊ณ , ๊ทธ ์๋ฆฌ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋๋ค. ๊ทธ๋ฐ๋ฐ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค๋๊ธฐ๋ง ํ๋ฉด ํ ์ ์๋ ์ผ์ด ์์ต๋๋ค. ๊ฐ์ ๊บผ๋ด ์ค๊ณ , ๋ฐ๊พธ๊ณ , ์ค๊ฐ์ ๋ผ์ ๋ฃ๊ณ , ์ง์ฐ๊ณ , ์ฐพ์ ์ ์์ด์ผ ๋น๋ก์ ์ธ๋ชจ๊ฐ ์๊น๋๋ค.

๋์ ๋๋ฆฌ๋ก ํ๋ ์ผ์ ๋๋ถ๋ถ์ ๊ฒฐ๊ตญ ์ธ ๊ฐ์ง์ ๋๋ค. ๊ฐ์ ์ ๊ทผํ๊ณ , ๋์ ํ๊ณ , ์ญ์ ํ๋ ๊ฒ์ ๋๋ค. ์ด ์ค์์ ์ ๋ ์ฝ๋๊ฐ ์ง์ ๋ถํด์ง๋ ์ง์ ์ด "ํค๊ฐ ์์ง ์์ ๋"์ ์ฒ๋ฆฌ์ ๋๋ค. ํฌํ ์ง๊ณ, ํ๊ทธ๋ณ ๊ทธ๋ฃนํ, ์ฌ์ฉ์๋ณ ์ด๋ฒคํธ ๋์ ์ฒ๋ผ ํํ ์์ ๋ง๋ค ๊ฐ์ ๋ถ๊ธฐ๊ฐ ๋ฐ๋ณต๋ฉ๋๋ค

ํ์ด์ฌ 3.7๋ถํฐ dict๋ ํค๋ฅผ ์ฝ์ ํ ์์๋๋ก ์ํํ๋ค๋ ๊ฒ์ด ์ธ์ด ๋ช ์ธ๋ก ๋ณด์ฅ๋ฉ๋๋ค. ๋๋ถ์ ์ ๋ ฌ ์ฝ๋๋ฅผ ๋ฐ๋ก ์ฐ์ง ์๊ณ ๋ "๊ฐ์ฅ ๋จผ์ ๋ฑ๋ก๋ ํญ๋ชฉ"์ ์ฒซ ๋ฒ์งธ๋ก ๊บผ๋ด ์ฐ๋ ์ฝ๋๊ฐ ์์ฐ์ค๋ฝ๊ฒ ์๋ฆฌ ์ก์์ต๋๋ค. ์ฌ๊ธฐ๊น์ง๋ ์์ฌํด๋ ์ข์ต๋๋ค.ํจ์ ์ ํจ์๊ฐ ๋ฐ๋ ์ธ์๊ฐ

๋ฆฌ์คํธ ์ธ ๊ฐ๋ฅผ ์์๋๋ก ์ด์ด ๋ถ์ด๋ ค๊ณ ์ด์ค for ๋ฌธ์ ์ฐ๊ณ , ์ธ์ ํ ๋ ์์๋ฅผ ๋น๊ตํ๋ ค๊ณ range(len(items) - 1)์ ๊บผ๋ด๊ณ , ๊ณ ์ ํฌ๊ธฐ๋ก ์๋ผ ๋ฐฐ์น ์ ์กํ๋ ค๊ณ ์ธ๋ฑ์ค ๊ณ์ฐ์ ์์ผ๋ก ํ๊ณ ์๋ ๊ฒฝ์ฐ๊ฐ ์์ ๊ฒ๋๋ค. ์ด๋ฐ ์ฝ๋๋ ๋์ฒด๋ก ์งง์ง๋ง ๊ฒฝ๊ณ ์กฐ๊ฑด์

์ญ๋ง ์ค์ง๋ฆฌ ๋ก๊ทธ ํ์ผ์ ํ์ผ๋ฉด์ "์์๋ ์ค์ด ํ๋๋ผ๋ ์๋๊ฐ"๋ฅผ ํ๋จํ๋ ์ฝ๋๋ฅผ ์์ํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค. ๋ ๋ฒ์งธ ์ค์์ ์ด๋ฏธ ์์์ด ๋ฐ๊ฒฌ๋๋ค๋ฉด ๋๋จธ์ง ๊ตฌ๋ง ๊ตฌ์ฒ์ฌ ์ค์ ์ฝ์ ์ด์ ๊ฐ ์์ต๋๋ค. any์ all์ ์ ํํ ๊ทธ๋ฐ ํ๋จ์ ์ํด ๋ง๋ค์ด์ง ๋ด์ฅ ํจ์์ ๋๋ค. a

๋์ ๋๋ฆฌ๋ฅผ ๋๋ฉด์ ์กฐ๊ฑด์ ๋ง๋ ํญ๋ชฉ์ ํ์ ํค๋ฅผ ํ๋์ฉ ๋ถ์ด๋ ์ฝ๋๋ฅผ ์ง๋ค๊ฐ RuntimeError: dictionary changed size during iteration์ ๋ง๋ ์ ์ด ์์๊ฒ๋๋ค. ๋ ผ๋ฆฌ์ ์ผ๋ก๋ ์๋ฌด ๋ฌธ์ ๊ฐ ์์ด ๋ณด์ด๋๋ฐ ์ธํฐํ๋ฆฌํฐ๊ฐ ๊ฐ์๊ธฐ ์๋ฌ๋ฅผ ๋ด

๋ฆฌ์คํธ๋ฅผ ๋ฐ์ ์ ๋์ํ๋ ํจ์๊ฐ ์ ๋๋ ์ดํฐ(generator)๋ฅผ ๋๊ธฐ๋ ์๊ฐ ๋น ๊ฒฐ๊ณผ๋ฅผ ๋ฑ๋ ์ํฉ์ ๋ง๋์ ์ ์์๊ฒ๋๋ค. ์์ธ๋ ์๊ณ ๋ก๊ทธ๋ ์กฐ์ฉํ๋ฐ ๊ฒฐ๊ณผ๋ง ๋น์ด ์๋ ์ด ์ฆ์์, ํจ์๊ฐ ์ธ์๋ฅผ ๋ ๋ฒ ์ด์ ์ํํ ๋ ๋ฒ์ด์ง๋๋ค.์์ธ์ ์ดํฐ๋ ์ดํฐ(iterator)๊ฐ

ํ์ด์ฌ์ for ๋ฃจํ ๋ณ์๋ ๋ฃจํ ์์์๋ง ์ฌ๋ ์กด์ฌ๊ฐ ์๋๋๋ค. ๋ฃจํ๊ฐ ๋๋ ๋ค์๋ ๋ง์ง๋ง ๊ฐ์ ๊ทธ๋๋ก ํ์ ์ฑ ๋ฐ๊นฅ ์ค์ฝํ์ ๋จ์ ์์ต๋๋ค. C๋ ์๋ฐ์์ ๋ธ๋ก ์์ ์ ์ธํ ๋ณ์๊ฐ ๋ธ๋ก์ ๋ฒ์ด๋๋ฉด ์ฌ๋ผ์ง๋ ๊ฒ๊ณผ๋ ์ ๋ฐ๋์ ๋์์ ๋๋ค.์ด ์ฑ์ง์ ์๊ณ ๋๋ฉด ์ ํน์ด ๋ฐ๋ผ

ํ์ด์ฌ์ for์ while ๋ฃจํ ๋ฐ๋ก ๋ค์ else ๋ธ๋ก์ ๋ถ์ผ ์ ์๊ฒ ํ์ฉํฉ๋๋ค. ๋ค๋ฅธ ์ธ์ด์์ ๋ณด๊ธฐ ํ๋ ๋ฌธ๋ฒ์ด๋ผ ์ฒ์ ๋ฐ๊ฒฌํ๋ฉด ๋ญ๊ฐ ๋๋จํ ๊ธฐ๋ฅ์ฒ๋ผ ๋๊ปด์ง์ง๋ง, ์ค์ ๋์์ ํ์ธํ๊ณ ๋๋ฉด ๋๋ถ๋ถ ๊ณ ๊ฐ๋ฅผ ๊ฐธ์ํ๊ฒ ๋ฉ๋๋ค.ํผ๋์ ์์ธ์ else๋ผ๋ ๋จ์ด๊ฐ ํ์ด์ฌ

์ค๋ฌด์์ ๋ค๋ฃจ๋ ๋ฆฌ์คํธ๋ ํผ์ ๋ค๋๋ ๋ฒ์ด ๊ฑฐ์ ์์ต๋๋ค. ์ฌ์ฉ์ ์ด๋ฆ ๋ฆฌ์คํธ๊ฐ ์์ผ๋ฉด ๊ทธ ์ฌ์ฉ์์ ์ ์ ๋ฆฌ์คํธ๊ฐ ๋ฐ๋ก ์๊ณ , ์ปดํ๋ฆฌํจ์ (comprehension)์ผ๋ก ์๋ณธ ๋ฆฌ์คํธ๋ฅผ ๊ฐ๊ณตํด ํ์ ๋ฆฌ์คํธ๋ฅผ ํ๋ ๋ ๋ง๋๋ ์ผ๋ ํํฉ๋๋ค. ์ด๋ ๊ฒ ๋ง๋ค์ด์ง ๋ ๋ฆฌ์คํธ๋ "๊ฐ

range๋ ์ ์ ์งํฉ์ ์ํํ ๋ ์ฐ๋ผ๊ณ ๋ง๋ ๋๊ตฌ์ ๋๋ค. ๋์๋ฅผ ์ฌ๋ ๋ฒ ๋ฝ๊ฑฐ๋ 0๋ถํฐ 9๊น์ง ๋ํ๋ ์ฝ๋๋ผ๋ฉด range๊ฐ ์ ํํ ์ ์๋ฆฌ๋ฅผ ์ฐพ์ ์ ์ ๋๋ค.๋ฌธ์ ๋ ์ด ๋๊ตฌ๊ฐ ๋ฆฌ์คํธ ์ํ์๊น์ง ๋๋ ค ๋์ฌ ๋ ์๊น๋๋ค. "์ธ๋ฑ์ค๋ ๊ฐ์ด ํ์ํ๋ค"๋ ์ด์ ๋ก range(le