๐ฅ CS ์ง์(3)
-
[CS ์ง์] Serialization์ ๊ฐ๋ ๊ณผ ์์
Serialization์ ๋ํด ๋ค์ด๋ณด์ จ๋์? ์ผํ ๋ค์ด๋ง ๋ณธ ๋ง์ฐํ ๋จ์ด์์ ๊ฒ์ ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์ Serialization์ ๊ฐ๋ ๊ณผ ์์ ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๋ชฉ์ฐจ ๐ Serialization ๊ฐ๋ ๐ Serialization ์์ (python-pickle) ๐ Serialization ์ข ๋ฅ๊ณผ ๊ฐ ์ฅ๋จ์ Serialization ๊ฐ๋ ๐ ์ ์ Serializaiton์ ์ง์ญํ๋ฉด '์ง๋ ฌํ'์ ๋๋ค. ๊ฐ๋ฐ์๊ฐ ์์ฑํ ๊ฐ์ฒด(object)๋ฅผ byte ํ์ ์ผ๋ก ๋ณํํ๋ ๊ธฐ์ ์ ๋๋ค. ๐ ์ byte ํ์ ์ผ๋ก ๋ณํํ๋๊ฐ? ํ ํ๋ก๊ทธ๋จ ๋ด์์ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ๊ตณ์ด byte ํ์ ์ผ๋ก ๋ณํํ ์ด์ ๊ฐ ์์ต๋๋ค. ํ์ง๋ง ์ํํธ์จ์ด๋ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ๊ณผ ์ธ๋ถ ํต์ ๋ค์ด ์๋ก ์ํธ์์ฉํ๋ฉฐ ์๋ํฉ๋๋ค. ์ํธ์์ฉ์ ์ํด์ ๊ฐ์ฒด๋ฅผ ์ ..
2022.07.11 -
[CS ์ง์] ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP) ๊ฐ๋ ๋ฐ ์์
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP) object-oriented programming ์ด๋ฒ ํฌ์คํ ์์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๊ฐ๋ ๊ณผ ํจ๊ป ์์ ๋ฅผ ์ดํด๋ณผ ๊ฒ์ด๋ฉฐ, ์ธ์ด๋ python์ผ๋ก ์งํํ๊ฒ ์ต๋๋ค. ๐ ์ ์ ๋จผ์ ๊ฐ์ฒด์ ๋ํ ์ ์๋ถํฐ ๋ด๋ฆฌ๊ฒ ์ต๋๋ค. ๊ฐ์ฒด๋? ์ฝ๊ฒ ๋งํด ํ๋์ ์กด์ฌ์ ๋๋ค. ๋ฌผ๋ฆฌ์ ์ผ๋ก ์กด์ฌํ๋ , ์ถ์์ ์ผ๋ก ์๊ฐํ ์ ์๋ ์์ ์ ์์ฑ์ ๊ฐ์ง๊ณ ๋ค๋ฅธ ์กด์ฌ์ ์๋ณ์ด ๊ฐ๋ฅํ๋ฉด ๊ฐ์ฒด๋ผ๊ณ ํ ์ ์์ต๋๋ค. ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ๋ฐ์ง๋ฉด ๋ณ์๋ ๊ฐ์ฒด๊ฐ ๋ ์ ์๊ณ , ํจ์๋ ๊ฐ์ฒด๊ฐ ๋ ์ ์์ต๋๋ค. ๋๋ ๋ณ์์ ํจ์๋ฅผ ๋ฌถ์ ๊ฒ๋ ๊ฐ์ฒด๊ฐ ๋ ์ ์์ต๋๋ค. ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒ๋ค์ด ํ๋์ ์กด์ฌ๋ก ๋ฌถ์ด๊ธฐ๋ง ํ๋ค๋ฉด ๊ฐ์ฒด๊ฐ ๋ ์ ์์ต๋๋ค. ํ์ด์ฌ์ผ๋ก ์๋ฅผ ๋ค๋ฉด, ๋ค์ ๊ฒ๋ค์ด ๋ชจ๋ ๊ฐ์ฒด์ ๋๋ค. # 1 obje..
2022.06.26 -
[CS์ง์] ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ๋ํ์ฌ
๋ฉ๋ชจ๋ฆฌ์ ๊ตฌ์กฐ ํ๋ก๊ทธ๋จ์ด ์คํ๋๊ธฐ ์ํด์ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋์ด์ผ ํฉ๋๋ค. ๋ํ ํ๋ก๊ทธ๋จ์ ๋ณ์๋ค์ด ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋์ด์ผ ํฉ๋๋ค. ์ด์ ์ด์์ฒด์ ๋ค์ ์ฌ๋ฌ ๋ฉ๋ชจ๋ฆฌ ์์ญ๋ค์ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ํ๋ก๊ทธ๋จ์ 4๊ฐ์ง ๋ํ์ ์ธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ์์ ์คํ๋ฉ๋๋ค. 1. ์ฝ๋ ์์ญ 2. ๋ฐ์ดํฐ ์์ญ 3. ํ ์์ญ 4. ์คํ ์์ญ 1. ์ฝ๋ ์์ญ ์ฝ๋ ์์ญ์ ๋ง ๊ทธ๋๋ก ํ๋ก๊ทธ๋จ์ ์ฝ๋๋ฅผ ์ ์ฅํ๋ ๊ณณ์ด๋ค. Text ์์ญ์ด๋ผ๊ณ ๋ ๋ถ๋ฆฝ๋๋ค. CPU๋ ์ฝ๋ ์์ญ์ ์๋ ๋ช ๋ น์ด๋ฅผ ํ๋์ฉ ๊ฐ์ ธ์์ ์ฒ๋ฆฌํฉ๋๋ค. 2. ๋ฐ์ดํฐ ์์ญ ํ๋ก๊ทธ๋จ์ ์ ์ญ ๋ณ์(global variable), ์ ์ ๋ณ์(static variable)๊ฐ ์ ์ฅ๋๋ ์์ญ์ ๋๋ค. ํ๋ก๊ทธ๋จ์ ์์๊ณผ ํจ๊ป ํ ๋น๋๋ฉฐ, ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃํ๋ฉด ์๋ฉธ๋ฉ๋๋ค. * ์ ์ญ ๋ณ์: ํ๋ก๊ทธ๋จ ๋ด ์ด๋..
2022.06.12