데이터에 관심을 가지면서 R이며 Python, 자바스크립트 등 프로그래밍 언어를 알게 되었다. 이것저것 코딩 공부를 시작했지만 상경계열 전공자라 사실 Computer Science에 대한 기초가 없다. 데이터베이스, 서버, 클라이언트 등 이런 것들을 어깨 넘어로 들어보긴 했지만 제대로 배워본 적이 없다.


그래서 이번에 코딩야학을 시작했다. 빅데이터가 이슈라고는 하지만 사실상 유행어에 지나지 않는다는 걸 알게 되면서부터 유행처럼 스쳐가는 것에 목매지 않고, 기초부터 알아야겠다는 생각이 들었다. 궁극적으로 데이터를 활용해 구현해보고 싶은 것이 웹 위에서 동작하기 때문에 코딩야학에서 웹 애플리케이션 만들기를 함께 하려 한다.


처음에는 역시나 웹에 대한 정의(?)였다. 지금까지 인터넷과 웹의 차이를 알지 못했다(...기 보단 사실 아예 생각이 없었다). 사실 웹은 인터넷이라는 거대한 네트워크 안에 있는 기능 중의 하나인데, 인터넷이 1960년대에 등장했다면 웹은 그 한참 후인 1990년대에 팀 버너스리에 의해 개발되었다. 웹은 크게 웹브라우저와 웹서버를 함께 일컫는 말인데 우리가 흔히 알고 있는 웹은 익스플로러나 크롬과 같은 웹브라우저이다. 웹서버는 HTTP로 웹브라우저와 HTML 페이지를 주고 받는 서버이다. 네이버나 다음 등의 웹사이트를 열었을 때 각종 기사 타이틀, 이미지, 검색순위와 같은 것을 보게 되는데, 이게 우리가 보는 화면에만 둥둥 떠있는 것이 아니라 바로 서버에 저장되어 있는 것을 보는 것이다. 기사 타이틀 하나를 클릭하면 해당 기사 페이지로 넘어가게 될텐데, 이 과정을 '클라이언트가 서버에 웹페이지를 요청, 서버는 이에 응답하여 요청된 페이지를 클라이언트에게 전송' 이렇게 표현할 수 있다(그냥 클릭이었을 뿐인데...). 즉 웹브라우저와 웹서버가 서로 협력을 통해 웹을 작동하게끔 하는 것이다.


그리하여, 웹앱을 구현하려면 웹브라우저와 웹서버가 있어야 한다. 웹브라우저는 이미 설치되어 있으니 됐고 웹서버를 설치해야 하는데... 원래는 서버와 클라이언트가 다른 컴퓨터에서 작동을 하지만 실습상, 편의상 한 대의 컴퓨터에 웹브라우저와 웹서버를 동시에 두려고 한다.


웹서버의 종류에는 Apache, Nginx, MS, Google 등이 있는데, 개인이 웹서버를 설치하는 일은 웹브라우저를 설치하는 것보다 훨씬 복잡하고 어려우므로 Bitnami를 통해 쉽게 설치해보고자 한다. Bitnami는 이 곳에서 쉽게 다운로드 받을 수 있다. 


Bitnami를 설치하고 localhost:8080으로 접속하면 html default 페이지를 확인할 수 있다. Mac은 랩탑을 새로 시작할 때마다 이 서버들을 켜줘야 한다. 그러기 위해서는, 응용프로그램 > mampstack 디렉토리 > Manager - osx 프로그램을 클릭(Mac 기준), manager server 항목에서 start를 눌러 서버들이 running 되는 것을 확인하면 서버 실행 완료.



BELATED ARTICLES

more