Basic computer class for newbies

💡
기본적인 컴퓨터 시스템인 파일 시스템과 터미널 환경에 대해 알아본다.

OS란?

OS란, Operating System의 줄임말로 한국어로는 운영체제로 통칭된다. OS는 하드웨어와 소프트웨어를 연결하는 위치에 있으며, 어플리케이션이 구동 될 수 있는 환경을 구축하는 역할을 한다.

모든 어플리케이션은 OS 위에서 동작하기 때문에, 어플리케이션은 운영체제에 의존적이다. 개발 등의 프로젝트를 시작할 때에는 어떤 OS 위에서 진행할지 결정해야 한다.

File System이란?

File System은 OS에서 파일을 저장하는트리구조의 저장체계이다. File의 기본 체계는 우리가 흔히 아는 FileDirectory (Windows 운영체제에서는 Folder라 칭함.)로 구분된다.

일반적인 의미에서 File은 파일명과 확장자로 식별되며, 실행/쓰기/읽기 등을 수행할 수 있다.

File System은 root directory로 부터 시작하여, 트리구조로 저장된다.

  • Linux 계열 OS의 Root 디렉토리는 '/' 로 표현된다.
  • Windows OS의 Root 디렉토리는 'C:' 로 표현된다.

Terminal이란?

Terminal은 키보드로 명령을 입력하여 프로그램을 실행하는 CLI(Command Line Interpreter) 환경을 의미한다. 과거 1대의 메인 프레임에 여러 대의 출력장치를 연결하는 형태로도 사용되었기 때문에 Console로 통칭되기도 한다.

Terminal의 내부에는 shell이 존재한다. shell은 사용자의 명령어를 입력받아 Core에 전달하는 역할을 수행한다. Shell은 각기 다른 명령어 체계를 사용하기 때문에, 같은 OS더라도 Shell의 종류에 따라 명령어는 다를 수 있다.

  • Windows의 CMD, Powershell 등
  • Linux의 Bashshell, Zshell 등


파이썬 개요

💡
Python의 기초적인 내용에 대해 알아본다.

플랫폼 독립적 언어

파이썬은 OS에 독립적인 언어이다. 어떤 OS이든 소스코드가 동일하게 동작한다는 의미이다. 단, 작성된 소스코드를 해석하여 실행하는 주체인 Interpreter는 OS에 적합하게 설치 되어야 한다.

Interpreter 언어

Interpreter 언어는 별도의 컴파일 과정 없이 소스코드가 바로 실행될 수 있도록 지원하는 언어이다. 매 실행마다 Interpreter가 작성된 소스코드를 해석하고 실행하는 과정을 거친다. 반대로 Compile 언어는 소스코드를 기계가 이해할 수 있는 저급 언어로 번역한 후 실행하는 특징을 가진다.

컴파일러 언어와 인터프리터 언어의 차이

객체지향 언어

파이썬의 데이터는 '객체' 이다. 객체는 프로그래밍상 필요에 따라 행위(method)와 속성(attribute)를 가진다.

동적 타이핑 언어

파이썬은 실행 시점에 변수의 데이터 형태가 정해진다. 형변환이 자유로워 코드를 작성하는데 용이하다. 단, 해당 변수가 어떤 데이터형일지 고려하여 프로그래밍하지 않으면 버그의 원인이 되기도 한다.

>>> var = 3
>>> type(var)
<class 'int'>
>>> var = 3.0
>>> type(var)
<class 'float'>
>>> var = '3'
>>> type(var)
<class 'str'>


Python 코딩 환경

💡
Python Interpreter와 코드 편집기를 설치하는 과정에 대해 알아본다.

Version

현 시점에서 Python은 통상 3.X version을 의미한다. 2.X version은 더 이상 Upgrade 되지 않으며, 여러 Library에서도 점차 지원하지 않고 있다.

Anaconda

Anaconda는 Python의 유용한 모듈을 묶은 패키지이다. 다양한 과학용 계산 모듈을 묶어놓았고, 가상환경을 통해 관리 할 수 있다는 장점을 가진다.

IDE

Text Type의 문서를 편집할 수 있는 모든 프로그램을 사용할 수 있다.

  • 메모장
  • VI (혹은 VIM)
  • Sublime Text
  • Atom
  • VS Code
  • PyCahrm 등

Jupyter & Colab

Jupyter는 Terminal과 Code cell을 합친 개념이다. Code cell 단위로 실행할 수 있으며, Notebook 위에서 결과를 확인할 수 있기 때문에 데이터 분석의 강력한 IDE로 활용되고 있다.Colab은 Google Drive + GCP + Jupyter의 개념이다. 구글에서 제공하는 리소스를 사용하여 Jupyter 환경을 사용할 수 있다.

+ Recent posts