본문 바로가기

Data Science

[1주] 1일차_01

컴퓨터에 대한 이해

  • 컴퓨터란? 단순히 계산(=명령)을 수행하는 기계이다.
    아래의 3가지로 구성되어 있다.
    • CPU: 1+1=2라는 계산을 해낸다.
    • RAM: 위 계산에서 +를 사이에 두고 임시적으로 1이라는 숫자를 저장해놓고 CPU에서 +계산이 진행된다.
    • ROM: 파일들의 저장소
      cf.) ROM에 있는 DATA를 RAM에서 읽어서 작업은 CPU에서 한다.
      • 계산 명령을 어떤 언어로 내릴 것인가?
        → Python, c, c++, etc. 등의 언어 선택은 어떤 명령을 내릴 지에 따라 달라질 수 있다. 예를 들어, 컴퓨터에게 [Data 분석]이라는 명령을 내릴 것이라면 python이라는 언어가 효율적 선택이 될 수 있는 것이다.
        프로그래밍이란 위 세 가지 장치를 효율적으로 이용하게 하여 컴퓨터가 내 명령(내 목적)을 잘 처리할 수 있게 하는 것(컴퓨터와의 효율적 소통)이라고 할 수 있다.
  • 운영체제란? 위 장치들을 어떻게 사용할 것인가, 자원들을 어떻게 할당하여 효율적으로 사용할 것인지를 결정한다. windows, linux, mac..
    • 커널(Kernel): 하드웨어를 컨트롤해주는 소프트웨어
    • 쉘(Shell)
  • 애플리케이션(Application): 위 운영체제 위에서 동작하는 프로그램들이다.

컴퓨터 프로그램 동작 원리

  • 컴퓨터를 구성하는 세 가지 하드웨어는 0, 1만 알아들을 수 있다.
  • 우리가 프로그래밍 언어로 프로그램을 만들면 Compile 과정을 통해 0, 1로 변환되어 컴퓨터가 알아들을 수 있게 된다. 이 컴파일 과정을 어떤 단계에서 수행하느냐에 따라 두 가지 언어로 분류할 수 있다.
    • 컴파일러 언어: 소스 코드 작성이 끝난 후 한 번에 모든 코드를 컴파일링, 따라서 컴파일링 시간이 소요된다.
    • 인터프리터 언어: 코드 한 줄 작성 - 컴파일 - 그다음 한 줄 - 컴파일 -... -... 처리 속도가 느리지만 컴파일링 시간이 따로 필요 없다.

Python vs Anaconda

  • Python 설치만으로는 numpy, pandas, 등의 패키지들을 각각 설치해야 한다. anaconda는 python 뿐만 아니라 주요 패키지들을 이미 포함하고 있다. 

 

Windows의 실행환경

명령 프롬프트[shell] vs git bash[shell] 

둘 다 shell의 한 종류이다.

Anaconda는 bash 환경에서 사용된다.

Mac의 경우 bash shell이 기본으로 설정되어 있지만, Windows의 경우에는 이를 직접 설치하여 설정해줘야 한다.

 

Jupyter Notebook (iPython 기반)

우리가 Jupyter notebook을 실행시키면 서버가 구동된다. --> 재사용 시 서버를 꼭 종료시키고 재실행해야 한다. --> 계속해서 컴퓨터의 리소스를 잡아먹게 되기 때문이다. 

'Data Science' 카테고리의 다른 글

[3주~5주] 수학  (0) 2021.11.02