Home [CodeStates] Backend 2일차
Post
Cancel

[CodeStates] Backend 2일차

컴퓨터

입력 -> 규칙대로 처리 -> 결과 저장 및 출력

  • 입력 : 입력장치
  • 규칙 : 프로그램
  • 처리 : 중앙처리장치
  • 저장 : 기억장치
  • 출력 : 출력장치

컴퓨터 구성요소

소프트웨어 + 하드웨어

소프트웨어

시스템 소프트웨어 + 응용 소프트웨어

  • 시스템소프트웨어 : 응용소프트웨어 실행환경(Mac, Windows 등), 하드장치 관리(키보드드라이버, 마우스드라이버 등)

-응용 소프트웨어 : 시스템소프트웨어를 제외한 모든 소프트웨어.

하드웨어

중앙처리장치, 기억장치, 입력장치, 출력장치 시스템버스

중앙처리장치(CPU) : 프로세서라고도 한다.

제어장치, 연산장치, 레지스터

  • 제어장치 : CPU의 모든동작, 데이터 통제 및 관리, 운영체제와 소통
  • 연산장치 : 프로그램 명령어 수행
  • 레지스터 : 작고 빠른 CPU 기억장치. 연산장치에 필요한 데이터 임시보관 및 제공

기억장치 : 저장장치라고도 한다.

보조기억장치, 주기억장치

  • 보조기억장치 : 반영구적 저장, 용량은 크지만 속도는 느림, 속도가 느려 CPU와 소통불가, SSD(Solid State Drive), HDD(Hard Disk Drive)
  • 주기억장치 : 프로그램수행에 필요한 데이터 저장, 용량은 작지만 속도가 빠름, 빠른 속도로 CPU와 소통가능, RAM(Random Access Memory), ROM(Read Only Memory)

캐시메모리 : 사용했던 데이터 대기.

  • 입력장치 : 입력받는 장치. 키보드,마우스 등

  • 출력장치 : 사람이 읽을 수 있는 데이터로 출력. 모니터, 스피커 등

  • 시스템버스

    : 하드웨어간의 통로.

    • 데이터버스 : 하드웨어간 데이터 전달 통로.
    • 주소버스 : 데이터가 도착할 곳에 대한 정보를 전달 통로.
    • 제어버스 : 제어장치가 생성한 제어신호를 다른 장치로 전달 통로.

컴퓨터 동작

전원 on -> 운영체제가 보조기억장치에 저장된 프로그램을 주기억장치(RAM)에 로드.(로딩) -> 모니터 출력 -> 입력장치를 통해 입력 - > CPU에서 코드 해석 및 계산 -> 주기억장치에 결과저장 -> 모니터출력

프로그래밍

프로그램을 만드는 과정. 프로그래밍 언어를 사용해 코드작성하는 과정.

프로그램

프로그래밍의 결과. 컴퓨터 명령문 집합체.

프로그래밍 언어

컴퓨터의 언어와 사람의 언어를 연결해주는 언어

  • 컴퓨터는 사람의 언어 이해 불가.
  • 사람은 컴퓨터가 이해하는 언어(기계어) 이해 불가.
  • 이 둘을 매개해주는게 프로그래밍언어.
  • 기계어와 가까울수록 저수준언어
  • 사람언어와 가까울수록 고수준언어

컴파일

프로그래밍 언어로 작성된 소스코드를 컴퓨터가 이해할 수 있는 기계어로 변환하는 과정

빌드

작성한 소스코드를 실행할 수 있는 산출물로 변환시키는 과정

  • 컴파일도 빌드과정의 일부.
  • 컴파일 된 코드는 컴퓨터가 이해할 뿐, 실행불가.
  • 실행할 수 있도록 .exe 또는 .msi 확장자를 가진 파일로 만드는게 빌드 과정.

통합 개발 환경 (Integrated Development Enviroment, IDE)

IDE는 코드작성 프로그램. 디버깅,빌드 등의 작업을 하나의 IDE안에서 할수있다. VS code, IntelliJ, Eclipse 등

2-Tier Architecture

클라이언트 - 서버 아키텍처 리소스가 존재하는곳과 사용하는곳을 분리시킨것.

클라이언트 -> 서버 : 사용 및 요청 서버 -> 클라이언트 : 응답 및 제공

서버는 리소스를 전달해주는 역할. 리소스를 저장하는 공간은 “데이터베이스”

2티어 아키텍처에 데이터베이스가 추가되면 3티어 아키텍처.


이렇게 2일차가 끝났다! 오늘은 개발을 하기위해서 알아두면 좋은 기본적인 지식들을 공부했다. 워낙 기계를 좋아했던 터라서 아는 부분을 다시한번 짚어보고, 몰랐던 부분까지도 하나하나 알아가는게 너무 재미있었다!! 컴퓨터는 굉장히 단순하면서도 복잡한 이중적인것같다. 구성요소는 많으면서도 시킨일밖에 해내지 못한다는게 정말 재미있는 부분이다.

This post is licensed under CC BY 4.0 by the author.

[CodeStates] Backend 1일차 | OT

[CodeStates] Backend 3일차 | HTML, CSS