[section 1] 컴퓨터, 프로그래밍, 웹

수경·2022년 10월 21일
0

코드스테이츠

목록 보기
3/57

1. 컴퓨터

컴퓨터란?

하드웨어와 소프트웨어로 구성되어 사용자가 원하는 작업을 수행하는 장치

➡️ 사용자로부터 입력받은 데이터를 정해진 규칙대로 처리하고 저장/출력함

컴퓨터의 구성요소

1️⃣ 소프트웨어

  1. 시스템 소프트웨어

    • 응용 소프트웨어의 실행환경 - OS
    • 하드웨어 장치 관리 - 키보드/마우스 드라이버
  2. 응용 소프트웨어

    • 시스템 소프트웨어를 제외한 모든 소프트웨어 - 프로그램/애플리케이션

2️⃣ 하드웨어

  1. CPU
    • 제어장치: CPU의 모든 동작과 흐름 통제/관리 ➡️ 제어신호 생성
    • 연산장치: 제어신호에 따라 명령어를 실행
    • 레지스터: 연산장치에 필요한 데이터를 일시적으로 저장/제공하는 고속 기억장치

  2. 기억장치
    • 주기억장치 RAM ROM
      • CPU와 직접 소통 ⭕️
      • 데이터 저장 용량 ⬇️
      • 데이터 처리 속도

    • 보조기억장치 HDD SSD
      • CPU와 직접 소통 ❌
      • 데이터 저장 용량 ⬆️
      • 데이터 처리 속도 ⬇️

  1. 입력장치 : 키보드, 마우스, ...
  1. 출력장치 : 프린터, 스피커, ...
  1. 시스템버스: 컴퓨터 시스템을 구성하는 기능장치를 연결하는 배선의 집합
    • 데이터버스: CPU와 메인 메모리, 주변 장치 사이에 데이터를 전송하는 배선의 집합
    • 주소버스: CPU가 시스템 구성 요소를 식별하기 위한 주소 정보를 전송하는 배선의 집합
    • 제어버스: CPU가 시스템 구성 요소의 동작을 제어하는 데 사용되는 배선의 집합

2. 프로그래밍

프로그래밍이란?

컴퓨터가 특정 작업을 수행하기 위한 프로그램을 설계하는 것

프로그래밍 언어

사람이 사용하기 편리한 언어로 프로그래밍할 수 있도록 만든 언어

  • 컴퓨터가 이해하는 언어는 기계어인데, 사람이 기계어로 코딩을 하는 것에 한계가 있음!
    ➡️ 사람이 컴퓨터와 소통하기 위해서는 사람의 언어와 컴퓨터의 언어의 다리 역할을 하는 프로그래밍언어가 필요 ‼️

  • 기계어에 가까울수록 저수준 언어 Low-Level Language : 어셈블리어

  • 사람의 언어에 가까울수록 고수준 언어 High-Level Language : C , Java

컴파일

프로그래밍 언어를 기계어로 번역하는 것

빌드

작성한 코드를 실행시킬 수 있는 결과물로 만드는 것


3. 웹

클라이언트와 서버

  • 클라이언트: 리소스를 사용

    • 웹 사이트(웹 앱)
    • 스마트폰 / 태블릿 앱
    • 데스크탑 앱
  • 서버: 리소스를 제공

    • 웹서버
    • 파일서버
    • 메일서버
    • DB서버

2 - Tier 아키텍처

클라이언트 ↔️ 서버(DB)

3 - Tier 아키텍처

클라이언트 ↔️ 서버 ↔️ DB

profile
어쩌다보니 tmi뿐인 블로그😎

0개의 댓글