본문 바로가기
Python/[패스트캠퍼스] 데이터분석 레벨원 : 난생처음 배우는 파이썬 데이터분석

Part 1. 데이터 분석, 시작 전 준비하기! - CH 01. 파이썬, 그게 뭔데? (2)

by hinote 2023. 1. 1.

Part.2 - 프로그래밍이란?

프로그래밍 : 컴퓨터에게 일련의 명령을 수행하는 프로그램을 만드는 과정.

 

  • 프로그래밍(Programming)은 간단하게 컴퓨터에게 일을 시키는 방법
  • 컴퓨터에게 일을 시키기 위해서는 소통 수단이 필요함
  • 그 소통 수단은 프로그래밍 언어(Programming Language)라고 한다
  • 프로그래밍 언어를 통해서 일을 어떻게 하면 되는지 컴퓨터에게 알려줌
  • 이 과정 전반을 프로그래밍 또는 코딩(Coding)이라고 함

 

 

 


프로그래밍의 구성 요소

 

 


1. 코드 (Code) - 특정 프로그래밍 언어로 기술되는 텍스트.

def say_welcome(name):
	print(f"Hello World! {name}!")
    
say_welcome("Yongdam")

 

  • 언어이기 때문에, 문법(Syntax)과 의미론(Semantic)을 가짐
  • 컴퓨터는 코드를 완전하게 이해한다. 대신에, 사람이 시키는 그대로를 이해함
  • 즉, 코드 그 자체를 그대로 믿기 때문에 문법이 틀린 코드를 작성하면, '절대로' 실행되지 않는다!
  • 코드를 잘 쓰기 위해서는(=컴퓨터에게 일을 잘 시키기 위해서는) 컴퓨터를 잘 이해해야 함

 

 

 

 



2. 컴퓨터 (Computer) - 코드를 수행하는 기계.

 

https://en.wikipedia.org/wiki/Computer#History

 

Computer - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Automatic general-purpose device for performing arithmetic or logical operations A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operatio

en.wikipedia.org

 

컴퓨터는 다음과 같은 구조로 되어 있다.

💡 Computer Architecture(Von Neumann Architecture) : 폰 노이만이 제안한 현대 컴퓨터 구조.

 

source : https://geteducationskills.com/computer-architecture/

 

우리가 이해해야 하는 중요한 부분 세가지


1. Central Processing Unit(CPU)
-컴퓨터에서 일어나는 모든 연산을 담당.


2. Main Memory(주로 DRAM)
-프로그래밍을 할 때 사용하는 모든 데이터, 코드가 올라와 있는 공간.


3. Input/Output Devices(프로그램 기준에서는 모두 바깥에 있는 것들이라 주변기기로 취급함)
-storage(HDD, SSD)
-Monitor, Mouse, Keyboard, ...

 

데이터를 불러온다 라고 하는 것은 storage에 있는 데이터를 램으로 옮기는 작업이라고 생각하면 됨

  • 우리가 작성한 프로그램은 모두 메모리(DRAM) 안에 상주중
  • 프로그램 입장에서 모든 처리는 메모리를 기준으로 이루어짐

 

 

 

 

  • 저장 장치(storage)에 있는 데이터를 불러오는 Load , 메모리에 있는 내용을 저장 장치에 저장하는 Save 모두 I/O에 해당함
  • 메모리에 있는 프로그램이 명령을 CPU로 보내는 fetch , CPU에서 해당 내용을 연산하고 처리하는 decode , execute , 다시 해당 내용을 메모리로 보내는 fetch까지 instruction cycle이라고 부름
  • instruction cycle을 계속 돌면서 프로그램이 컴퓨터에서 실행됨

 

 

 

요약


1. 프로그래밍은 컴퓨터에게 일을 시키는 과정입니다.
2. 프로그래밍의 구성 요소에는 코드 / 컴퓨터가 있습니다.
3. 코드는 특정 프로그래밍 언어의 문법/의미론을 따릅니다.
4. 컴퓨터는 폰 노이만 아키텍처로 구성되어 있습니다. (CPU, Memory, I/O Devices)
5. 데이터와 프로그램은 메모리에 상주하며, 모든 연산은 CPU가 담당합니다.

6. 프로그램에서 수행한 결과를 저장하고 싶을 때는 저장 장치에 Save를 합니다.
7. Instruction cycle을 통해서 CPU는 지속적으로 주어진 일을 처리합니다.

 

 

 

댓글