티스토리 뷰

 

안녕하세요?  미시깽입니다.  벌써 두 번째 글을 포스팅하는데요, 지난 주... 개발자의 시각에서 기획자가 웹 기획을 할 때, 알아두어야 할 몇 가지 기초지식을 전달하는 시간을 가졌는데요, HTML이나 CSS, Javascript에 이어 조금더 넓은 범위인 OS와 웹 프로그래밍 언어의 특징들을 살펴보도록 하겠습니다.

웹서비스를 하기 위한 기초공간 OS


OS에 대해 이미 아시는 분들도 있겠지만.. 'OS가 뭐지?' 하시는 분들도 계실거라 생각되는데요.  저는 학교 다닐 때 OS 수업을 너무 싫어했답니다. 너무 어려웠어요. ㅠㅠ


OS는 여러분이 쓰고있는 PC의 Windows 7이나 맥북에서 쓰고있는 Mac OS... 스마트폰에서 사용하는 Android OS나 아이폰의 iOS 모두 사용자가 컴퓨터 잘 쓸 수 있게 만들어진 말 그대로 운영체제(Operating System)인데 우리가 웹 서비스를 운영하기 위해선 이 OS들이 중요한 역할을 하는데, 그 이유는 서버라고 불리우는 기계장치에 탑재되어 각자 특성에 맞는 서비스를 해주기 위한 기반이 되어주기 때문입니다.  오늘 다룰 OS는 Server 내에서 구동되는 OS 중심으로 소개할텐데요, 먼저 국내에 가장 보편화 되어 있는 OS인 Windows를 살펴볼까 하는데요.. 기본적인 PC에 설치되는 일반사용자용 윈도우도 있지만, 웹 서비스를 위해 사용되는 서버에 탑재되는 Window Server도 있습니다.

 

클라우드 기반의 Windows Server 2012..


까만 화면에 초록색 글씨로 된 컴퓨터로 명령어를 넣어 사용하던 시절, 마이크로소프트사에서 그래픽 인터페이스를 이용해 문서를 쓰고 게임이나 인터넷을 할 수 있도록 만들어진 이 OS는 획기적이었을 수 밖에 없는데요.  이 윈도우 OS에서도 일반 유저용 OS으로 출시된 Windows 95나 98, 2000, Vista, XP, Windows 7 및 최근 출시된 Windows 8 등이 있고 서버용 OS로는 Windows NT 시리즈부터 Windows Server 2008버전까지 출시 되었습니다.

 


참고로.. 일반 사용자와 서버 용으로 OS를 구분하는 형태는 MS Windows 시리즈가 유일한데, 성능 상의 차이가 아닌 서버용은 웹 서비스 환경을 조성할 수 있는 구성이 따로 준비되어 있어 서버용 서비스팩들 마우스로 간단히 클릭해서 추가설치하면, 웹사이트를 운영할 수 있는 환경을 손쉽게 만들 수 있게 되어있습니다.. 

 

요즘 개발자나 엔지니어들이 실험적으로 설치하고 있는 리눅스 기반의 PC용 운영체제인 우분투 역시도 일반사용자를 포커스로 출시한 OS인 만큼, 일반 사용자와 서버용으로 구분하는 유일한 OS가 Windows 는 아니네요..^^;  참고로 숙박업소에 PC 주변기기 사업을 하고 있는 지인에 따르면.. Windows 대신 비용이 저렴한 우분투를 설치하는 업소가 늘었다고 하는군요..=_=;

 

단... 이미 사용자 버전이 설치되어 있는 환경이라면 서버용 웹서비스 구성메뉴를 설치할 수 없게 되어 있어, 서버용을  설치해야 한다는 아쉬운 점이 존재합니다..  여기에 만일 개발하고자 하는 웹 서비스가 .NET 기반의 환경이라면 필히 윈도우 OS를 사용해야 한다는 점, 참고하시기 바랍니다.

덧붙여, 윈도우 서버가 리눅스 서버에 비싼 이유는 바로 운영체제 라이센스 비용 때문인데 윈도우의 경우, 가격대가 비싼 반면.. 리눅스는 무료 플랫폼이기 때문입니다.


앞서 소개했던 Window가 비교적 대중적인 OS라 한다면 UNIX는 가장 오랜 역사를 가진 운영체제입니다. 해당 운영체제는 60년대 후반미국의 AT&T에서 최초로 개발한 운영체제이고, 지금까지 계속 발전되어 사용되고 있는 OS입니다. 윈도우처럼 일반 사용자에게까지 퍼져있지 않지만, 엔지니어들 사이에서는 성능이나, 보안 등 여러 가지 이슈대비 최고의 운영체제로 평가되고 있으며, 주로 은행과 같은 중대형 서버에서 사용되고 있습니다.

 

이쯤은 되야.. 유닉스가 잘... 

 


하지만.. 웹 환경이 발전하면서 높은 Hardware 스펙을 기반으로 만들어진 UNIX 환경을 이용하지 않더라도, UNIX에서 파생된 Linux 만으로도 충분히 운용이 가능하다보니 점차 UNIX의 자리를 Linux로 대체되고 있으며, 현재 대부분 웹 서비스가 구현되는 서버 환경에서는 Linux로 운용되고 있습니다.

 

 

Linux는 리누스 토발즈가 소싯적 개발한 운영체제로 Linux 개발소스를 무료로 공개해 수많은 엔지니어들의 손을 거쳐 지금 이 시간에도 계속 업그레이드가 이루어지고 있는 현재진행형 운영체제 입니다. Window나 Unix는 유료이고 가격이 높은데 반해 Linux는 UNIX와 거의 유사한 환경을 제공하면서도 무료라는 장점이 있어.. 많은 수의 웹 서비스환경에서 채용하고 있습니다. (확인되지 않은 Linux 설치 서버까지 고려하면 범용 서버 시장에서 5:5 정도의 점유율을 가졌다고 보여 집니다.)

 

 

리눅스의 PC 버전인 우분투 설치화면... 과거 텍스트 명령어 기반에 비해 많은 발전이 있었죠.


 

웹서비스를 가능하게 하는 웹 프로그래밍 언어


앞선 1편에서 웹 서비스의 베이스가 되는 언어를 간략하게 소개드렸는데, 여기에 기획자가 기획한 내용을 보다 구체적으로 구현하기 위해서는 ASP, JSP, PHP와 같은 웹 프로그래밍 언어를 사용해야 합니다. 건물에 터닦기하고 철근을 올렸다면, 여기에 벽돌도 올리고 시멘트 발라서 그럴 듯 하게 건물 모양을 만드는 과정과 같은데, 그럼 하나씩 살표보죠. 

 

먼저 ASP(Active Server Page)는 MS의 윈도우 계열 서버에서 사용되는 프로그램 언어입니다.. 그러다보니 당연히 윈도우 계열의 운영체제에서만 사용가능하구요. 아마.. 단점이 되겠.. 쿨럭..  원리만 이해하면 간단한 프로그래밍은 누구나 다 할 수 있을 정도여서 웹개발을 가르치던 학원에서 전부 ASP를 가르치던 시절이 있었습니다. 한참 전부터 ASP는 클래식 ASP로 표현되고 있고, 마이크로소프트사에서 자바 개발자들을 영입해서 만든 ASP.NET이 최근에는 사용되고 있습니다.  다시 말해, ASP.NET은 ASP가 업그레이드 된 버전이라 생각하시면 될 듯 하구요,

 

 ASP.NET 기반의 쇼핑몰 iSTYLE24

 


웹 프로그래밍의 고전이라 할 수 있는 JSP(Java Server Page)는 유닉스 혹은 리눅스 계열 서버에서 사용되는 프로그램 언어이고, 해당 웹 서버의 서플릿(Servlet)을 사용해 웹 페이지를 제어하게 되는데, 여기서 서플릿은 서버 애플릿의 약자로, 웹 클라이언트의 요청을 서버 파트에서 실행 시키는 프로그램으로, 보통 자바를 사용하여 웹 페이지를 동적으로 생성하는 서버측 프로그램 입니다..  한마디로 JAVA를 이용해 작성한 CGI 프로그램인데, JSP는 JAVA 서플릿과 연동해서 구성하며, 덩치가 좀 있는 사이트들이 가장 많이 사용하는 나름 역사가 긴 웹 프로그래밍 언어입니다.

 

CGI(Common Gateway Interface)란.. 웹서버와 외부 프로그램 사이를 연결시켜주는 일종의 규약. 동적으로 웹페이지를 만들어주는 프로그램을 의미하며 C, C++, Perl 등 다양한 프로그래밍 언어로 작성이 가능하고.. 요즘은 PHP나 JSP, ASP를 많이 사용합니다.  이러한 개념은 기획자들이 흔히 알고 있는 API.. 즉, 서버와 클라이언트 데이터를 주고받는 규약과 유사합니다.


그런데 여기에 PHP를 빼면 좀 서운하겠죠?  어느새 웹 프로그래밍의 기본(?)으로 우뚝 선 PHP(Personal Hypertext Preprocessor) "PHP는 오픈소스다"라는 표현을 들어본 적이 있나요?? ASP나 JSP와는 달리 PHP는 별도의 라이선스가 없이 무료로 사용이 가능한데요. 앞에 설명드린 것처럼 ASP나 JSP는 윈도우서버, 자바 서블릿 등과 연계가 되어있습니다. 해당 OS에 대한 라이선스가 있어야 사용가능하다 라는 의미로 보시면 됩니다.

 

PHP 기반의 호스팅 서비스, CAFE24

 

 

하지만, php는 오픈소스이기 때문에 특정 OS라이선스가 있어야 한다거나 하는 제약 조건이 없습니다.  때문에 앞서 설명드린 무료 OS인 리눅스에 주로 많이 탑재하여 사용되고 있죠. 

 

위 세가지 대표적인 웹 프로그램들의 공통점은 HTML처럼 사용자의 브라우저나 인터넷속도와 다르게, 해당 웹 서비스의 서버에서 작동되고 작동된 내용을 클라이언트에게 전송해주는 일종의 Server Side Script 언어인데요, 무슨 소린지 도무지 모르시겠다면, ASP, JSP, PHP 세 가지가 있구나. 라고만 알고 계시면 되며, 기획자의 입장에서는 여러분이 그린 스토리보드를 동적으로 구현해주는 도구라고 생각하시면 되는거죠.

 

오늘은 OS와 주요 웹프로그래밍 언어에 대해서 알아봤는데요, 그간 우리가 용어로만 접해왔던 OS나 웹 프로그래밍 언어에 대해 조금이나마 이해가 되셨으면 하는 바람이구요... 다음 편에는 야메군님의 포스팅을 통해 개념적으로 전달된 Database에 대한 이야기와 함께, 지금까지 이야기했던 내용들을 종합한 OS와 웹 프로그래밍 언어, Database의 상호 궁합에 대한 내용들을 다뤄보도록 하겠습니다.  그럼 다음 편에서 뵈요~!!


야메군이 진행하는 "웹기획 마인드 강좌"는 오프라인 강좌 뿐만 아니라, 온라인 강좌로도 만나보실 수 있습니다. 지식 동영상 스토어 "AirKlass", 지구상 가장 큰 학교 "EDUCAST", 전문가의 지식노하우 플랫폼 "TOC6"에서 강좌를 확인해보세요!! 




야메군. Web와 Mobile, Digital 카테고리 SME(Subject Matter Expert). 웹기획 15년차로 네이버 웹기획자 커뮤니티 "웹(WWW)를 만드는 사람들"에서 운영진으로 활동하고 있으며, 딴지일보를 시작으로 아이러브스쿨, 짱공유닷컴, YES24 등의 회사를 거쳐, 현재는 민간 IT 원천기술 연구소 "Valhalla Lab"에서 Pattern recognition과 Machine learning, Natural Language Processing 기술의 상업적 이용방법에 대해 연구했으며, 2016년 7월 7일, 기획자의 업무능력 향상으로 위한 Guide Book "처음부터 다시배우는 웹기획(정재용, 최준호, 조영수 공저)" 출간.


 


댓글
댓글쓰기 폼