컴퓨터 공학 기초

플랫폼 & 라이브러리 & 프레임워크

JongSeok_12 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 

  내가 큰 규모의 웹 서비스를 제공할 것이다 => 장고

  나는 작은 규모의 웹 서비스를 제공할 것이다 => 플라스크

  당연히 각각 장단점 들이 존재함

  예를 들어 장고는 무거우면서 사용하기 위해 배워야 할 것들이 많이 있다면

  플라스크는 가벼워서 빠르게 학습해서 웹 서비스를 구축할 수 있음