일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 검색
- application.yml
- ubuntu
- docker명령어
- ㅔㄴ션
- 테스트
- 적용우선순위
- 커밋메세지수정
- 네이티브쿼리
- subquery
- appspec.yml
- 서브쿼리
- 컨테이너실행
- MySQL
- 외부키
- 예약
- Query
- 테스트메소드
- EC2
- 2 > /dev/null
- 추후정리
- 포트
- 메소드명
- querydsl
- AuthenticationEntryPoint
- 메세지수정
- appspec
- 참조키
- foreignkey
- WeNews
- Today
- Total
제뉴어리의 모든것
[Section1][Development] 기초 - 1. 컴퓨터 프로그래밍의 이해 본문
1. 컴퓨터 프로그래밍의 이해
1-1. 컴퓨터의 이해
- 컴퓨터란?
입력받은 데이터를 정해진 규칙으로 처리하여 저장하고 출력하는 기기.
- 컴퓨터는 어떻게 위에 내용을 수행하는가?
-> 입력받은 :
입력장치로 사용자에게 데이터를 입력받는다. (키보드 등등..)
-> 데이터를 정해진 규칙으로 :
프로그램상의 로직으로
-> 처리하여 :
cpu와 같은 처리장치로
-> 저장하고 :
기억장치에 처리된 결과를 저장함 (HDD, RAM 등등..)
-> 출력함
출력장치로 처리된 결과를 사용자에게 보여줌 (컴퓨터 화면, 스피커 등등..)
- 컴퓨터 구성요소
- 소프트웨어 (SW)
소프트웨어는 크게 시스템소프트웨어와 응용소프트웨어로 나뉜다.
- 시스템 소프트웨어
1. 컴퓨터를 근본적으로 구동할 수 있게 해주는 소프트웨어로 하드웨어와 소통하여 작동을 제어한다.
2. 응용 소프트웨어의 작동을 가능하게 해주는 플랫폼 역할을 한다.
- 응용 소프트웨어
1. 시스템 소프트웨어 제외한 모든 소프트웨어를 말한다. (게임, 문서작성 프로그램 등등..)
- 하드웨어 (HW)
컴퓨터를 구성하는 모든 물리적인 요소.
cpu, 기억장치, 입출력장치 등등..
대표적인 하드웨어로는 아래와 같다.
- CPU (프로세서)
컴퓨터에서 실질적으로 데이터를 처리하는 장치이다.
- 제어장치 : cpu의 모든 동작을 제어하고 통제함.
- 연산장치 : 프로그램의 명령어를 실행 (실제 처리가 이루어지는 부분.)
- 레지스터 : 처리에 필요한 데이터들을 임시로 저장하는 기억장치로 작지만 빠른 성능을 가지고 있음.
- 기억장치
컴퓨터에서 사용되는 데이터들을 장기적, 단기적 저장하는 장치이며 보조기억장치는 장기적이고 주기억장치는 단기적이다.
- 주기억장치 : 컴퓨터에서 처리중인 데이터를 가져와 저장하는 곳으로 임시적이다. 용량은 작지만 빠르다. 그래서 cpu만큼은 아니지만 어느정도 비슷하기에 cpu와 직접 소통한다. (RAM, ROM 등등..)
- 보조기억장치 : 컴퓨터에 필요한 모든 데이터를 저장하는 곳으로 반영구적이다. 용량은 크지만 속도는 느리다. (SSD, HDD)
- 캐시메모리
- 주기억장치가 빠르다고는 하지만 CPU만큼은 빠르지 않기에 처리에 지연이 생길 수 있다 그러므로 처리를 빠르게 하기 위하여 CPU가 한번 사용한 데이터중 재사용 가능성이 큰 데이터들을 미리 불러와 대기 시켜 놓는 기억장치이다.
- 입력장치
- 사용자로부터 데이터를 입력받는 장치
- 출력장치
- 사용자가 입력하여 처리되고 저장된 데이터가 출력되는 장치
- 시스템버스
- 하드웨어간에 소통할 수 있게 해주는 통로 (물리적 전선)
- 데이터 버스
- 하드웨어 간에 데이터를 전달하는 통로
- 주소 버스
- 데이터가 어디에 도착해야 하는지에 대한 정보를 전달하는 통로
- 제어 버스
- CPU의 제어장치가 생성한 제어 신호를 다른 장치로 전달하는 통로
- 데이터 버스
- 하드웨어간에 소통할 수 있게 해주는 통로 (물리적 전선)
- 컴퓨터의 동작
- 계산기 프로그램을 실행 했을 경우 보조기억장치에 있는 계산기 프로그램이 주기억장치로 올라가고(로딩) 수식을 넣는 칸에 1 + 1을 입력한다 그리고 계산버튼을 누르면 CPU에서 계산기 프로그램의 코드를 읽어 입력된 수식을 계산하여 주기억 장치에 저장하고 우리에게 결과를 출력해준다.
1-2. 프로그래밍의 이해
- 프로그래밍
특정한 목적을 달성하기 위해 프로그래밍 언어로 논리적으로 코드를 작성하는것.
- 프로그램
특정한 목적을 위해 작성된 논리적 코드들의 집합체
- 프로그래밍 언어
사람이 컴퓨터(기계)에게 명령을 하기 위해 작성하는 언어.
- 컴파일
사람이 작성한 프로그래밍 언어를 기계어만을 이해하는 컴퓨터에 이해시키기 위해
프로그래밍 언어를 기계어로써 변환하는 과정.
- 빌드
작성된 코드를 결과물(실행을 위한 파일 혹은 디렉토리)로써 산출하는 것.
컴파일은 그러한 과정속에 한 부분이다.
- 통합개발환경 (Integrated Development Environment, IDE)
앞서서 말한 코드작성, 컴파일, 빌드와 같이 프로그래밍에 필요한 모든것을 제공해주는 프로그램.
'코드스테이츠 > 정리 블로깅' 카테고리의 다른 글
[Section1][Linux] 기초 [추후 보완] (0) | 2022.06.30 |
---|---|
[Section1][Publishing] HTML, CSS - 2 [추후 추가 정리 필요] (0) | 2022.06.30 |
[Section1][Publishing] HTML, CSS (0) | 2022.06.27 |
[Section1][Development] 기초 - 2. 웹 (0) | 2022.06.24 |
[Section1] Learn How To Learn (0) | 2022.06.23 |