2007년 8월 28일 화요일

[프로젝트]XMLDir 1.0

c# 으로 프로그램을 하나 만들고 있습니다.(언제나 진행형)
기존 usbfree 프로젝트에서 파생된 건데요.

웹계정에 있는 파일들의 목록을 디렉토리 단위로 끊어서 xml로 받아와서 목록을 app에 출력하고, 사용자가 선택한 파일을 다운받을 수 있도록 하는 간단한 프로그램입니다



삽질목록 :
1. ls에서 용량을 byte 단위로 출력하지 않고 kb 단위로 출력해서 상당히 귀찮았다. 알고보니 ls의 d옵션인가 s옵션(디렉토리일 경우 /를 붙이는 옵션)에 걸리면 kb로 출력하더군.

2. ls -AgG로 나름 내용을 줄이고 php의 explode(' ')를 사용해서 분리를 하려는데 배열이 가변적으로 만들어 졌다. 이유를 본 결과 ls -a옵션에서 링크수 출력하는데에서 자리맞춤하려고 ' '를 한번 넣은것도 있고 여러번 넣은것도 있었다. 그래서 간단하게 str_replace(' ' ,' ' )하고 explode.

3. php로 xml문서를 만들었으므로 헤더에 xml이라고 명시를 해줬는데 계속 already sent 에러가 났다. 다른문서에 헤더만 작성하고 실행시켰더니 그래도 오류. 이건 아무래도 서버탓이다. 하고 @ 옵션을 붙여버렸다.ㅎㅎ0

4. 웹 charset은 UTF-8인데 호스팅 업체 리눅스 charset이 euc-kr이었다. 당연히 ls, du할때 한글이 깨지기 마련. 간단히 iconv로 해결했다.. 문제는 이런적이 한두번이 아닌데 계속 잊어버린다는거.-_-;;(그림 3번 참조)






환경 : POSIX(solaris, annyung에서 작업) + c#.net + php + xml

수정해야할 점 : treeview에서 + 버튼을 누르면 목록이 갱신되지 않는다.
추가할 사항 : xml 다운로드하는 과정을 단순히 '다운로드중' 이라고 표시하지 말고, 프로그레스바로 다운 상황을 알려줄것. 사용자는 '비주얼'한걸 좋아하니까.ㅎㅎ




































댓글 없음: