그누보드 개발방법론에 대해 조언 & 방향에 대한 의견 부탁드립니다.

ToTb Story/ToTb 네이버지식 Story 2018. 5. 9.
그누보드 개발방법론에 대해 조언 & 방향에 대한 의견 부탁드립니다.


[질문]

 

안녕하세요?


학원표 Java로 시작해서 php의 자유로움과 범용성에 감동받아

그누보드에 까지 입문한 초보 개발자 입니다.


최근에 저의 주도로 웹사이트를 개발하게 되었는데요

여러 방안들중 짧은 개발기간과, 편의성을 위해서 그누보드로 제작하려고 결정이 되었습니다.


평소에 그누보드 플러그인좀 들여다보고 간단한 저의 홈페이지 운영에는 써먹어봤는데

클라이언트의 요구사항을 받아들여 완전 새로운 웹사이트 제작에는 처음이라서

분석 및 기획에만 3주째 갈팡질팡하고 있습니다 ㅠㅅㅠ

(그나마도 진도가 안나갈것 같아 지금은 테마 제작 > 상세 페이지 퍼블리싱 중입니다.)


부디 조금만 시간을 내주셔서 코멘트 부탁드립니다.


 


----

제가 만들려는 것은 '장소예약'과 '쇼핑몰', 그리고 '커뮤니티'를 기반으로한 웹사이트입니다.

예약관리, 상품구매, 다양한 회원관리(마일리지, 쿠폰, 회원등급-별 이벤트 진행 등등)이 포함됩니다.

이미 그누보드에 많이 구현되있는 부분이라 이렇게만 적고 보니 무슨 고민일까 싶습니다만


현재 저의 고민은

그누보드 기반으로 어디까지 그누보드의 것을 이용해야 하는가 입니다.


아예 들어내고 index 페이지 부터 신규 제작하는 것이 맞는가,

아니면 최대한 그누보드 있는 그대로 쓰고(url 패턴) 그냥 최대한 데이터를 맞춰 구현해야 하는가... 


특히 영카트 부분은 /shop 로 도메인이 따져있는데 이게 마음에 안든다면

다른 명칭으로 전부다 만들어야 할거 같은데 검색된 파일 갯수만 수십개...

끝이 없는 고민인데 글로만 적으려니 참 단순하네요;;


다른 개발자분들도 똑같이 느끼셨을것 같은데 어떻게 해결하셨는지 궁금하네요.. 

현재 3주간 고민한 결과 다음과 같습니다. 



1. 그누보드 index 페이지 부터 새로 싹다 만든다 (기존 로직 분석 후 필요한 부분만 들여와서 제작)


2. 그누보드(커뮤니티)-영카트(쇼핑몰) = 그대로 가고 예약관리 페이지만 신규로 웹사이트를 만든다.


3. 여분필드를 최대한 활용하여 만들어 그누보드에 최대한 수정을 하지 않는다. (추후 보안 및 업데이트 위함)



# 이렇게 고민하는 이유는 사이트 제작 및 운영을 제가 직접 담당할 예정이며 (최소 2~3년)

나아가 어떤 솔루션을 만든다는 개념으로 만들기를 개인적으로 희망하기 때문입니다. ㅠ

의견 부탁드립니다.!!



감사합니다 (__)

 

 

 

[답변]

 

안녕하세요.  IT전문  컨설턴트입니다

 

흔히 솔루션을 기반으로한 사이트구축을 많이 염두해 두시는듯 합니다.  문제는 각 언어별로 구축하는 전략이 다르며, 특장점이 다르다는 분부을 인지하시고 선택하시는것을 추천드립니다. 특히 보드시스템이라 불리는 시스템의 경우 작은규모의 사이트를 만들거나 게시판이나 커뮤니티 형태의 구조를 구현하는데는 최적화 되어있지만, 지속적으로 업데이트를 진행하며, 보안적인 부분에 대한 강화 및 비즈니스 진화에는 취약한 부분이 있습니다. 1년에도 몇번씩 오픈소스 기반의 보드시스템의 취약점으로 인해서 해당계열의 사이트가 공격을 받아서 문제가 발생하는 점만 생각해 보더라도 족므더 고민이 필요하리라 생각 됩니다.


다양한 기능을 수용하기 위해서 만들어진 DB구조이기 때문에 전체적으로 소스가 무겁고, 서버의 부담 또한 일반적인 방법으로 구축된 소스에 비해서 높은 편입니다. 제대로 단계별이나 폭포수 모형을 통해서 구축한다면, 이와 반대로 가볍고, 지속적으로 유지보수 가능한 소스를 구현할수 있을것입니다.




특히. 시장의 상황은 빠르게 변합니다. 유저들의 요구를 빠르게 만영하여 경쟁력있는 웹사이트를 만드는것이 중요합니다. 컨테이너로 건물을 지을수는 있지만, 고층건물을 지을수는 없습니다. 컨테이너 처럼 사전에 어느정도의 프로그램을 설계하여 준비해 놓는다면 빠르게 구축은 가능하지만, 해당 용도를 벗어나거나 몇층 이상의 복합구조에서는 취약하는점을 생각해 본다면 개발언어 및 방법론 선정에 신중을 기해야 합니다.


 


1년에도 수십개의 프로그래밍 언어가 새롭게 발표가 되고 있지만, 사람들에게 호평을 받는 프로그래밍 언어는 불과 1~2개에 불과합니다. 4세대 Web언어에 속하는 언어로써 ASP, PHP, JSP의 3가지 언어를 주로 사용하고 있습니다.  문제는 각 언어별로 특장점들이 다르기 때문에 어떤 비즈니스를 하느냐에 따라서 선택이 달라진다고 생각해 볼수 있습니다.


 


1) ASP

OS:  Microsoft사의 Windows2000Server/Windows2003Server

PL: Microsoft사의 IIS

DB: Microsoft사의 MS-SQL

AP: Visual script+ Java script+ ActiveX + ASP

특징: 비용대비 효과가 뛰어나며, 상업용으로 개발된 환경에서 개발이 가능하다.


ASP는 MS기반의 웹프로그래밍 언어라 정의를 내린다. NT라는 서버를 기반으로한 웹서버 기술인 IIS을 바탕으로 해서 작동을 하며,MS사에서 나온 MS-SQL과 완벽하게 호완을 한다.

또한 크리스털 리포트등의 기능, 오브젝트의 활용성, 엑셀과의 100% 호환, 등의 MS제품군과의 완벽에 가까운 호완성을 자랑한다. 또한 VB나 VC등의 기술로 제작된 콤포넌트도 활용을 할 수가 있어서 서버스크립트형 언어와 클라이언트 스크립트형 언어의 장점을 고루 갖추었다.


 


2)PHP

OS:  Linux

PL: Apachi

DB: My-SQL

AP: GNU Pg + Open pg + PHP

특징: 구축비용이 저렴하고, 무료 소프트웨어를 기반으로 구축이된다.


PHP는 UNIX C를 기반으로 하여 나온 멀티프로세싱 기반의 언어이다. UNIX C의 특징을 살려 만들었기 때문에 아파치 서버와 같은 UNIX 호완 서버에서 작동을 하며, 유닉스의 GNU에 맞게 My-SQL을 기본적인 DB로 사용을 한다. 무엇보다 PHP는 서버구축이 거의 무료에 가깝다는 장점때문에 많은 사랑을 받았지만, 보안과 관련된 문제가 많이 대두되는 현재에서는 포트의 보안결핍등의 문제로 인해서 대형 웹 사이트 시장에서는 밀리고 있는 추세이다. 대표적인 보드 시스템으로 제로보드, 그누보드가 있다.


 


3)JSP

OS:  상관없음, 주로 UNIX 계열 및 대용량 서버에서 구축

PL: JavaVM기반

DB: Oracle

AP:  Script Java + complie Java

특징: 보안성이 우수하며, 주로 금융권/관공서 사이트에서 개발이 많이 된다.


JSP는 JAVA의  플렛폼 기술을 기반으로한 프로그래밍 언어라 정의를 한다. JAVA의 장점인 클래스를 활용한 스레딩 기술로 속도는 느리지만 보안성에 있어서 호평을 받고 있다. 은행이나 금융권의 홈페이지에서 주로 사용하고 있다. 네이버 블로그는 JSP와 JPQ기술이 혼합된 형태라 볼수가 있다. JSP는 ORACLE DB서버에서 주로 사용을 하고 있으며, 최근 JPQ나 Bins 등의 어플리케이션형 자바기술의 지원으로 손쉽게 접근 할 수 있다. 대표적인 보드 시스템으로는 피터보드가 있다.




JSP의 경우 서버에 대한 부담이 큰편이고 속도가 느린편이라 보안성이 요구되는 비즈니스가 아니라면 비용대비 효율성의 문제로 인해서 구축을 추천드리지 않습니다.


 


ASP와 PHP중 어떤 언어를 쓰는가에 대해서는 고민을 해보셔야 할듯합니다.


일단 ASP는 오픈된 소스를 가지고 작업하는 방법이 아니라 단계별개발방법론이나 폭포수모형 등의 전통적인 개발방법론을 기반으로 작업이 진행됩니다. 따라서 표준으로 작업한 소스코드에 대해서 관리 및 유지보수가 용의하다는 장점을 가지고 있습니다. 비즈니스 모델상 확장을 진행해야 할때를 고려한다면 우선적으로 검토해야 하는 언어입니다. 단계별로 일일히 개발을 진행해야하기 때문에 비교적 단가가 높은 편이지만, 거의 대부분의 ASP언어 개발자는 유사한 프로세스를 가지고 개발을 진행하기 때문에 인력 교체나 업체교체시에도 관리가 가능합니다.


MS계열의 프로그램을 사용해야 하는 단점으로 인해서 호스팅 및 서버 운영시에 운영비가 비교적 높은편이지만, 상용프로그램의 경우 보안성이 높고 업데이트 지원을 받을수 있다는 점에서 도입을 검토할만합니다.


 


PHP는 오픈소스를 기반으로 작업이 됩니다. 물론, 솔루션등의 형태로 독립형 소스 코드를 구입하여 수정하는 방법이 많이 사용됩니다. 솔루션에서 커스트마이징이나 수정을 해서 사용할 경우 원 솔루션의 알고리즘 및 DB구조를 벗어나는 개발이 불가능하기 때문에 확장성이 타 언어에 비해서 떨어집니다.


또한 유사시장을 쉽게 만들수 있는 구조이며 진입장벽이 낮기때문에 경쟁자를 쉽게 만들수 있게 됩니다.


무료운영체제 및 DB를 사용할수 있어서 호스팅 및 서버운영시에 운영비가 비교적 낮은편이지만, 무료로 제공되는 소프트웨어의 경우 소스코드의 공개로 인해서 보안성이 낮고, 업데이트 지원을 받기가 어려운 점에서 신중히 고려해야만 합니다. 소스코드가 공개되어있다는 것은 해커들의 공격에 노출되어있다는 의미입니다.




[IT컨설턴트의 생각]


비즈니스는 많은 가변수가 따릅니다. 참고사이트와 유사한 사이트를 만들어서 그들과 경쟁을 한다는것은 쉬운일이 아닙니다. 제작기간 동안 참고사이트 또한 진화를 할것입니다. 그들은 많은 유저들의 요구사항을 반영하여 나날이 새로운 컨턴츠를 개발하고 있으며 다년간 운영의 노하우를 살리고 있습니다. 경쟁에서 이기는 사이트를 만들기 위해서는 참고사이트가 앞으로 나갈수 있는 방향을 예측하여 유저들의 요구사항에 맞게 사전에 준비를 해야만 합니다. 솔루션 기반으로 비즈니스 경쟁에서는 승리할수가 없습니다. 유사한 솔루션에 유사한 비즈니스 모델로는 과도한 광고비용으로 수익구조는 열악해질수 밖에 없습니다. 사이트를 효율적으로 운영할수 있는 방법은 솔루션이 아니라 비즈니스를 철저히 분석하고 경쟁력 포인트를 반영한 시스템 구축에 있습니다.


처음부터 큰 비즈니스를 설계하고 준비하여 운영할수는 없을것입니다. 지금 잘나가는 사이트들 또한 많은 시행착오와 업그레이드를 거듭해서 지금의 위치까지 힘들게 한걸음씩 내 딛었을 것입니다. 시장의 변화와 유저들의 다양한 요구를 반영하기 위한 가장 기본적인 구성이 필요하지 않을까요?


전문적인 IT컨설턴트의 컨설팅으로 경쟁력있는 비즈니스를 준비하십시오.~

 

 

그누보드 개발방법론에 대해 조언 & 방향에 대한 의견 부탁드립니다. - IT감리, IT컨설팅, 웹컨설팅, 웹에이전시, 웹솔루션개발, ERP, SCM, CRM, ToTb, 홈페이지제작, 웹사이트 제작, 온라인 마케팅, 시스템구축, 유지보수, 운영대행 등
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기