포럼
XE with Cubrid, nLucene, Analytics, Syndication, 스팸공동대응API...
2010.11.05 12:35
몇 가지 오해가 생길 수 있을 것 같아 오랜만에 자유게시판에 글 남깁니다. ^^
제목에 적은 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가 여러분들에게 큰 도움과 행복 줄 수 있게 되기를 바랍니다.
좋은 하루 되세요.
댓글 13
-
제이엔지
2010.11.05 12:37
-
누리안
2010.11.05 12:48
반가운 글 감사합니다.
유저의 입장에서는 앞으로 프로젝트가 어떤 방향으로 흘러갈지 늘 염두에 둬야하고, 그래서 그런 방향을 추측하다보니 정보가 한정되어 있어 잘못된 추측을 할 때도 있습니다.
이럴때 XE 팀에서 옳바른 길을 알려주시니 이용자의 입장에서 무척 반갑고 감사합니다.
-
Garon
2010.11.05 12:58
감사합니다. 앞으로도 잘 부탁(;;;) 드려요! ^^
-
흑묘백묘
2010.11.05 13:18
제로님의 자상한 해석에 감동.
또 공부해야될것이 생겼네요^^ 시간내서 큐브리드를 공부좀 해야겠네요. 뭐가 좋킬래 xe공식홈피에서도 큐브리드로 교체했겠죠뭐.
-
괴물물고기
2010.11.05 13:25
뭐가 뭔지도 모르고 쓰는 것들이 더 많았는데, 상냥한 설명 감사드립니다 ;^) 저도 좀 더 공부해나가고 싶네요─
-
토깽이2
2010.11.05 13:30
백성찬님이 정말 존경스러워요^^ -
misol
2010.11.05 18:56
고생이 많으셔요.. 에효.. ㅠ
멋진 제로님 앞으로도 파이팅~!
-
백성찬
2010.11.06 04:59
저에 대한 글은 조금 과찬(짱 이라는 것은) 입니다.
처음에 윈도우에 설치하고 어려움이 많아 zero님에게 제로보드xe(처음 명칭)와 iis에 대해 많은 질문을 했습니다.
또한 iis만의 특수성에 대해 검색을 했지요.
서버의 특성 중에 iis를 사용한다면 jpg 이미지 파일의 파일명을 물리.jpg 하고 해서 업로드 해보십시오. (댓글 작성 날짜의 리비전 까지)
맛잇는 음식의 재료도 자기에게 잘 맞아야 좋은 것 처럼 현재의 상황에 맞게 조화를 하는 수 밖에 없습니다.
무엇이든 잘 활용할 때 진가를 배가할 수 있을 것입니다.
웹계에세 한발 더 앞서 나가는 xe가 되길 바랍니다.
-
제이엔지
2010.11.06 10:58
제로님!
이곳 자유게시판에 관심을 갖고 가끔 자주 찾아주셔서
사람들이 무슨 말을 하고 무엇을 원하는지 지켜보고 참고해주셨으면 해요.
XE 발전을 위해
수많은 사람들의 다양한 의견들이 분명 도움이 되실꺼라 생각해요.
그리고 XE가 어렵다 말하는 사람들이 아직도 많거든요. 그래서 안타까와요.
XE 설치시 보다 친절하고 자세한 안내가 들어있었으면 좋겠구요.
XE가 제로보드4처럼 설치하기도 쉽고 참 편리하구나라는 말들이
웹상 여기저기 많이 들려왔으면 좋겠어요.
그리고 수많은 사람들이 원하는 방향으로 나아갔으면 좋겠어요.
그래서 왕초보자들에게도 기쁨 주고 행복 주고 꿈을 주는 XE가 되기 바래요.
앞으로 XE가 더욱더 발전하기 바라구요.
누구나 쉽게 설치하고 편리하게 사용할 수 있는 XE가 되기 바래요.
그리고 제로님 통해 알게 되었는데...백성찬님이 XE 위해 참 좋은 일 하셨네요.
백성찬님이 이곳에 가끔 꾸준히 나타나셔서 참 좋아요.
이곳을 찾았던 수많은 분들이 XE에 관심을 갖고 앞으로도 계속 꾸준히 오셨으면 해요.
제로님 개발팀들 XE가족 그리고 이글 보시는 분들 모두 파이팅~~
-
Garon
2010.11.06 14:52
XE가 어렵다 말하시는건 새로운 변화에 적응이 안되셨기 때문이라고 봅니다. 언제나 새로운것은 어렵지만 이겨내고 나면 별것 아니고, 내가 성장하는데 이런 과정이 있었구나. 이런 밑거름이 되었구나 이렇게 되지 않을까 싶네요.
XE가 좀더 친숙해지는것은 늘상 원하지만, 자신의 책임을 과도하게 피하려는것 같이 느껴져서 아쉽습니다.(개인적인 의견)
-
제이엔지
2010.11.06 15:05
가론님 말하신 뜻 잘 알고 있구요.
새로운 변화에 적응하면 물론 누구나 쉽고 잘 적응될꺼라
저도 그리 생각해요.
그런데 아직도 웹상 여기저기에서
XE가 어렵다는 말들을 많이해서 안타까와요.
앞으로 특히 초보자들 왕초보자들 위해
많이 배려해주시면 참 좋겠다싶구요.
웹상 여기저기서
XE가 쉽다는 글들을 많이 볼 수 있었으면 좋겠어요.
-
때린데 또때려
2010.11.09 20:28
저야 프로그램 쪽은 무례한 이지만 사용자가 쉽게 사용하고 안정적으로 작동할수 있도록
노력을 하시는거 같고.. 아무쪼록 초심에 입각한 정책이 되었으면 합니다.
-
아빠불당
2010.11.11 11:07
대용량 사용자들을 위해서, 다수개의 db에 분산운영이 가능한 모델도 나오면 좋을거 같아요^^
제로님 반가와요
오랫만에 나타나셨네요.
정말정말
반갑습니다~