2009년 3월 30일 월요일

DISQUS가 이상해요

드디어 ann 님 댓글에 답변 달기 성공했습니다. ㅡㅡv
혹시 문장 내용에 문제가 있나 해서 이리저리 말을 바꿔봤는데, 결국 되고야 말았습니다.
한 문장이 너무 길어서 그랬던 것인지, 아니면 제가 작성한 답변 글에 들어가 있던 특정 단어나 문장이 문제를 일으켰던 것인지는 아직 알 수가 없습니다. 쩝...

-----

음... Comment 시스템을 DISQUS로 변경하고 나서 그럭저럭 문제 없이 잘 동작하고 있다고 방심했나 봅니다.

제가 Total Commander Unalz Plug-in과 관련해 간략하게 쓴 글에 대해 댓글을 달아주신 분들이 있었는데(감사합니다 ^^), 이 중 한 분(ann 님)의 댓글에 제가 답변한 내용이 사라져 버린 겁니다. 그래서, 다시 답변을 달려고 시도하니까 이번에는 아예 추가가 되지 않고 있네요. 혹시 설정이 잘못된 것일까 해서 관리 페이지로 갔더니 개뿔 님이 남기신 댓글이 스팸으로 들어가 있지 뭡니까... (정말 죄송합니다. 워낙 손님이 드문 곳이라 이런 일이 생길 줄은 정말 몰랐습니다. 쩝... 또 다시 비겁한 변명을 하고 있습니다. 앞으론 더 신경 쓰도록 하겠습니다. ㅜㅠ) 어쨌거나 개뿔 님의 댓글도 스팸이 아니라고 지정해서 복구는 해두었는데, 이 글을 쓰고 있는 지금 여전히 답변은 달리지 않고 있습니다.

문제 현상을 정리해보면 크게 두 가지입니다.
1. 멀쩡한 글이 스팸으로 분류되었다.
2. 멀쩡한 글에 답변(Reply)이 안달린다. 그것도 관리자가 직접 달았는 데도...
3. 어쩌면 댓글 자체가 안달리고 있을지도 모른다. (이 부분은 확인이 좀 필요할 것 같습니다.)

혹시 저와 유사한 문제가 발생하는 분 혹은 겪어보신 분 있으세요?
있으시면 댓글을... (흠... 댓글이 안되면 메일이라도... ㅡㅡ)

2009년 3월 19일 목요일

Total Commander Unalz Plug-in (0.64 applied)

이런 변두리까지 찾아주시는 분들이 계셔서 약간의 책임감(양심의 가책) 같은 걸 느끼고, 앞서 올렸던 소스를 조금 손 봤습니다. ;-)
  • 내부적으로 사용되고 있는 bzip2, zlib의 최신 버전 소스를 가져다 적용했습니다. (bzip2 1.05, zlib 1.23)
  • Unalz 0.64 소스의 수정 사항을 Unalz plug-in 분리 소스에 반영했습니다. (Unalz plug-in이 Unalz의 소스를 가져다 동일한 파일명으로 복사한 후 일부분만 변경해서 사용하는 방식으로 만들어져 있더군요. 이 작업은 시간이 제법 걸렸습니다.)
  • 경로명 encoding 변경할 때 동적할당 되는 heap 대신 stack을 사용하도록 수정했습니다. (약간의 속도 개선)
  • VC++ 2008 Express Edition에서도 빌드가 가능하도록 수정했습니다. (집에는 VC++ 2008 상용버전이 없어요. ㅜㅜ)
    • Unicode String과 MBCS 간 변환 관련 ATL 라이브러리를 Win32 API로 대체했습니다.
    • afxres.h 관련 error 해결에는 BLUE'nLIVE 님의 글을 참고했습니다.

소스와 바이너리가 위와 같이 변경되었지만, 링크 주소는 예전과 동일합니다. -- 2009.03.30

-----

오래 전에 Total Commander의 unalz plugin을 build해서 올렸던 적이 있는데, 이번에 새로 0.64 버전의 unalz 소스를 가져와 다시 build 해보았습니다. Visual C++ 2008을 사용해서 build 하려다 보니 소스 코드 내용 중 약간 변경이 필요한 부분이 있더군요. 그리고, unalz 내부 자료형이 변한 것도 고려 대상이 되었습니다. 아무튼 얼렁뚱땅 손을 좀 봐서 build하고 사용해보니 아직까지는 별 탈 없이 잘 동작하고 있습니다.

혹시라도 사용하실 생각이 있는 분을 위해 링크 올려둡니다. (수정한 소스도 함께...)

Binary: wcxArc_Unalz_v0.64.rar
Source: unalz_wcx_0.1i_unalz_0.64_source.rar

위 링크에서 다운로드가 불가능하면 아래 링크(DropBox)를 이용해보세요.

BinarywcxArc_Unalz_v0.64.rar
Sourceunalz_wcx_0.1i_unalz_0.64_source.rar

그리고, 경우에 따라 아래의 MS C Runtime Library가 필요할 수도 있습니다.

Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)


원 소스의 출처는 다음과 같습니다.

Unalz 소스: http://www.kipple.pe.kr/win/unalz/
Unalz.wcx 소스: http://www.totalcmd.net/plugring/unalz_wcx.html

당연한 언급이지만, 여기서 링크한 binary와 source에 대해 저는 아무런 권리도 가지고 있지 않습니다. 모든 권리는 원 저작자에게 있습니다. 또한, 여기서 제공된 binary 또는 source를 사용하면서 발생할 수 있는 어떠한 물질적 정신적 손해에 대해서도 책임을 지지 않습니다. ;-)


주의:
위에서 잠시 언급한 unalz 내부 자료형 변경과 관련하여 주의할 점이 있습니다.
Unalz가 버전이 올라가면서 2 GB 이상의 압축 파일을 지원하기 위해 INT32 대신 INT64 타입을 사용하게 된 것 같은데, Total Commander plugin interface는 아직 32-bit int 형이기 때문에 여기서 문제가 발생할 소지가 있어보입니다. 우선은 32-bit int 범위 내에서 표현 가능한 범위는 적절히 casting 하고, 그것을 넘어가는 경우는 assert로 막아두었기 때문에 엉뚱하게 동작하는 경우는 피할 수 있겠지만, 2 GB 넘어가는 압축 파일을 풀려고 하면 아무래도 crash가 발생하게 될 것 같습니다. :-(