포럼

몇 가지 오해가 생길 수 있을 것 같아 오랜만에 자유게시판에 글 남깁니다. ^^

제목에 적은 nLucene, Analytics API, Syndication API, 스팸공동대응API들은 올해 오픈 되거나 배포된 것들입니다.

제가 NHN DeView 때에도 발표하기도 했고 또 XE를 통해 세상에 처음으로 선 보이는 것들이라는 공통점들이 있어 XE의 것이 아닌가 생각하시는 분들도 있습니다.

그래서 XE 사용자분들이 이런 것들과 XE와의 관계에 대해 정확히 알지 못하시기에 정리할겸 글 적어봅니다.


XpressEngine은 사용자들이 쉽고 편하게 쓸 수 있는 CMS를 지향하는 오픈 소스 소프트웨어이지 특정 솔류션, 플랫폼만 지향한다거나 의존하려 하지 않습니다.

물론 PHP 라는 프로그래밍 언어에 대한 플랫폼 종속성은 어쩔 수 없지만 그 외의 것들은 가능한 다양한 환경에서 사용 가능하도록 계획되었고 또 그렇게 개발하고 있습니다.


그런데 이 와중에 또 하나 챙겨야 하는 것이 XE를 설치해서 사용하는 환경에 대한 고민과 XE라는 웹프로그램만으로 하기 어려운, 하지만 정말 필요한 것들을 어떻게 가능하게 할까라는 고민이 있었습니다.

그래서 DBMS의 경우 초기부터 MySQL, Cubrid, Postgresql, SQLite, firebird등 XE Core 개발자뿐 아니라 외부 개발자분들의 도움으로 다양한 종류들을 지원할 수 있게 하였었습니다.

OS의 경우에도 많은 분들의 도움(특히 백성찬님 짱이십니다)으로 리눅스 환경뿐 아니라 윈도우에서도 잘 동작하고 있습니다.

다국어 지원 역시 완벽한 구조는 아니지만 지원을 할 수 있도록 하였구요.


아무튼 XE가 설치되고 동작할 수 있는 기본적인 환경들은 계속해서 맞추어 나가지만 XE만으로 할 수 없는 문제들이 생겼습니다.

- 웹사이트에서 만들어진 글을 보다 잘 검색에 연동되게 해서 더 많은 방문자들이 오게 하는 것.

- 웹사이트의 통계분석을 하되 XE 관리자들이 그 데이터를 사용해서 다양하게 응용할 수 있게 하는 것.

- 글이 많아질때 검색 속도가 느려지는 문제 해결 방법.

- 기계 혹은 사람이 올리는 스팸을 방지하는 방법.


저도 10년 넘게 웹사이트를 운영해왔고 또 웹사이트를 만드는 프로그램을 만들어 온 개발자들 중 한명으로 위 문제들을 해결하기 위해서는 XE와 같은 범용성을 가진 웹프로그램만으로는 어렵다고 생각을 하여 왔었습니다.


그래서 검색이 보다 잘 되게 할 수 있는 방법을 해결하기 위해 제가 근무하는 NHN의 검색 개발자에게 제안해서 Syndication API를 개발하게 되었죠.

이 Syndication API는 XE만의 것이 아닙니다.


Google Anlaytics와 같은 통계분석 서비스는 있지만 웹사이트 관리자가 직접 그 서비스 사이트 가서 통계를 봐야 하고 그 통계 데이터를 활용하기 어렵기에 NHN의 기술력을 이용해서 만든 것이 Analytics API입니다.

이 역시 XE만의 것이 아닙니다.


제가 웹사이트 운영하면서 지운 스팸글/댓글만 수십만개는 넘을텐데 이걸 키워드를 걸거나 IP로 막는 방법으로는 한계가 있었습니다.

결국 많은 웹사이트 운영자들이 합심해서 공동으로 대응하면 해결할 수 있을거라 생각해서 서버 개발 잘하는 개발자 꼬셔서 개발을 하였습니다.

스팸 공동 대응 API 또한 XE만의 것이 아니죠.


그럼 마지막으로 글/ 댓글이 많아질수록 느려지는 XE의 검색 속도 및 정확도.

이건 웹프로그램만으로는 해결할 수 없었는데 NHN의 내부 검색용(네이버 검색 서비스 아님)으로 개발하고 정교화시킨 nLucene을 외부 배포한다기에 해당 부서에 요청하여 오픈 전에 협업하여 XE의 모듈로 개발하고 배포하였습니다.

당연하지만 이 nLucene 역시 XE만의 것이 아닙니다.


굳이 위에 여러가지를 나열하고 XE만의 것이 아니라고 한 이유가 뭘까요?

말 그대로 XE나 위에 열거한 API, 프로그램 모두 오픈 소스 또는 오픈 API 라는 것입니다.

다만 NHN에서 하는 것들이기에 XE에 먼저 탑재할 수 있는 기회가 생긴 것이고 또 XE를 통해 많은 분들에게 알릴 수 있다는 것이죠.

당연히 다른 웹프로그램, 자체 솔류션에서도 사용할 수 있도록 가이드하고 있고 또 열려 있습니다.


nLucene이 Cubrid위에서만 동작되는 것, 그건 nLucene이 가진 특성이고 그 자체가 문제가 될 것은 없는 것이겠죠?

다만 XE 웹사이트에서 nLucene을 이용해서 검색 기능을 제공해야겠기에 Cubrid로 DBMS를 바꾼 것입니다.


물론 이 와중에 Cubrid에 대한 희망이 있었기에 DBMS를 바꾸는 큰 공사(?)를 할 수 있었습니다.


Cubrid는 상용 DBMS가 아닌 오픈 소스 소프트웨어입니다.

특히 한국에서 만들어져서 한국인 개발자에게 물어보고 또 필요한 부분이 있으면 피드백을 할 수 있다는 것은 개발자 입장에서 매우 큰 장점이 될 수 있습니다.

외산 DBMS들은 그냥 주어진 것만 써야 하지만 Cubrid는 그렇지 않습니다.

예를 들어 예전에 MySQL 업그레이드 하면서 password() 함수를 하위 호환 고려하지 않고(물론 설정은 있지만) 바꾸어버리는 바람에 제로보드 사용자들 엄청 고생 많았었는데 이런 것들이 Cubrid를 사용한다면 미리 요청하여 이런 일이 생기지 않게 할 수 있습니다.

또한 XE의 특정 기능을 사용할때 필요한 것들을 직접 Cubrid 개발자들에게 요청할 수도 있겠구요.


Cubrid에 집중하기에 MySQL을 버리는거 아니냐고 오해하셨지만 절대 그렇지 않습니다.

현재 XE의 경우 DBMS 튜닝이 많이 되어 있지 않았습니다.

그 동안 워낙 많은 모듈을 만들고 기능을 붙이느라 여력이 안된 것도 이유이지만 DBMS 전문가의 도움이 필요한 부분들도 있었습니다.


예를 들어 최근 thoth.kr이나 한국경제 블로그 서비스등이 XE+Cubrid로 개발이 되었는데 이런 곳에서 Query에 관련된 문제가 있었습니다. 이 문제를 Cubrid DBMS 전문가가 파악해서 XE 개발자들에게 연락이 되어 수정되는 경우도 있었습니다.

그리고 이런 것들이 단지 Cubrid용으로만 해결되는 것이 아니라 기본적인 쿼리만 사용하는 XE의 경우에는 MySQL등 다른 DBMS에도 좋은 영향을 주게 됩니다.


리눅스용으로 최적화된 XE를 윈도우에도 최적화 시킨다고 해서 리눅스를 버리는 것이 아니고 윈도우용으로 최적화된 것들이 리눅스용에도 좋은 영향을 미칠 수 있는 것과 같은 것입니다.


아무튼 제가 지금까지 제로보드, XE를 개발하면서 보여드린 모습 그대로 앞으로도 계속 보여드릴 것입니다.

3년전 XE를 NHN에서 개발한다고 하였을때 걱정하신 분들이 많으셨지만 지금의 XE는 그 때 걱정들이 없도록 노력하고 있고 또 그렇게 되어 가고 있다고 생각됩니다.


괜한 오해 없으시기를 바라는 마음에 긴글 적게 되었네요.

XE가 여러분들에게 큰 도움과 행복 줄 수 있게 되기를 바랍니다.

좋은 하루 되세요.

글쓴이 제목 최종 글
카르마 개발 및 테스트 환경 [2] 2011.01.12 by 현원
SMaker 아직 모바일 기능이 부족하지 않나 생각해봅니다. [6] 2011.01.11 by 트루퍼
misol 언어번역 요청 게시판 괜찮네요 ㅋㅋㅋ  
규지니 모듈개발 문서는 없는지요? [4] 2011.01.11 by 규지니
zero 에고.. 이제 서비스 안정화되었습니다. [12] 2011.01.11 by 999
씨지 API 확장에서 module.xml 는 어떻게 상속시키나요? [4] 2011.01.10 by 씨지
현원 오호 이런 곳이 있었군요  
Garon 약간의 아이디어~ [3] 2011.01.08 by kantsoft
러키군 개발뿐만 아니라 프로젝트와 관련된 메뉴얼도 필요합니다. [2] 2011.01.08 by 999
라르게덴 이슈트래커가 토론으로 이어질 수 있도록 되었으면 좋겠습니다.  
fsfsdas 왜 아직 아무런 글이 없을까요? [2] 2011.01.08 by zero
Treasurej 좋습니다.^^ [1] 2011.01.08 by zero
정찬명 XE Core 1.4.4 새 템플릿 문법을 소개합니다. 간결+판독. [9] 2011.01.05 by likesam.myid.net
정찬명 XE 새 템플릿 문법으로 원하는 위치(head, body)에 JS 선언하기. [4] 2011.01.05 by likesam.myid.net
행복한고니 XEED 수정 사항 테스트 부탁드립니다. [29] 2011.01.02 by 유샤인
sol xe.1.4.4.2.changed.tgz 파일 재업로드 하였습니다. [6] 2010.12.01 by 바라트
zero 스팸공동대응 API에 대해 자세히 알려드리려 합니다. [6] 2010.11.26 by XE Developers
zero 11월 22일 발생하였던 아이디 사용 중지 사건 내용에 대해 알려드립니다. [8] 2010.11.24 by 독도2005
정찬명 최적화(Optimizer) 기능을 사용하는 것이 정말 더 빠른가요? [19] 2010.11.18 by 정찬명
zero XE with Cubrid, nLucene, Analytics, Syndication, 스팸공동대응API... [13] 2010.11.17 by 아빠불당