[첫화면으로]게시판/2003-03

마지막으로 [b]

2월달의 게시물은 /2003-02로 옮겼습니다.
-- Raymundo 2003-3-3 2:06 am


페이지이름을 쓸때 대괄호를 안둘렀는데 Wiki/Name 이것도 위키네임으로 인식되네요. 딱히 문제가 있는건 아닙니다만.. ㅡ,.ㅡa 으읅.. 페이지명이 이상한데를 가리키고 있네요 -_-;
-- Bab2 2003-3-2 1:22 pm

정상입니다. 앞의 Wiki 는 위키네임이 아니라서 무시되고, "슬래쉬 + 대문자 하나 이상 + 소문자 하나 이상 + 대소문자 0개 이상" 이 서브페이지의 패턴이라서 뒤의 "/Name" 만 링크가 되는 거죠. 따라서 여기서는 게시판의 하위페이지가 되고, 다른 페이지에서 사용했으면 그 페이지의 하위페이지가 되었겠죠.
-- Raymundo 2003-3-2 1:30 pm
어. 진짜네요.
-- Bab2 2003-3-2 1:34 pm


다운 받아서 테스트하는 중입니다. K3 쓰다가 오늘은 제 홈페이지를 새 소스로 업데이트하려고요. 몇 가지 wish list..

안녕하세요~ 잘 지내시나요? 구구절절 옳은 말씀입니다만... html 도 잘 모르고 (popup 을 비롯한 자바스크립트는 기존의 부분을 보면서도 짐작을 못하겠네요) perl 에도 왕초보인터라... 언제 손을 댈런지 모르겠습니다.. ^^; 소스 다이어트는 필요성을 느끼고 있습니다만, 정확히 용도에 따라서 화일을 구분하는 것부터가 일단 힘들겠더라고요. 매번 불리는 부분을 떼어내봤자 소용이 없을테니...
-- Raymundo 2003-3-3 2:04 am


음..전체 소스를 다운받아서 테스트를 해봤습니다만 리모트위키부분이 잘 작동안하더군요..이건 bab2님께 문의메일 드렸고..또하나는 이모티콘이 이상하게 작동합니다. :) :) :) 이렇게 3개를 나란히 한칸씩 띄고 놓았을경우 가운데 있는 :)가 이모티콘으로 변환이 안됩니다. 어느부분이 문제인지...--Nyxity

그러게요, 이모티콘을 처리하는 정규표현식 치환 부분에 문제가 있는데... 앞에는 공백, 뒤에는 알파벳을 제외한 문자가 와야 치환이 되는 상태인데, 한 줄에서 여러 번 치환을 하게 되면 한 이모티콘이 치환되면서 그 때문에 인접한 이모티콘이 패턴 매치가 안 되는 것 같습니다. 치환할 때 양쪽에 스페이스만 넣어줘도 될 거라 생각했는데, 엉뚱한 곳에서 공백이 늘어날 뿐 저 문제는 해결이 안 되더군요. 으음.. 그러고보면, 이모티콘이 Luke님 작품 아닌가요? :-)
-- Raymundo 2003-3-3 2:04 am

양쪽으로 띄어놨다면 :) :) :) 이렇게 해야 되는거 아닌가요? 가운데거는 빈칸이 두개가 들어가게끔..
-- Bab2 2003-3-3 2:12 am
예, 그 때문에 치환을 할 때 다시 스페이스를 되돌려 주도록 해 봤거든요. 즉 "(공백)(이모티콘문자)(공백)" 을 "(공백)(이미지경로)(공백") 으로 치환을 시키는 거죠. 그런데 그게 기대했던 것처럼 되지가 않더라고요. 졸려서 정신이 없는데다가 제가 이모티콘 옵션을 꺼두고 사느라서 그다지 성의있게 테스트하지는 않았습니다만.. :-)
-- Raymundo 2003-3-3 2:16 am
저는 앞에꺼만 띄어놓게 해놓고 쓰고 있는데, 그것만으로도 충분하다 생각해서 그냥 이대로 살고 있습니다. 그냥 뒷공백은 체크안하는것도 방법이 될지도 모르겠습니다. 아니면 반대로 해도 되고.. :)
-- Bab2 2003-3-3 2:24 am
뒤를 띄우지 않게 하면 요게 문제가 되는 거죠. mailto:park@server.com .. 앞은 잘 모르겠는데, 이건 예전에 jmjeong 님이 고친 거라서... 앞을 띄우지 않을 경우 어디서 걸릴지는 모르겠습니다.
-- Raymundo 2003-3-3 2:28 am
그 메일 주소때문에 앞을 띄운거였거든요. 앞만 띄웠을땐 :program 이런게 문제가 될거구요, 뒤에만 띄웠을때는 :( 프로그래머 ) 이런게 문제가 될겁니다. 위에 페이지 카운팅 기능도 넣고 싶었던건데, 어떻게 해야할지를 모르니 기다리면 언젠가 멋지게 구현되어 나오겠죠. ^_^a
-- Bab2 2003-3-3 3:17 pm

안녕하세요. 스타일 시트가 바뀌었네요. ^^
CVS에 대한 질문이예요.
리눅스(저는 한컴 리눅스를 씁니다.)에서 CVS 서버를 쓰려고 하는데요. 어떻게 하면 될까요? CVSNT는 설치 해 봤는데 친구들이 리눅스에서 하자고 해서요.
[제가 찾은 문서]보고는 환경이 달라서 모르겠거든요.
참 그리고 k브라우저에서 유즈모드 위키 편집하면요 편집이 되긴 되는데 편집 후 Invaild .... 페이지가 뜨더군요.
-- Canday 2003-3-4 10:40 am
한컴리눅스 배포본시디안에 CVS RPM화일이 있지 않았나요?
-- Bab2 2003-3-4 12:55 pm

KLDP 에서 CVS 로 검색해 보셔도 나옵니다. 주로 inetd 에 관한 얘기만 나와 있어서 그렇겠군요. xinetd 에서는 /etc/xinetd.d/pserver 화일을 만들어 줍니다.
service cvspserver
{
        disable = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/cvs                # cvs 실행화일 패스
        server_args     = -f --allow-root=/home/CVS   # CVS 저장소 경로
        log_on_failure  += USERID
}
그리고 xinetd 를 재실행하면 될 텐데요. /etc/services 에 pserver 포트가 지정되어 있나 점검하고요.
cvspserver  2401/tcp            # CVS client/server operations
cvspserver  2401/udp            # CVS client/server operations
그런데 제 견해로는 pserver 보다는 그냥 ext 로 지정을 해서 SSH 접속을 하는 게 바람직하지 않을까 합니다. pserver 는 암호가 텍스트로 전송되니까 아무래도 좀 그렇지 않나.. SSH 접속일 경우는 대신 매번 cvs 명령을 쓸 때마다 암호를 넣어야 되는 불편함이 있습니다. 또다른 대안으로는, pserver 를 쓰고, 대신에 각자의 계정을 사용하지 않고 anoncvs 등의 아이디 하나만 만들어서 쓰는 방법이 있을텐데, 이 경우는 여러 사람이 commit 해도 log 에는 anoncvs 라고밖에 안 나오니 누가 뭘 했는지 알아보기 힘들겠죠.
-- Raymundo 2003-3-4 2:53 pm

K브라우저 문제는, URL 에 한글이 포함되어 있을 때 발생하더군요. 넷스케이프는 아예 브라우징조차 안 되거나 그러고... mozilla 를 쓰시면 무난할 겁니다. :-)
-- Raymundo 2003-3-4 9:45 pm

(*^^*)늘 고맙습니다. 프로젝트할 때 몇 개월 동안만 쓸거고 내부적으로 쓰는 거라 보안에는 크게 신경쓰지 않았는데 조언해 주셔서 고맙습니다. pserver가 되면 cvsweb도 할까 생각 중입니다.
-- Canday 2003-3-5 6:04 pm

css에서 border-spacing이라는 속성이 정확하게 어디에 들어가는 속성인가요? 테이블속성에 있길래 테두리 사이간격을 띄워주는것인갑다 생각을 했는데 아무 반응이 없네요..ㅜㅡ
-- Bab2 2003-3-4 11:53 pm

저도 예전에 spacing 이라는 속성이 있는 줄 알았는데.. 아닌 것 같더군요. 조프님이 알려주신 Top Style Pro 라는 어플에서도 (스타일쉬트논의 참조) CSS2 기준으로 spacing 이라는 말이 들어가는 것은 word-spacing 하나밖에 찾지 못했습니다. IE6 기준으로 찾아봐도 없고요.. http://jigsaw.w3.org/css-validator/ 여기서 검사를 시켜보면 표준 스펙에 없는 것들을 지적해 주기 때문에 도움이 되더군요. 이 곳에서 배포되는 wiki.css 는 에러가 없다고 나오게 하느라 고생했지요. 경고는 몇 개 뜹니다만, 에러가 없다고 축하한다고 나오니 괜시리 기분이 좋아지네요. :-)
-- Raymundo 2003-3-5 12:13 am
고생하셨네요. 조금만 더 고생하셔서 경고까지 없애버리면 아마 축하메세지에 몇마디 더 나올지도 모르겠군요. ^^a
우웅... 그렇다면 테이블에서 cellspacing이라는 속성은 뭐라고 적어줘야되는 걸까요? 흑~
-- Bab2 2003-3-5 12:22 am
그러고보니.. 그러네요.. ^^; border, margin, padding 세 가지로 조절을 해야 될런지.. 그 Top Style Pro 를 보니 속성이 참 많기도 하더군요. 어찌 그런 걸 다 고려하면서 만들 수 있을런지..
-- Raymundo 2003-3-5 12:29 am
스타일시트논의에 링크되어있던 CSS번역문을 봤는데, 거기는 spacing이 속성이라고 나와는 있네요. 이걸 우째야하나 -_-a
-- Bab2 2003-3-5 12:58 am

border-spacing은 TABLE 태그에서 사용할 수 있는 스타일입니다. border model이 separate일 때만 작동하며, 아니나 다를까 IE에서는 지원을 안하는 것 같습니다. -_-; 연습장에 소스를 올려봤으니 확인해보세요. 자세한 설명은 [여기]를 보시고요.
저번에도 적었습니다만, cellspacing은 CSS2에서는 좀 바뀐 것 같습니다. 아예 0으로 하고 싶으면 border model을 collapse로 하시는게 맞는 것 같고요. 띄고 싶으면 seperate를 한 다음에 border-spacing을 주면 되지만, IE가 지원을 안하니... 결국 코드를 손봐야 할 것 같네요.
-- 조프 2003-3-5 3:38 pm

dateBK5 페이지..거의 업데이트 없군요. :) 저도 팜월드 거의 방치상태입니다. ;;. 음..관심이 많이 없어졌다고나 할까. 음..음..암튼 묘한 동병상련을 느끼네요.
-- Nyxity 2003-3-7 4:11 pm

비수를 날리시는군요. 흐미... 환경설정 부분까지 번역하고 났더니 웬만큼 필요한 기능은 다 알게 되어서 불편없이 쓰게 되더라고요. 필요를 못 느끼니 매뉴얼을 더 이상 읽을 생각이 들지 않고, 읽지 않게 되니 그 이상의 기능은 - 익혔더라면 잘 썼을지도 모르지만 - 모른채로 안쓰고 그냥 살게 되는... 이번만큼은 끝장을 보고 싶었는데 거기에 쏟던 관심이 여기로 오는통에. ^^; 언젠가 다른 관심거리가 나타나면 이곳의 소스수정도 지지부진하겠군요. :-)
-- Raymundo 2003-3-7 4:37 pm
저도 바벨을 만든다음부턴 바벨쪽만 신경쓰게되더군요. 그리고 html이나 게시판으로 글쓸려고 하니 왜그리 답답하고 짜증나던지..그래서 더더욱 방치하게된것같아요. 흑흑
위키로 옮기면 되지 않나요? :)
-- Bab2 2003-3-7 5:50 pm
저 역시 비슷한 처지인데... 예전에 게시판에 올렸던 것을 위키로 가져오자니 완전히 별개의 주제로 운영하던 것을 합치기도 애매하고.. 별개의 위키를 따로 하나 운영하기도 뭣하고... 귀찮기도 하고.. (어쩌자는 건지 -_-;) 암튼 그렇군요. ^^;
-- Raymundo 2003-3-7 5:53 pm

프로젝트 진행하면서 그래프를 그릴 필요성을 느끼고 있는데 위키에서 그래프를 그리는 게 가능할까요? 너무 어려운 일인가요?
-- Canday 2003-3-7 9:36 pm

WikiX:mafi 이런 거 말씀이신가요? 위키클론을 바꿔서 적응하는 게 더 빠를 것 같은데요. ^^
-- Raymundo 2003-3-7 10:32 pm
gnuplot 정도면 충분한가요? 못할것까지야 없겠지만 설사 적용된다해도 전체적으로 속도를 떨어뜨리게 될거 같은데요? :)
-- Bab2 2003-3-7 10:35 pm

흐미.. gnuplot 을 몇 년 전에 아주 쬐끔 쓰고 안 썼더니 아예 생각이 나지 않았군요. 2차원 이상의 좌표계 그래프는 gnuplot 을 쓰면 [여기] 처럼 할 수 있겠고.. 프로젝트와 관련된 그래프라면 혹시 진도 나가는 거 표시하는 간단한 그래프를 원하시는 걸지도.. 그러면 그냥 "*" 를 가로로 이어서 쓰면 어때요? ^_^
-- Raymundo 2003-3-7 10:50 pm
흐흐 간단한 그래프요. 세로 막대기 그래프지요. vote 매크로를 쓰면 될 것 같아요. 별표도 좋네요. 같이 프로젝트하는 친구가 세로 막대 그래프를 이야기 하길래 엑셀에서 그려서 붙이라고 했더니 귀찮은지 여기서 그릴 수 없냐고 해서요. (-:
-- Canday 2003-3-8 1:35 pm

그 중간에 줄나오는건 제 실수였네요. 메뉴를 둥둥 떠다니게 해보고싶어서 뻘짓을 했다가 지우질 않았었더군요. 아마 이제 잘 나올겁니다. ^^;
-- Bab2 2003-3-7 11:23 pm

viewcvs 써 보신적 있으신지요? 도움을 받을 수 있는 사람이 있을까요?
-- Canday 2003-3-8 3:11 pm
전 안 써봤습니다. :-)
-- Raymundo 2003-3-8 3:59 pm

위키 수정하다가 conflict가 발생했을 때 먼저 commit 한 사람의 글이 위 쪽에 나오고 내가 작성한 글이 아래쪽에 나와서 내가 쓴 글을 수동으로 붙여 넣어 줘야지 않습니까? 이것을 cvs의 update처럼 <<<와 >>>를 사용하여 누가 수정한 글인지 알게 하는 방법을 택해서 save했을 때 두 사람이 작성한 글 모두 저장되게 할 수 있을까요?(무심코 save 눌렀다가 날린 경험이 있기에 T.T)
-- Canday 2003-3-9 4:32 pm

글쎄요... 유닉스 patch 명령어에 그런 기능이 있을런지.. (cvs 가 어떻게 처리하는 지 모르겠군요) 어쨌거나 그건 별로 좋은 생각 같지 않습니다. 같은 부분을 수정하여 충돌이 날 경우라도 새로 수정하는 사람이 <<<< 마크를 제대로 찾을 거라는 보장도 없고요.. 일단은 남이 수정한 결과와 내가 수정을 시도한 결과를 diff 로 비교하여 출력해주는 것을 삽입하는 정도로 고쳐볼까요.
-- Raymundo 2003-3-9 10:51 pm

[여기]를 보시면 표안에서 스크롤이 되는데 정말 신기하네요. 이거 어떻게 하는걸까요.. -_-a
-- Bab2 2003-3-9 11:17 pm
자답
<div style="padding-left:4; padding-top:4; padding-right:4; padding-bottom:4; width:710; height:380; overflow: auto;">
-_-;;
-- Bab2 2003-3-10 3:04 am

주인장님의 최근 wiki.pl을 다운받아서 바꿨는데..그다음부터 페이지수정을 한후 저장하면 저장이 안됩니다. 그리고 action=maintain 을 실행하면
sub DoMaintain {
...
&RequestLock() or die(T('Could not get maintain-lock')); 이부분에서 에러가 납니다.  
-- Nyxity 2003-3-10 12:56 am

예전에 lock 을 건 상태에서 프로세스가 죽은 적이 있나 봅니다. 그 다음부터는 락을 걸려고 해도 이미 걸려 있기 때문에 수행이 안 되는 건데요. 데이타디렉토리/temp/lock**** 디렉토리를 통채로 지워주시면 됩니다. 사실 이게 문제가 꽤 되는 것이.. lock 디렉토리 자체가 소유권이 웹서버로 되어 있어서 root 가 아니면 직접 락을 제거할 수가 없습니다. (있는데 제가 모르는건지도.. 긁적긁적..) 이런 경우 같이 들어있는 kimsnobody.pl 화일을 쓰든지 해야겠죠. 그 사실을 깨달은 이후부터른 락을 건 상태에서 작업하는 부분을 수정할 때는 수행하다 죽는 일이 없을 것이라는 확신이 있어야만 공개를 합니다만, 완벽할 수가 없다보니.. ^^;
-- Raymundo 2003-3-10 1:03 am
디렉토리가 삭제가 안되요..root권한이 없으면 안되는건가요? 흑흑
동봉된 패키지에 있는 kimsnobody.pl 화일에 문제가 좀 있어서 확인 중입니다. 맘고생하시겠지만 잠시만 기다려주세요. :-)
-- Raymundo 2003-3-10 1:43 am

수정했습니다. 다음과 같이 해 보세요.
-- Raymundo 2003-3-10 1:55 am
Forbidden
You don't have permission to access /wiki/data/kimsnobody.pl on this server
이렇게 나오네요. 결국 호스팅업체에다가 지워달라고 메일을 보냈습니다. - Nyxity

-- Raymundo 2003-3-10 9:35 am

성공했습니다만..action=maintain은 생성되는데..페이지수정후 저장은 여전히 안되네요..흑흑 에러가 나는 부분은
sub DoPost {
...
&RequestLock() or die(T('Could not get editing lock')); 이부분이네요.

그럴리가요. 락을 제거하는 데 성공했다면 저 부분에서 에러가 날 이유가 없어 보이는데요. 코드를 수작업으로 고치신 부분이 있으신가요? 제가 보기에는 저 에러 나기 전에 aciton=maintain 하시는 과정에서 다른 에러가 한 번 났었던 것으로 보입니다. 제가 지금 바벨에다 action=maintain 을 해 보니 다시 락 에러가 나는군요. 한번이라도 다른 에러가 나면 그 다음부터는 락에서 걸리니까 잘 모르게 되죠. 락을 못 잡는다고 에러가 나면 다시 kimsnobody.pl 을 써서 temp 디렉토리 아래에 있는 것들을 다 지운 후에 다시 시도해보세요. '진짜 에러'는 딱 한 번만 나니까 주의깊게 보셔야 합니다. 그 다음에 reload 를 아무리 해봐도 락에서 에러가 날 뿐이니까요.
-- Raymundo 2003-3-10 10:15 am
으흐흑 원인을 찾았습니다. action=maintain 이 실행되는것을 보고 끝나는걸 기다리지 않고 다른 페이지에서 수정저장해서 그랬던것같습니다. 이제 됩니다. 정말 감사합니다. --Nyxity

diff 출력에서 링크나 테이블, 헤드라인, 이미지 등의 처리를 해서 보여주게 할려면 어떻게 해야 하지요? WarnigSpoiler태그를 만들고 스포일러성 내용 글자를 배경색과 같게해서 그 태그 밑에다 적었는데.. Diff로 보면 내용이 바로 다 보인다고 원성을 사고 있어요. 흑흑
-- Nyxity 2003-3-10 1:30 pm

^_^ 스포일러를 감추는 방법은 참 좋습니다만.. 일단 ColorDiff 함수에서 QuoteHtml 함수를 부르는 라인을 주석처리 하시면, 기존의 diff 출력에서는 html 태그가 통합니다. diff -u 를 쓰는 경우는 좀 복잡해지는데... DiffToHTMLunified 함수에서 QuoteHtml 함수를 부르는 라인을 주석처리 해주고.. 그 다음 "$row =~ s/ /&nbsp;/g;" 라는 라인 세 군데를 또 각각 주석처리 해주세요. 그러면 태그는 통합니다. (링크 처리까지는 너무 복잡해집니다) 그런데 어쨌거나 원하시는 대로 스포일러를 감출 수는 없는 것이... 글자색을 페이지 배경색으로 해놨는데, diff 출력의 배경은 초록색 아니면 노란색이니까, 여전히 글자는 보일 겁니다. :-) 아니면 폰트 색 중에 '배경과 동일한 색'을 줄 수가 있다면 모를까.. 결국 명쾌한 답변은 못 드렸네요. :-)
-- Raymundo 2003-3-10 3:09 pm
css에서 spoiler라는 클래스를 하나 만들어두면 편하게 쓸 수 있을겁니다.
기왕 태그를 처리하시려면... font 태그 대신에 div나 span 태그를 쓰면 되겠죠.
-- 조프 2003-3-10 3:37 pm

좀 귀찮은 방법이지만... 예를 들어 "반지의제왕" 페이지에 스포일러를 넣는다면, "반지의제왕/스포일러-간달프의비밀" 이라는 페이지를 별도로 만들어 여기에다 span 이나 div 를 써서 안 보이게 하고요. "반지의제왕" 페이지에는 저 스포일러 페이지를 include 하는 거죠. 이 경우 제목이 '스포일러-'인 페이지는 알아서 피해 가라고 미리미리 말을 띄워놓아야겠죠. :-) 이러면 소스를 하나도 손댈필요 없이 "반지의제왕" 의 diff 출력은 걱정하지 않아도 되겠습니다 ;-)
-- Raymundo 2003-3-10 4:43 pm
아, Include를 쓰면 되겠군요. 별도의 페이지를 만드는 것 까지는 생각했습니다만, 그 다음에 링크 누를게 귀찮아서 차마 얘기를 못했는데;;; -_-; 만들 때, 편집할 때 좀 귀찮긴 하겠지만 좋은 해결책이라고 생각합니다.
-- 조프 2003-3-10 5:05 pm
오옷..멋진 발상의 전환!!!
-- Nyxity 2003-3-10 5:16 pm

크하하..이거참..인간의 욕심은 끝이 없군요. ISBN메크로중 일본책은 키노쿠니야서점이나 아마존재팬으로 연결해서 표시할수있는 방법은 없을까요?

일본책인 것을 알 수 있는 방법이? (소스를 보니까 ISBN 이 89로 시작하면 알라딘으로 링크되더군요) 이런 규칙만 있다면, 그리고 말씀하신 서점 (서점 주소를 가르쳐 주세요) 쪽 홈페이지가 ISBN 만을 가지고 원하는 링크를 얻어낼 수 있는 구조라면 가능하겠죠.
-- Raymundo 2003-3-11 12:31 am

http://www.kinokuniya.co.jp/ , http://www.amazon.co.jp 가 주소이구요. 일본서적들을 보니 ISBN번호가 4로 시작하더군요. -Nyxity

제가 일본어도 모르고 한자도 쥐약이라.. -_- 책 한 두 권을 클릭해봤는데 링크에 일관성이 없더군요. 다른 부분은 그대로 놔두고 ISBN 넘버 부분만 바꾸면 되는 URL 의 패턴을 찾아주세요. :-) 알라딘 같은 경우는 URL 은 www.aladdin.co.kr/catalog/book.asp?ISBN=열자리숫자, 책표지그림은 www.aladdin.co.kr/Cover/열자리숫자_1.gif 로 주소가 딱 정해져 있거든요. (우리 입장에서는 아주 훌륭하다고 할 수 있죠 ^^)
-- Raymundo 2003-3-11 12:48 am

kinokuniya 란 곳이 그나마 속도도 빠르고 규칙적인 URL 이 있는 듯 해서 일단 UseModWiki소스수정에 언급해 두겠습니다. 그쪽 Notes 에 나중에 글 남겨 주세요.
-- Raymundo 2003-3-11 1:17 am


http://piwd.net 쫌 이뻐졌습니까 -,.-? CSS는 가능하면 redica스타일로 놓고 봐주세요. ;;
-- Bab2 2003-3-11 2:02 am

(^_^)=b
-- Raymundo 2003-3-11 2:11 am
^ㅍ^ 헤헤.. 근데 제 홈에서 스킨을 켠상태로 편집을 하니 preview버튼이랑 텍스트필드에 입력포커스맞추는게 오류가 생기던데요.
텍스트입력 폼에 따로 이름을 부여하는건 어떻게 해야 하는지 모르겠네요.
자바는 전혀 할줄을 모르니,, 살려주세요~ ㅜㅡ
-- Bab2 2003-3-11 2:29 pm
부연설명을 드리자면 검색창때문에 메뉴부분에 form이 한개 잡혀있는데 이것 때문에 preview같은 것들의 타겟을 form[1]으로 잡은거 같습니다.(맞나요?)
근데 스킨을 만들면서 그 form을 없애버렸더니 form[1]을 가리키고 있던 preview버튼과 focus() 같은 것들이 모두 오류가 나버리네요.
지금은 스킨에 <form>태그를 한개 추가해서 땜빵으로 쓰고 있지만 페이지 본문 직전에 form이 두개이상이 나오게 되면 마찬가지로 오류가 뜰거 같네요.
-- Bab2 2003-3-11 2:50 pm

저도 자바스크립트는 모르겠고, form[1] 로 했다가 이름을 부여하도록 예전에 고쳤습니다. UseModWiki소스수정/GetFomrStart함수UseModWiki소스수정/편집필드에포커스를 참조하세요.
-- Raymundo 2003-3-11 3:22 pm
해결했습니다. 고맙습니다.^^
-- Bab2 2003-3-11 5:18 pm
정말 훌륭해졌네요. 지금 주인장님 소스도 못만지는데 몇가지 해보고싶어도 엄두가...T_T
구현한 부분은 재활용성이 높도록 가능하면 모듈화를 시도해보시는 것은 어때요?
그거 모아서 가끔 bab2 릴리즈도 만든다음 여기서 공개해도 좋을텐데요. 주인장님과는 다른 감성의 소유자시니까요.
-- 거북이 2003-3-12 9:34 am
모듈화라 함은 개별함수로 따로 빼낸다는 말씀이신가요? -- bab2
아마도 그렇겠지요. 가능하면 그 부분을 모아두어 드르륵 긁어서 붙이면 되도록 가용성을 높인다고나 할까요. 그나저나 변수가 어딘가에 쓱 추가되고 그러면 그런거 챙겨 붙이는게 정말 고역인거 같더라구요. 흠. 역시 bab2 릴리즈가...^^
-- 거북이 2003-3-12 5:31 pm
그렇군요. 역시 전 이해력이 딸려서 같은말을 두번은 들어야 정신을 차리는 터라..^^;;
어느정도 삽질을 끝낸다음에 이곳소스에 맞춰서 올려놓도록 해보겠습니다.
-- Bab2 2003-3-12 5:35 pm
올렸습니다.
-- Bab2 2003-3-13 3:00 pm

오오오 대문이 생겼네요.
-- Bab2 2003-3-15 1:30 pm

플래쉬의 배경음악은 RATM 이더군요. 노래와 플래쉬 화면이 너무 와닿더라고요... 그런데 플래쉬를 제외한 나머지는 도저히 꾸미는 데 재주가 없어서 그냥 입구만 만들어놓고 끝입니다. 다음에 대문이 바뀌어도 계속 저 포맷에 가운데 그림만 바뀌지 않을까 싶은... ^^;;
-- Raymundo 2003-3-15 1:37 pm

멋져요. 글구..화일업로드..잘사용하고 있습니다. 감사감사!
-- Nyxity 2003-3-18 12:02 am

다행이네요. 없었을 때는 몰랐는데, 생기고 나니까 예전에 별도의 게시판을 사용해서 업로드했던 것이 정말 귀찮은 일이었다는 것을 깨닫게 됩니다. :-)
-- Raymundo 2003-3-18 12:12 am


UTF-8 파일 시스템에서...

usemod를 돌리는 서버가 utf-8 기반의 파일시스템을 쓰는데요, 이 서버에서는 한글 페이지를 생성하려고 하면 lock에러가 뜨게 되더군요. 그래서 charset을 utf-8로 바꾸고 해보니까 영문에 대한 링크는 제대로 생성이 되는데 한글페이지를 생성하려고 하면 기냥 [ [ 한글링크 ] ] 로 표시되거든요. 어쩌면 좋을지요?
-- sPiEr 2003-3-18 0:30 am

누구신지는 모르겠습니다만.. :-) UTF-8 을 perl 에서 어떻게 처리하는지 문외한이라서 잘 모르겠네요. lock 에러가 나는 이유는 짐작도 못하겠고, 한글페이지 링크가 인식이 안 되는 문제는 sub InitLinkPattern 내에서 $AnyLettre 의 값을 UTF-8 에서의 캐릭터 코드에 맞춰서 적어 주면 되지 않을까 합니다.

그리고 서명을 남기실 때는 <mysign> 라고만 적으면 알아서 치환됩니다. 아이디와 날짜를 직접 적으실 필요 없습니다. :-)
-- Raymundo 2003-3-18 2:33 am

UseMod:WikiPatches/UTF8 - 여기로 한 번 가보세요.
-- Bab2 2003-3-18 2:53 am


서버의 문제로 오늘 쓰여진 글은 날아가 버렸습니다.. -_-a 오에카키 얘기가 홀라당..
-- Raymundo 2003-3-18 3:59 pm

테스트 테스트...
후후 오에카키 홀라당.
화일업로드 말이죠. 최근변경내역에는 기록이 안 되는 건가요?
-- Canday 2003-3-18 4:58 pm

예. 그래서 UploadedFiles 에서는 업로드한 날짜의 역순으로 정렬을 시켰죠. rclog 화일에 가짜 엔트리를 하나 만들어 눈에 띄게 할 수는 있겠습니다만, 실제로 페이지가 변경된 것이 아니다보니 더 혼란스러울 것 같더라고요. 변경내역을 기록할 때 변경된 페이지 이름을 넣어야 할 텐데 무슨 페이지 이름을 넣어야 할지도 애매하고... UploadedFiles 페이지가 변경된 것처럼 기록하게 할까요?
-- Raymundo 2003-3-18 5:09 pm
^^ 저는 UploadedFiles 페이지가 변경 된 것 처럼 하는 것에 한표!

sub DoUpload {
    ...
    if ($prev_error) {
        print "<b>$uploadError[$prev_error]</b><br><hr>\n";
    } elsif ($upload) {
        $file = &GetParam('upload_file');
        $result = &UploadFile($file);
        print "<b>$uploadError[$result]</b><br><hr>\n";
        ### 여기서부터 추가
        if ($result == 0) {
            &WriteRcLog("UploadedFiles", T('A file has been uploaded'), 0, $Now, &GetParam("username",""), &GetRemoteHost(0));
        }
        ### 여기까지
    }
    &PrintUploadFileForm();
    print $q->end_html;
}

이러면, 업로드하면 최근변경내역에 UploadedFiles 페이지가 "A file has been uploaded" 라는 summary 로 보이긴 합니다. 그렇지만 해 보면 아시겠지만 업로드가 몇 번 일어나든 간에 페이지별 변경내역에는 나타나지 않는 등 문제가 많습니다. 환경설정에서 "각 페이지의 모든 변경 내역을 출력"에 체크하여 보면 각각의 업로드를 볼 수는 있으니, 어느 화일을 누가 올렸나...라는 걸 아는 데에는 도움이 되긴 하겠네요. 제 경우는 그냥 웹서버 로그하고 대조하면 되는 터라 필요가 없지만..

어쨌거나, 업로드한 화일을 어느 페이지엔가 링크를 했을 테니 그것으로 변경 사항을 파악하는 게 나을 것 같습니다. 만약 화일은 올렸는데 그 화일을 링크한 페이지가 없다면 그냥 관리자 권한으로 지워버리면 되니까요. 따라서 저는 반대에 한 표입니다. 업로드를 파악하기 위해서 너무 일관성을 희생하는 듯 합니다.
-- Raymundo 2003-3-18 5:25 pm

차라리 북마크 기능처럼 일정시점이후에 생긴화일을 알아보기 쉽게 할 수 있는 방법을 생각해보는게 낫지 않을까요?
-- Bab2 2003-3-18 9:35 pm


조프님! 조프님 페이지에 있는 calendar2 말이죠. 소스 공개해 주실 수 있으신지요? 조프님 페이지에서 이렇게 쓸만 한 곳이 없어서 여기에... 아래 처럼 하려니 좀 그렇네요.
3월
. . . . . . 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23/
30
24
25
26
27
28
29

오에카키는 [이곳]처럼 하는게 제일 무난하겠네요. 이렇게 하면 이미 만들어진 그림을 다른 사람이 다시 수정할 수 있다는 문제가 있긴 하지만 말입니다...

얼래? 저곳이 제대로 작동을 안하는군요. 부연설명을 드리자면, 매크로 형식으로 사용되고, 화일이 없으면 그림그리는 링크가 뜨고, 있으면 그림이 뜨되 그 그림을 클릭하면 수정할 수 있고, 완성된 그림은 자료실의 화일저장경로에 저장되는 식입니다.
-- Bab2 2003-3-18 9:30 pm


대문에도 적었습니다만, UseModWiki소스수정/화일업로드 패치를 꼭 읽어 보시기 바랍니다. 이 문제를 미리 생각하지 못한 제 불찰이 큽니다만... 전 당연히 알아서들 업로드 디렉토리는 별도로 둘 거라고 생각하고 있었는데 (제가 그렇게 하고 있었기 때문에...) 오늘 돌아다니면서 확인해 보니까 DataDir 값 자체를 기본값에서 바꾸지 않고 쓰시는 분들이 많으시네요. 다행히 이 ext 버전에서는 사용자 암호도 암호화되어 저장되고 있고, rclog 나 기타 데이타 화일을 직접 브라우저로 볼 수 있다고 해서 크게 문제가 될 일은 없어 보이긴 합니다만... 그래도 웬만하면 데이타 디렉토리는 이름을 바꾸고, 데이타 디렉토리 안에 .htaccess 라는 화일을 만들어서 그 화일 안에
deny from all
이라고 적어두세요. 그러면 브라우저에서 볼 수 없게 됩니다. 당연히 upload 디렉토리도 볼 수 없겠죠? 그러니까 upload 디렉토리는 데이타 디렉토리 밖으로 빼내어야 합니다. (이미 화일들이 존재하면 그냥 복사해도 됩니다. 복사한 업로드 디렉토리에는 777 퍼미션을 주셔야 다음 번 업로드가 가능할 테고요..

수작업으로 수정하실 분들을 위해서... ext1.42 버전에서 1.42a 와 1.42b 를 적용하기 위한 수정부분은 다음과 같습니다.
Index: wiki.pl
diff -u -r1.122 -r1.125
--- wiki.pl    24 Mar 2003 16:01:18 -0000  1.122
+++ wiki.pl    25 Mar 2003 14:13:52 -0000  1.125
@@ -33,8 +33,8 @@
 ### added by gypark
 ### wiki.pl 버전 정보
 use vars qw($WikiVersion $WikiRelease $HashKey);
-$WikiVersion = "0.92K3-ext1.42";
-$WikiRelease = "2003-03-24";
+$WikiVersion = "0.92K3-ext1.42b";
+$WikiRelease = "2003-03-25";

 $HashKey = "salt"; # 2-character string
 ###
@@ -70,7 +70,7 @@
    $UserGotoBar $UserGotoBar2 $UserGotoBar3 $UserGotoBar4
    $ConfigFile $SOURCEHIGHLIGHT @SRCHIGHLANG $LinkFirstChar
    $EditGuideInExtern $SizeTopFrame $SizeBottomFrame
-  $LogoPage $CheckTime $LinkDir $IconDir $CountDir $UploadDir
+  $LogoPage $CheckTime $LinkDir $IconDir $CountDir $UploadDir $UploadUrl
    );
 ###
 ###############
@@ -368,6 +368,7 @@
        print $q->redirect(-url=>"http:$ENV{SCRIPT_NAME}?action=upload&error=3");
        exit 1;
    }
+  $UploadUrl = "http:$UploadDir" if ($UploadUrl eq "");
 ###
 ###############
    $Now = time;                     # Reset in case script is persistent
@@ -2265,7 +2266,7 @@
        }
        $txt .= "<TD class='uploadedfiles'>";
        $txt .= &ScriptLink("reverse=Upload:$_", $uploadsearch) . " ";
-      $txt .= "<a href='$UploadDir/$_'>$_</a>";
+      $txt .= "<a href='$UploadUrl/$_'>$_</a>";
        $txt .= "</TD>";

        $size = $filesize{$_};
@@ -3158,13 +3159,17 @@

    if (!$InterSiteInit) {
        $InterSiteInit = 1;
-      ($status, $data) = &ReadFile($InterFile);
-      return ""  if (!$status);
-      %InterSite = split(/\s+/, $data);  # Later consider defensive code
 ###############
-### added by gypark
+### replaced by gypark
 ### file upload
-      $InterSite{'Upload'} = "http:$UploadDir\/";
+#     ($status, $data) = &ReadFile($InterFile);
+#     return ""  if (!$status);
+#     %InterSite = split(/\s+/, $data);  # Later consider defensive code
+      ($status, $data) = &ReadFile($InterFile);
+      if ($status) {
+          %InterSite = split(/\s+/, $data);
+      }
+      $InterSite{'Upload'} = "$UploadUrl\/";
 ###
 ###############
    }
@@ -7395,11 +7400,6 @@

    &RequestLockDir('upload', 5, 2, 0) || return 5;
    my $prefix = &GetLastPrefix($UploadDir, $filename);
-  if ($prefix == 0) {
-      $prefix = "";
-  } else {
-      $prefix = ($prefix+1)."_";
-  }
    my $target = $prefix.$filename;
    my $target_full = "$UploadDir/$target";

@@ -7489,15 +7489,8 @@

 sub OekakiExit {
    my $filename = "oekaki.png";
-  my $prefix = &GetLastPrefix($UploadDir, $filename);
    my (@allfiles, @files, %filemtime);

-  if ($prefix == 0) {
-      $prefix = "";
-  } else {
-      $prefix = $prefix."_";
-  }
-
    opendir (DIR, "$UploadDir") || die Ts('cant opening %s', $UploadDir) . ": $!";
    @allfiles = readdir(DIR);
    shift @allfiles;
@@ -7521,7 +7514,7 @@
    print T('Following is the Interlink of your file') . "<br>\n";
    print "<div style='text-align:center; font-size:larger; font-weight:bold;'>\n";
    print "Upload:$files[0]<br>\n";
-  print "<img style='border: solid 1 gray;' src='$UploadDir/$files[0]'>\n";
+  print "<img style='border: solid 1 gray;' src='$UploadUrl/$files[0]'>\n";
    print "</div>\n";

    print "<hr size='1'>";
@@ -7543,7 +7536,7 @@
    print "<UL>\n";
    foreach (@files) {
        print "<LI>";
-      print "<a href='$UploadDir/$_' target='OekakiPreview'>Upload:$_</a>";
+      print "<a href='$UploadUrl/$_' target='OekakiPreview'>Upload:$_</a>";
        print " (".&TimeToText($filemtime{$_}).")</LI>\n";
    }
    print "</UL>\n";
@@ -7580,11 +7573,6 @@
 # 저장할 화일명 결정
    $filename = "oekaki.png";
    $prefix = &GetLastPrefix($UploadDir, $filename);
-  if ($prefix == 0) {
-      $prefix = "";
-  } else {
-      $prefix = ($prefix+1)."_";
-  }
    $target_full = $UploadDir."/".$prefix.$filename;

 # 저장
@@ -7662,16 +7650,16 @@
 |;
 }

-### 화일명이 겹칠 경우 가장 최근 화일의 prefix 를 얻는 함수
+### 화일명이 겹칠 경우 앞에 붙일 prefix 를 얻는 함수
 sub GetLastPrefix {
    my ($dir, $file) = @_;

    if (!(-f "$dir/$file")) {
-      return 0;
+      return "";
    }

    if (!(-f "$dir/2_$file")) {
-      return 1;
+      return "2_";
    }

    my $prefix = 2;
@@ -7683,7 +7671,7 @@
        $prefix++;
    }

-  return ($prefix - 1);
+  return $prefix ."_";
 }

이 것을 계기로 그동안 실력도 없는 놈이 참 주제넘은 짓을 하고 있었구나...라는 생각이 듭니다. 그동안 만들었던 패치들 중에 몇개나 더 이런 문제를 가지고 있을지 모르겠군요. :-$
-- Raymundo 2003-3-26 12:29 am

화일업로드 패치를 적용한 후 화일을 올리려고 하면..

업로드를 위한 lock 을 얻지 못했습니다

라는 메시지가뜨면서 업로드를 할 수 없습니다. 물론 upload 디렉토리의 퍼미션을 777로 했구요. 흑흑
-- Nyxity 2003-3-26 3:53 pm

저번하고 비슷한 상황 같네요. 예전에 lock 이 걸린 상태에서 다른 에러가 났을 겁니다. 거기 들어 있는 kimsnobody.pl 화일을 755 퍼미션을 준 후에 실행해서 temp 디렉토리 아래에 있는 "lockupload" 라는 디렉토리를 삭제해 주세요. UseModWiki소스수정/화일관리용스크립트에 사용법이 있습니다.
-- Raymundo 2003-3-26 4:58 pm
오오 성공했습니다. 감사감사.
-- Nyxity 2003-3-26 10:20 pm


주인장분류

마지막 편집일: 2008-5-1 10:21 am (변경사항 [d])
1629 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기