오픈 소스 프로젝트 - XE 개발 포럼
글수 255
작년 클베이후 업그레이드가 참 많았던 것 같습니다.
개발 중심이면 사용자 요구가 반영되지 않고 또 사용자 중심이면 구조나 코드들이 엉망이 되기에 가능한 중도를 잘 지키기 위해서 노력했고 또 커미터분들이 많이 참여해주셔서 그간 업그레이드가 상당히 잦았습니다.
하지만 업그레이드가 많은 것이 버그의 수정이나 불편함을 개선하기보다는 새로운 기능등의 추가로 인한 이유가 많았었습니다.
좀전에 한승엽(haneul)과는 이야기를 하였는데 다음과 같이 하면 어떨까 싶습니다.
대략 위와 같은 수순으로 1.0.x 버전을 마무리하면 어떨까 싶습니다.
XE 1회 모임때에도 이야기했지만 XE는 하나의 프레임웍 또는 최소 사양의 필수 프로그램으로 보는 것이 맞습니다.
zeroboardXE는 이 XE 위에 게시판 모듈과 홈페이지 운영시 꼭 필수적인 부가 프로그램을 탑재하여 홈페이지 운영을 위해 배포하는 하나의 패키지명으로 이어져야 하구요.
차후 블로그 전용 모듈이 나오면 그 모듈을 바탕으로 blogXE(가칭) 패키지를 배포할 예정이고 zeroboardXE든 blogXE(가칭)든 모두 XE 기반의 모듈 패키지라서 zeroboardXE에서 블로그 전용 모듈을 업로드하는 것만으로 사용할 수 있게 될 것이구요.
이를 위해 1.0.8 정도에서는 zeroboardXE 라는 패키지를 위한 포함된 파일들 정리하고 다이어트 해야 할 것 같습니다. ^^
아무튼 1.0.6과 1.0.7 에서는 더 이상 기능 추가 없이 안정화를 추구해야 하지 않을까 싶습니다.
커미터분들과 프로젝트 멤버분들의 의견을 부탁드립니다.
그리고 1.0.x 이후에 1.1.0 은 코드 리팩토링을 통해서 내부 코드상의 큰 변화가 있을 것 같습니다.
이 역시 한승엽(haneul)님과는 이야기를 한 내용인데 php 5.2 를 기본으로 제작하고 싶습니다. (결정이 아니라 원한다는..)
더 이상 php4로 개발을 하는 것은 의미가 없지 않을까 싶습니다.
php5를 사용시 코드 구조나 퍼포먼스에서 많이 나아질 수 있을 거라고 생각하고 구조 역시 더 유연해질 가능성이 크다고 생각합니다.
아무튼 1.0.7까지 안정화만, 1.0.8에서 zeroboardXE의 패키지 정리를, 1.1.0 에서 코드리팩토링 및 php5.2 이상 지원에 대해서 의견 주시면 감사하겠습니다.
꼭 의견들 주세요!!!
ps. 그리고 리포터님들과 커미터님들, 여유 있을실때 XE 버그 게시판에서 버그들 정리해서 티켓 올려주시면 감사하겠습니다.
저도 내일부터 버그 게시판에서 살 예정입니다. ^^
개발 중심이면 사용자 요구가 반영되지 않고 또 사용자 중심이면 구조나 코드들이 엉망이 되기에 가능한 중도를 잘 지키기 위해서 노력했고 또 커미터분들이 많이 참여해주셔서 그간 업그레이드가 상당히 잦았습니다.
하지만 업그레이드가 많은 것이 버그의 수정이나 불편함을 개선하기보다는 새로운 기능등의 추가로 인한 이유가 많았었습니다.
좀전에 한승엽(haneul)과는 이야기를 하였는데 다음과 같이 하면 어떨까 싶습니다.
- 버전 1.0.6 - 기능 추가 없이 버그게시판에서 제기된 버그들을 모두 정리후 반영
- 버전 1.0.7 - 1.0.6에서 추가 발생되었거나 정리되지 못한 버그들을 정리
- 버전 1.0.8 - zeroboardXE 패키지 정리
홈페이지 운영을 위한 모듈/애드온/위젯등만 포함된 패키지로 재구성
패키지에서 제거될 모듈/애드온/위젯등은 공식사이트 자료실에서 별도 배포
설치시 게시판-페이지-메뉴-레이아웃을 기본 세팅해주는 기능 추가
대략 위와 같은 수순으로 1.0.x 버전을 마무리하면 어떨까 싶습니다.
XE 1회 모임때에도 이야기했지만 XE는 하나의 프레임웍 또는 최소 사양의 필수 프로그램으로 보는 것이 맞습니다.
zeroboardXE는 이 XE 위에 게시판 모듈과 홈페이지 운영시 꼭 필수적인 부가 프로그램을 탑재하여 홈페이지 운영을 위해 배포하는 하나의 패키지명으로 이어져야 하구요.
차후 블로그 전용 모듈이 나오면 그 모듈을 바탕으로 blogXE(가칭) 패키지를 배포할 예정이고 zeroboardXE든 blogXE(가칭)든 모두 XE 기반의 모듈 패키지라서 zeroboardXE에서 블로그 전용 모듈을 업로드하는 것만으로 사용할 수 있게 될 것이구요.
이를 위해 1.0.8 정도에서는 zeroboardXE 라는 패키지를 위한 포함된 파일들 정리하고 다이어트 해야 할 것 같습니다. ^^
아무튼 1.0.6과 1.0.7 에서는 더 이상 기능 추가 없이 안정화를 추구해야 하지 않을까 싶습니다.
커미터분들과 프로젝트 멤버분들의 의견을 부탁드립니다.
그리고 1.0.x 이후에 1.1.0 은 코드 리팩토링을 통해서 내부 코드상의 큰 변화가 있을 것 같습니다.
이 역시 한승엽(haneul)님과는 이야기를 한 내용인데 php 5.2 를 기본으로 제작하고 싶습니다. (결정이 아니라 원한다는..)
더 이상 php4로 개발을 하는 것은 의미가 없지 않을까 싶습니다.
php5를 사용시 코드 구조나 퍼포먼스에서 많이 나아질 수 있을 거라고 생각하고 구조 역시 더 유연해질 가능성이 크다고 생각합니다.
아무튼 1.0.7까지 안정화만, 1.0.8에서 zeroboardXE의 패키지 정리를, 1.1.0 에서 코드리팩토링 및 php5.2 이상 지원에 대해서 의견 주시면 감사하겠습니다.
꼭 의견들 주세요!!!
ps. 그리고 리포터님들과 커미터님들, 여유 있을실때 XE 버그 게시판에서 버그들 정리해서 티켓 올려주시면 감사하겠습니다.
저도 내일부터 버그 게시판에서 살 예정입니다. ^^
2008.08.02 12:25:47 (*.146.10.83)
기반이 되는 프레임 웍과 핵심적인 모듈만을 개별적으로 패키징하는 아이디어는 찬성입니다.
단, blogXE를 예를들어, 핵심 모듈이 프레임웍에 종속적이기 때문에 프레임 웍의 구조가 바뀐다면 모듈 또한 같이 바뀌어야 하기 때문에 패키지 별 버젼관리가 필요할 것으로 보이며, 다시 프레임 웍 자체의 버젼관리와 병행되어야 할것으로 생각됩니다. 패키지의 버젼관리만 잘 된다면 처음 사용하는 입장에서는 간결하고 편리해질 수 있겠지만.. 해당 패키지에 다른 모듈을 추가하려고 마음먹은 순간부터 버젼에 신경을 쓰지 않으면 안되는 상황이 발생하는것도 감안할 필요가 있지 않을까 싶습니다. (물론 ZBXE에만 국한되는 문제는 아니죠)
우분투의 APT와 같이.. 하나의 패키지, 혹은 모듈의 종속성들을 자동으로 찾아서 해결해준다면 얼마나 편리하겠습니까마는... 아무튼, ZBXE프로젝트에 참여하여 모듈이나 다른 부분들을 만드는 사람들에게 통용되는 '룰'같은게 필요할듯 합니다. 예를들자면.. '작동하는 프레임웍의 버젼을 꼭 명시해라'라든지.. (현재의 ZBXE프로젝트에서 위젯이나 애드온에서 어느정도 지켜지고 있긴 합니다) 이건 여담인데.. 예전에 들은적이 있는 모듈관리 기법 중 각 파일, 혹은 단위모듈마다 MD5 해쉬값을 가지고 있고, 이것을 중앙에서 관리하다가 로컬서버에 올라가 있는 해당파일이 수정되면 당연스럽게 MD5 해쉬값이 바뀌기 때문에, Live업데이트같은걸 하면서도 변경된 파일을 업데이트하지 않게 하거나, 프롬프트 해서 어떻게 할 것인지 사용자에게 되묻는다든지 하는게 가능한것으로 알고 있습니다. (XE Tools에서 구현되어 있는지는 소스를 안봐서 잘 모르겠습니다만.. ^^) 우분투의 APT같은것들도 아마 그런식으로 모듈간 종속성관리를 하는게 아닐까.. 하고 추측도 하게 되구요..
1.0.9까지 자체적인 버그들을 해결해 나가는것 또한 찬성입니다. 원하는 사람들은 빨리 새로운 기능이 나오고 그것을 써보고 싶겠지만, 기초구조를 단단히 하지 않고 나가다간 초가삼간 다 태워먹지 않을까.. 하는 걱정도 무시하고 갈 수는 없지 않을까 싶습니다.
한가지 더, 백성찬선생님께서 언급하셨듯.. 서버측이나 다른 하부구조에 추가되는 새로운 기능을 팍팍 추가해서 나아가는것도 좋다고 봅니다만.. 차라리 추상화를 잘 해서 모듈로 갖다붙이거나 아예 ZBXE의 브렌치를 새로 따는것도 어떨까 생각해 봅니다. 요즘 시험적으로 듈을 만들어보고 있는데... 현재의 MVC모델을 조금씩 이해하게 될수록 새로운 기능의 추가가 어렵지만도 않겠다는 생각이 점점 들더군요.. 특히 특정 기능을 모듈과 애드온으로 나누어 구현하면 ZBXE에서 기본적으로 제공하는 모듈/클래스말고도 얼마든지 새로운것들을 ZBXE의 틀안에 넣을 수 있겠다는 확신까지 들더군요.. ^^
덧 : php5.2 이상의 지원에 대한 가장 우둔한 의견! (아마 다른 사용자들도 비슷하게 생각하고 있지 않을까 싶은데요..) 현재, 제가 웹사이트를 구동시키고 있는 웹호스팅 서버에서 php 5.2를 지원한다면 이견이 없습니다. 만약 php4만을 지원한다면, 차후의 ZBXE 1.1.0이후의 버젼업을 따라갈 수 없다는게 문제네요.. 물론 호스팅 회사를 바꾸는것도 감안할수밖에 없지만, 추가비용이 발생하는것 무시할 수는 없으니까요. 제가 무슨말씀을 드리고 있는지 아시죠? *^^*
단, blogXE를 예를들어, 핵심 모듈이 프레임웍에 종속적이기 때문에 프레임 웍의 구조가 바뀐다면 모듈 또한 같이 바뀌어야 하기 때문에 패키지 별 버젼관리가 필요할 것으로 보이며, 다시 프레임 웍 자체의 버젼관리와 병행되어야 할것으로 생각됩니다. 패키지의 버젼관리만 잘 된다면 처음 사용하는 입장에서는 간결하고 편리해질 수 있겠지만.. 해당 패키지에 다른 모듈을 추가하려고 마음먹은 순간부터 버젼에 신경을 쓰지 않으면 안되는 상황이 발생하는것도 감안할 필요가 있지 않을까 싶습니다. (물론 ZBXE에만 국한되는 문제는 아니죠)
우분투의 APT와 같이.. 하나의 패키지, 혹은 모듈의 종속성들을 자동으로 찾아서 해결해준다면 얼마나 편리하겠습니까마는... 아무튼, ZBXE프로젝트에 참여하여 모듈이나 다른 부분들을 만드는 사람들에게 통용되는 '룰'같은게 필요할듯 합니다. 예를들자면.. '작동하는 프레임웍의 버젼을 꼭 명시해라'라든지.. (현재의 ZBXE프로젝트에서 위젯이나 애드온에서 어느정도 지켜지고 있긴 합니다) 이건 여담인데.. 예전에 들은적이 있는 모듈관리 기법 중 각 파일, 혹은 단위모듈마다 MD5 해쉬값을 가지고 있고, 이것을 중앙에서 관리하다가 로컬서버에 올라가 있는 해당파일이 수정되면 당연스럽게 MD5 해쉬값이 바뀌기 때문에, Live업데이트같은걸 하면서도 변경된 파일을 업데이트하지 않게 하거나, 프롬프트 해서 어떻게 할 것인지 사용자에게 되묻는다든지 하는게 가능한것으로 알고 있습니다. (XE Tools에서 구현되어 있는지는 소스를 안봐서 잘 모르겠습니다만.. ^^) 우분투의 APT같은것들도 아마 그런식으로 모듈간 종속성관리를 하는게 아닐까.. 하고 추측도 하게 되구요..
1.0.9까지 자체적인 버그들을 해결해 나가는것 또한 찬성입니다. 원하는 사람들은 빨리 새로운 기능이 나오고 그것을 써보고 싶겠지만, 기초구조를 단단히 하지 않고 나가다간 초가삼간 다 태워먹지 않을까.. 하는 걱정도 무시하고 갈 수는 없지 않을까 싶습니다.
한가지 더, 백성찬선생님께서 언급하셨듯.. 서버측이나 다른 하부구조에 추가되는 새로운 기능을 팍팍 추가해서 나아가는것도 좋다고 봅니다만.. 차라리 추상화를 잘 해서 모듈로 갖다붙이거나 아예 ZBXE의 브렌치를 새로 따는것도 어떨까 생각해 봅니다. 요즘 시험적으로 듈을 만들어보고 있는데... 현재의 MVC모델을 조금씩 이해하게 될수록 새로운 기능의 추가가 어렵지만도 않겠다는 생각이 점점 들더군요.. 특히 특정 기능을 모듈과 애드온으로 나누어 구현하면 ZBXE에서 기본적으로 제공하는 모듈/클래스말고도 얼마든지 새로운것들을 ZBXE의 틀안에 넣을 수 있겠다는 확신까지 들더군요.. ^^
덧 : php5.2 이상의 지원에 대한 가장 우둔한 의견! (아마 다른 사용자들도 비슷하게 생각하고 있지 않을까 싶은데요..) 현재, 제가 웹사이트를 구동시키고 있는 웹호스팅 서버에서 php 5.2를 지원한다면 이견이 없습니다. 만약 php4만을 지원한다면, 차후의 ZBXE 1.1.0이후의 버젼업을 따라갈 수 없다는게 문제네요.. 물론 호스팅 회사를 바꾸는것도 감안할수밖에 없지만, 추가비용이 발생하는것 무시할 수는 없으니까요. 제가 무슨말씀을 드리고 있는지 아시죠? *^^*
2008.08.04 07:59:44 (*.88.22.37)
2008/1/3 php 4.4.8 로 v4의 마지막 업그레이드 날입니다
2008/8/8 php 4의 마지막 bug fix 날입니다.
2008/2/5 http://gophp5.org/ 가 이날 이후에는 php 4 용 sw를 더 이상
릴리즈 하지 말자고 켐페인 한 날입니다.
제작자는 php 5를 쓰고 싶은데 호스트 업체의 대부분이 php 4 를 default로
해 놓아서 못 쓰고 호스트 업체는 대부분의 sw가 php 4로 되어 있어서
업그레드 못 시키는 상황이었습니다.
한국에서도 위와같은 딜렘마가 있을 것입니다. 차제에 zbXE가 선두에
나서는 것도 미래를 위해서 좋지 않을까요? 웹표준의 도입도 늦었는데!!
phpMyAdmin도 php 5를 쓰기로 했답니다. 머지 않아 php 4 호스트 업체도
php 5로 업그레드 할수 밖에 없을 것입니다.
php 6가 2010년 전에는 나오지 않을까요?
레미짱
2008/8/8 php 4의 마지막 bug fix 날입니다.
2008/2/5 http://gophp5.org/ 가 이날 이후에는 php 4 용 sw를 더 이상
릴리즈 하지 말자고 켐페인 한 날입니다.
제작자는 php 5를 쓰고 싶은데 호스트 업체의 대부분이 php 4 를 default로
해 놓아서 못 쓰고 호스트 업체는 대부분의 sw가 php 4로 되어 있어서
업그레드 못 시키는 상황이었습니다.
한국에서도 위와같은 딜렘마가 있을 것입니다. 차제에 zbXE가 선두에
나서는 것도 미래를 위해서 좋지 않을까요? 웹표준의 도입도 늦었는데!!
phpMyAdmin도 php 5를 쓰기로 했답니다. 머지 않아 php 4 호스트 업체도
php 5로 업그레드 할수 밖에 없을 것입니다.
php 6가 2010년 전에는 나오지 않을까요?
레미짱
2008.08.26 10:58:45 (*.221.8.146)
저도 백성찬님이나 Adios님 의견에 동의 합니다.
모듈과 애드온, 위젯등의 경우 폴더명에 버전을 같이 표기하도록 할 경우 버전별로 선택해서 사용하는게 가능하겠죠.
사실 모듈이나 애드온, 위젯 들이 너무 많고, 게다가 기능이 비슷한 것들이 있기 때문에 상당한 혼란이 올 수 있습니다. 예를들면 최신글이나 최신코멘트, 최신트랙백 등은 통합해도 되지 않을까 싶습니다. 그렇게되면 스킨도 공유할 수 있기 때문에 어느정도 효율적이지 않을까요.
애드온의 경우는 이름들이 독특해서 각 애드온들이 중복되지는 않지만, 모듈의 경우 모두 고유명사를 쓰기 때문에 모듈 다른 부분을 변경하여 쓰고 싶다거나 하는게 어렵습니다. 음; 글로 설명하려니 조금 어렵네요;
예를들어 board 모듈을 커스터마이징해서 쓰고자 하려해도 board 라는 고유명사를 그대로 써야하죠. 이걸 배포하고자 하면 기존 제로보드의 board 모듈과 혼동이 올 수 있습니다. 따로 커스터마이징하려는 사람이 적어서 이런 문제는 없을지도 모르겠지만.
각 패키지로 구분지을 경우 모듈의 버전도 중요하겠지만, 기본적인 프레임웍의 호환성도 중요하리라 생각됩니다. 제로보드나 블로그로 구분지어 각각에 최적화를 한다면 기존 제로보드에 블로그 모듈을 설치할 경우 문제가 될 수도 있습니다.
최적화를 하지 않고 단순히 모듈만 구분지어 배포하는 것도 있겠습니다.
제로보드 프레임웍이 그리 크지 않다면 각각의 모듈을 전문적으로 실행하는 '엔진'을 따로 만들어 둔다면 각 패키지에 맞는 최적화가 되리라 생각됩니다. 모든 모듈의 엔진이 아니라, 제로보드 게시판을 실행할때와, 블로그를 실행할때 말이죠.
이렇게 하면 프레임웍에서 필요없는 호환성 코드는 삭제하고 컴팩트한 코어 코드를 만들고, 모듈별로 특화된 엔진으로 좀더 성능이 향상될 수 있지 않을까 하는 생각입니다.
앞으로도 계속 제로보드나 블로그나 기본틀(프레임웍)을 벗어나지 않는다면 쓸데없는 일이겠지만;
모듈과 애드온, 위젯등의 경우 폴더명에 버전을 같이 표기하도록 할 경우 버전별로 선택해서 사용하는게 가능하겠죠.
사실 모듈이나 애드온, 위젯 들이 너무 많고, 게다가 기능이 비슷한 것들이 있기 때문에 상당한 혼란이 올 수 있습니다. 예를들면 최신글이나 최신코멘트, 최신트랙백 등은 통합해도 되지 않을까 싶습니다. 그렇게되면 스킨도 공유할 수 있기 때문에 어느정도 효율적이지 않을까요.
애드온의 경우는 이름들이 독특해서 각 애드온들이 중복되지는 않지만, 모듈의 경우 모두 고유명사를 쓰기 때문에 모듈 다른 부분을 변경하여 쓰고 싶다거나 하는게 어렵습니다. 음; 글로 설명하려니 조금 어렵네요;
예를들어 board 모듈을 커스터마이징해서 쓰고자 하려해도 board 라는 고유명사를 그대로 써야하죠. 이걸 배포하고자 하면 기존 제로보드의 board 모듈과 혼동이 올 수 있습니다. 따로 커스터마이징하려는 사람이 적어서 이런 문제는 없을지도 모르겠지만.
각 패키지로 구분지을 경우 모듈의 버전도 중요하겠지만, 기본적인 프레임웍의 호환성도 중요하리라 생각됩니다. 제로보드나 블로그로 구분지어 각각에 최적화를 한다면 기존 제로보드에 블로그 모듈을 설치할 경우 문제가 될 수도 있습니다.
최적화를 하지 않고 단순히 모듈만 구분지어 배포하는 것도 있겠습니다.
제로보드 프레임웍이 그리 크지 않다면 각각의 모듈을 전문적으로 실행하는 '엔진'을 따로 만들어 둔다면 각 패키지에 맞는 최적화가 되리라 생각됩니다. 모든 모듈의 엔진이 아니라, 제로보드 게시판을 실행할때와, 블로그를 실행할때 말이죠.
이렇게 하면 프레임웍에서 필요없는 호환성 코드는 삭제하고 컴팩트한 코어 코드를 만들고, 모듈별로 특화된 엔진으로 좀더 성능이 향상될 수 있지 않을까 하는 생각입니다.
앞으로도 계속 제로보드나 블로그나 기본틀(프레임웍)을 벗어나지 않는다면 쓸데없는 일이겠지만;




사실 현재 배포판에 포함된 모듈, 위젯, 애드온 등을 모두 사용하는 경우는 드물 것으로 보입니다.
도리어 혼돈을 주는 경우도 발생하는 것 같습니다.
zbxe에서 기본으로 옵션을 배포하고 필요에 따라 옵션을 추가하는 것이 좋을 것 같습니다.
1.0 버전대에서 에러를 최소화하고 완성판을 만들어 기존 배포된 애드온 등도 여기에 맞추어 에러를 제거 해야 사용자들도 불편이 없을 것 같습니다.
기본 틀이나 구조가 변경되면 버전을 과감하게 올려 버전의 구분을 명확히 해서 배포되는 애드온 등도 구분되어야 하리라 봅니다.
그래야 애드온 등 배포자나 사용자 모두 편리할 것 같습니다.
버전이 높다고 무조건 좋은 것이 아니라 사용자에 따라 자기가 필요한 기능이 있는 버전을 선택할 수 있으면 좋을 것 같습니다.
극단적으로 예를 들면 게시판만 필요할 수도 있을 수 있을 겁니다.
그러면 게시판을 사용하는데서 에러 없이 잘 작동할 수 있는 버전을 선택하면 되라라 봅니다.
이런 경우 덩치 큰 파일들을 모두 업로드 하고 기능을 콘트롤 할 필요가 없을 것 같습니다.
상위버전에서는 php나 db 등 프로그램은 최신버전을 십분 사용하여 코딩 되는 것이 좋을 것 같습니다.
프로그램과 서버하드웨어는 하루가 다르게 좋아지는데 이전 프로그램과 호환에 연연하는 것은 바람직한 발상은 아닌 것으로 보입니다.
달구지가 공해도 덜하고 운치도 있고 좋겠지만 잘 닦인 고속도로에서 같이 운행을 할 수 있게 한다면 과연 바람직 할까요?
좋은 기능이 나오면 적극 반영되어 개발되는 프로그램이면 좋겠습니다.
무덥고 습한 여름이라 그런지 1.0.5는 삐그덕 거리는 느낌이 납니다.^^
기름칠을 좀 해야 될 것 같습니다.