1

주제: 유리상자

요새 1.8 / 2.0 개발트리가 거의 카오스입니다. 미완의 프레임웍을 1.8 하부구조에 끼운 후에 계속 진행하자고 일을 벌렸는데, 아래를 거의 새로 짜는 셈이라 코드가 하늘나라 구경을 종종 합니다. ㅠ_ㅠ

연말이라 바쁘기도 하니 코드 짜는 속도가 더 빠르긴 합니다만 (이상하게 바쁠 수록 코드는 더 많이 짜게 되는듯? 도피 심리일까 싶기도 합니다.) 뭐, 12월 중으로 어떻게든 안정화가 되겠죠; 언제 완전히 새 구조가 완성될지는 있어 보아야 알 수 있겠습니다.

1.7, 1.8, 2.0에 또 프로젝트 하나 만들면 어떨까 생각하고 있는 중입니다만, 우선 태터캠프 일정부터 하나씩 정리를 해야 할 것 같습니다. 리더라고 있는 사람이 함께 하시는 분들께 로드 밸런싱을 못하고 있어서 죄송합니다. (곧 익숙해지면 다시 가능할 듯...)

태터캠프나 스킨/플러그인 컨퍼런스, 표준화 기구 진행등등 뭐가 많은데, 이게 너무 많다보니 정작 포럼에서 함께 진행해야 할 일들이 전부 모더레이터 분들이나 니들웍스로만 몰리고 있네요. 정신차리고 좀 제대로 해야겠다는 생각을 하는 중입니다...

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

2

답글: 유리상자

어제 1.8 테스트 서버의 텍스트큐브를 최신버전으로 업데이트 했는데, 블로그가 안뜨더군요. 유리상자가 된듯 싶긴했는데... 그랬었군요 ^^;; 1.8 안정화를 기대하겠습니다.

최근에 태터툴즈, 텍스트큐브 관련된 논의가 포럼에서나 태터앤프렌즈 메일링에서나 뜸해진듯 싶습니다. 보다 공론의 장?에서 이런저런 얘기를 나눌수 있는 측면이 있다면 좋을것 같고요^^;

(WordPress 2.7 메뉴 아이콘 공모 이런건 부럽더군요. 물론 사용자층 범위가 달라서 그렇겠지만은요...)

그럼 모두들 파이팅입니다 smile

3

답글: 유리상자

일이 크게 늘어난것 같아요.
쉬엄쉬엄 하셔요.
오늘 리비전에 삭제/변경이 많길래 업뎃했다가 백지로 되길래 다시 리백 했어요..~_~

텍스트큐브를 이용하시다 불편하신 점 있으시면 아래로 연락주세요.
Needlworks/TNF - LonnieNa
nateon : y12x2 (a.t) nate.com / mail : lonniena (a.t) needlworks.org
http://twitter.com/@textcube

4

답글: 유리상자

lunamoth 작성:

어제 1.8 테스트 서버의 텍스트큐브를 최신버전으로 업데이트 했는데, 블로그가 안뜨더군요. 유리상자가 된듯 싶긴했는데... 그랬었군요 ^^;; 1.8 안정화를 기대하겠습니다.

최근에 태터툴즈, 텍스트큐브 관련된 논의가 포럼에서나 태터앤프렌즈 메일링에서나 뜸해진듯 싶습니다. 보다 공론의 장?에서 이런저런 얘기를 나눌수 있는 측면이 있다면 좋을것 같고요^^;

(WordPress 2.7 메뉴 아이콘 공모 이런건 부럽더군요. 물론 사용자층 범위가 달라서 그렇겠지만은요...)

그럼 모두들 파이팅입니다 smile

제반 환경이 너무 바뀌고 있다보니 그런 면이 없잖습니다.^^ (+메신저 의존적으로 변하는 부분들도 좀 고쳐야 하겠구요) 이제 밀린? 일들을 할 때가 되었기도 하죠.

내일 제주대학교에 가서 이야기를 하나 해야 하는데, 이야깃거리를 정리하며 많은 생각을 하고 있습니다. '과거는 없다' 고 생각하며 살지만, 지나온 시간을 돌아보는 과정이 가져다주는 깨달음과 다짐은 시대를 막론하고 유효한 것 같습니다.

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

5

답글: 유리상자

...아무튼 그 유리상자 덕분에 니들웍스 블로그가 먹통이 되었습니다. (IP 차단 처리가 안 되던 버그를 고친 기억이 있어서 그냥 업데이트했다가...orz)

문제의 답은 우리 안에 있다.
내면에 귀를 기울여 보자.

6

답글: 유리상자

결국... 모듈화가 덜 된 현재 상태에서 dispatcher로 바로 갈아타기는 무리라는 판단에 어제까지의 trunk를 흑역사(...)로 분기시키고 다시 엎었습니다. 제주도 호텔에서 밤새 삽질하고 서울 올라와서 오프미팅하면서 얻은 결론...이었죠.

지난 일주일 동안 깨달은 것은 inureyes님과 함께 2.0 프레임웍 구조 도입을 시도하면서 텍스트큐브 1.7까지의 기존 구조가 성능 면에서는 꽤 유리하다는 점이었습니다. interface에서 초기화 코드가 들어있는 파일들을 직접 부르도록 함으로써 중복코드도 생기고 코드 추적은 어려워진다는 단점이 있지만 덕분에 초기화 전에 각 interface에서 미리 체크해야 할 것들(input validation이나, 아이콘 핸들러인 경우 해당 처리만 하고 초기화하지 않고 끝내기 등)을 수행할 수 있었기 때문입니다.

우선은 현재 가장 큰 오버헤드가 큰 요소 중 하나인 includeFor*.php를 모두 autoload로 대체해야 하는데, 이렇게 해서 얻을 수 있는 성능 향상이 얼마나 될지는 아직 알 수 없습니다. 필요한 클래스만 불러온다 해도 URL 해석기를 쪼개든지 interface를 쪼개든지 해야 dispatcher에 전체 흐름 코드를 모아둔 상태로 성능 최적화가 가능한데, 쪼갠다는 것 자체가 php에서는 새로운 파일을 만드는 것과 같아져서 오버헤드가 증가하기 때문입니다. (지금까지는 require/include를 통해 'jump'해다니는 개념이었다면, 앞으로는 dispatcher만 보면 모든 실행 흐름을 한 눈에 볼 수 있도록 할 생각입니다) 게다가 이미 인터페이스 종류에 따라 불러와야 할 파일들을 따로 나누어 처리하고 있기 때문에 autoload에 의한 최적화를 하더라도 클래스 불러오는 시점만 달라질 뿐 결국 전체 불러오는 양에는 큰 차이가 없을 수도 있습니다.

하여간 이런저런 문제로 마구 갈아엎다보니 trunk가 좀 난장판(...)이 되었다는 게 결론;; orz


ps. 이런 고민을 막 하다보면, 과연 지금 생각하고 있는 2.0 추상화 구조가 php 언어에 적합하지 않은 것일지도 모르겠다는 생각마저 듭니다. namespace조차 없는 언어에서 하려니 어려움이 많군요. 확 python으로 갈아타고 싶습니다. ㅠ_ㅠ 2.0 성능 최적화를 위해 나온 아이디어를 중 상당수가 사실 django에서 이미 다 제공하는 거라는 거...

daybreaker (2008-11-23 14:30:45)에 의해 마지막으로 수정

문제의 답은 우리 안에 있다.
내면에 귀를 기울여 보자.