개발새발
컴퓨터와 프로그래밍의 이해 - 웹 어플리케이션과 웹 서버 본문
```
컴퓨터
"입력 받은 데이터를 정해진 규칙대로 처리해서 처리결과를 저장하고 출력하는 전자 장치이다"
```
정해진 규칙대로 - "소프트웨어"
처리결과를 저장, 출력하는 장치 - "하드웨어"
소프트웨어
- 시스템 소프트 웨어 - 응용 소프트웨어를 실행하기 위한 일종의 플랫폼 역할, 하드웨어와 직접 소통하며 동작할 수 있도록 함
- 응용 소프트웨어 - 시스템 소프트웨어를 제외한 모든 소프트웨어 : 애플레키이션 및 앱
하드웨어
- 컴퓨터를 구성하는 기계적 장치,중앙처리장치,기억장치,입.출력장치
중앙처리장치(CPU) - 프로그램의 실행과 데이터 처리를 담당하는 컴퓨터의 핵심 장치
기억장치(Memory Device) - CPU의 동작에 필요한 데이터를 장기적,단기적으로 보관
- 보조기억장치 : SSD, HDD등 큰 용량의 데이터를 정장할 수 있지만 읽는 속도가 느리기 떄문에 CPU와 직접 소통하지 않는다
- 주기억장치 : RAM,ROM등 큰 데이터는 저장할 수 없지만 읽는 속도가 빠르기 때문에 CPU와 직접 소통한다
- 캐시 메모리(Cache Memory) : 한 번 CPU가 사용한 데이터 중, 재사용 가능성이 높은 데이터를 주기억장치로부터 미리 불러와서 대기시켜놓는 역할
입력장치(Input Device) - 사용자로부터 컴퓨터 내부로 데이터를 입력 받는 장치, 키보드, 마우스, 마이크, 트랙패드 등
출력장치(Oupput Device) - 컴퓨터 내부로부터 사용자에게 사람이 감각할 수 있는 형태로 데이터를 출력해주는 장치, 모니터, 스피커, 프린터 등
프로그래밍
"프로그램을 만드는 과정으로, 특정 목적을 달성하기 위해 설계된 알고리즘을 프로그래밍 언어를 사용하여 코드로 작성하는 과정을 의미"
프로그램
- 프로그래밍의 결과 , 어떠한 목적을 달성하기 위한 컴퓨터 명령문의 집합체
컴파일 - 프로그래밍 언어로 작성된 소스 코드를 컴퓨터가 이해할 수 있는 기계어 코드로 번역하는 과정
빌드 - 작성한 소스 코드를 실행할 수 있는 산출물로 변환시키는 과정을 의미, 프로그램이 실행되려면 .exe또는 .msi 확장자를 가진 실행 파일로 만들어주는 빌드 과정이 필요
#웹 어플리케이션과 웹 서버
2티어 아키텍처
- 클라이언트-서버 아키텍처
- 리소스가 존재하는곳 // 리소스를 사용하는 앱 분리
- 리소스를 가진 Server에게 요청
- Server는 리소스를 담아 제공
요청
클라이언트 -----> 서버
반환
클라이언트 <----- 서버
3티어 아키텍처
- 데이터베이스 : 리소스를 저장해두는 별도 공간
요청
클라이언트 -----> 서버 -----> 데이터베이스
반환
클라이언트 <----- 서버 <----- 데이터베이스
Comments