-
플랫폼 & 라이브러리 & 프레임워크컴퓨터 공학 기초 2019. 11. 12. 14:26
웹 동작 방식
1. 웹 서버 시스템(PC)과 웹 클라이언트 시스템 (PC)가 있을 때
각각의 시스템들은 해당 목적에 맞는 여러 프로그램을 설치
EX ) 웹 서버 시스템 = 아파치2 웹 클라이언트 시스템 = 브라우저
2. 웹서버 프로그램 (아파치2) 이 클라이언트( 브라우저 )에게 요청을 받으면
index.html 이라는 파일을 보내줌
- 이때 웹 서버라는 프로그램 즉 아파치2와 같은 프로그램들은 딱 찾아서 넘겨주는 역할까지만 함
- 즉 html파일을 생성해주는 또 다른 프로그램이 서버 시스템 안에 존재
- 위에서 말한 또다른 프로그램이 하는 역할
1. 요청이 들어오면 웹 서버 프로그램이 html을 생성해주는 다른 프로그램에게 요청
2. 요청을 받은 프로그램은 어떤 사용자에게 온 것이고, 어떤 환경에서 온 것 인지 등을 파악
3. 사용자에게 어떠한 화면을 보여줄 것인지? 사용자 이름을 뿌려줄 것 인지? 등등을 결정
다음과 같은 역할을 하며 보통 말하는 개발자들이 위의 프로그램을 만드는 사람들이라고 함
플랫폼
- 보통 Windows, 안드로이드, IOS 와 같은 것들이 플랫폼
- 즉 소프트웨어가 실행될 수 있는 환경
라이브러리
- 초장기 개발 환경에서는 자신이 직접 만들면서 개발을 해야 했음
- 이때 개발하면서 자주 사용하는 함수들을 재활용 가능한 형태로 만들었음
- 위의 재활용 가능한 함수들 즉 개발할 때 자주쓰이는 기능들을 한데 모아두고
- 다른 사람들이 사용 가능하게 만들어 놓은 기능들의 집합 의미함
프레임워크
- 소프트웨어를 구성하는 기본 골격을 구성해둔 형태
- ex ) 웹서비스
만약 완전 처음부터 만든다면 서버 프로그램으로 요청이 들어오면
요청을 받을 때 같이 받은 정보가 뭐가 있으며 해당 정보로 가지고 어떤 html페이지를 만들 것이며
어떤 동작을 할지를 일일이 만들어 주어야 함
헌데 웹서비스가 동작하는 구조는 대부분 비슷비슷함
즉 서버 프로그램에게 요청을 받고 응답해주는 것은 html이라는 틀은 똑같이
달라지는 건 어떤 텍스트를 보여주고, 사진, 위치들만 달라짐
- 위의 경우에 반복되는 요청에 대해 어떤 어떤 기능들을 묶어두고 라이브러리 형태로 사용
- 해당 기능들 역시 계속 반복되면서
완전히 프로그램 세트를 만들어 둔 것을 뜻 함
- 창문을 만든다면 기본적인 창틀을 제공해주고 사용자는 용도에 따라
어떤 무늬의 유리를 사용하고, 어떤 종류의 유리를 사용할지 등을 정할 수 있음
- 프레임워크역시 프로그래밍 언어처럼 여러 종류가 있으며
사용용도에 따라 선택함
EX ) Python
내가 큰 규모의 웹 서비스를 제공할 것이다 => 장고
나는 작은 규모의 웹 서비스를 제공할 것이다 => 플라스크
당연히 각각 장단점 들이 존재함
예를 들어 장고는 무거우면서 사용하기 위해 배워야 할 것들이 많이 있다면
플라스크는 가벼워서 빠르게 학습해서 웹 서비스를 구축할 수 있음
'컴퓨터 공학 기초' 카테고리의 다른 글
자료구조 & 알고리즘 (0) 2019.11.12 애플리케이션 & 소프트웨어 & 프로그램 (0) 2019.11.12