본문 바로가기
loading

교육과정

웹 서버 프로그래밍

교육배경 이해 :: 웹 서버 프로그래밍은 World Wide Web에서 사용되는 프로그래밍 기술입니다.

CURRICULUM 교육과정
웹 서버 프로그래밍
교육배경 이해
웹 서버 프로그래밍 정의
웹 서버 프로그래밍은 World Wide Web에서 사용되는 프로그래밍 기술입니다. 웹 기반의 클라이언트 – 서버 통신 방식으로 기본으로 하고 있으며, 프로그래밍 언어 외에도 데이터베이스, 네트워크, 서비스 아키텍처 등에 대해 포괄적으로 이해할 수 있어야 합니다.
웹 서버 프로그래밍 가치
World Wide Web이 등장한 이후, 수많은 서비스가 웹을 통해 이루어지고 있습니다. 웹을 통해 정보를 검색하고, 이메일을 보내는 것만으로도 인간의 삶은 놀라운 변화가 있었습니다. 그리고 현재의 웹 기술은 네트워크를 통해 컴퓨터와 인간이 소통하는 가장 일반적인 커뮤니케이션 방식이 되었습니다.
웹 서버 프로그래밍 교육과정 특징
웹 서버 프로그래밍 교육과정은 프로그래밍 언어뿐만 아니라 시스템 구현에 필요한 요소 기술과 코드 레벨의 상세 설계 등 세부적인 내용도 포함합니다. 또한 성공적인 웹 서비스를 위해 필요한 기술, 예를 들어 대용량 서비스 처리, 서비스간 연계, 보안 등에 대해서도 실질적인 해법을 찾을 수 있도록 교육과정을 디자인 하였습니다.

현장 인터뷰 :: NHN 지식iN 서비스개발팀 한명구 대리

롤모델 인터뷰
웹프로그래밍의 매력이요? 나의 아이디어를 세상에 펼쳐 보이기 가장 좋은 도구라는 점입니다.
NHN 지식iN서비스개발팀한명구 대리
한명구 대리 이미지
한명구 대리는 NHN에서 회사 생활을 처음으로 시작하였고, 현재 '지식iN' 서비스 개발을 맡고 있는 4년차 웹개발자입니다. 인터넷을 사용하는 국민이라면 누구나 다 아는 서비스를 맡고 있어 즐거움과 보람도 크다고 합니다. 동시에 한 순간이라도 문제가 발생하지 않도록 최적의 기술을 적용해야 하기 때문에 늘 새로운 도전을 해야 한다고 합니다. 이러한 과정을 통해 자신이 성장해가고 있음을 느낀다는 한명구 대리를 만나봅니다.
현재 네이버 지식iN 서비스개발을 맡고 있으며 최근에는 모바일 웹에 집중하고 있습니다.
최근에는 지식iN 모바일 웹페이지를 개발했고 그 전에는 지식iN의 서버사이드 프로그래밍을 하였습니다. 모바일 웹은 유저가 스마트폰으로 보는 페이지의 UI를 최적화하는 기술이 더 중요하고, 서버사이드 프로그래밍은 DB연동 등을 통해 빠르고 안정적인 서버 아키텍쳐를 설계하고 구현하는 기술이 중요합니다.
4년차를 맞았고 최고의 아키텍트가 되기 위해 노력하고 있습니다.
입사 전에 예상했던 일과 현재의 일은 많이 유사합니다. 그러나 학교에서 배우지 못했던 많은 기술들이 필요하여 지금까지도 계속 공부하고 있습니다. 특히 Javascript나 HTML등 Front Side기술은 배우지 않았고, NHN에서 주요 개발언어로 사용하는 Java의 경우도 배우지 않은 상태로 입사하였습니다. 개발자가 기본적인 문법부터 시작하여 최고의 성능을 만들어 내는 전문가가 되기까지의 과정은 많은 노력을 필요로 합니다. 특히 네이버의 경우 사소한 실수가, 사용자의 많은 트래픽을 이겨내지 못하는 대형 서비스 장애로 이어질 수 있습니다. 고도의 구현기술을 터득하는 데 많은 노력을 기울이고 있고 그 과정을 통해 제가 성장하고 있다는 것을 느낍니다.
웹 프로그래밍의 매력은 나의 아이디어를 세상에 펼쳐 보이기 가장 좋은 도구라는 점입니다.
웹의 철학은 브라우저만 있으면 누구나 평등하게 정보를 얻고 서비스를 이용할 수 있다는 점입니다. 사용자의 접근이 쉽고, 많은 비용 없이도 서비스를 만들고, 사용자들에게 서비스 하는 것이 용이합니다. 즉 나의 아이디어를 가지고 세상에 펼쳐 보이기에 가장 좋은 도구입니다. 이제 사용자에게 좋은 아이디어와 경험을 제공하는 서비스가 성공 사례가 되는 세상이 되었습니다. 대표적 IT기업들인 페이스북이나 구글, 유튜브도 다 그렇게 시작했습니다. 웹의 경우 좋은 아이디어만 있다면 누구나 경쟁시장에 끼어들 수 있습니다.
개발자의 역할은 정해진 기획을 그대로 기술로 옮기는 것이 아니라 더 좋은 서비스를 위해 같이 기획하고, 서슴없이 제안하는 것입니다. 이를 위해 개발자 또한 인문사회학적 소양과 넓은 분야의 관심이 매우 중요합니다.
개발의 보람은 '내가 같이 기획하며 만들어가는 서비스'라는 점에 있지요.
누구나 지식iN을 개발한다고 하면 다 압니다. 우리나라 국민의 2000만명 이상이 쓰고 있는 서비스를 내가 만든다는 것에 대단한 자부심을 느낍니다.
최근에는 개발뿐 아니라 기획과정에서 아이디어를 내는 데 적극적으로 참여하면서 '내가 만들어간다' 라는 자부심을 더하고 있습니다. stackoverflow.com이라는 프로그래밍 전문답변 사이트가 있는데 콘텐츠양도 많고 UI도 편리하여 개발자들이 궁금증에 대한 답을 거의 다 얻을 수 있습니다. 그런데 유심히 보니 지식iN도 개발 관련 질문이 꽤 많이 등록됨고 있었습니다. 그런데 소스 코드 편집 기능이 없어서 개발 소스 코드 기반으로 질문, 답변을 하는 데는 불편한 점들이 많은 것을 발견하였습니다. 그래서 이러한 기능들을 개선하여 이번 4월에 오픈 하였습니다. 지식iN은 이제 각 전문 분야의 지식들이 더 잘 소통될 수 있도록 이런 작은 기능들에 대해서도 큰 관심을 기울일 것입니다.
한명구 대리 이미지
지식iN, 오픈한지 8년이 된 서비스이지만 예상치 못한 상황을 맞기도 합니다. 늘 새로운 기술적 도전이 생기는 셈이지요.
지식iN의 경우 안정성 확보가 매우 중요한 서비스로, 백엔드의 아키텍쳐는 엄청난 기술의 집약체입니다. 최근 모방송의 퀴즈쇼에서 '왜 첫 월급을 타면 빨간 내복을 사는가'라는 퀴즈를 냈는데 이때 모바일 웹에서 엄청난 수의 사용자들이 검색, 질의를 하여, 그 답이 있는 DB에만 과부하가 발생했습니다. 다행히 서비스 장애는 발생하지 않았습니다. '대선'이나 '월드컵'과 같은 사회적 이슈는 검색 예측이 되지만 이런 사소한(?) 질문은 검색 예측이 안 되어 당황스러울 때가 있습니다. 이를 위해 적은 수의 서버 장비로도 많은 트래픽을 감당할 수 있는 기술 설계가 필요합니다. 서버 메모리 기술을 적용한다든가, DB를 분산시키거나 캐싱을 적용하는 등이 그 예가 될 수 있습니다. 오픈한지 8년이 된 서비스라 하더라도 늘 새로운 과제를 받고 해결하는 과정을 겪습니다. 그 과정을 통해 개발자는 성장한다고 생각합니다.
웹 프로그래밍을 지망하는 학생들에게 하고 싶은 말...
웹의 시장이 포화라고들 하지만 할 게 너무 많습니다. 새로 나온 기술들이 대부분은 웹기술을 기반하기 때문입니다. 그리고 정해진 일만 하는 것이 아니라 같이 기획하고 같이 설계하고 개발할 줄 아는 개발자가 되어야 합니다. '이건 이렇게 해보자'라고 적극적으로 서비스를 만드는 데 같이 참여해야 발전합니다. 그렇지 않다면 단순 기능 인력에 머무는 것이라고 생각합니다. 학생들이 스스로에게 과연 이것이 효율적인지 질문하고 검증하는 훈련을 통해서 기술과 서비스에 대한 높은 이해와 경험을 쌓을 수 있고, 그것을 기반으로 창업도 도전해 볼 수 있을 것입니다. 이를 위해서 인문사회학적 소양과 UX에 대한 이해력을 갖추는 노력을 권하고 싶습니다.
인터뷰펄치기
인터뷰접기