Q&A

  • 트리메뉴를 웹브라우저에 붙일 수 있을까요?
안녕하세요.
저는 jsp로 웹프로그램을 하고 있으며
델파이는 하나도 모르는 사람입니다. -.-;

여기까지 찾아 오게 된 이유는요.

depth가 깊은 트리구조의 메뉴를 웹에서 보여줄라고 하거든요.
깊이는 무제한이고요..

현재는 db 또는 파일에서 읽어 와서 html+javascript 조합으로
윈도우 탐색기 식의 트리메뉴를 만들었거든요.

그래서 메뉴중의 어떤 팀을 누르면 하위 팀이 있으면
하위 팀이 나열되고

팀을 누르면 팀에 해당하는 정보를 다른 프레임(HTML)에 보여주고.

문제는 팀이 너무 많아서(500여팀-수천명)
속도가 느리다는 겁니다.!!!
도저히 참을 수 없을 만큼 -.-;

그래서 ActiveX로 만들어서 웹메뉴를 구성하면 어떨까 하고 생각을
하게 되었습니다.

델파이로 만든 프로그램을 보면 트리메뉴가 깔끔하게 구현 되었더라구요.



제가 생각한 대로 델파이로 ActiveX를 만들어서 구현 가능할까요?

아님 ActiveX 아니더라도 델파이로 구현 가능할까요?

비슷한 소스가 있어서 참고하여 만들 수 있을까요?


정확한 답이 아니시더라도 ..힌트라도 부탁드립니다.

그럼 ^^
3  COMMENTS
  • Profile
    이승민 2005.01.12 20:03
    물론 Delphi 를 이용하여 ActiveX 형태로 트리를 구현할 수 있습니다.
    웹보다는 조금 쉽게 구현이 가능하죠

    그런데 제가 전에 웹(php)으로  구현한 트리와 Activex 로 그현한 트리가 속도면에서는 크게 차이가 없다는 것이 었습니다.

    물론 내부의 자료구조와 알고리즘을 똑같이 구현을 했죠.

    그래도 님이 말씀하신 자료가 많을 경우가 문제가 되었는데 자료구조 형태를 이쪽을 바꾸어 보았다가 저쪽으로 바꾸어 보았다 하니까 속도가 빨라지는것을 느낄수 있더군요. (에구 이 소스를 좀 드리고 싶은데 소스가 있던 CD 가 깨져버려서~~~ 중요한 자료가 많았는데 이구)

    결론적으로 말씀드리면 자료구조나 알고리즘을 바뀌면 처리속도나 기능이 많이 향상 된다는 것입니다.

    문론 님께서 말씀하신 자료가 좀 많아서 웹으로 한번에 나오기가 좀 버겁다면 ActiveX 형태로 구현하는것이 낳을수도 있을 겁니다.(그래도 화면은 나와도 실제 트리가 나오는 시간은 많은 차이는 못느끼겠던데요)

    웹에서 조금더 연구해 보시고 그 구조를 통째로 옮겨 ActiveX 로 구현하면 많은 시간이 단축될수 있을꺼라 생각됩니다.

    별 도움도 안되는 소리를 주절주절 했습니다.

    즐프되세요.

  • Profile
    부메랑 2005.01.12 22:23
    답변 감사합니다. ^^

    ※ 현재 저희 시스템에 트리 노드수는 3000개 가량 됩니다.

    속도가 느리다구요? 음..

    웹에서는 다른 페이지에 같은 소스가 있다면..

    그 때마다 새로 내려받기에 결국 같은 시간이 들거든요.

    그리고 트리가 구현되고 나서도

    그 트리가 펼쳐지고 닫히고 하는데도 조금 늦게 반응한답니다.

    html+javascript 조합으로는 말이지요..(제가 아는 한도내에서는 -.-)

    반면, ActiveX 는 처음에만 다운로드 하고

    나중에는 페이지 열리는 속도가 빠르지 않을까 싶은데..

    그리고 페이지가 열리고 나서도

    트리의 펼쳐지고 닫히고 하는 시간도 빠를 것 같구요.

    알고리즘을 말씀하셨는데...

    콤포넌트식으로 된 것은 없고

    모두 구현해야 하는 건가보네요..-.-;

    예제 사이트를 함 봤으면 좋겠는데요..

    없을까요?



  • Profile
    이승민 2005.01.13 22:14
    지금 제가 가지고 있는 소스를 전혀 볼수가 없어서 어떻게 보여 드릴지 잘은 모르겠지만 그때 당시는 초기의 소스는 초기 로딩 시간이 좀 길었죠(간단한 Table 로 자신의 Uid 와 상위의 Pid 그리고 폴더인지 파일인지만을 나타내는 Flag 값 정도로 트리를 구현했으니~~)
    초기 로딩이 많이 걸렸다는 것은 재귀호출로 인한 DB 접속이 많았다는 것이죠.

    그런데 Tree 가 구현되고 나면 실제 Tree 의 데이터가 변하지만 않으면 펼치고 닫는 것은 이미 javascript 내에 저장하고 있어서 별 문제가 되지 않았거든요.

    물론 구현하는것은 에플릿으로도 구현이 가능하지만 제가 보기에는 javascript 에서 구현해도 될꺼 같네요.

    자료는 자바스크립트 관련 자료실에 보면 꽤 많이 나와있습니다.
    소스도 있더군요.

    한번 찾아보심이~~ 참 그리고 트리형 구조를 가지고 있는 사이트도 있으니 한번 찾아보세요.

    그리고 제가 전에 초기에 할때 참고 했던 자료입니다. 받아보시고 참고해보세요.
    앞에 말씀드렸던 내용으로 만들은 것입니다.