왜 배워야하는가?파이썬에서는 모든 것은 객체로 취급이 됩니다. 즉, 정수, 문자열, 클래스의 인스턴스 뿐만 아니라 함수 또한 객체로 취급이 됩니다. 파이썬에서 함수를 호출할 경우 객체의 종류에 따라 개체의 변화 양상이 결정됩니다. 따라서 객체참조에 의한 호출을 이해하게 되면 값들의 변화 흐름을 이해할 수 있고 디버깅을 하는데에 도움이 됩ㄴ다.객체파이썬에서는 모든 것은 객체라고 하였습니다. 한 entity가 객체라는 것은 ① 속성 ② 메서드 ③ 고유식별자 ④ 타입을 갖고 있다는 뜻입니다. 함수도 속성과 메서드를 가질 수 있습니다.고유식별자란 메모리 상의 주소입니다. 즉, 모든 객체는 메모리 상에 고유의 주소를 갖고 있습니다.객체는 타입을 갖고 있습니다. 함수의 타입을 조사하면 function class의 ..
이전 글2024.11.21 - [컴퓨터과학/컴퓨터구조: CSAPP] - 1.3 컴파일 시스템이 어떻게 동작하는 이해하는 것은 중요하다. 1.3 컴파일 시스템이 어떻게 동작하는 이해하는 것은 중요하다.2024.11.21 - [컴퓨터과학/컴퓨터구조: CSAPP] - 1.2 프로그램은 다른 프로그램에 의해 번역된다 실행가능한 목적 프로그램소스를 실행가능" data-og-host="gyht.tistory.com" data-og-source-url="https://gyht.tistory.com/4gyht.tistory.com프로그램 실행에 따른 데이터의 이동프로그램은 실행가능한 목적 프로그램으로 번역이 된 후에 디스크에 저장된다. 사용자는 쉘을 통해 프로그램을 실행할 수 있다. 쉘로 실행을 하면 프로그램은 메모리..
2024.11.21 - [컴퓨터과학/컴퓨터구조: CSAPP] - 1.2 프로그램은 다른 프로그램에 의해 번역된다 실행가능한 목적 프로그램소스를 실행가능" data-og-host="gyht.tistory.com" data-og-source-url="https://gyht.tistory.com/408" data-og-url="https://gyht.tistory.com/408" data-og-image="https://scrap.kakaocdn.net/dn/doe5K1/hyXzW0rnTj/nDKFKA2ucMyN3ifzSLjKG0/img.png?width=800&height=218&face=0_0_800_218,https://scrap.kakaocdn.net/dn/beN7t5/hyXDm4dar8/S5bAXEN..
이전 글2024.11.20 - [컴퓨터과학/컴퓨터구조: CSAPP] - 1.1 정보는 비트와 컨텍스트로 이뤄진다 1.1 정보는 비트와 컨텍스트로 이뤄진다소스프로그램소스프로그램은 아래와 같이 표현된다.#include int main(){ prinf("Hello, world\\n"); return 0;}시스템 상에서 텍스트 파일의 형태로 저장된다.비트: 정보의 표현컴퓨터 시스템 상에서 모든 정gyht.tistory.com프로그램의 실행조건컴퓨터가 소스 프로그램을 실행하기 위해서는 소스 프로그램이 실행가능한 목적프로그램으로 번역되어야한다.소스 프로그램 -> 실행가능한 목적 프로그램소스를 실행가능한 목적 프로그램으로 변환하는 과정을 컴파일 이라고한다. 컴파일은 4단계로 이뤄지며 컴파일을 하는 체계를 컴파일 시스..
소스프로그램소스프로그램은 아래와 같이 표현된다.#include int main(){ prinf("Hello, world\\n"); return 0;}시스템 상에서 텍스트 파일의 형태로 저장된다.비트: 정보의 표현컴퓨터 시스템 상에서 모든 정보는 파일의 형태로 저장된다. 파일 내의 데이터는 0 또는 1로 표현된다. 0 또는 1로 표현되는 기본 단위를 비트라고 한다. 8개의 비트가 모이면 바이트다. 하나의 바이트는 아스키코드에 따라 텍스트 문자 하나에 대응될 수 있다. 따라서 모든 파일은 비트로 표현된다.컨텍스트: 정보의 구분파일의 종류와 무관하게 정보는 비트로 기록된다. 하지만 동일한 비트라도 해석을 적용하는 기준에 따라 의미가 달라진다. 이때 해석을 적용하는 기준을 컨텍스트라고 한다.gamsahabnid..
왜 배우는가?컴퓨터는 하드웨어와 소프트웨어의 조합이다. 각 구성요소를 컴포넌트라고도 한다. 컴포넌트들의 상호작용이 프로그램의 정확성과 성능을 결정한다. 따라서 개발자는 효율적인 프로그램을 작성하기 위해서는 컴퓨터 구조에 대한 이해가 필요하다.어떻게 배우는가?프로그램의 생명주기를 추적하고 이해하면서 시스템에 대한 개념, 용어들을 학습한다. 책에서는 hello 프로그램이 텍스트 파일로 생성 된 후에 컴퓨터가 실행하기까지의 과정을 소개하면서 관련 개념들을 설명한다.#include int main(){ prinf("Hello, world\\n"); return 0;}