노무현 대통령 배너
BLOG main image
왕미친놈의 왕미친세상입니다. 미친 소리는 써도 되지만, 근거 없는 소리는 쓰면 안 됩니다.

'벌레와 팁'에 해당되는 글 126건

  1. 2009.08.31 도스박스에서 화면 캡처 4
  2. 2009.06.18 광고인가? 사기인가?
  3. 2009.05.30 티스토리 주석에서 \ 문자 표기 문제
  4. 2009.05.28 티스토리에서 주석이 제대로 인식되지 않는 현상 1
  5. 2009.05.21 ISO/UDF 이미지 파일 보기 및 풀기 2 6
  6. 2009.05.19 ISO/UDF 이미지 파일 보기 및 풀기 1
  7. 2009.05.16 아크로에디트 : 배치파일 주석 문법 강조 기능
  8. 2009.05.15 스프링노트 : 공개 및 비공개 설정에서 이상한 점
  9. 2009.05.14 스프링노트 : 일부 글자 속성이 제대로 지정되지 않는 벌레
  10. 2009.05.12 티스토리에서 치환자 출력하기 2
  11. 2009.05.10 버추얼박스 v2.2.2 설치 오류 : 한글 경로명 문제 8
  12. 2009.04.30 토탈커맨더로 꿀뷰 흉내내기 5
  13. 2009.04.28 V3 계열 백신의 폴더 경로명 표기 벌레
  14. 2009.04.27 스프링노트의 링크 편집 벌레 1
  15. 2009.04.26 스프링노트의 태그 표기 벌레
  16. 2009.04.25 버그리포팅이 무시되는 경우
  17. 2009.04.24 DOS에서 숨김 파일 보기
  18. 2009.04.24 티스토리 이미지 갤러리 문제
  19. 2009.04.21 금칙어 피해가기
  20. 2009.04.16 제거되지 않는 버추얼박스 제거하기
  21. 2009.04.12 암호 걸린 압축파일을 다른 문서에 넣어서 다시 암호 걸기
  22. 2009.04.11 버추얼박스 2.2.0 네트워크 접속 문제
  23. 2009.04.09 티스토리 인쇄CSS 적용하기 3
  24. 2009.04.07 네이버 결계 벌레 3
  25. 2009.04.06 중복 파일 제거하여 용량을 줄이자
  26. 2009.04.05 네이버 뻥튀기 벌레
  27. 2009.04.05 구글이 음란 사이트? 3
  28. 2009.03.31 벌레 잡는 알약, 벌레에 먹히다 2 1
  29. 2009.03.30 티스토리 파일 첨부 창 잘라먹기
  30. 2009.03.27 벌레 잡는 알약, 벌레에 먹히다 9


도스박스를 사용하면 대부분의 캡처 프로그램을 사용할 수 없다. 메모리 에러를 내뱉으며 캡처 프로그램이 종료되거나, 그게 아니면 도스박스가 종료되어 버리는 경우가 대부분이다.

그림 캡처

도스박스를 사용하면서 캡처 프로그램을 사용하려는 사람이 많다. 그러면서도 정작 도스박스에 내장된 캡처 기능에 대해서는 모르는 사람이 많다. 말이 나온 김에 이번 팁텍에서는 도스박스의 기능을 이용하여 캡처한 화면을 자주 이용하겠다.

도스박스 처음 실행화면

도스박스 처음 실행화면

도스박스를 처음 실행하면 위와 같은 화면을 볼 수 있다. 아직은 하드디스크의 폴더를 마운트하지 않은 상태이기에 위와 같이 나타나게 된다. 위 화면에서 INTRO SPECIAL 을 입력하고 엔터 키를 누르면 아래와 같은 화면을 볼 수 있다.

Intro Special 화면

Intro Special 화면

이 화면에서 CTRL-F5 라는 부분을 보라. Save a screenshot.이라고 나타나 있다. 눈치 빠른 사람은 알아차렸겠지만, 직접 알려주겠다. 이것이 화면 캡처 단축키이다. 아울러 위 화면은 CTRL-F5를 눌러 잡은 화면이다.

그런데 막상 화면을 잡은 뒤에는 그 파일이 어디에 저장되는지를 알기 힘들다. 그것을 알려면 도스박스 상태 윈도를 보아야 한다.

도스박스를 처음 실행하면 위와 같이 화면이 두 개 보이게 된다. 하나는 도스박스 실행 윈도이며, 다른 하나는 상태 윈도이다.

처음 실행했을 때의 상태 윈도

처음 실행했을 때의 상태 윈도

처음 실행했을 때에는 상태 윈도에 위와 같은 상황이 나타난다. 환경설정 파일에서 적용한 값과 그 값이 올바른지를 알려주고 있다. 위에서 보면 환경 설정에서 machine 항목에서 vga,hercules라는 값을 준 것은 잘못되었음을 알려주고, 기본값이 svga_s3로 바꾸어 적용하고 있다.

도스박스 처음 실행화면을 잡았을 때의 상태 윈도

도스박스 처음 실행화면을 잡았을 때의 상태 윈도

도스박스 처음 실행화면을 잡았을 때에는 위와 같이 Capturing Screenshot to 라는 메시지가 추가된다. 그 뒤의 경로는 그림 파일이 저장되는 곳이다.

Intro Special 화면을 잡았을 때의 상태 윈도

Intro Special 화면을 잡았을 때의 상태 윈도

위 그림처럼 그림 파일을 잡을 때마다 하나씩 추가된다.

동영상 캡처

도스박스에서는 화면을 동영상으로 잡을 수도 있다. 위의 Intro Special 화면을 보면 CTRL-ALT-F5 키가 그것이다. 이것을 위해 약간의 설정을 하고 도스 박스를 다시 실행하였다.


프린세스메이커2의 처음 실행 화면 동영상.

프린세스메이커2의 처음 실행 화면 동영상[각주:1] 파일의 이름은 pm2_001.avi 이다. 이것은 도스박스가 실행될 때 창의 이름이 실행파일 이름처럼 바뀌기 때문이다. 이것은 그림파일로 캡처할 때도 마찬가지로 적용된다. 이것은 상태 윈도에서 파일명을 살펴본 뒤 실행 윈도와 비교해 보면 쉽게 알 수 있다. 다만 도스 명령행 상태일 때는 도스박스에 내장된 셸을 사용하므로 캡처 파일의 이름이 dosbox로 시작하게 된다.

참고로 위 동영상은 아무런 조작도 하지 않았기 때문에 그 크기가 26.9 MB에 이르고 있다. 특히 동영상에 포함된 음향 정보는 PCM 22050Hz 706 kb/s (2ch)을 그대로 쓰고 있다. 쉽게 말해 압축이 되어 있지 않으며, 이런 까닭에 동영상에 포함된 영상 정보는 4.39 MB인데 비해 음향 정보는 21.7 MB나 되고 있다. 이는 아마도 게임을 하면서 동영상을 저장할 때 생길 수도 있는 속도 저하를 막기 위해서가 아닌가 생각한다. 또한 기본으로 제공되는 ZMBV 코덱(Zip Motion Blocks Video Codec)도 그다지 높은 압축율을 보이지 않는다고 여겼으나, 게임 동영상 저장에서 매우 좋은 효율을 보인다. wmv 코덱이나 divx, xvid 코덱보다 용량은 절반 정도, 화질은 좀 더 좋았다. 다만 동영상 저장 시 CPU 점유율이 상당히 낮고 속도도 빠른 편이다. 또한 이 ZMBV 코덱은 윈도에 설치되지 않은 경우에 도스박스에서 동영상을 잡기는 했지만 재생할 수 없는 경우도 발생할 수 있다. 이 경우에는 도스박스가 설치된 폴더에서 있는 zmbv 폴더의 zmbv.inf 파일을 찾아 코덱을 설치하기 바란다. 특히 위의 동영상이 보이지 않는 사람은 ZMBV 코덱을 반드시 설치해야 한다.

참고로 프린세스메이커2의 처음 실행 화면 동영상 파일(pm2_001.avi)의 정보는 다음과 같다.

GSpot을 이용하여 알아본 동영상 정보

GSpot을 이용하여 알아본 동영상 정보

관련 문서

이 글은 스프링노트에서 작성되었습니다.



  1. 이 동영상의 저작권에 대해서는 만트라 또는 나인라이브즈와 상의하기 바랍니다. [본문으로]
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

평소 만화에 관심이 많아서 클릭했더니 사람 민망하게 만드는 광고였다면? 처음부터 철저하게 사람을 속인 그런 광고는 사기일 뿐이라고 생각한다.

벌레의 유형

  • 사람의 마음속에 기생하면서 염치를 먹어치워 몰염치하게 만드는 벌레이다.
  • 거짓말을 하고도 그게 거짓말인 줄 모르게 만드는 벌레이다.

벌레의 발견

평소에 만화를 매우 좋아한다. 그래서 화면에 나타난 [만화]라는 글귀를 보고 무엇인지 궁금해서 클릭했다가, 그 자체가 하나의 "사기"였음을 알게 되었다.

자주색 사각형으로 표시한 부분이 사기성 광고이다.

자주색 사각형으로 표시한 부분이 사기성 광고이다.

위의 자주색 사각형 부분을 클릭했을 때 나타나는 화면

위의 자주색 사각형 부분을 클릭했을 때 나타나는 화면

참고로 [연재만화 87화] 화끈한 팔베개!!라고 하였으나 그러한 내용은 어디에서도 찾을 수 없었다. 애초에 그러한 내용은 전혀 게시하지 않고, 오직 사이트로의 유인만을 노리고 만들어진 고도의 "사기성 문구"이다.

제작자/제공자의 답변

2009년 6월 18일 메일을 보내었다.

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

티스토리에 주석을 달면 가끔 한 글자씩 빼먹고 나타내는 경우가 있다. 특히 \ 문자(역슬래시)를 나타낼 때 항상 한 글자씩 빼먹고 나타낸다.

벌레의 유형

  • 덧셈을 못하는 벌레이다.
  • 그게 아니라면 자신의 본문을 화면 표시가 아니라 나눗셈으로 착각하는 벌레이다.

벌레의 발견

우연히 주석에 하드디스크 파일의 경로를 나타내다가 발견하였다.
이것은 스프링노트에서 [footnote] 표시를 붙여 나타내어도 나타나면, 티스토리에서 주석을 붙여도 나타났다.

벌레 분석

우선 편집 화면을 보면 다음과 같다.

티스토리 글쓰기(편집) 화면

티스토리 글쓰기(편집) 화면

위에서 보면 각주 부분에 어떤 파일의 경로가 있다. 파일 경로이므로 \ 문자(역슬래시 문자)가 들어가야 한다. 그 부분만 따로 떼면 다음과 같다.

위와 같이 입력했다. 다만 알아보기 쉽게 \ 문자를 자주색으로 나타냈으며, 실제로는 티스토리 글쓰기(편집) 화면처럼 모두 검은색이다.

미리보기를 하면 다음과 같다.

주석(각주)에서 \ 문자(역슬래시)를 나타내는 예제 미리보기

주석(각주)에서 \ 문자(역슬래시)를 나타내는 예제 미리보기

그런데 위에서 보면 조금 이상한 부분이 있다. 일단 그 부분만 떼어 보자.

\ 문자(역슬래시 문자)가 전혀 나타나지 않는 각주 부분

\ 문자(역슬래시 문자)가 전혀 나타나지 않는 각주 부분

무슨 까닭에서인지 \ 문자(역슬래시 문자)를 전혀 나타내지 못하고 있다.

벌레 잡기

내 짧은 지식으로 생각건대, 이것은 C 언어에서 문자열을 나타낼 때와 비슷한 현상이다. 다시 말해 C언어에서 printf 함수로 문자열을 출력할 때 \ 문자를 나타내려면 \ 문자를 1회 입력하면 안 된다. 반드시 2회, 그러니까 \\ 처럼 2회 입력해야 \ 문자를 1회 출력해 준다.

문제는 왜 이렇게 복잡한 방법으로 입력하게 만들었느냐이다. 이런 방식은 컴퓨터를 익숙지 않거나, 컴퓨터 언어(C 언어, 또는 자바스크립트 언어)를 전혀 모르는 사람에게는 꽤 큰 불편을 불러오는 악성 벌레이기 때문이다.

아무튼 이 문제를 해결하려면 \ 문자를 2회 겹쳐서 표기하면 된다.

\ 문자(역슬래시)를 2회 입력한 편집 화면

\ 문자(역슬래시)를 2회 입력한 편집 화면

각주(주석) 부분만 떼어 내면 위와 같다.

미리보기를 하면 아래와 같다.

주석 부분에 파일 경로명이 제대로 나타난 미리보기 화면

주석 부분에 파일 경로명이 제대로 나타난 미리보기 화면

제작자/제공자의 답변

2009년 5월 30일 아침에 오류 보고했다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

나는 스프링노트에서 글을 작성하여 티스토리에 글을 올리고 있다. 그런데 가끔 엉뚱한 현상을 보이는 일이 생기곤 한다. 바로 주석[각주:1]의 화면 표시에 대한 문제이다.

벌레의 유형

자기 본모습을 헷갈려하는 벌레이다.

벌레의 발견

[벌레와 팁] - ISO/UDF 이미지 파일 보기 및 풀기 1 문서에서 이상한 현상을 발견하였다. 백 번 듣기보다 한 번 보는 것이 낫다.

주석(각주) 표지가 그대로 드러나는 화면

주석(각주) 표지가 그대로 드러나는 화면

위 그림에서 없어서Tistory-X-Footnote-0.png 라는 부분이 그것이다. 주석 표시인 Tistory-X-Footnote-0.png은 원래 편집 화면에서만 보이고, 웹에 게시한 뒤에는 주석의 실제 내용으로 치환되어야 한다. 또한 Tistory-X-Footnote-0.png 표시 대신에 주석을 나타내는 수가 나타나야 한다.

그러나 주석(각주)은 어디에도 보이지 않는다.

그러나 주석(각주)은 어디에도 보이지 않는다.

위와 같이 보이며 애써 작성한 각주는 나타나지 않는다. 정상 작동할 때는 아래와 같다.

정상 표시되는 주석(각주)

정상 표시되는 주석(각주)

위 그림에서 Tistory-X-Footnote-1.png 부분이 정상적으로 나타난 주석이며, 그 아래에 주석의 실제 내용이 나타나 있다.

벌레 분석

이것은 스프링노트에서 티스토리의 주석을 나타내 주지 못해서 아래 그림처럼 입력하는 일과 관련이 있어 보인다.

스프링노트에서 티스토리의 주석을 표시하는 방법

스프링노트에서 티스토리의 주석을 표시하는 방법

다시 말해 위 그림처럼 [footnote] 치환자를 직접 입력하고 있어서 당장은 문제가 없어도 나중에 문제가 생긴다고 볼 수 있다. 이것을 따로 떼면 아래와 같다.

빨강 네모로 표시한 부분이 주석을 입력한 부분이다.

빨강 네모로 표시한 부분이 주석을 입력한 부분이다.

그러나 티스토리에 게시/출판하였을 때 편집창에서 나타나는 HTML 코드는 스프링노드에서 [footnote]를 수동으로 입력했을 때나, 티스토리에서 주석(각주) 기능을 이용해서 달았을 때나 같다.

주석 표시에서 오류가 났을 때의 편집화면의 HTML 모드

주석 표시에서 오류가 났을 때의 편집화면의 HTML 모드

문제가 생긴 주석 표시 부분 (파란색 네모 부분)

문제가 생긴 주석 표시 부분 (파란색 네모 부분)

위 그림에 보면 footnote 부분에 조금 특별함이 있기는 하다. 그렇다고 이것이 주석을 잘못 나타내는 이유로 보기는 힘들다.

주석 표시를 정상적으로 했을 때의 편집화면의 HTML 모드

주석 표시를 정상적으로 했을 때의 편집화면의 HTML 모드

비교하기 위해 잘라낸 주석 표시 부분 (파란색 네모 부분)

비교하기 위해 잘라낸 주석 표시 부분 (파란색 네모 부분)

정상적으로 보일 때도 오류가 났을 때와 같은 방식으로 편집창에는 나타난다.

벌레 잡기

이 벌레를 잡기 위해서는 특별한 방법이 없다. 그저 주석이 정상적으로 표시될 때까지 해당 문서를 편집 창에 보였다가 저장하기를 반복하는 수밖에 없다.

제작자/제공자의 답변

2009년 5월 29일 아침에 오류를 보고한 상태이다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


  1. Footnote라는 영어를 "각주"로 번역하고 있다. [본문으로]
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

팁텍

ISO/UDF 이미지 파일 보기 및 풀기 1에서 설명했듯이 윈도XP에서 UDF 파일 시스템의 DVD를 지원한다는 말과 ISO/UDF 파일 이미지를 지원한다는 말은 전혀 다르다. 이것을 혼동하지 말아야 한다.

앞에서 DVD에 저장하여 디스크 내용을 확인했고, 그 다음으로 가상 디스크 프로그램을 이용하여 내용을 확인했다.
이번에는 압축 프로그램을 이용하여 압축을 풀듯이 UDF 이미지 파일을 풀어내 보도록 하자.

팁의 발견

사실 압축과 패키지(묶음)는 서로 관련이 있지만, 서로 같은 뜻은 아니다. 토탈커맨더처럼 아예 압축과 패키징을 한데 묶어서 다루기도 하지만, 대부분의 압축 관리 프로그램은 압축과 그 압축에 대한 패키징만을 다룬다. 다시 말해 대부분의 압축 프로그램이라 불리는 압축 관리 프로그램은 자신이 지원하는 압축 형식에 대한 패키징만 지워하며, 패키징 자체에 대해서는 전혀 신경 쓰지 않는다고 해도 과언이 아니다.

그런 이유로 .ISO 파일은 오랫동안 압축 관리 프로그램에서 다루지 않았으나, 요사이 그러한 디스크 이밎 형식을 지원하는 프로그램이 늘기 시작했다.

참고 : 압축 프로그램은 파일을 압축하거나 압축된 파일을 해제하는 프로그램이며, 압축 관리 프로그램은 압축 파일 내부의 파일을 교체하거나 내용만 따로 본다거나 하는 관리 기능까지 지원하는 프로그램이다. 종래에는 대부분 압축 프로그램이었으나, 요사이는 압축 관리 프로그램이 대세이다. 이 글에서는 압축 관리 프로그램이나 압축 해제 프로그램까지 모두 압축 프로그램이라 부르겠다.

여기에서도 그처럼 디스크 이미지 파일을 지원하는 압축 관리 프로그램 및 압축 해제 프로그램을 소개하고자 한다.

  • zpsetup.exe : Zip+ v7.89 (개인/단체 무료)[각주:1]
  • bz3setup.exe : 빵집 v3 빌드1326 (개인/단체 무료)
  • ALZip742.exe : 알집 v7.42 (개인 무료/단체 유료)[각주:2]
  • 7z465.exe : 7-Zip v4.65 (LGPL, 개인/단체 무료/소스 수정 시 공개 의무)
  • winzip121.exe : WinZip v12.1 (유료/시험 사용 기간 있는 셰어웨어)
  • wrar380k.exe : WinRAR v3.80 (한국어 버전) (유료/시험 사용 기간 있는 셰어웨어)
  • uniextract16.exe : Universal Extractor v1.6 (GPL, 개인/단체 무료/소스 수정 시 공개 의무). 단 이 프로그램은 압축 해제만 지원한다.

그밖에 알파/베타 테스트 버전도 시험하였다.

  • 7z903.exe : 7-Zip v9.03 Alpha
  • wrar39b1.exe : WinRAR 3.6 beta

또한 이 문서에 나온 결과 내용은 어디까지나 주관적인 판단에 따랐습니다. 다른 사람이 실험하면 다른 판단을 내릴 수 있습니다.

참고로 테스트 환경은 윈도XP Sp2, 램 512메가, 하드는 5기가 이상 여유 있는 환경에서 하였다. 속도 측정 등은 하지 않고, 해당 기능이 동작하는지만 살폈다. 마지막에 압축이 제대로 풀리기만 하면 3점, 중간에 오류가 나면 1점 감점, 아예 열지 못하면 1점을 주었다. 홈페이지 등의 설명에서 UDF를 지원한다고 했는데, 실제로 동작하지 않으면 0점 처리하였다.

압축 프로그램의 사용

압축 프로그램에서 열어서 풀기압축 프로그램으로 풀기를 시험하였다.

압축 프로그램에서 열어서 풀기

압축 프로그램에서 열기 방법은 먼저 압축 프로그램을 실행한 뒤에 메뉴나 아이콘을 클릭하여 .ISO 파일을 읽어 온다. 이때 사용하는 이미지는 윈도7 RC 7100(32비트)의 이미지이며, 파일명은 7100.0.090421-1700_x86fre_client_en-us_retail_ultimate-grc1culfrer_en_dvd.iso에서 dvd.iso로 고쳤다.

압축 프로그램을 실행한 뒤에 파일을 열 때, 1번 방법은 파일 메뉴에서 열기를 선택하면 되고, 2번 방법은 툴바에서 열기 아이콘을 클릭하면 된다. 다른 프로그램도 그다지 다르지 않으므로 적절히 대처하면 됩니다.

Zip+ 플러스 실행 화면

Zip+ 플러스 실행 화면

위의 그림에서 툴바 메뉴 가운데 새 압축, 열기, 설정, 이렇게 세 개만 활성화 되어 있다. 나머지는 사용할 수 있을 때 활성화 된다.

위에서 열기 아이콘을 클릭하면 열기 대화상자가 나타난다. 또는 파일 메뉴에서 열기 메뉴를 선택해도 열기 대화상자가 나타난다.

위와 같은 열기 대화상자에서 파일을 선택한 뒤 열기를 클릭하여 불러 오면 된다.

.iso 파일을 불러온 화면

.iso 파일을 불러온 화면

대부분의 압축 프로그램에서는 압축 파일을 불러오면 왼쪽은 압축 파일 내부의 폴더 구조를 보여주고 오른쪽은 파일 목록을 보여주는 탐색기 구조를 본뜬 외양을 갖추고 있다.

여기에서 풀기 아이콘을 클릭하면 압축 풀기 대화상자가 나타난다.

압축 풀기 대화상자

압축 풀기 대화상자

압축 풀기 대화상자에서 알맞은 선택사항을 고르거나, 압축 풀기 폴더를 바꾸는 작업을 한 뒤에 확인을 클릭한다. 프로그램에 따라서는 압축 풀기(Extract)로 나타나기도 한다.

압축 풀기 작업 중 화면

압축 풀기 작업 중 화면

압축 풀린 폴더 화면

압축 풀린 폴더 화면

압축이 풀린 폴더의 등록 정보

압축이 풀린 폴더의 등록 정보

압축 프로그램에서 열기 기능에 대한 지원 결과

압축 프로그램에서 열기 기능에 대해서는 다음과 같은 결과가 나왔다.

  • Zip+ v7.89 : 잘 지원한다. 3/3
  • 빵집 v3 빌드1326 : ISO는 지원하지만, ISO/UDF는 지원 안 한다. 1/3
  • 알집 v7.42 : ISO는 지원하지만, ISO/UDF는 지원 안 한다. 그러나 컨텍스트 메뉴 자체는 잘 작동했다. 1/3
  • 7-Zip v4.65 : 잘 지원한다. 3/3
  • WinZip v12.1 : 목록 보기는 잘 지원한다. 그러나 압축 풀기에서 오류가 발생하였다. 2/3
  • WinRAR v3.80 : 잘 지원한다. 3/3
  • Universal Extractor v1.6 : 파일 목록 보기 기능이 없다. 0/3

그밖에 알파/베타 테스트 버전도 시험하였다.

  • 7-Zip v9.03 Alpha : 잘 지원한다. 3/3
  • WinRAR 3.6 beta : 잘 지원한다. 3/3

압축 프로그램으로 풀기

압축 프로그램으로 풀기는 달리 표현하면 컨텍스트 메뉴 이용하기이다.

마우스 오른쪽 클릭을 한 화면

마우스 오른쪽 클릭을 한 화면

7-Zip을 설치한 뒤 7-Zip에서 지원하는 파일은 아이콘이 바뀐다. 그 파일에 마우스 커서를 가져간 뒤 오른쪽단추를 누르면(오른쪽 클릭), 메뉴가 나타나는데, 이것을 컨텍스트 메뉴라고 부른다. 위의 화면에서 컨텍스트 메뉴만 따로 떼면 다음과 같다.

7-Zip의 계단 형식 컨텍스트 메뉴

7-Zip의 계단 형식 컨텍스트 메뉴

Zip+의 기본 컨텍스트 메뉴

Zip+의 기본 컨텍스트 메뉴

이러한 컨텍스트 메뉴는 위와 같이 계단 형식과 기본 형식의 두 가지로 나뉜다. 최근에는 계단 형식도 자주 쓰인다.

아무튼 7-Zip의 계단 형식 컨텍스트 메뉴에서 압축 풀기...를 선택하여 .ISO 파일을 풀면 된다.

압축 풀기 대화 상자

압축 풀기 대화 상자

7-Zip의 압축 풀기 대화상자는 Zip+의 그것과 거의 같다. 이렇듯이 다른 프로그램도 비슷비슷하므로, 한 프로그램만 제대로 알면 다른 프로그램도 대부분 사용할 수 있다.

위의 그림에서 확인을 클릭하면 파일을 풀어 준다.

압축 풀기 작업 중 화면

압축 풀기 작업 중 화면

압축 프로그램으로 풀기 기능에 대한 지원 결과

압축 프로그램으로 풀기 기능에 대해서는 다음과 같은 결과가 나왔다.

  • Zip+ v7.89 : 컨텍스트 메뉴로는 파일을 열지 못했다. 0/3
  • 빵집 v3 빌드1326 : ISO는 지원하지만, ISO/UDF는 지원 안 한다. 그러나 컨텍스트 메뉴 자체는 잘 작동했다. 1/3
  • 알집 v7.42 : ISO는 지원하지만, ISO/UDF는 지원 안 한다. 그러나 컨텍스트 메뉴 자체는 잘 작동했다. 1/3
  • 7-Zip v4.65 : 잘 지원한다. 3/3
  • WinZip v12.1 : 압축 풀기에서 오류가 발생하였다. 2/3
  • WinRAR v3.80 : 잘 지원한다. 3/3
  • Universal Extractor v1.6 : ISO는 지원하지만, ISO/UDF는 지원 안 한다. 그러나 컨텍스트 메뉴 자체는 잘 작동했다. 1/3

그밖에 알파/베타 테스트 버전도 시험하였다.

  • WinRAR 3.6 beta : 잘 지원한다. 3/3
  • 7-Zip v9.03 Alpha : 잘 지원한다. 3/3

참고

  • 처음에는 밤톨이도 대상에 포함시켰으나, ISO 형식을 지원하지 않는다고 하여 제외시켰다.
  • 또한 Universal Extractor가 ISO/UDF의 압축을 풀지 못한 것은 뜻밖이었다. 왜냐하면 Universal Extractor는 7-Zip의 명령줄 버전을 사용하고 있기 때문에 그것을 이용하여 ISO/UDF의 압축을 풀 것으로 예상하고 이번 시험에 포함시켰기 때문이다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


  1. Zip+의 프리웨어 라이선스에 대한 자세한 사항은 홈페이지의 공지사항을 참조하기 바랍니다. [본문으로]
  2. 구멍가게에서 등에서 쓰는 컴퓨터나 기타 영업용 컴퓨터, 회사의 컴퓨터, 단체의 업무에 쓰이는 컴퓨터 등에 설치할 때, PC방의 컴퓨터에 설치할 때에는 유료 버전을 써야 한다. 특히 PC방에 설치하면 PC방 사장을 범죄자로 만들게 되니까 주의하기 바란다. 설치하더라도 아르바이트 직원이나 사장에게 라이선스를 가지고 있는지 묻고 나서 설치하기 바란다(이렇게 써놓아도 PC방 컴퓨터에 그냥 설치하는 변견이 있다). [본문으로]
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

팁텍

내 컴퓨터에는 DVD±RW 기계가 달려 있고, 윈도XP를 쓰고 있다. 그리고 UDF 포맷을 지원한다고 하여, ISO/UDF 이미지 파일도 지원한다고 착각했던 적이 있다. 하지만 ISO/UDF 이미지 파일은 응용프로그램에서 지원하는 것이지 운영체제에서 지원하는 것이 아니라는 것을 알고 허탈해 하기도 했다.

아무튼 ISO/UDF 이미지 파일을 보면 달랑 README.TXT 파일 하나뿐이다. 거기다 내용도 썰렁하기 그지 없다.

7100.0.090421-1700_x86fre_client_en-us_retail_ultimate-grc1culfrer_en_dvd.iso 이미지 파일 안의 README.TXT의 내용

7100.0.090421-1700_x86fre_client_en-us_retail_ultimate-grc1culfrer_en_dvd.iso 이미지 파일 안의 README.TXT의 내용

이 디스크는 "UDF" 파일 시스템을 포함하고 있으며, ISO-13346 "UDF" 파일 시스템 규격을 지원하는 운영체제를 요구합니다.

위와 같은 의미를 가지고 있다.

이러한 ISO/UDF(이하 UDF) 이미지의 경우 일반적으로 ISO 이름도 포함하지만, 이 경우에는 ISO 이름 없이 UDF 이름만 포함하기 때문에 생겨난 결과이다.

 

팁의 발견

아무튼 내가 즐겨 사용하는 토탈커맨더에서는 위에서 설명한 바와 같이 README.TXT 파일 하나만 나타나므로 불편하기 그지 없었다. 애써 만든 7-zip을 이용한 멀티아크 애드온 설정은 다른 ISO 플러그인과 충돌하여 쓸 수 없는 상태였다. 결국 목 마른 사람이 우물 판다고, UDF 이미지 파일을 볼 수 있거나 풀어주는 유틸리티를 찾아보게 되었다.

프로그램 설치와 다른 쓰임은 각자 알아보기로 하고, 여기에서는 UDF 이미지 파일을 푸는 과정만 설명하겠다.[각주:1]

CD/DVD 제작 프로그램 사용

가장 간단하고 정통적인 방법은 ISO/UDF 이미지를 디스크로 만드는 것이다. 흔히 "CD굽기"(또는 DVD 굽기)라고 표현하는 방법이다.

가장 널리 쓰이는 프로그램에는 이미지 파일을 CD/DVD로 구워 주는 이미지번(ImgBurn) 프로그램, 여러 기능을 가진 네로 버닝 롬(Nero Burning Rom), 국산 프로그램인 이응 등이 있다.

이렇게 구한 프로그램으로 이미지를 디스크로 구운 뒤에 DVD 드라이브에 디스크를 넣어 탐색기로 살펴 보면 된다. 이 방법의 장점은 복사본을 하나 만들 수 있다는 점이고, 단점은 반드시 복사본을 만들 디스크(미디어)가 한 장 이상 필요하다는 점이다. 물론 나처럼 DVD±RW이나 DVD±RAM을 쓴다면 한 장으로 재활용할 수 있다.

다만 이 방법은 엄밀히 말해 이미지 파일을 본다는 것과는 거리가 있다. 그러나 이미지 파일의 내용을 본다는 것을 넓게 확장하여 해석하면 이런 방법도 쓸 수 있다는 뜻이다.

왼쪽 패널은 IOS/UDF 이미지를 ISO 플로그인을 통해 본 내용이고, 오른쪽 패널은 DVD 미디어를 광디스크드라이브에 넣어 내용을 확인한 화면이다. 그 아래에 작업 표시줄에는 DVD 미디어를 넣었을 때 자동실행된 프로그램이 나타나 있다.

ImgBurn

이미지번(ImgBurn) 프로그램은 이미지 파일을 CD/DVD로 구워 주는 프로그램이다. 물론 폴더나 파일을 구워 주는 기능도 있지만, 이미지 파일을 굽는 데 자주 쓰인다. 이름부터 이미지번(ImgBurn)이지 않은가?

홈페이지에서 프로그램 파일언어 파일을 받아서 설치하면 된다. 2009년 5월 19일 현재 최신 버전은 2.4.4.0 이다.

설치한 뒤 한글 언어팩을 적용하여 처음 실행한 화면

설치한 뒤 한글 언어팩을 적용하여 처음 실행한 화면

왼쪽 그림에서 이미지 파일을 디스크에 쓰기를 선택한다.

이미지 파일 굽기 설정 화면 1.

위 그림의 오른쪽에 상황 표시는 디스크가 없음을 나타낸다.

 이미지 파일 굽기 설정 화면 2. 공디스크를 DVD 드라이브에 넣은 화면. Size: 4,700,372,992 bytes 라는 부분에서 DVD 미디어임을 알 수 있다. 저장 가능한 DVD 미디어(DVD±ROM, DVD±RW 등)은 컴퓨터 가게나 편의점 등에서 살 수 있다.
이 화면에서 탐색기 모양의 아이콘(1-ImgBurn-A.png)을 클릭하면 이미지 파일 열기 대화상자가 나타난다.

 왼쪽과 같은 이미지 파일 열기 대화상자에서 DVD 미디어에 저장할 이미지 파일을 찾아낸 뒤 열기를 클릭한다.

 이미지 파일 굽기 설정 화면 3. 소스 항목 부분이 바뀌어 있다.

  • 하드디스크 드라이브 아이콘(1-ImgBurn-M.png) 옆에 나타나는 것은 방금 선택한 이미지 파일의 이름인데, 끝부분이 생략되어 있다(7100.0.090421-1700_x86fre_client_en... 부분).
  • 라벨은 만들어질 디스크의 볼륨 레이블(Volume Label), Imp ID는 이미지 파일을 만든 프로그램에서 지정한 ID인데, 여기에 나타난 ID는 선택한 이미지가 윈도7 RC 7100 이미지로서 MS의 CDIMAGE(또는 OSCDIMG)로 만든 UDF 이미지 파일이라는 의미를 가진다.
  • 파일 시스템은 디스크 이미지에 적용된 파일 시스템을 가리키며, 현재 이미지는 부팅 가능하며, UDF 파일 시스템을 지원함을 알 수 있다.
  • 섹터, 크기, 시간에 대한 정보도 알 수 있다. 또한 물음표가 있는 아이콘(1-ImgBurn-D.png)을 클릭하면 좀 더 자세한 정보를 볼 수 있다.

1-ImgBurn-N.png 위 화면에서 맨 아래의 쓰기 아이콘을 클릭하면 이미지를 디스크에 저장해 준다(왼쪽 그림 참조).

 이미지 파일 굽기 화면. 왼쪽 그림과 같은 상황이 나타난다.

 이때 왼쪽 그림 부분을 클릭하여 디스크를 다 만든 뒤의 작업을 지정하고 해제할 수도 있다.

또한 전원 아이콘(1-ImgBurn-O.png)을 클릭하면 작업이 취소되므로, 꼭 필요한 경우가 아니라면 클릭하지 않기를 바란다. 괜히 공디스크 한 장 버리게 된다.

위 과정이 끝나면 확인 작업을 거치게 된다. 그때 광디스크 드라이브가 한 번 배출되었다가 다시 들어가기도 한다. 확인 작업을 마치면 이미지 파일 굽기 화면은 자동으로 닫히고, 이미지 파일 굽기 설정 화면으로 돌아가게 된다.

네로 버닝 롬/네로 스마트스타트

네로 버닝 롬(Nero Burning ROM)은 가장 널리 쓰이는 CD/DVD 제작 프로그램 가운데 하나이다. 자신의 CD/DVD 드라이브가 최신 제품이고, 자신의 윈도가 최신 버전일 때에만 최신 제품을 쓰기 바란다. 나는 아직까지도 6.6 버전을 쓰고 있으며, 여기에서 설명하는 프로그램은 네로 버닝 롬의 엔터프라이즈 에디션(Nero Enterprise Edition)이 아니라 네로 스타트스마트(Nero StartSmart)이다. 이것은 초보자 또는 간단한 설정을 좋아하는 사람을 위해 만들어진 런처 형식의 CD/DVD 저작 도구이다.

네로 스타트스마트의 첫 실행 화면

네로 스타트스마트의 첫 실행 화면

 첫 실행 화면에서 복사 및 백업 아이콘을 클릭한 뒤 디스크로 이미지 레코딩을 클릭한다.

 네로 익스프레스 화면 1. 위에서 디스크 이미지로 레코딩을 선택했을 경우 왼쪽과 같은 열기 창이 뜨게 된다. 여기에서 DVD로 구울 이미지를 선택하여 열기를 클릭하면 된다. 이때 네로 익스프레스(Nero Express)는 네로 엔터프라이즈 에디션의 간략 버전이다.

 네로 익스프레스 화면 2. 다음 단추(2-Nero-F.png)를 클릭한다.

화면 하단에 보이는 단추는 차례대로 도움말(2-Nero-B.png), 네로 엔터프라이즈 에디션 단추(2-Nero-C.png), 기타 환경설정 단추(2-Nero-D.png), 뒤로 단추(2-Nero-E.png) 등이 있다.

 네로 익스프레스 화면 3. 디스크에 기록한다. 이때 정지 단추(2-Nero-G.png)를 누르면 작업이 취소된다. 역시 꼭 필요한 경우가 아니라면 클릭하지 않도록 한다.

 디스크에 기록하는 작업이 끝났을 때는 이와 같이 알려준다.

 네로 익스프레스 화면 4. 다음 단추를 클릭한다.

 네로 익스프레스 화면 5. 끝내기 단추(2-Nero-H.png)를 클릭하면, 네로 익스프레스가 종료되어, 네로 스타트스마트 화면으로 돌아간다.

이응

이응은 CD/DVD 굽기와 가상 드라이브를 결합한 제품으로 알콜 120%와 비슷하다. 여기에서 실행화면만 소개하고, 사용법은 알려주지 않는다. 이응에서 이미지 굽는 법은 이응의 홈페이지를 참고하면 된다.

이응의 등록 화면

이응의 등록 화면

이응을 실행하면 개인 버전인지 데모 버전인지를 선택하게 된다. 위의 화면은 개인 버전 사용을 선택하였을 경우에 나타나는 화면이다. 개인 버전은 약간의 기능 제한이 있다.

이응의 실행 화면

이응의 실행 화면

사용법은 홈페이지를 참고하기 바랍니다.

가상 CD/DVD 프로그램 사용

가상 디스크 프로그램을 사용하여 UDF 이미지의 내용을 확인할 수도 있다. 앞서 소개한 이응(v3.x), 시디스페이스(v6), 데몬 툴스(DAEMON Tools) 등을 사용할 수 있다.

이응의 최신버전에서는 UDF 이미지를 잘 읽어 들일 수 있으니 홈페이지의 사용방법을 참고하기 바랍니다. 시디스페이스는 버전6을 구할 수 없어서[각주:2] 시험하지 않았다.

결국 여기에서 사용한 프로그램은 데몬 툴스 v4.30.4이다.

DAEMON Tools를 처음 실행한 화면

DAEMON Tools를 처음 실행한 화면

패널만 따로 보면 다음과 같다.

맨 오른쪽에 있는 아이콘(4-Daemon-A.png)을 클릭하면 패널이 사라진다. 하지만 패널이 보이면 여러 모로 편하다. 오른쪽 아래에 있는 트레이에서 데몬 툴스 아이콘(4-Daemon-B.png)을 마우스 오른쪽 클릭하여 언제라도 다시 나타나게 할 수 있다.

 위에서 장치 0: [ G: ]  미디어 없음 부분을 두번클릭하면 이미지 파일 선택 대화상자가 나타난다. 이미지를 선택하고 열기를 클릭한다.

패널이 아래와 같이 바뀐다. 이제 G 드라이브에 들어가 내용을 확인하면 된다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


  1. 하지만 압축 푸는 과정과 ISO/UDF 파일을 푸는 과정이 동일하므로 사실상 압축 해제 방법의 설명이라고 해도 되겠다. [본문으로]
  2. 내가 가진 버전은 시디스페이스 버전5 라서 ISO/UDF 이미지를 제대로 인식하지 못했다. [본문으로]
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

아크로에디트snoopy 님윈도우 7 언어팩 통합/삭제 가이드에 나타난 사항을 배치파일로 만들다가 벌레를 하나 발견하였다.

벌레의 유형

단순히 화면 출력을 잘못하는 벌레로 여겨졌다.

하지만 문법 강조에 관한 기능을 살펴본 끝에 대부분 아크로 에디트에 사는 벌레가 아니라, 처음에 문법 강조를 만들 때 해당 문법 강조 설정에 숨어 있던 벌레로 판명났다. 이 설정 파일은 내가 만든 것이 아니라 마소리스 님이 만든 것을 수정해서 쓰고 있었고, 거기에 숨어 있던 벌레였다. 물론 마지막에 가서 아크로에디트에 사는 벌레 하나를 찾을 수 있었다.

벌레 정보

  • 아크로에디트 버전 0.9 / 빌드 0.9.19.84 (2008년 12월 17일자)에서 발견하였고, 이전 버전 확인하지 못하였다.
  • 배치파일 구문 강조에서 나타났다.

벌레의 발견

배치 파일에서 "ECHO Do you want to remove other language package ? [Y/n]"라는 명령문을 입력했다가 다음과 같이 나타나서 벌레가 있음을 알게 되었다.

배치파일 문법 강조 오류

배치파일 문법 강조에서 rem이 나온 행에서 그 뒤로는 모두 주석으로 인식되는 벌레가 있다.

이때 배치파일 문법 강조 설정은 다음과 같다.

배치파일 문법 강조 설정

배치파일 문법 강조 설정.

위에서 보다시피 배치파일 문법 강조에서 행 주석으로 "rem"과 "REM"은 인식하도록 했다(파란색 네모 부분). 그런데 이 부분에서 무언가 잘못된 처리를 하고 있기 때문에 벌레가 나타난다고 여겨진다.

정말로 벌레인가? 1

아무튼 첫 번째 그림에서 129행 부분만을 떼어 내어 여러 가지 측면에서 살펴보았다.

예제 1-1. 맨 처음 발견한 벌레

예제 1-1. 맨 처음 발견한 벌레

예제 1-2. 대문자로 바꾸어도 마찬가지

예제 1-2. 대문자로 바꾸어도 마찬가지

예제 1-3. 큰따옴표(

예제 1-3. 큰따옴표(

예제 1-4. 작은따옴표(' ')로 묶어도 마찬가지

예제 1-4. 작은따옴표(' ')로 묶어도 마찬가지

예제 1-3과 1-4에서는 조금 뜻밖이었다. 보통 큰따옴표나 작은따옴표로 묶이면 문자열로 인식하고, 그럼으로써 행 주석 기호가 인식되지 않아야 하기 때문이다. 그래서 현재의 배치파일 문법 강조 설정에서 문자열 시작 문자(빨간색 네모 부분)에 "' (큰따옴표와 작은따옴표를 연속으로 입력)라고 지정함으로써 예제 1-3과 1-4를 해결하였다. 그 그림은 다음과 같다.

예제 2-1. 작은따옴표로 문자열 처리

예제 2-1. 작은따옴표로 문자열 처리

예제 2-1. 큰따옴표로 문자열 처리

예제 2-1. 큰따옴표로 문자열 처리

결국 예제 1-1과 1-2는 벌레로 여겨지지만, 예제 1-3과 1-4는 벌레가 아니었다.

정말로 벌레인가? 2

앞서 벌레로 여겨진 예제 1-1과 1-2를 다시 살펴보자.

예제 1-1. 맨 처음 발견한 벌레

예제 1-1. 맨 처음 발견한 벌레

여기에서 하나 짚고 넘어가야 할 문제가 있었다. 바로 배치파일에서 행 주석을 나타내는 지시어인 REM명령어라는 사실이다. 이게 왜 중요하냐고? 명령어 다음에 한 칸 이상의 공백이 있어야 하기 때문에 중요하다.

수정한 배치파일 문법 강조 설정

수정한 배치파일 문법 강조 설정.

위의 그림처럼 행 주석을 "rem"과 "REM"에서 "rem "과 "REM "(뒤에 공백 한 칸 있음)로 바꾸었다.

예제 3-1.

예제 3-1.

예제 3-2.

예제 3-2.

에제 3-2에서는 왜 주석으로 인식될까? 이는 당연하다. 명령어처럼 인식하도록 뒤에 공백을 넣었지만, 실제로 명령어 인식되지는 않았기 때문이다. 아크로에디트를 수정하지 않고 문법 강조 설정을 수정해서는 여기가 한계인 셈이다.

아무튼 예제 3-2에서 아크로에디트가 가진 벌레 하나를 찾을 수 있었다.

또 다른 상황

아크로에디트 구문 강조 오류 문서에서 살펴본 벌레를 상기하자. 그 글에서는 아크로에디트에서 rEm 등이 주석으로 처리되지 않는 벌레가 있음을 보였다. 여기에서도 그 벌레가 적용되는지를 살펴보았다.

예제 4-1.

예제 4-1.

예제 4-2.

예제 4-2.

벌레와 벌레가 만나자 한쪽은 작동하지 못하게 되었다.

파일

마소리스 님이 만든 배치파일 문법 강조 파일은 더 이상 유효하지 않다고 생각하여 이번에 수정한 파일을 첨부한다.

  • batch.stx (5174 바이트)
  • CRC32 : 857C74D9
  • MD5 : ac9cc62baa2f4d56330eef3449b45101
  • SHA : ab6d03405ff9c649f15ec5bb65745ad2006ff66b

제작자/제공자의 답변

2009년 5월 16일 현재 AcroEdit - 질문 및 답변에 글을 올린 상태이다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

지난 5월 10일 스프링노트에서 글을 작성하다가 발견한 벌레이다. 스프링노트에서 일부 글자 속성이 제대로 지정되지 않는 벌레와 거의 비슷한 때에 발견하였고, 그 벌레와는 달리 재현이 가능했다. 그래서 몇 차례 더 확인하여 지금에야 올리게 되었다. 물론 윈도7 RC에 신경 쓰다가 늦은 감도 없지 않아 있다.

벌레의 유형

  • 주변 환경이 바뀌어도 꿋꿋하게 자기 본모습(?)을 지키는 벌레이다.
    공개/비공개 설정이 바뀌었음에도 이전 설정을 그대로 따르는 이상한 벌레이다.
    1. 공개/비공개 설정이 바뀌어도 네비게이션 아이콘은 그대로 유지하는 벌레
    2. 공개/비공개 설정이 바뀌어도 메뉴를 그대로 유지하는 벌레
  • 주변 환경에 상관없이 바꾸지 말라니까 바꾸는 벌레이다.
    1. [CC 라이센스 설정하기] 레이어에서 아무 작업 없이 [적용]을 클릭하면 CC 라이센스를 바꾸는 벌레

벌레의 발견 1 : 공개/비공개 상태

지난 5월 10일 스프링노트에서 글을 작성하다가 발견한 벌레이다.

나는 스프링노트에서 글을 작성할 때 먼저 비공개로 만든다. 그 뒤에 글 내용을 모두 입력하고 그래픽 이미지를 첨부한 뒤에 공개 상태로 바꾼다. 바로 그때 약간의 오류가 발생하고 있었다.

우선 비공개 상태인 글의 화면을 보자.

비공개 상태의 화면

비공개 상태의 화면

위 그림에서 눈여겨 보아야 할 것은 붉은 사각형() 표시가 된 부분이다.

위의 두 부분에서 벌레가 살고 있다.

공개/비공개 아이콘을 클릭했을 때

먼저 제목 표시 옆에 있는 파란 자물쇠(비공개 표시 아이콘)을 보자. 위 붉은 사각형 표시가 있는 그림 두 개 가운데 오른쪽 그림이다. 그 아이콘을 클릭하면 공개/비공개를 바꿀 수 있는 화면이 나타난다.

[이 페이지를 공개합니다.]라는 레이어가 나타난 화면

[이 페이지를 공개합니다.]라는 레이어가 나타난 화면

이 페이지를 공개합니다.라고 된 레이어만 따로 보면 다음과 같다.

[이 페이지를 공개합니다.] 레이어

[이 페이지를 공개합니다.] 레이어

위 화면에서 바로 [공개하기] 단추를 클릭해도 공개가 되며, 이때에도 이 글에서 소개하는 벌레를 만날 수 있다. 또한 옵션을 클릭해서 펼쳐 보면 다음과 같다.

옵션을 클릭했을 때

옵션을 클릭했을 때

라이선스에 대한 항목을 설정한 뒤

라이선스에 대한 항목을 설정한 뒤

왼쪽은 옵션을 클릭했을 때의 화면이고, 오른쪽은 라이선스에 대한 항목을 설정한 뒤의 화면이다. 설정을 마쳤으면 [공개하기] 단추를 클릭하자.

공개/비공개 아이콘을 선택하여 공개/비공개를 설정했을 때 나타나는 오류 화면

공개/비공개 아이콘을 선택하여 공개/비공개를 설정했을 때 나타나는 오류 화면

분명히 위 그림처럼 이 페이지가 공개되었습니다.라는 메시지를 보여준다. 하지만 조금 이상함을 알 수 있다. 바로 붉은 사각형() 표시가 된 부분이다.

앞에서는 이 두 부분의 아이콘이 비슷했다. 둘 다 비공개를 뜻하는 파란 자물쇠 모양이었지만, 이제 달라졌다. 네비게이션 부분(왼쪽 그림)에서는 여전히 파란 자물쇠(비공개 표시)인데, 편집 부분에서는 주황색 자물쇠(공개 표시)로 바뀌어 있다.

비공개에서 공개로 바뀌면 네비게이션에서도 바뀌어야 함에도 불구하고 본래 모습을 그대로 유지하고 있는 벌레이다.

이때 공개에서 비공개로 바뀌어도 결과적으로 이와 비슷한 벌레를 만날 수 있다.

메뉴에서 공개/비공개 설정하기를 선택했을 때

이 벌레는 메뉴에서 공개/비공개 설정하기를 선택했을 때에도 발견할 수 있다.

메뉴를 선택하여 공개/비공개를 설정하기 전의 화면

메뉴를 선택하여 공개/비공개를 설정하기 전의 화면

위와 같이 메뉴에서 공개/비공개를 설정할 수 있다.

그러면 위에서 보았던 이 페이지를 공개합니다.라는 레이어를 볼 수 있고, 그때 [공개하기]를 선택하면 앞서 보았던 벌레를 다시 발견할 수 있다.

메뉴를 선택하여 공개/비공개를 설정한 뒤에 오류가 나타난 화면

메뉴를 선택하여 공개/비공개를 설정한 뒤에 오류가 나타난 화면

벌레의 발견 2 : 공개/비공개 변경 시 메뉴

앞서 공개한 그림 메뉴를 선택하여 공개/비공개를 설정하기 전의 화면메뉴를 선택하여 공개/비공개를 설정한 뒤에 오류가 나타난 화면를 살펴보자

그 두 그림은 공개/비공개 아이콘을 제외하면 별다른 문제가 없어 보인다. 그런데 메뉴 부분에 벌레가 숨어 있었다.

벌레가 숨어 있는 비공개 상태의 메뉴 화면과 공개 상태의 메뉴 화면

왼쪽은 그림 메뉴를 선택하여 공개/비공개를 설정하기 전의 화면이고, 오른쪽은 그림 메뉴를 선택하여 공개/비공개를 설정한 뒤에 오류가 나타난 화면이다.

이 경우에 그림 메뉴를 선택하여 공개/비공개를 설정하기 전의 화면은 아직 비공개 상태이고 그림 메뉴를 선택하여 공개/비공개를 설정한 뒤에 오류가 나타난 화면공개 상태이다. 처음에는 비공개 상태와 공개 상태의 메뉴가 같다고 생각했으나, 다른 글을 쓰다 보니 두 경우의 메뉴가 서로 다름을 알게 되었다.

비공개 상태의 메뉴 화면

비공개 상태의 메뉴 화면

공개 상태의 메뉴 화면

공개 상태의 메뉴 화면

위 두 그림은 비공개 상태와 공개 상태의 메뉴이다. 공개 상태일 때 메뉴 항목이 하나(CC 라이센스 설정) 더 많다. 위에서 보여준 벌레가 숨어 있는 비공개 상태의 메뉴 화면과 공개 상태의 메뉴 화면과는 다른 상황이다.

이와 같이 비공개 상태에서 공개 상태로 바꾸면 당연히 그에 맞추어 CC 라이센스 설정이 나타나야 함에도 어찌된 영문인지 나타나지 않고 있다. 다시 말해 나타나야 할 CC 라이센스 설정을 보여주지 않는 벌레이다. 반대로 공개 상태에서 비공개 상태로 바꾸면 감추어야 할 CC 라이센스 설정을 감추지 않는 벌레이기도 하다.

벌레의 발견 3 : CC 라이센스 설정

일단 스프링노트의 글을 공개 상태로 바꾸었다. 메뉴에서 CC 라이센스 설정을 클릭하였다.

이때 오른쪽 아래 귀퉁이의 CCL 표시를 잘 살펴봐야 한다.

메뉴에서 CC 라이센스 설정을 클릭. 이때 오른쪽 아래 귀퉁이의 CCL 표시를 잘 살펴봐야 한다.

잘 보이지 않을 수 있으므로 따로 떼어내었다.

메뉴 부분만 나타내면 다음과 같다.

[CC 라이센스 설정하기] 레이어가 보이면 Set up a Creative Commons license ▼를 클릭하여 아래로 펼친다.

옵션을 펼치기 전 화면

옵션을 펼치기 전 화면

위 화면에서 [적용]을 클릭해도 벌레가 나타난다.

옵션을 펼친 뒤 화면

옵션을 펼친 뒤 화면

이때 그림 옵션을 펼친 뒤 화면에서 나타난 메시지가 조금 이상하다. 그 그림의 윗부분은 다음과 같다.

그런데 그 아랫부분은 다음과 같다. 이는 분명히 저작자표시 - Changes allowed under same conditions(BY-SA)와는 다르다.

또한 이러한 상세 옵션 화면에서 실수로 [적용] 단추를 클릭하게 되면, CC 라이센스가 바뀌게 된다. 이는 상세 옵션이 나타나지 않은 화면(옵션을 펼치기 전 화면)에서 [적용] 단추를 클릭해도 마찬가지 결과를 보여준다.

옵션을 펼치기 전 화면에서 [적용]을 클릭한 화면.

옵션을 펼치기 전 화면에서 [적용]을 클릭한 화면. 오른쪽 아래 귀퉁이으 CCL 표시가 바뀌어 있다.

CC 라이센스 표시만 따로 살펴보면 다음과 같다.

  • : 공개된 처음 상태의 CC 라이센스 (BY-SA)
  • : 옵션을 펼치기 전 화면에서 [적용]을 클릭한 뒤의 CC 라이센스 (BY-NC)

여기에서 옵션을 펼친 뒤 화면에서는 [적용]을 클릭했을 경우에 CC 라이센스가 바뀐다는 점을 알 수 있다. 하지만 옵션을 펼치기 전 화면에서는 [적용]을 클릭했을 때 CC 라이센스가 바뀐다는 사실을 알 수 없다. 그러므로 실수로 [적용]을 클릭하더라도 CC 라이센스가 바뀌지 않도록 옵션에서 현재의 CC 라이센스로 유지될 필요가 있다.

  • 참고 : 한글맞춤법에 따르면 라이센스가 아니라 라이이다.

제작자/제공자의 답변

2009년 5월 15일 오류를 보고한 상태이다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

지난 5월 10일 스프링노트에서 글을 작성하다가 우연히 발견한 벌레이다. 그런데 이 벌레를 무릅쓰고 정상 작동한 것과 같은 결과를 보였더니 사라져 버렸다. 현재 재현은 불가능한 상태이며, 그 원인도 파악하지 못했다.

벌레의 유형

자기가 있어야 할 영역을 구분하지 못하는 벌레이다. 혹시 개념이 출장하지는 않았을까 염려스로운 벌레이기도 하다.

벌레의 발견

5월 10일 새벽에 윈도7을 버추얼박스에 설치하면서 그 설명문을 작성하였다. 그때 발견한 이 벌레를 보는 순간 내가 밤샘을 하느라 착각했다고 생각했다. 하지만 자꾸 반복되었기 때문에 스크린샷을 잡을 수 있었다.

위의 그림에서 Use recommended settings라는 부분을 잘 살펴보자.
그 부분이 가진 특징은 (1) 영문(로마자)이며, (2) 내용 중간에서 줄바꿈이 되어 있고, (3) 숫자 목록을 사용하여 나타내고 있다.

먼저 위와 같이 블럭 설정을 하였다.

<Ctrl+B>를 눌러 강한 강조를 하였으나, 위 그림처럼 윗줄(Use recommended)은 바뀌고 아랫줄(settings)은 바뀌지 않았다.
이 그림처럼 강한 강조 아이콘을 클릭했음에도 결과는 마찬가지였다.

결국 다음과 같이 줄바꿈이 아닌 문단 나누기를 하여 블럭 지정하기로 했다.

일단 문단을 나누고

일단 문단을 나누고

블록을 지정하여 강한 강조를 하였다.

블록을 지정하여 강한 강조를 하였다.

이번에는 내가 원하는 결과가 나타났다.

제작자/제공자의 답변

2009년 5월 14일 오류를 보고한 상태이다. 재현이 불가능하기 때문에 어찌 처리될는지는 알 수 없다. 역시나 재현이 불가능하기 때문에 오류 수정이 어렵다고 한다.

그때가 새벽이라 한창 잠이 올 때였다. 스크린샷을 잡은 것도 지금 생각해보면 비몽사몽간에 했던 일이다. 미처 HTML 코드를 확보하지 못했고, 위의 방법으로 강한 강조를 성공한 뒤에는 재현되지 않았다.

관련 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

티스토리에서 스킨 치환자 출력하기 팁은 금칙어 피해가기라는 팁을 응용하였다.

치환자어떤 낱말을 그에 해당하는 다른 글귀나 낱말(치환 대상)로 바뀌도록 미리 정해놓은 예약어를 가리킨다. 이때 그러한 예약어인 치환자를 설명할 때조차 치환 대상으로 바뀌는 일이 종종 있어서, 불편을 끼치기도 한다.

여기에서는 티스토리에서 쓰이는 스킨 치환자가 다른 낱말로 바뀌는 일이 있어서 그것을 설명하는 글 등에서조차 사용할 수 없어 불편을 사고 있고, 그것을 해결하는 팁을 마련하였다.

팁텍

먼저 필유 님의 티스토리에서 치환자 혹은 대괄호([]) 입력하기라는 글을 보자. 그 글은 치환자를 화면에 출력하는 팁을 소개하는 기사인데 몇몇 웹브라우저에서는 정상적으로 보이지 않는 부분이 있다.

모질라 파이어폭스 3 화면

모질라 파이어폭스 3 화면


마이크로소프트 인터넷 익스플로러 6 화면

마이크로소프트 인터넷 익스플로러 6 화면


모질라 파이어폭스의 선택한 부분의 소스 보기 화면

모질라 파이어폭스의 선택한 부분의 소스 보기 화면


문제가 된 부분

문제가 된 부분

위의 마지막 그림에서 티스토리에서 과 같은 형태라는 부분과 그 아랫줄의 로 태그를 닫지라는 부분에서 조금 이상하다.

필유 님의 해결 방법

이 부분에서 필유 님이 무엇인가를 설명하려고 했었음을 알겠으나, 정작 그 정확한 내용은 알 수 없었다. 필유 님은 치환자에 해당하는 글귀를 티스토리 편집기에서 입력하고 싶다는 글을 썼다. 아니 엄밀히 말해 티스토리 편집기에서 입력한 뒤 게시글에서 치환자에 해당하는 글귀가 나타나게 하고 싶다는 뜻이었다.

필유 님이 사용한 방법은 대괄호인 '['과 ']'에 해당하는 HTML 엔터티(HTML entity) 문자로 바꾸어 입력하는 방법이다. 그에 따라 []의 아스키값인 91과 93을 이용하여 각각 &#91;&#93;으로 나타낼 수 있다고 하였다.

그러나 필유 님은 쓰기가 완료된 글에서는 엔터티 문자를 이용한 이 방법에 오류가 발생할 수 있음을 예견하였다.

그래픽 이미지로 바꾸기

금칙어 피해가기 팁에서도 소개했듯이 해당 글귀를 그래픽으로 고치면 된다.

예제 그림

예제 그림

위 예제 그림에서 사용된 글귀를 잘 살펴보기 바랍니다.

HTML 코드 이용하기

금칙어 피해가기 팁에서도 썼지만, 그래픽 이미지를 만들어 올리는 것은 보여주고 싶은 내용을 그대로 그래도 보여줄 수 있다는 점에서 매우 유용하지만, 그래픽 이미지는 텍스트보다 그 크기가 크고, 화면 좌우 폭의 제한이 있는 경우에는 왼쪽이나 오른쪽이 잘리는 경우도 있는 단점이 존재한다. 또한 티스토리처럼 스킨의 변형이 화면 구성(레이아웃)에 영향을 주는 경우에는 의도하지 않은 결과를 보여줄 수도 있다.

이럴 경우 금칙어 피해가기 팁에서 사용한 더미 태그를 이용할 수 있다.

다만 더미 태그를 사용할 때 다음과 같은 목표를 세웠습니다.

  1. 우선 화면에는 예제 그림처럼 보여야 합니다.
  2. 복사했을 때 그 내용(텍스트)이 그대로 복사되어야 합니다. 다만 그 뒤에 숨어 있는 HTML 코드가 제대로 복사되었는지는 고려하지 않습니다.

위의 두 목표를 고려하여 다음과 같이 작업하였습니다.

  1. 일단 티스토리 편집기에서 글을 작성한 뒤에 임시 저장합니다. 위의 글귀는 두 개의 티스토리 스킨 치환자가 있으므로 제대로 나타내지 못합니다.

    티스토리 화면에서 위와 같이 입력하면 소스코드는 다음과 같습니다. 아래 그림에서 분홍빛 밑줄 부분에 치환자가 나타나 있습니다.
  2. 미리 보기를 하면 다음과 같습니다.

    흠, 치환자가 제대로 나타나지 않습니다.
  3. 티스토리 편집기의 HTML 편집 모드로 바꿉니다.
  4. 치환자 부분을 찾습니다. 치환자는 [##_로 시작하는 경우가 많습니다. 치환자를 찾으면 여는 대괄호 다음에 <b></b>라는 더미 태그를 넣습니다. 더미 태그를 삽입한 다음 소스 부분을 살피면 다음과 같습니다. 빨간 글자를 잘 살펴보세요.
    <p style="font-size: 1.5em;"><span style="font-weight: bold; color: blue;"><span style="color: white; background-color: red;">[<b></b>##_blog_link_##]</span>와 <span style="color: white; background-color: blue;">[<b></b>##_title_##]</span></span><span style="font-weight: bold; color: blue;">는 어떻게 보일까?</span></p>
  5. 미리 보기를 하여 정상적으로 보임을 확인한 뒤에 저장한다.
    파이어폭스 화면

    모질라 파이어폭스 v3.0.10 화면. 정상적으로 잘 보인다.

    익스플로러 화면

    인터넷 익스플로러 v6 sp2 화면. 정상적으로 잘 보인다.

참고로 여기에서 삽입하는 <b></b> 코드는 "글씨를 굵게" 만드는 코드입니다. 코드가 단순해서 써먹기 좋습니다.

문제점

이 방법도 완벽하지는 않습니다. 물론 위에서 제시한 두 목표를 모두 만족했습니다. 그러나 (1) 툴팁에는 적용할 수 없고, (2) 복사나 편집했을 때 <b></b>라는 더미 태그가 사라지는 경우가 있기 때문입니다. 다만 더미 태그가 사라지는 경우는 고치지 않으려 합니다. 복사했을 때 화면이 깨지게 되며, 그럴 경우 (복사 금지된) 원본을 복사했는지를 알 수 있는 한 방법이 되기 때문입니다. 편집할 때는 이 더미 태그 작업을 가장 마지막에 함으로써 해결할 수 있습니다. 더미 태그가 적용된 근처를 편집하면 더미 태그가 사라지므로(대부분의 HTML 편집기가 가지고 있는 HTML코드 최적화 기능 때문입니다.) 주의할 필요가 있습니다.
한편 툴팁에는 필유 님이 제안하신 엔티티 문자를 써도 제대로 나타낼 수 없습니다.
아래의 글자 1은 HTML 더미 코드로 나타낸 원본이고, 글자 2는 일단 글을 저장한 뒤에 마우스를 이용하여 복사한 부분입니다. 그림은 위에서 사용한 예제 그림을 옮겨 왔습니다. 글자 1과 그림은 서로 같게 보여야 하며, 글자 2와 그림은 서로 다르게 보여야 합니다.

글자 1 : [##_blog_link_##][##_title_##]는 어떻게 보일까?

글자 2 : https://salm.pe.kr/왕미친놈의 왕미친세상는 어떻게 보일까?

그림 : [ ##_blog_link_##]와 [ ##_title_##]는 어떻게 보일까?

위의 글자 1과 그림의 내용이 서로 다르게 보인다면, 자신이 사용하는 웹브라우저 이름, 버전 등을 적어 주시면 확인하여 해결책을 마련해 보겠습니다.

관련 문서

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

버추얼박스는 새 버전이 발표될 때마다 자잘한 벌레로 사람을 성가시게 하고 있다. 2.2.0판을 설치하면서 벌레가 많아서 사람을 성가시게 하고 있다. 이번에는 설치할 때 경로명에 한글이 포함되면 문제가 발생하는 벌레까지 발견했다.

벌레의 유형

설치 프로그램에 기생하면서 한글 경로명을 인식하지 못하게 막는 벌레이다.

벌레의 발견

낮에 집에서 윈도7을 설치한 뒤 PC방에서도 설치해 보고 싶었다. 물론 버추얼박스를 설치한 뒤에. 그런데 버추얼박스를 다운로드 받아서 설치하려고 했으나 오류가 나면서 설치가 되지 않았다.

다운로드한 버추얼박스 프로그램 파일

다운로드한 버추얼박스 프로그램 파일


오류

이 오류를 해결하기 위해 컴퓨터 설정을 살피다가 언어 설정과 관련하여 한 가지가 생각났다. 바로 "한글 경로"에서 문제가 발생하였다.

우선 프로그램이 있는 경로의 한글 경로가 문제가 된다고 생각하여 버추얼박스 프로그램을 C:\1 폴더로 옮겼다. 그러나 여전히 문제가 발생했다.

그렇다면 이것은 프로그램이 존재하는 곳의 경로와는 상관이 없다는 뜻이었고, 다른 가능성을 찾아야 했다. 그러다가 문득 시작 단추를 누르게 되었다.

"사매 로그오프"라는 부분, 곧 사용자 이름(사매)에 한글이 포함되어 있었다. 명령 프롬프트를 열어서 SET 명령을 입력했다.

SET 명령 실행 화면

명령 프롬프트에서 SET 명령 실행 화면

위와 같이 TEMP 환경 변수(핑크색 밑줄 부분)에도 한글이 포함되어 있음을 확인했다. 이 TEMP 환경변수는 프로그램이 실행될 때 임시파일을 만드는 경로인데, 한글이 포함될 경우 로마자 언어를 기준으로 작성된 프로그램에서는 가끔 오류가 생기기도 한다. 작게는 저장할 때 저장을 할 수 없는 문제가 있고, 이번처럼 아예 실행이 되지 않는 경우도 있다. 이것은 프로그램 제작자의 실수이지만, 해결할 방법은 있다. 바로 TEMP 환경변수의 경로를 바꾸면 된다.

벌레 잡기

이것을 해결하려면 시스템 환경변수를 다루어야 한다.

바탕화면에 내 컴퓨터 아이콘이 있다면 거기에서 마우스 오른쪽 단추를 클릭하여 속성을 선택하면 된다.

그게 아니라면 제어판(시작 단추 >> 설정 >> 제어판)을 열고, 거기에서 시스템을 두번클릭하면 된다. 그 뒤 고급 탭을 클릭한다.

시스템 등록 정보

시스템 등록 정보의 고급 탭을 클릭한

환경 변수를 클릭한다.

TEMP를 클릭하여 선택한 다음 편집 단추를 클릭한다.


위 그림처럼 보이게 되는데, 이때 아래처럼 바꾼다. 위의 그림은, 경로가 앞서 보여준 명령 프롬프트 화면의 C:\DOCUME~1\사매\LOCALS~1\Temp처럼 보이게 된다. 바로 한글 사매사용자 이름이고, %USERPROFILE% 환경변수는 사용자 이름을 참조하기 때문이다. 물론 근본적으로 사용자 이름을 한글이 아닌 로마자로만 지으면 되지만, 한글 이름을 쓰고 싶은 경우도 많으므로, 이렇게 고쳐 주면 해결할 수 있다.
아무튼 아래의 그림처럼 한글이 포함되지 않은 경로를 지정해 주면 된다. 이때 해당 경로가 존재하지 않는다면 그 폴더를 만들어 주면 된다. 마지막에는 반드시 확인을 클릭한다.

TMP 환경 변수TEMP 환경변수와 같게 만들어주면 된다.

확인을 눌러주면 편집한 환경 변수가 저장된다.

지금까지 작업을 마쳤으면 다시 버추얼박스 설치 프로그램을 클릭하여 실행한다.

제작자/제공자의 답변

2009년 5월 9일 오후 8시 20분 무렵(May 9th, 2009, 9:19 pm / 1시간의 오차는 일광시간절약제와 관련한 오류로 여겨진다.)에 버그리포팅을 하였다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

팁텍

토탈커맨더 한국 사용자 포럼(Total Commander Korean Forum)에 압축 파일 내의 그림을 볼 때의 문제라는 게시글이 올라왔다. lhuntr 님이 작성한 글인데, 그는 꿀뷰이미지샘, 엔젤뷰 등의 방식으로 보기를 바랐던 모양이다.

팁의 구현

일단 토탈커맨더에서 그림 파일을 보려면 리스터 플러그인 Imagine(1.0.4 이상)이 설치되어 있어야 한다. Imagine이 설치되어 있다면, 토탈커맨더의 압축 파일 내 목록 화면에서 <F3>을 눌러 그림 파일을 볼 수 있다. 이때 토탈커맨더와 Imagine은 기본설정이라고 가정한다.

그림 파일이 있는 압축파일 sample.zip이 D:\Pictures 폴더에 있다고 하면 다음과 같다.

sample.zip 파일에서 <Enter>를 눌러 그 안으로 들어가면 다음과 같은 목록을 볼 수 있다.

토탈커맨더는 압축파일 안의 파일 목록을 \sample.zip\ 과 같은 (가상) 폴더로 바꾸어 보여준다. 이 방식은 대부분의 파일 관리자에서 채택하는 방식이며, 윈도 탐색기에서도 Zip 폴더 기능이 활성화되어 있다면 저와 비슷한 방식으로 보여준다.

윈도 탐색기의 Zip 폴더

윈도 탐색기의 Zip 폴더

파일 1개 보기

압축파일 안에서 보고 싶은 파일에 커서를 옮긴 뒤 <F3>을 누르면 그림 파일을 볼 수 있다.

위 화면에서 상태 표시줄에는 여러 정보가 나타나 있다. 특히 상태 표시줄의 첫번째에 보이는 1/1 부분은 Imagine이 보여줄 전체 파일은 1개이며, 그 가운데 1번째 파일이라는 뜻이다.

스페이스바를 눌러 다음 파일 보기를 한다. 그게 아니라면 메뉴바에 있는 아이콘을 클릭하면 된다.

그러면 다음과 같이 첫 번째 파일로 이동할는지를 묻는다.

이는 위에서 설명한 상태 표시줄에 나타난 바와 같이 보여줄 전체 파일이 1개이므로, 폴더에 더 이상 파일이 없다고 판단하여, 위와 같은 메시지를 보여주게 된다는 뜻이다.

꿀뷰처럼 보기

윈도 탐색기에서 꿀뷰로 압축파일을 보게 되면, 압축파일 안에 들어있는 그림 파일을 보여주게 된다.

꿀뷰3에서 그림 파일을 보여주는 화면

꿀뷰3에서 그림 파일을 보여주는 화면

위 그림에서 보면 [1/122]라는 부분에서 압축 파일 내부의 파일 갯수를 나타내 준다. 이때 파일 갯수는 꿀뷰에서 보여줄 수 있는 파일만 계산한다. 다시 말해 파일이 10개가 있더라도 꿀뷰가 보여줄 수 있는 그림 파일이 2개라면 갯수는 2로 나타난다.

토탈커맨더에서 꿀뷰처럼 보려면, 압축 파일 안에서 보고 싶은 파일을 여러 개 선택한 뒤 <F3>을 누르면 된다. 이때 꿀뷰처럼 보려면 압축 파일 안의 모든 파일을 본다는 뜻이므로 전체 선택을 한 뒤에 보는 것이 좋다. 선택 단축키는 <회색 +>이다. 이것은 키보드 오른쪽의 숫자키패드에 있는 +키를 가리킨다.

위 두 그림처럼 파일을 선택하고 <F3>을 누른다.

그러면 압축을 푸는 작업을 한다. 위에서 파일 1개를 볼 때도 이 작업을 했지만, 너무 빨라서 작업을 하지 않는 것처럼 여겨질 뿐이다.

그다지 달라 보이지 않지만 몇 가지 달라진 부분이 있다.
우선 Lister 프로그램(토탈커맨더 내장 뷰어)의 메뉴 바 오른쪽에 1/21 부분이 생겼다. 이것은 파일 1개만 볼 때는 나타나지 않다가 2개 이상을 Lister 프로그램에서 볼 때 나타난다. 이것은 압축 파일 안에서 총 21개의 파일을 선택했고, 그 가운데 1번째 파일이라는 뜻이다.
그 다음으로 상태 표시줄에서도 변화가 생겼다.

위 상태 표시줄을 잘 살펴보면 아까는 1/1 로 나타났지만, 지금은 1/19로 나타난다. 이것은 압축파일 내부에서 선택한 파일 가운데 19개 파일만 Imagine 플러그인이 지원하며, 그 가운데 1번째 파일임을 뜻한다.

위 파일 보기 화면에서 스페이스바 등을 눌러 다음 파일 보기를 하면 다음 파일을 잘 보여준다.

조금 복잡한 과정을 거치기는 했으나, 꿀뷰가 설치되어 있지 않을 때 그것을 흉내낼 수 있는 방법이다.

관련 문서

외부 사이트

이 글은 스프링노트에서 작성되었습니다.


'벌레와 팁 > ' 카테고리의 다른 글

ISO/UDF 이미지 파일 보기 및 풀기 1  (0) 2009.05.19
티스토리에서 치환자 출력하기  (2) 2009.05.12
버그리포팅이 무시되는 경우  (0) 2009.04.25
DOS에서 숨김 파일 보기  (0) 2009.04.24
금칙어 피해가기  (0) 2009.04.21
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

우연히 AhnLab V3 Internet Security 2007 Platinum 삼성생명 번들판을 사용하다가 & 문자(앰프(Amp) 문자)가 들어간 경로를 정확하게 표현하지 못하는 현상을 발견하게 되었다.

벌레의 유형

  • 경로명을 표시하라고 했더니 메뉴를 표시하는 것으로 착각하는 벌레이다.

벌레의 발견

폴더 경로명을 제대로 보여주는지를 알아보기에 앞서 다음과 같은 작업을 하였다.

  1. 프로그램을 인터넷을 통해 구하였다. 이때 백신의 바이러스 패턴은 수동 업데이트의 경우 4월 27일자를 사용했고, 자동 업데이트의 경우 4월 28일에 업데이트하여 사용했다.

    1. AhnLab V3 Internet Security 2007 Platinum(이하 'V3 IS') 안철수바이러스연구소 시험판
    2. V3 IS 삼성생명 번들판
    3. V3 365 클리닉
    4. V3 Lite
    5. V3+ Neo
    6. 그밖에 기업용 제품이나 서버용 제품은 시험하지 않았다.
  2. 바이러스가 포함된 파일을 인터넷을 통하여 구하였다.

    1. eMule 프로그램에서 크랙, 망가 등으로 검색한다.
    2. 검색 결과에서 무작위로 다운로드한다.
    3. 바이러스를 포함하는 파일을 찾아낸다.
  3. 가상머신 프로그램인 버추얼박스에 게스트OS로 윈도XP와 MS-DOS를 설치한 뒤 백신을 설치하고 경로를 어떻게 표시하는지를 조사하였다.

    1. 버추얼박스에 윈도XP와 MS-DOS를 각각 설치한다.
    2. 백신을 복사한다.
    3. 스냅샷을 설정한다.
    4. 백신을 설치한 뒤 바이러스 검사를 하면서 경로 표시를 조사한다.
    5. 작업이 끝나면 3번 작업으로 되돌려서, 다른 백신으로 작업한다.

또한 파일시스템에 따라 결과가 달라지지 않을까 염려하여 NTFS와 FAT에서 시험하였으나, 같은 결과가 나왔다. 그래서 FAT의 조사 결과는 생략하였다. 또한 V3+ Neo는 FAT를 검사할 때 윈도의 명령 프롬프트와 MS-DOS의 명령 프롬프트에서 서로 다른 결과가 나오지 않을까 걱정했으나 이 역시 같은 결과가 나왔으므로 MS-DOS의 명령 프롬프트의 결과는 생략하였다.

참고로 맨 처음 발견된 경로 표시 벌레는 다음과 같다.

빨갛게 표시한 부분에서 경로명이 잘못 표시되고 있다.

위 그림에서 빨갛게 표시한 부분은 v3-path-error-1.png 라고 나타나 있는데(연두색 사각형은 임의로 표시한 것이다), 이때 S자에 밑줄이 그어져 있다.

AhnLab V3 Internet Security 2007 Platinum 시험판

V3 IS 안철수바이러스연구소 시험판을 사용하였다. 시험판은 정품과 같으나 30일 동안 사용할 수 있는 버전으로, 정품이 가진 기능을 모두 가지고 있다. 심지어 벌레까지도. 그렇기 때문에 이번 시험에 사용하였다.

빨갛게 표시한 부분에서 경로명이 잘못 표시되고 있다.

검사 폴더라는 부분에서 소문자 o밑줄이 그어져 있다.

위의 목록에서 보면 밑줄이 그어진 글자는 표기가 잘못된 부분이다. 예컨대 D:\MSoft 경로명의 경우 실제로는 D:\M&Soft 라는 경로명을 가지고 있다. 앰프 문자(&)와 뒤따르는 로마자가 함께 해석되어 로마자+밑줄의 형태로 바뀌는 벌레이다.

AhnLab V3 Internet Security 2007 Platinum 삼성생명 번들판

삼성생명 보험 가입자 또는 삼성생명 웹사이트 회원에게 무료로 제공되는 V3 IS 삼성생명 번들판은 맨처음에 이 벌레를 발견한 제품이다. 확인을 위해 한 번 더 조사하였다.

위에서도 밑줄이 그어진 글자가 있다.위에서도 밑줄이 그어진 글자가 있다.

V3 365 클리닉

V3 365 클리닉은 토털 PC헬스 케어를 지향한다고 홈페이지에서 설명하고 있다. 이 제품은 안철수바이러스연구소에 가입한 사람만 설치할 수 있다. 설치 과정에서 아이디와 패스워드를 물어보므로 먼저 홈페이지에서 가입해야만 한다.

V3 365 클리닉에서는 경로명을 정확하게 표시해 준다.V3 365 클리닉에서는 경로명을 정확하게 표시해 준다.

위의 그림에서 보듯이 D:\MSS&oft 와 같은 경로명을 정확히 보여주고 있다.

V3 Lite

V3 Lite는 V3 365 클리닉의 축약 버전으로 여겨지며, 개인 사용자에게는 무료이며, 기업 사용자에게는 사용이 허가되어 있지 않다. 기업 사용자는 V3 Internet Security 7.0 Enterprise나 V3 Internet Security 7.0 Platinum Enterprise 제품을 사용하도록 권장하고 있다(참고 : V3 Lite 기업 라이선스 안내).

V3 Lite 제품도 경로명을 정확히 표시해 주고 있다.V3 Lite 제품도 경로명을 정확히 표시해 주고 있다.

V3+ Neo

도스용 버전인 V3+ Neo는 개인 및 등록 사용자에게 무료로 제공되고 있다. 다른 무료 제품처럼 관공서나 단체에서는 업무용으로 사용해서는 안 된다.

역시 정확하게 경로명을 표현해 주고 있다.

벌레의 원인

처음 경로명을 엉뚱하게 표기해 주는 벌레를 조사할 때에는 V3 제품군에서 공통적으로 나타날 것이라고 생각했다. 그러나 AhnLab V3 Internet Security 2007 Platinum에서만 나타나고, 다른 프로그램에서는 나타나지 않았다. 물론 여기에서 시험하지 않은 기업용이나 서버용에서도 나타날 수 있는 벌레이다.

오류가 나는 부분은 대부분 앰프 문자(&)와 관련이 있다. 이것은 HTML 등의 마크업 언어에서 엔티티 문자를 나타내는 지시자로서 쓰인다. 예컨대 &amp; 및 &copy; 등이 그에 해당하며, 이것들은 각각 & 및 ⓒ 기호를 나타낸다.

또한 윈도 프로그래밍에서는 메뉴 등에서 단축키를 표시하는 방법을 제공하기도 한다.

위 그림은 HxD의 메뉴이다. 그런데 밑줄이 그어진 문자가 보인다. 그것은 Alt+(밑줄 문자)의 형태로 메뉴를 호출할 수 있다는 뜻이다. 다시 말해 <Alt+F>키로는 File 메뉴를 호출할 수 있다.

이는 인터넷 익스플로러에서도 마찬가지로 나타난다. 위는 한글 인터넷 익스플로러 6 sp2의 메뉴이다. 여기에서도 위와 마찬가지로 <Alt+F>키로는 파일(F) 메뉴를 호출할 수 있다.

이렇게 메뉴에서 눌러야 할 문자를 표시하기 위해서는 &(문자)의 형태를 사용하게 된다. 다시 말해 &A라고 하면 메뉴에서는 A 라고 나타나게 되며, 이를 위해서 Alt+(문자)의 형태로 호출할 수 있게 된다.

그런데 이러한 앰프 문자와 뒤따르는 로마자 표기를 경로명에서도 적용해 버렸기 때문에 이번과 같은 벌레가 발생하게 되었다고 생각한다.

회사 측 답변

2009년 4월 28일 현재 오류를 보고한 상태이며, 4월 29일 수정을 요청했고, 5월 7일 소스 수정이 완료되었으며, 6월 말 업데이트 때 적용될 예정이라는 답변을 이메일을 통해 받았다.

관련 문서 및 페이지

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

스프링노트를 사용하면서 여러 벌레를 발견했지만, 재현에 성공한 것은 거의 없다. 그러다가 바로 어제(2009년 4월 24일) 2개나 재현에 성공했다. 바로 스프링노트의 태그 표기 벌레와 지금 소개하는 링크 편집 벌레이다.

벌레의 유형

  • 수작업으로 만든 링크와 외부에서 복사하여 붙인 링크를 차별하는 벌레이다. 복사하여 붙인 링크를 편집하면 그것의 주소를 마음대로 바꾸어 버리는 벌레이다.

직접 만든 링크와 복사해 붙여넣은 링크가 다르게 해석되는 이유를 알 수 없다. 또한 어떤 경우에는 직접 만든 링크와 동등하게 취급하고, 어떤 경우에는 다르게 취급한다. 직접 만든 링크와 동등하게 처리하는 경우는 스프링노트에서 내 블로그로 발행한 문서에 포함된 링크가 대부분이었다. 그밖에 다른 웹페이지의 링크를 붙여 넣은 경우에는 모두 링크 주소를 바꾸어 버렸다.

벌레의 발견

벌레의 발견이라고 할 수도 있고, 링크의 비교라고 할 수 있는 작업이다. 

스프링노트의 링크 만들기 기능을 이용하여 만든 링크

가장 먼저 스프링노트의 링크를 HTML 코드로 살펴보자. 모질라 파이어폭스에는 선택한 소스 보기라는 기능을 제공하고 있다. 그것을 이용하면 링크 부분의 HTML 소스만 떼어 살펴볼 수 있다.

마우스 오른쪽 단추를 눌러 팝업 메뉴를 부른 화면

마우스 오른쪽 단추를 눌러 팝업 메뉴를 부른 화면

위의 작업을 통해 보게된 선택한 영역의 HTML 소스

위의 작업을 통해 보게된 선택한 영역의 HTML 소스

  1. <a href="http://salm.pe.kr/entry/Springnote-Tag-Bug" class="external newWindow" title="http://salm.pe.kr/entry/Springnote-Tag-Bug">스프링노트의 태그 표기 벌레</a>

스프링노트의 링크 만들기 기능을 이용하여 링크를 만들게 되면 위와 같이 class="external newWindow" 라는 클래스 선택자를 추가하게 된다.

다음과 같이 링크를 수정하면 링크 대상이 현재 링크된 곳을 가리키게 된다.

 

링크 수정/삭제를 선택하는 팝업

링크 수정/삭제를 선택하는 팝업


링크 수정/삭제 팝업에서 수정을 선택한 화면

링크 수정/삭제 팝업에서 수정을 선택한 화면

스프링노트의 링크 만들기 기능을 이용해서 만든 링크는 링크를 고칠 때 위와 같이 원래 주소, 곧 링크 대상을 유지해 준다.

스프링노트의 링크 만들기 기능을 이용하지 않은 링크

스프링노트의 링크 만들기 기능을 이용하지 않은 링크는 class="external newWindow" 라는 클래스 선택자를 가지지 않은 링크를 말한다.

도아의 세상사는 이야기의 게시글에서 링크 하나를 복사했다. 그런데 그것이 블로그 기사 제목이라서 아래와 같이 나타났다.

좌우 폭이 좁은 까닭은 화면 크기가 800×600px이기 때문이다.

좌우 폭이 좁은 까닭은 화면 크기가 800×600px이기 때문이다.

아무튼 단락제목2(HTML 태그로는 <H2>)에 해당하며, 녹색 글씨에 녹색 밑줄이 생긴 이유는 링크가 걸려 있기 때문이다. 이것을 위의 링크 수정하는 법대로 링크를 수정하는 과정은 아래와 같다.

우선 단락을 본문으로 바꾸었다.

그 뒤 링크 편집창(편집 애플릿?)을 띄우면 뜬금없이 "PermaLink :: 옥션의 어이없는 판매자"라고 나타난다. 저 글귀는 어디에서 나타났을까? 왜 웹 주소(URL 등)가 아닌 저런 문장이 나타났을까?

선택한 영역의 HTML 소스를 살펴보면 답이 나온다. 그렇다. 링크(A 태그)의 title 속성을 따다가 나타내 주고 있다.

이것을 확인하기 위해 다른 태그도 복사했지만, 역시나 title 속성을 따서 나타내 주고 있었다. 그렇다면 굳이 class="external newWindow" 클래스 선택자를 넣을 필요도 없었다는 말인데 왜 굳이 그렇게 하는지 이해하기 힘들었다.

기술적인 해석

기술적인 측면으로 본다면 단순히 하이퍼링크(A 태그)의 title 속성을 따올 뿐이며, 벌레라고 보기는 힘들었다. 그러나 주소를 정상적으로 링크 대상에 나타내려면 링크 주소와 title 속성을 항상 같게 해야만 한다는 점에서는 문제가 있다고 하겠다. title 속성은 누구나 정할 수 있지만, 대부분 링크를 설명하는 문구를 넣게 된다. 위에서 예로 든 링크도 "PermaLink :: 옥션의 어이없는 판매자"와 같은 글귀가 그것이다. "옥션에서 본 어이없는 판매자에 대한 링크"임을 나타내기 위해 title 속성을 저렇게 주었음을 알 수 있다.

스프링노트 링크 대상을 표시하는 문제를 해결하기 위한 방법으로도 그다지 좋지 않다고 생각한다. 물론 title 속성을 참조함으로써 간단한 코드를 만들 수 있다는 점에서는 동의한다. 하지만 이번과 같은 상황에서는 너무 단순한 것을 찾다가 낭패가 생긴 경우이다. 외부 링크인지만 검사했더라도, 외부 링크이면 title 속성이 아닌 href 속성을 참조하게 만들었다면 이번 벌레는 애초에 생기지 않았으리라 생각한다.

회사 측 답변

2009년 4월 27일 현재 오류를 보고한 상태이며, 수정하겠다는 답변을 받았다.

관련 문서 및 페이지

이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

스프링노트를 자주 사용한다. 아니, 아예 끼고 산다고 해야 옳겠다. 블로그를 시작하면서부터 도아 님이 알려준 스프링노트를 써서 글을 발행하고 있기 때문이다. 처음 글 몇 개를 제외하고는 모두 스프링노트에서 작성했다.

그런데 최근에 자잘한 오류가 눈에 띄기 시작했다. 오류보고를 하려고 해도 재현을 하지 못해서 참고 있었다. 그러나 이번에 황당하게 재현하게 되어서 소개하고자 한다.

벌레의 유형

  1. 이 벌레는 남의 영역을 침범하는 벌레이다.
  2. 특정 웹브라우저에서는 자기 자신을 감추어버리는 은신술의 달인이다.

보통 경로명 등이 길어지면 경로명 일부를 ... (마침표 3개) 등으로 대치하는데, 이 벌레는 아예 태그가 있던 영역을 지워버렸다. 물론 인터넷 익스플로러에서는 다른 것이 표시되어야 하는 영역을 침범할 뿐 자기 자신의 일부를 그대로 나타내 주었다.

벌레의 발견

스프링노트에서 글을 작성하다가 너무 많은 태그를 입력하자 갑자기 태그 전체가 사라져 버렸다. 태그 고치기 단추와 태그 표시 단추가 모두 사라진 셈이다.

오류 없이 태그를 보여주는 화면

오류 없이 태그를 보여주는 화면

정상적인 상태에서는 위와 같이 나타난다. 이때 현재 편집하는 글의 상태를 알 수 있는 상태 표시줄만 따로 떼어내면 다음과 같다.

상태 표시줄 화면

상태 표시줄 화면

글을 편집하다 보니 태그를 너무 많이 입력하게 되었다. 그러자 내 파이어폭스에서 태그 표시 아이콘, 태그, 태그 편집 아이콘이 사라졌고, 아울러 페이지 히스토리 아이콘과 CCL 표시도 사라져 버렸다.

모질라 파이어폭스에서는 너무 많은 태그를 입력하자 아예 사라져 버린 태그 목록과 태그 표시 및 태그 입력 아이콘. 그리고 그 오른쪽 구성물도 사라졌다.

모질라 파이어폭스에서는 너무 많은 태그를 입력하자 아예 사라져 버린 태그 목록과 태그 표시 및 태그 입력 아이콘. 그리고 그 오른쪽 구성물도 사라졌다.

왼쪽 내비게이션을 감추자 비로소 입력한 태그 목록과 태그 표시 및 태그 편집 아이콘이 나타났다.

왼쪽 내비게이션을 감추자 비로소 입력한 태그 목록과 태그 표시 및 태그 편집 아이콘이 나타났다.

인터넷 익스플로러에서는 태그 목록과 태그 표시 아이콘은 남았으나, 태그 편집 아이콘과 그 오른쪽 구성물이 사라졌다.

왼쪽 내비게이션을 감추자 태그 편집 아이콘과 페이지 히스토리는 나타났으나, CCL 표시는 다시 나타나지 않았다.

위와 같이 모질라 파이어폭스(3.0.9판)와 인터넷 익스플로러(v6 sp2)에서는 그 정도의 차이가 있지만 제대로 화면에 출력해 주지 못하는 상태였다. 구글 크롬이나 오페라 등의 웹브라우저에서도 그다지 다르지 않은 결과를 나타내리라 생각한다.

현재 이와 관련한 해결책은 태그를 많이 입력하지 않는 방법뿐이다. 응급책으로는 왼쪽 내비게이션과 오른쪽 책갈피를 모두 감추고 쓰는 것도 한 방법이 될 수 있다.

회사 측 답변

2009년 4월 26일 현재 오류를 보고한 상태이며, 태그 표시를 수정하겠다는 답변을 받았다.

관련 문서 및 페이지

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

들어가며

사용자는 프로그램을 사용하다가 버그가 발생하면 그것을 제작자(혹은 제작사)에 알려주게 된다. 이러한 행위를 버그리포팅(bug reporting; 오류 보고)이라고 하며, 이는 프로그램 수정판(patch version)이나 향상판(upgrade version)에 도움을 주게 된다.

그런데 이러한 버그리포팅을 제작자가 무시하는 경우도 있는데, 이럴 경우 사용자는 불쾌감을 느끼게 된다. 하지만 왜 버그리포팅이 무시되는지는 깊게 생각하지 않는 사람이 많다. 

우선 버그리포팅이 너무 추상적이기 때문에 무시된다. 둘째 재현이 되지 않는 경우에는 무시된다. 셋째로 개발자 측의 정책적인 이유에서 무시되기도 한다. 심지어 답변하는 측의 무지 또는 무성의 때문에 무시되는 일도 있다.

버그리포팅이 무시되는 이유

추상적인 버그리포팅

버그리포팅이 너무 추상적이기 때문에 무시되는 일도 있다. 버그패치를 하려면 구체적인 상황이 제시되어야 한다.

버그는 모든 경우에 발생하는 예는 매우 드물며, 대부분 특정 상황에서 발생하게 된다. 그러므로 버그가 발생한 상황을 구체적으로 기술할 필요가 있으며, 그게 어렵다면 특별한 버그 발생 조건을 명시해야 한다. 그것이 나타나지 않은 버그리포팅은 추상적이라 여겨지고 그 버그리포팅은 무시된다.

개발자 입장에서는 추상적인 상황에 대해 대처할 방법이 없다. 또한 프로그램의 내부 오류가 아닌 이상 버그는 반드시 외부로 표출되어야 하며, 그것은 거의 대부분 특정 조건에 따라 발생하게 된다. 이것은 그 상황을 구체적으로 설명할 수 있음을 나타낸다. 그러므로 반드시 버그가 발견되면 그 상황을 기록해 두어야 자신이 전달한 버그리포팅이 무시되지 않게 된다.

재현 불가

버그리포팅을 하기 전에 자신이 발견한 버그를 재현해 보아야 한다. 자신이 생각하는 그 상황에서 버그가 발생하는지를 시험해 보아야 한다는 뜻이다.

버그가 재현되지 않는다면 주로 (1) 그것은 일시적인 현상이거나, (2) 그게 아니면 내부적인 오류가 있는데, 그것이 사용자가 알지 못하는 어떤 이유로 외부로 표출된 경우이다. (1)의 경우는 프로그램 오류이기보다는 시스템의 문제이거나 설치된 프로그램끼리 충돌하는 경우 등으로 재현이 어려운 경우도 있고, 아예 그 상황 자체가 다시 나타나지 않을 수도 있다. (2)의 경우는 일반 사용자는 알 수 있는 방법이 없고, 이 경우 버그의 재현은 거의 불가능에 가깝다.

버그가 재현되지 않는 또 다른 이유는 버그의 발생원인을 착각했기 때문이다. 이 경우 버그는 존재하지만 발생원인을 착각했기 때문에 자신이 생각하는 이유로는 재현되지 않게 된다.

마지막으로 사용자는 재현에 성공했지만 개발자 측에서는 재현에 실패하는 경우도 있다. 이것은 하드웨어적인 문제가 겹치거나 사용자의 시스템 환경과 개발자의 시스템 환경이 판이하게 다른 경우에 발생한다.

정책적인 이유

개발자나 회사의 정책적인 이유로 버그리포팅이 무시된다.

개발자 측의 정책에 따라 최신 버전이 나오게 되면 이전 버전에 대한 버그리포팅은 무시되기도 한다. 예컨대 인터넷 익스플로러 5 이전 버전은 현재 버그리포팅을 무시하고 있다.

버그 패치를 적용하면 속도 저하 등의 현상이 생기는 예도 있다. 그런데 그 속도 저하 등 성능 저하가 심하다면 버그리포팅은 일정 기간 무시되기도 한다. 물론 중대한 보안버그라면 반드시 적용되겠지만, 그렇지 않다면 일정기간 무시될 수 있다는 말이다.

마지막으로 경쟁사 제품과 관련한 버그는 무시하는 경우가 있다. 이런 경우 고의적으로 경쟁사 제품의 설치 및 사용을 막는다는 의심을 받기도 한다.

답변자의 무지 또는 무성의

답변자가 글을 제대로 읽지 않거나 버그리포팅 내용을 확인하지 않아서 무시되는 경우도 있다. 나와 네이버는 악연인지 버그리포팅이나 항의글이 무시되는 경우가 많았다. 특히 답변자가 해당 내용을 알지 못하거나, 버그리포팅 내용을 확인하지 않아서 엉뚱한 답변을 하는 경우도 있었다.

  • 네이버 결계 벌레 : 파일이 존재함에도 "삭제한 파일이기 때문에 접근할 수 없다."라고 답변이 왔다. 또한 그 게시글에서 분명히 "홈페이지 등록 갱신을 거부합니다."라고 했는데, 나중에는 네이버 측에서는 내가 "홈페이지 등록 요청"을 했다고 주장했다.
  • 네이버에 파이어폭스에 대해 물었는데 익스플로러에 해당하는 답변을 하는 경우가 있다. 초보적인 오류임에도 다른 사이트에서는 일어나지 않는 일이 네이버에서는 몇 차례나 일어난다.
  • 그밖에 자주 나타나는 무성의한 답변으로는, 프로그램이나 제작자를 가리지 않고, 버그리포팅에 나타난 내용을 해결책으로 제시하는 경우이다. 다시 말해 버그리포팅을 할 때 A라는 작업을 했음에도 결과가 나아지지 않았다고 버그리포팅을 했음에도 다시 A라는 작업을 하라고 답변하는 경우가 많다.

답변자의 무지 또는 무성의는 매우 심각한 결과를 가져온다. 왜냐하면 버그리포팅이 무시되는 경우 일반적으로 사용자는 그 사실을 알 수 없다. 그러나 이러한 답변자의 무지나 무성의는 답변자가 바로 알아차릴 수 있고, 그에 대해 허탈함이나 불쾌감을 가지게 된다. 이는 대답하는 사람이 가져야 할 기본적인 소양, 곧 "질문 내용이나 버그리포팅 내용을 제대로 읽기"를 하지 않았다는 말이 되기 때문이다.

대응

버그리포팅이 무시되면 대응할 방법이 거의 없다. 추상적인 버그리포팅의 경우는 "개발자에게 의견을 전달했다."라는 식으로 말할 뿐이며, "재현 불가"는 재현할 수 없다는 말을 되돌려준다. 정책적인 이유라면 그 역시 "회사 정책상 지원하지 않는다."라는 말을 하게 되며, 답변자의 무성의는 어쨌든 답변은 받은 셈이다.

이때 추상적인 버그리포팅이나 재현 불가는 당장 할 수 있는 일이 없다. 그저 다시 버그가 나타나기를 기다려야 한다. 버그가 다시 나타나면 다행이고 그게 아니라면 어쩔 수 없이 포기해야 한다. 물론 나중에 다시 버그가 발생하면 그때 다시 버그리포팅을 하면 된다. 한/글/ 2005에 나타난 구결 표기 오류를 참조하라.

회사 정책상의 이유라면, 그것이 중대한 버그인지를 먼저 생각해야 한다. 사소한 버그이거나 다른 기능과의 충돌 때문에 "구현하지 않은 기능"일 수도 있기 때문이다. 다시 말해 사용자 설명서 등에 "불가능한 기능" 또는 "제공하지 않는 기능"이라는 식으로 기술되어 있다면 일단 버그가 아니다. 물론 사용자 입장에서는 버그라고 여겨지겠지만, 회사의 입장에서는 버그가 아니므로 "회사 정책"상 버그 수정은 하지 않게 된다. 만약 중대한 버그라면 반드시 추가로 버그리포팅을 하는 편이 좋다.

관련 문서

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

팁텍

나는 자주 내 티스토리 블로그에 들어오는 사람들이 어떤 유입경로를 통해 들어오는지를 살펴본다. 딱히 그 사람들을 감시한다는 생각은 없고, 팁이나 벌레 글을 쓸 때 이용하기 위해서이다. 그런데 오늘(4월 24일) 재미있는 것을 발견했다. "이런 것도 모를까?"라는 생각이 들 만한 문제가 나타났다.

"dos 에서 감춰진 파일 보기"라는 저 내용이 처음에는 무엇인지 알지 못했으나, 잠시 후에야 "숨김파일"을 보려고 함을 알 수 있었다.

팁의 발견

감춰진 파일(숨김파일)을 본다는 말은 그 파일의 내용을 본다는 말이 아니라 파일 목록에서 그것이 나타나게 한다는 뜻이다. 도스에서는 여러 가지 방법을 제공하고 있다. 물론 여기에서 설명하는 방법은 윈도의 명령 프롬프트에서도 적용할 수 있다.

DIR 명령

우선 디렉터리에 있는 파일과 하위 디렉터리 목록을 보여주는 명령어인 DIR을 이용해 보자.[각주:1]

버추얼박스에서 MS-DOS 6.22를 실행시켰다.

영문 버전이지만 한글 버전과 별로 다르지 않다. 어쨌든 디렉터리 목록을 보기만 하면 되니까 그게 중요한 게 아니다.

위에서 보면 "11 File(s)"라는 부분이 있다. C:\TEMP 디렉터리는 이번 팁을 작성하면서 새로 만든 디렉터리이다.

이때 이 폴더에는 숨김파일이 있다. 숨김파일만 보려면 /AH 선택자(옵션/선택사항)를 사용하면 된다.

위와 같이 6개의 숨김 파일이 있다고 보여준다.

위의 화면은 차례대로 읽기 전용 파일, 시스템 파일, 모든 속성의 파일의 목록을 보여주는 화면이다.

ATTRIB 명령

DIR 명령을 쓰지 않고도 파일 목록을 볼 수 있다. 바로 파일 속성을 보여주는 ATTRIB 명령을 이용하는 방법이다.

앞서 DIR 명령에서는 모두 19개 파일이 보였는데, ATTRIB 명령에서는 17개만 보인다. 이것은 [.]과 [..] 디렉터리는 현재 디렉터리와 부모 디렉터리를 나타내는 디렉터리로서 실제로 존재하지 않기 때문에 ATTRIB 명령에서는 보여주지 않는다. 위의 목록에서 H 표시가 있는 파일이 숨김 파일이다.

다만 ATTRIB 명령에는 숨김파일만 보는 방법은 존재하지 않는다. 만약 한 화면을 넘기게 된다면 MORE 명령을 함께 이용하면 된다.

  1. ATTRIB | MORE

다른 유틸리티 이용

M-Dir이나 NC(노턴 커맨더) 등의 유틸리티를 이용하여 숨김 파일을 볼 수 있다.

M-Dir에서 숨김 속성 파일을 보여주고 있다. 파일 목록을 보여주는 아래쪽에 디렉터리 정보를 보여주고 있다. 그 맨 왼쪽에 QH라고 된 부분이 숨김 파일을 보여주고 있다는 표시이다(정확하게는 H 부분이다.). 또한 목록에서 파일 크기 부분이 자주색으로 보이는 파일이 숨김 파일이다.

윈도 탐색기

윈도 탐색기는 도스가 아니지만, 그래도 알고 있으면 유용하게 써먹을 수 있다.

숨김 속성을 보여주기 전 화면

숨김 속성을 보여주기 전 화면 (아래 상태표시줄에 숨김 파일이 4개 있다고 알려주고 있다.)

폴더 옵션에서 숨김 파일 및 폴더를 표시하도록 설정

폴더 옵션에서 숨김 파일 및 폴더를 표시하도록 설정

폴더 옵션에서 설정한 뒤의 화면. 숨김 속성의 파일은 희미하게 보인다.

폴더 옵션에서 설정한 뒤의 화면. 숨김 속성의 파일은 희미하게 보인다.

관련 문서

이 글은 스프링노트에서 작성되었습니다.

  1. DIR의 사용법을 알고 싶다면 명령 프롬프트에서 dir /? 라고 입력하기 바란다. [본문으로]
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

티스토리에서 이미지 갤러리를 넣으려고 했는데, 뜻밖에도 본문에 삽입된 것은 슬라이드쇼였다. 의도하지 않은 일이 생겨서 기분이 좋지 않았는데, 삽입된 슬라이드쇼가 정상 동작하지 않았다. 첫째 이미지와 마지막 이미지를 보여주지 않았다. 다시 말해 7개의 이미지로 이미지 갤러리를 만들어서 본문에 넣게 했는데, 실제로 본문에 들어간 것은 5개의 이미지를 가진 슬라이드쇼였다.

벌레의 유형

  1. 맏이와 막내를 왕따시키는 별난 벌레이다. 아, 벌레는 원래 이상한 놈들이라고. 그 말도 맞다.
  2. 실제로는 저와 관련없이 업로드 실패 시에 나타나는 벌레이다.

한편 티스토리나 다른 블로그에서 등장했던 변신술을 익힌 벌레가 여기에서도 등장한다고 생각했다. 이미지 갤러리를 만들라고 하니까 왜 슬라이드쇼를 만들어 버렸기 때문이다. 그러나 검색 결과 티스토리 매뉴얼 블로그[확장 업로드 기능] 업로드된 파일을 다양한 형태로 이용해 봅시다[이미지] 슬라이드쇼의 사용법을 알고 싶어요라는 글이 있었다. 결국 이미지 갤러리를 만들게 되면 슬라이드쇼로서 그것을 구현한다는 사실을 알게 되었다. 그밖에 사항은 다음 고객센터에서 TISTORY > 글 관리 부분을 살펴보기 바란다.

벌레의 발견

[확장 업로드 기능] 업로드된 파일을 다양한 형태로 이용해 봅시다라는 블로그 기사에서 이미지 갤러리는 슬라이드 효과를 자바스크립트를 이용하여 갤러리로 생성한다고 설명하고 있다. 나는 그것을 몰랐지만, 아무튼 HxD 소개 기사를 쓰면서 이미지 갤러리 기능을 이용하여 슬라이드쇼를 만들었다.

위의 그림에서 빨갛게 표시한 부분(? (경)자처럼 보이는 부분)을 클릭하여 이미지 갤러리를 만들었다. 이때 파일을 7개 선택하였다.

그런데 실제로 만들어진 이미지 갤러리에서는 위와 같이 5개의 파일만 포함되어 있다고 나타나고 있었다. 참고로 저 저작권 화면은 2번째 파일이다. ▶▶ 아이콘을 클릭하여 다음 파일을 살펴보았다. 그럼으로써 알게 된 사실은 첫 파일과 마지막 파일이 나타나지 않는다는 점이었다.


위의 두 파일은 모질라 파이어폭스(v3.0.9)에서의 티스토리 편집창 화면이다. 두 화면 모두 오른쪽에 보면 파일이 7개임을 알 수 있다. 이미지 갤러리를 만들때 순서가 흩트러지기에 파일명 맨 앞에 숫자를 붙여두었다. 다시 말해 1번부터 7번까지 있다는 말이다. 첫 화면은 위지위그 편집기 모드이고, 두 번째 화면은 HTML 편집 모드이다.

첨부한 파일의 수를 세었다. 그러나 위와 같이 모두 7개였다. 결국 화면에 나타낼 때 오류가 생긴다는 사실을 알게 되었다.

혹시나 하는 마음에 인터넷 익스플로러(v6 sp2)에서도 시험해 보았다. 결과는 마찬가지였다.

결국 편집창 상단에 있는 슬라이드쇼 아이콘(Tistory-SlideShow-Icon)을 클릭하여 이미지 갤러리를 삽입하게 되었다. 그 과정에서 알게된 이 버그가 이미지 파일을 정확히 인식하지 못해서 발생하고 있다는 심증을 갖게 하였다.

위의 그림은 슬라이드쇼에서 업로드시킨 이미지 파일이다. 그런데 조금 이상한 점이 보이지 않는가? 바로 첫째와 둘째 파일은 이미지의 크기와 파일 크기가 나타나고 있으나, 셋째 파일은 파일 크기만 나타나고 있다.

황당한 점은 이미지 갤러리로 만든 슬라이드쇼에서는 정확히 인식하지 못한 파일은 최종 결과에서 빼버리고 슬라이드쇼를 만들지만, 슬라이드쇼 아이콘을 클릭하여 만든 슬라이드쇼에서는 제대로 인식하지 못하는 파일도 최종 결과에 포함시켜 슬라이드쇼를 만들어준다. 이렇게 제대로 인식되지 않는 원인으로는 업로드 실패일 가능성이 가장 높다고 생각한다.

벌레의 제거

이 벌레를 제거하는 방법은 단순하다.

아무리 해도 안 되는 일은 그냥 포기하고 다시 업로드 하면 된다. 이미 업로드 된 파일로 이미지 갤러리를 만들려고 해도 안 된다면 그냥 다시 업로드하는 쪽이 낫다는 말이다. 어차피 내 예상대로 업로드 오류였다면, 다시 업로드함으로써 그 벌레는 사라지게 된다. 실제로 HxD 소개 기사는 현재 이미지 갤러리가 제대로 보이고 있다.

또한 애초에 슬라이드쇼 아이콘을 클릭하여 슬라이드쇼를 만들어도 된다. 엎어치나 메치나 같은 결과를 보여주기 때문이다.

회사 측 답변

이 문제는 버그 리포팅을 하지 않았다.

관련 문서

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

읽기에 앞서

여러분, 이 방법을 악용하지 맙시다.

이 팁에 나타난 방법은 그 금칙어를 꼭 써야 하기 때문에 이런 방법이 필요한 것이지, 무분별하게 쓰라는 뜻이 아닙니다.

팁텍

게시판 등에서 사용할 수 없게 지정해 둔 낱말이 있다. 이것을 금칙어라고 하는데, 이것이 순기능을 가지고 있으나, 역시 컴퓨터 프로그램에서 미리 정한 대로 작동하기 때문에 벌레가 있기 마련이다.

참고로 금칙어처럼 금지되는 낱말을 통틀어 금지어라고 한다. 이와 비슷한 개념으로 꺼리는 말을 금기어라고 하며, 금기어를 피하기 위해 쓰이는 말을 완곡어라고 부른다. 예컨대 변소는 금기어이며, 화장실은 완곡어입니다. 금기어가 가장 넓은 개념이고, 금지어와 금칙어는 좁은 개념이다.

팁의 발견

자주 가는 USBOffice 사이트에서 글을 올리다가 금칙어 문제로 올릴 수 없었다. 혹시나 하는 마음에 전부터 알고 있던 방법을 사용하여 게시물을 등록하게 되었다.

이 팁은 HTML 등을 허용하지 않으면 사용할 수 없는 단점이 있다는 점을 기억하자.

이미지로 올리기

그래픽 이미지 파일로 만들어서 올리는 것도 한 방법이다(켈베로스 님 의견).

예컨대 "알지도 못하고 보지도 못한다."라는 내용을 USBOffice 에서는 등록할 수 없었다. 

그림 1 : 댓글 편집 화면

그림 1 : 게시글 편집 화면

위와 같이 입력하고 [댓글 등록]을 클릭하면 다음과 같은 오류 메시지를 보여 준다. 참고로 댓글이 아니라도 이 팁은 적용할 수 있다.

그림 2 : 경고 화면

그림 2 : 경고 화면

억울하지만 저 낱말을 사용할 수 없다는 뜻이다. 캘베로스 님 의견에 따라 다음과 같이 그래픽 이미지를 만들어서 처리할 수 있다.

그림 3 : 예제 그림

그림 3 : 예제 그림

<그림 1>에서 나타난 [피일 첨부]를 클릭하여 <그림 3>의 예제 그림을 첨부한다. 그것을 본문에 넣으면 된다([본문 삽입]을 클릭하면 자동으로 본문에 넣어 준다.)

이 방법은 USBOffice처럼 xeEditor를 사용하는 게시판에서는 어디서나 쓸 수 있다.

HTML 코드 등을 이용하기

그래픽 이미지를 만들어 올리는 것은 보여주고 싶은 내용을 그대로 그래도 보여줄 수 있다는 점에서 매우 유용하다. 심지어 화면 배치까지 그대로 보여줄 수 있다. 화면 자체를 그림으로 바꾸기 때문이다. 다만 그래픽 이미지는 텍스트보다 그 크기가 크고, 화면 좌우 폭의 제한이 있는 경우에는 왼쪽이나 오른쪽이 잘리는 경우도 있다. 주로 오른쪽이 잘리게 된다.

그럴 경우 게시판에서 HTML 코드 등을 지원한다면 그것을 이용하여 우회할 수 있습니다. 이른바 더미 태그라는 방법입니다. 더미 태그 방식은 실제로 쓰이지 않는 쓰레기 값을 태그로서 넣는 방법입니다. 실제로 쓰이는 태그라도 내용 없이 태그만 넣게 되면, 그것도 더미 태그가 됩니다.

  1. 일단 스타일 편집기 탭에서 글을 작성한 뒤에 저장합니다. <그림 1>에서 "듣지도 못하고 보지도 못한 잡것."으로 바꾸어도 역시 댓글이 등록되지 않는다.
  2. 아까와 마찬가지로 경고 메시지를 보여주는데, 대부분 금칙어를 알려줍니다. 그것을 수첩 등에 적어 놓습니다. 위의 <그림 2> 참조.
  3. 스타일 편집기 탭이 아닌 HTML 편집기 탭에서 금칙어를 찾습니다. 찾기 단축키는 Ctrl+F 입니다.
  4. 금칙어 부분을 찾으면 금칙어의 사이에 <b></b>라고 넣습니다. 위의 "보지 못한"에서는 "보<b></b>지 못한"이라고 하면 됩니다.
    그림 4 : HTML 편집기 화면

    그림 4 : HTML 편집기 화면

  5. 다시 저장한다. 다른 금칙어를 알려주면 1번에서 4번을 반복한다.

 참고로 이 방법은 HTML 코드를 지원하는 게시판에서만 가능합니다. BB코드를 지원하는 게시판에서는 <b></b> 코드를 [b][/b] 코드로 바꿀 수 있습니다. 여기에서 삽입하는 <b></b>와 [b][/b] 코드는 "글씨를 굵게" 만드는 코드입니다. 코드가 단순해서 써먹기 좋습니다.

관련 문서

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

버추얼박스를 사용하다가 가장 황당한 문제는 버추얼박스 프로그램이 제거되지 않는다는 점이었다. 분명히 정상적으로 설치되었음에도 제거할 때에는 오류가 나더니 롤백(되돌리기)을 해 버린다. 아니나 다를까 며칠 전에 설치한 버추얼박스 2.2.0판에서도 제거할 때 롤백해 버리는 문제가 생겼다. 그와 함께 몇 가지 문제를 살펴보기로 하자.

참고로 아래 작업을 하기에 앞서 백업해야 할 데이터가 있다면 반드시 버추얼박스를 제거하기 전에 먼저 백업부터 하기 바란다.

벌레의 유형

이 녀석은 어떻게 정의해야 할는지 의문이다. 아무튼 나를 너무 좋아해서 헤어지기 싫어하는 벌레라고나 할까? ㅡㅡa

아니면 레지스트리를 싫어해서 자주 가출하는 벌레라고 해야 할까? ^^a

벌레의 제거

이 벌레의 제거는 너무나 간단했다. 현재 버전을 한 번 더 설치하면 된다. 앞서 설치본에 아무런 문제가 없었지만, 이상하게도 레지스트리에 정상적으로 등록되지 않아서 생기는 문제이기 때문이다. 현재 설치한 버전인 2.1.4판이면 그것을 받아서 한 번 더 설치하면 되고, 2.2.0판이면 그것을 받아서 한 번 더 설치하면 된다. 그 뒤에 제어판 >> 프로그램 추가/제거를 이용하여 제거하면 된다.

  • 참고 1 : 제거되지 않을 때 다시 설치하면 repair 메뉴나 install 메뉴가 생기는데, repair 메뉴를 선택하거나 install 메뉴를 선택하면 된다. 정상 설치되었더라도 제거가 되지 않는 경우를 확인하였으며, 그때에는 install 메뉴 대신에 repair 메뉴가 생긴다.
  • 참고 2 : KLDP에도 비슷한 글이 있다. http://kldp.org/comment/reply/104538/486110#comment-486110

추가 문제

버추얼박스 2.2.0판을 설치하였다가 제거한 경우에는 약간의 문제가 생겼다. 이전에 만든 디스크이미지를 그대로 이용했으나 새롭게 변경된 사항은 새로운 형식으로 바뀌었고, 또한 환경설정을 저장한 XML 파일의 형식도 바뀌었기 때문이다.

새롭게 변경된 사항은 삭제할 수 없으나, 변경사항이 연결된 스냅샷은 삭제할 수 있었다. 아깝기는 했지만, 어쩔 수 없이 스냅샷을 삭제해야만 했다. 스냅샷은 하드디스크 이미지는 가상 미디어 관리자에서 삭제할 수 있다. 이때 이미지의 원본이 아닌 추가본만 삭제해야 한다. 추가본은 브레이스( { } )로 감싸여 있다.

설정 파일 되돌리기

일단 버추얼박스 2.2.0판에서는 환경설정 XML 파일의 버전이 1.7로 판올림되었다. 그 때문에 버추얼박스 2.1.4판을 설치하면 다음과 같이 오류를 보이면서 하드디스크 이미지 등을 사용할 수 없게 되어 버린다.

오류메시지만 따로 떼어 내면 다음과 같다.

저 위치는 %USERPROFILE%\My Documents\My Virtual Machines\VirtualBox\Machines\WXP Test 폴더이다. 이때 필요한 경로는 %USERPROFILE%\My Documents\My Virtual Machines\VirtualBox 이며, 보통의 경우에는 %USERPROFILE%\.VirtualBox 폴더 아래에 저장되는 정보이니 주의하기 바란다. 다시 말해 자신의 경로에서 찾아야 한다.

  1. 거기에 보면 설정파일이 존재하는데, ###.xml.1.6-windows.bak 파일과 ###.xml 파일처럼(###은 파일명이다. 자신에게 맞는 파일명을 찾기 바란다) 쌍을 이루고 있다. 이때 1.6-windows.bak 라는 꼬리표를 단 파일이 이전 버전의 버추얼박스를 위한 백업파일이다. 내 경우는 버추얼박스 2.1.4판의 설정파일인 셈이다.
  2. 우선 ###.xml을 ###.xml.1.7-windows.000 이라고 이름을 바꾸었다.
  3. 그 뒤 ###.xml.1.6-windows.bak 파일을 ###.xml 이라고 이름을 바꾸었다.
  4. 그렇게 모든 XML 파일을 고친 다음에 버추얼박스를 다시 실행하여 상위 버전의 형식으로 만들어진 스냅샷을 제거하면 된다.

특정 스냅샷 제거

스냅샷의 제거는 버추얼박스 사용자 인터페이스의 메인 화면에 있는 스냅샷을 이용해서 지울 수 있다. 만약 스냅샷 메뉴에 접근하지 못한다면 가상 미디어 관리자를 이용하여 지울 수 있다.

가상 미디어 관리자는 아래와 같이 되어 있다.

가상 미디어 관리자 1

위의 화면은 하드디스크이미지를 선택한 화면이다.

가상 미디어 관리자 2

스냅샷이 존재하는 하드디스크이미지의 경우 삭제와 등록해제 모두 활성화되지 않는다.

가상 미디어 관리자 3

스냅샷 이미지의 경우 브레이스( { } )로 묶여 있으며,

가상 미디어 관리자 4

마지막으로 변경 사항을 저장하는 하드디스크 이미지의 경우

원래는 경고 표시(warn.png)가 붙은 하드디스크 이미지도 존재했으나, 이미 삭제해 버린 뒤였다. 그 경고 표시가 붙은 이미지를 찾아서 삭제하면 데이터를 일부 잃겠지만, 이미 설치한 프로그램을 모두 잃는 것보다는 낫다고 하겠다.

경고 표시가 붙은 이미지를 삭제하면 그 뒤로는 이미 설치된 하드디스크 이미지를 그대로 사용할 수 있다.

참고로 스냅샷 이미지를 삭제하면, 스냅샷 이후의 변경 사항을 저장한 하드디스크 이미지도 함께 삭제된다는 점을 꼭 기억해야 한다.

회사 측 답변

버그 리포팅을 하지 않았다. 설치 파일의 문제인지 아니면 윈도의 문제인지 알 수 없었기 때문이다.

관련 문서

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

팁텍

암호 걸린 압축 파일을 엽기적으로 보관하는 방법이다. 이 방법은 1998년에 OLE에 대해서 배울 때 알게 되었다. 당시에는 MS Word97로 시험하였으나, 여기에는 한/글/2005를 사용했다.

팁의 발견

흔히 압축 파일을 저장할 때 암호를 걸게 된다. 그런데 그렇게 하고도 미덥지 않아서 처음 압축한 형식과 다르게 압축을 한다. 물론 암호도 걸어서.

그렇다고해서 안전할까? 물론 안전하다. 그런데 그런 파일이 있다는 사실 자체만으로 안전하지 못할 때가 있다. 누군가가 그것을 지우려 할 때다.

이럴 경우 압축 파일을 다른 파일 속에 넣어 버리면 좋을 때도 있을 텐데, 아쉽게도 그런 기능을 지원하는 프로그램이 없다.

그런데 알고 보면 그게 또 아니다. 윈도는 기본적으로 특정 파일을 다른 파일에 포함시킬 수 있도록 되어 있기 때문이다. 그것이 OLE 기능이다.

압축 작업

프리웨어인 Zip+ 프로그램을 이용하여 압축을 하였다. 참고로 알집은 애드웨어이다.

압축할 폴더/파일을 선택한다.

압축할 폴더/파일을 선택한다.

마우스 오른쪽 클릭하여

마우스 오른쪽 클릭하여

압축 하기 대화상자가 열린다. 아래쪽 중앙에 암호 입력을 클릭한다.

압축 하기 대화상자가 열린다. 아래쪽 중앙에 암호 입력을 클릭한다.

암호 입력 대화상자에서 암호와 암호 확인을 똑같이 입력한다. 이때 그 둘이 서로 다르면 입력을 다시 요구한다.

암호 입력 대화상자에서 암호와 암호 확인을 똑같이 입력한다. 이때 그 둘이 서로 다르면 입력을 다시 요구한다.

암호 입력을 마치면

암호 입력을 마치면

문서 작업

압축 파일을 문서 파일에 넣을 때 주의할 점은, 한 번 문서 파일에 넣어버리면 그것을 다시 빼낼 수 없다는 점이다. 물론 이렇게 문서 파일에 개체로서 넣더라도 그림 파일 등은 다시 빼낼 수 있다. 하지만 이 압축 파일의 경우는 다시 빼낼 수 없으니 심사숙고해서 문서 파일에 넣도록 하자. 압축 파일 자체는 빼낼 수 없지만, 그 압축 파일에 압축해 넣은 자료는 다시 빼낼 수 있으니 걱정하지 않아도 된다.

드래그&드롭으로 넣기

이렇게 압축파일이 만들어지면 압축 프로그램을 포함시킬 문서 파일을 골라야 한다.

위와 같이 문서 파일을 연 다음에 탐색기 창을 열어 압축 파일을 선택한다.

위와 같이 문서 파일을 연 다음에 탐색기 창을 열어 압축 파일을 선택한다.

압축 파일을 문서 파일 안에 드래그&드롭(끌어서 던져넣기)으로 포함시킨다.

압축 파일을 문서 파일 안에 드래그&드롭(끌어서 던져넣기)으로 포함시킨다.

위와 같이 압축 파일이 문서 파일에 포함된다.

위와 같이 압축 파일이 문서 파일에 포함된다.

메뉴를 이용하여 넣기

메뉴에서 선택하고 싶은 사람은 아래와 같이 입력 >> OLE 개체 넣기를 선택하면 된다.

물론 단축키는 위에 나온 대로 <Ctrl+N,O>이다. 단축키를 이용하든 메뉴를 이용하든 자신이 편한 방법을 사용하면 된다.

이때

이때

새로 만들기는 이미 OLE 개체의 형식이 정해진 자료만 가능하다. 대부분 압축 파일을 문서에 포함시킨다는 생각을 않으므로 이미 만들어져 있을 리는 없다.

불러오기

불러오기


문서 파일을 찾은 뒤

문서 파일을 찾은 뒤

결과 화면은 아래와 같다.

결과

아, 왜 두 개가 생겼느냐고? 앞서 작업한 파일은 오른쪽에 있는 개체(압축 파일)이고, 왼쪽은 방금 작업한 개체(압축 파일)이다. 저 개체(압축 파일)가 들어가는 곳은 아까 메뉴를 호출했을 때 커서가 어디에 있었느냐에 따라 다르다. 다시 말해 커서가 있던 곳에 개체가 들어간다. 물론 마우스로 던져넣은 경우 마우스 포인터가 마지막에 닿았던 곳을 기준으로 개체가 들어간다.

문서에 암호 걸기

마지막으로 한/글/2005 문서에 암호를 걸면 된다. 암호 걸기 기능은 메뉴에서 파일 >> 문서 암호에 있다.

위의 두 암호는 같아야 한다.

위의 두 암호는 같아야 한다.

암호를 건 뒤에는 저장하면 된다.

이 문서를 다시 불러오면 다음과 같이 암호를 물어본다. 아까 지정한 암호를 입력해야 문서를 읽을 수 있다.

문서 파일 사용하기

이 문서 파일을 어떻게 이용할 수 있는지도 알아야 한다. 기껏 이렇게 복잡한 과정을 거쳐서 파일을 2중으로 암호화했는데, 더구나 다시 빼낼 수도 없는데, 그것을 이용할 수 없다면 정말 큰일이기 때문이다.

이것을 압축 파일 관리 프로그램에서 읽어들이는 방법은 간단하다. 그냥 문서 파일 안에 있는 압축 파일 아이콘을 두 번 클릭(더블클릭)하면 된다.

두번 클릭했을 때 Zip+ 프로그램에서는 8.3형식으로 OLE 개체를 열었다.

두번 클릭했을 때 Zip+ 프로그램에서는 8.3형식으로 OLE 개체를 열었다.

이밖에도 다음과 같은 방법이 있다.

내용 활성화를 이용해서 압축 파일의 OLE 개체를 열 수 있다.

내용 활성화를 이용해서 압축 파일의 OLE 개체를 열 수 있다.

이때 OLE 개체는 두번 클릭했을 때와 같이 8.3형식으로 열렸다.

마지막 방법으로 위 그림에서 내용 활성화 대신에 패키지 편집을 클릭해서 열 수도 있다.

개체

패키지 편집을 클릭하면 위와 같이 개체 포장기 프로그램이 실행된다. 이때 오른쪽의 "sample.zip 복사본"을 두번 클릭하면 압축 파일 관리 프로그램에서 OLE 개체를 읽어올 수 있다.

아무튼 압축 파일의 OLE 개체를 연 뒤에는, 거기에 새로운 파일을 추가하거나, 파일 가운데 일부를 삭제할 수도 있다. 물론 원본이 .zip 파일이었기 때문에 가능하며, 일부 압축 형식은 압축 내 파일 삭제, 파일 추가 등의 기능을 지원하지 않기도 한다.

또한 개체 포장기를 종료시킬 때 "을(를) 업데이트하시겠습니까?"라고 묻는데, 파일 추가나 삭제를 했는데 그것을 적용하겠다면 [예]를 클릭하고, 아무런 작업도 하지 않았다면 [아니오]를 클릭하면 된다.

물론 압축 파일 안의 파일을 밖으로 꺼낼 때에는 아까 입력한 암호를 입력해야 한다.

원리 및 특징

위에서 윈도는 기본적으로 특정 파일을 다른 파일에 포함시킬 수 있도록 되어 있으며, 그러한 기능이 OLE라고 했다.

윈도XP의 도움말 및 지원센터에 따르면 OLE는 다음과 같은 뜻을 가진다.

OLE
어떤 응용 프로그램에서 만든 정보를 다른 응용 프로그램에서 만든 스프레드시트나 워드 프로세싱 파일 등의 문서에 붙여넣어 응용 프로그램 간에 정보를 전송하고 공유하는 방법입니다.
관련 항목: 패키지; 포함 개체; 연결된 개체

이때 중요한 점은 응용 프로그램 간에 정보를 공유하는 방법이라는 점이다. 다시 말해 압축 파일은 압축 프로그램에서 다루지만, OLE를 이용하면 워드 프로세싱 파일 안에 압축 파일을 넣어서 필요할 때만 압축 프로그램으로 불러내어 다룰 수 있다는 뜻이다.

이러한 기능은 메모장에서는 동작하지 않는다. 왜냐하면 메모장은 OLE 개체 기능을 지원하지 않기 때문이다. 그러나 워드패드에서는 잘 동작한다. 워드패드에도 OLE를 지원하는 메뉴가 있으며, 마우스로 드래그&드롭으로 삽입할 수 있다. 메뉴는 삽입 >> 개체이며, 한/글/2005의 경우와 비슷하다.

이렇게 문서에 삽입하는 대상을 개체라고 부르는데, 이러한 개체는 특별하게 지정되어 있지 않다. 그럼에도 대부분의 프로그램에서 "정해진 개체"가 따로 존재하는 이유는, 그렇게 정해진 개체가 다른 개체보다 자주 쓰이기 때문이다.

심지어 HTML 등에서도 <OBJECT> 태그와 <EMBED> 태그가 있어서 개체를 삽입할 수 있다. 물론 HTML에 들어가는 개체는 한/글/ 파일이나 워드패드 파일(.rtf 파일)과는 달리 문서와 완전히 융합되는 형태는 아니다. HTML 특유의 링크 형태로 HTML 문서를 보여줄 때 함께 보여주는 형식을 취할 뿐이다.

물론 대부분의 문서에서 OLE 개체는 문서 안에 직접 삽입되어 문서의 일부를 이루게 된다. 이 경우 장점은 운영체제에서 OLE 개체 접근을 허용하면 그 개체를 두번 클릭함으로써 쉽게 접근하고, 열어 볼 수 있고, 심지어 편집까지 바로 할 수 있다.

그런데 이 방법에 결정적인 단점이 있다. 바로 원본을 복원할 수 없다는 점이다. 한 번 다른 문서에 집어 넣은 압축 파일은 다시 압축 파일 형태로 복원되지 않는다. 두 번째로 윈도에서만 사용할 수 있다는 점이다. 리눅스 등에서도 OLE를 지원하기는 하나, 어디까지나 OLE는 윈도 기반에서 작동하도록 만들어져 있다. 결국 윈도가 아니면 쓸 수 없는 방법이라는 말이다. 세 번째 이 작업을 할 때 항상 두 가지 프로그램이 필요하다는 점이다. 바로 문서 편집기와 압축 파일 관리자가 항상 필요하다. 또한 압축 파일이 문서에 포함되면, 그만큼 문서 크기가 늘어난다는 특징이 있다.

장점은 하나뿐이다. 암호를 두 번 지정할 수 있는데, 그 방법을 상대방이 모를 가능성이 높다는 점이다. 물론 아는 사람은 어떻게든 알아낸다는 점을 잊어서는 안 된다.

관련 문서

이 글은 스프링노트에서 작성되었습니다.

'벌레와 팁 > ' 카테고리의 다른 글

버그리포팅이 무시되는 경우  (0) 2009.04.25
DOS에서 숨김 파일 보기  (0) 2009.04.24
금칙어 피해가기  (0) 2009.04.21
티스토리 인쇄CSS 적용하기  (3) 2009.04.09
중복 파일 제거하여 용량을 줄이자  (0) 2009.04.06
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

며칠 전 버추얼박스 홈페이지에 들렀다가 버추얼박스 2.2.0판이 공개되었음을 알고 업데이트 하였다. 그런데 업데이트를 하기 전까지 잘 되던 게스트OS 안에서의 네트워크 연결이 전혀 되지 않았다. 처음에는 업데이트를 잘못했다고 생각했으나, 업데이트하지 않고 2.2.0판을 설치한 경우에도 네트워크 연결에 문제가 있다는 글이 버추얼박스 포럼에 올라와 있었다.

읽기에 앞서

이 글에 쓰인 방법을 적용해도 얼마 뒤에 다시 네트워크 기능이 동작하지 않는다면, 자신이 고정 아이피를 사용하는지를 살펴보기 바란다. 무슨 까닭에서인지 아이피를 고정 시키면 네트워크가 제한되었다.

참고로, 이 글이 쓰인 브리징을 하면 고정 아이피가 유동 아이피로 바뀌는 현상을 보였다.

2009년 4월 27일자 버추얼박스 2.2.2판을 받아서 설치하면 대부분의 벌레를 잡을 수 있다고 한다. 버추얼박스 2.2.0판 때문에 어려움을 겪는다면 필히 설치하기 바란다.

벌레의 유형

네트워크를 막는 벌레로서 혼자(?) 살고 싶어 하는 나쁜 버릇을 가진 벌레이지 않을까 생각한다. 그렇지 않고서야 왜 네트워크를 막을까? 그래서 이 벌레의 나쁜 버릇을 고치기 위해 함께 살 녀석과 다리(브리지)를 놓아줌으로써 해결하였다.

  • 참고 : 이 현상은 벌레라고 보기가 애매하다. 업데이트 하던 도중에 네트워크와 관련한 경고가 있었기 때문이다. 다시 말해 내가 업데이트 도중에 실수한 바도 있다. 그러나 그 경고가 아예 네트워크 연결을 못하게 하는 경고라고는 생각지 않았다. 버추얼박스 포럼에도 그와 비슷한 문제를 호소하는 사람이 많은 것도 그런 까닭으로 보인다.

벌레의 제거

이와 비슷한 현상을 발견하고 구글링을 하여 오즈맨 님의 블로그에서 글을 발견했다. 하지만 그 글은 이전 버전을 기준으로 작성한 탓인지 2.2판에는 맞지 않은 자료화면이 있었다. 오즈맨 님의 글 <오즈맨의 이야기 :: 버철박스 VirtualBox 에서 인터넷 Internet 이 안되면>에서 7번과 8번 설명대로 하면 된다.

2.2판에 맞추어 다시 구성하면 아래와 같다.

2.2.0판을 설치/업데이트하자 위의 왼쪽 화면처럼 네트워크 설정을 찾기 시작했다. 그러다가 한참이 지난 뒤 위의 오른쪽처럼 네트워크를 사용할 수 없다는 표시를 보여주었다. 버추얼박스를 실행하여 게스트OS(윈도XP SP2)를 실행하니 아니나 다를까 인터넷 익스플로러가 홈페이지를 찾지 못하였다.

구글링을 하여 오즈맨 님의 글을 찾았고, 그 글에 따라 해결하려고 시도를 했다. 그런데...

위와 같이 화면이 바뀌어 있었다. 버전이 바뀌면서 환경 설정이 조금 바뀌었기 때문이다. 이때 "다음에 연결됨"은 현재 상태로 "NAT"로 두어도 되고 "호스트 전용 네트워크"로 바꾸어도 된다. 물론 아무것도 안 건드려도 된다.

내 네트워크 환경에서 오른쪽 클릭하여 속성을 선택한다.

VirtualBox Host-Only Ethernet 아이콘에 노란색 경고 표시가 달려 있다.

마우스로 VirtualBox Host-Only Ethernet 아이콘과 로컬 영역 연결 아이콘을 모두 선택한 뒤 그 위에서 오른쪽 클릭 한 뒤 연결 브리지를 선택한다.

위와 같이 네트워크 브리지를 만드는 알림이 잠시 보인다. 저것이 사라진 뒤에 조금 더 기다리면 아래와 같이 된다.

위와 같이 "네트워크 브리지 (네트워크 브리지)" 아이콘이 작업을 완료하면 생겨난다.

버추얼박스를 실행하여 네트워크에 잘 연결되는지 확인하면 된다.

회사 측 답변

현재 나보다 먼저 발견한 사람이 버그리포팅을 한 상태이다.

관련 문서

이 글은 스프링노트에서 작성되었습니다.

'벌레와 팁 > 버그' 카테고리의 다른 글

스프링노트의 태그 표기 벌레  (0) 2009.04.26
티스토리 이미지 갤러리 문제  (0) 2009.04.24
네이버 결계 벌레  (3) 2009.04.07
네이버 뻥튀기 벌레  (0) 2009.04.05
구글이 음란 사이트?  (3) 2009.04.05
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

팁텍

티스토리는 인쇄 페이지 기능을 지원하지 않는다. 그러다가 인쇄CSS를 이용하면 어느 정도 자신이 바라는 부분만 인쇄할 수 있지 않을까 생각하여 이 팁을 작성하게 되었다.

팁의 발견

티스토리에서 인쇄 페이지를 지원하지 않는다는 사실은 우연히 알게 되었다. 그러다가 도아의 세상사는 이야기에서 블로그에 PDF 저장 단추를 달자 라는 글을 보게 되었다. 댓글로 의견을 나누는데, CSS 이야기가 나오게 되었고, 그것에서 힌트를 얻어 CSS를 적용해 보게 되었다.

프로그램 설명

CSS에 대한 기본 사용법은 각자 알아서 하기 바란다.

추천 사이트 - Learn CSS (한국어 사이트이지만, 글자가 깨질 수도 있다. 문자셋을 한국어 (UTF-8) 또는 유니코드 (UTF-8)로 맞추어야 한다.)

CSS 만들기

기본적인 부분 인쇄

CSS를 이용하지 않는 방법은 WWW이 생길 무렵부터 쓰던 방법인 드래그&프린트가 있다. 말 그대로 마우스로 화면에서 인쇄하고 싶은 부분을 주~욱 잡아당겨 선택한다. 그리고 메뉴에서 파일-인쇄를 누르면 된다.

마우스로 드래그한 화면

일단은 이렇게 마우스로 좌~악 그어서 선택한다.

파일 메뉴에서 인쇄 선택

파일 메뉴에서 인쇄 선택

페이지 범위-선택 영역, 그 다음에 인쇄를 콕! 눌러주면 된다.

페이지 범위-선택 영역, 그 다음에 인쇄를 콕! 눌러주면 된다.

그러나 이 방법은 웹페이지 방문자가 해야 하는 작업이지, 웹페이지 제작자가 할 수 있는 작업이 아니다. 더구나 마우스 드래그를 막아놓은 웹페이지에서는 통하지 않는다.

인쇄 CSS 이용하기 1

인쇄용 CSS를 이용하면 웹페이지 제작자가 자신이 인쇄로 출력하고 싶은 부분을 정할 수 있다. 인쇄 CSS에서 인쇄하고 싶지 않은 부분에는 display: none 라는 속성을 주면 된다(참조 블로그에 PDF 저장 단추를 달자)

인쇄 CSS 이용하기 2

나는 티스토리에 적용할 때 주로 <div class="_ad"> 또는 <div class="noprint">와 같이 인쇄 금지 항목을 만들었다. 이것을 화면CSS에 응용하면, 화면에만 안 보이는 <div class="noseeing"> 또는 <div class="blind"> 항목을 만들 수도 있다.

참고로 현재 왕미친세상에 적용된 인쇄CSS는 다음과 같다.

  1. /* 이 파일에 적용된 설정은 http://www.w3.org/StyleSheets/home-import.css 파일을 참조하여 만들었습니다. */
  2.  
  3. /* ****************** 프린트 CSS ****************** */
  4. /* 아래에 설정값이 없으면 기본값을 따르게 됩니다. */
  5.  
  6. /* 개요 스타일 설정 */
  7. h1, h2, h3,
  8. h4, h5, h6     { page-break-after: avoid; page-break-inside: avoid }
  9.  
  10. /* 인용 스타일 설정 */
  11. blockquote,
  12. pre     { page-break-inside: avoid }
  13.  
  14. /* 목록 스타일 설정 */
  15. ul, ol, dl     { page-break-before: avoid }
  16.  
  17. /* 링크 스타일 설정 */
  18. a     { font-weight: normal }
  19.  
  20. /* 그림 파일 스타일 설정 */
  21. img     { border: 0; }
  22.  
  23. /* 인쇄에서 제외할 부분 */
  24. script     { display:none } /* 본문 안에 보일 내용을 script 태그 처리했을 경우 주의 요망 */
  25. div script     { display:none } /* IE6 버그가 있음. div.noprint / div._ad 태그 설정이 되어도 인쇄에서 나타남.
  26.                            그러므로 div 태그와 script 태그를 중첩하여 최대한 정돈하게 만듦. */
  27. .noprint     { display:none } /* 말 그대로 인쇄 안함. */
  28. ._ad     { display:none } /* 구글 광고 등은 인쇄 안 함. IE6은 오류가 있어서 그대로 인쇄됨. */
  29. #paging     { display:none } /* 문서 하단의 #paging 아이디는 인쇄 안함 */
  30. #header     { display:none } /* 문서 상단의 #header 아이디는 인쇄 안함 */

일단 저런 식으로 만들 수 있다.

저것을 티스토리에 적용한 다음 출력하고 싶지 않은 부분을 <div class="noprint"></div>로 감싸서 화면에서는 보이지만, 인쇄에서는 보이지 않게 했다.

  • 참고 1 : 모든 경우에 적용할 수 있는 클래스 이름을 만들려고 한다면, <div class="displaynone"> 또는 <div class="nodisplay">를 추천한다. 이것은 화면CSS, 인쇄CSS, 음성CSS 등에서 같은 이름으로 쓸 수 있기 때문이다. 이 display:none와 비슷해서 나중에 적용할 값을 기억하기에도 좋다. 참고로 display:none은 사용자에게 "보여주지 않는다."라는 뜻이 아니다. 이것은 "사용자에게 내보내는 출력이 없다."라는 뜻이다.
  • 참고 2 : div script  { display:none } 설정과 div, script { display:none } 설정은 서로 다르다. 앞엣것은 div 태그와 script 태그가 중첩될 경우에 출력을 없게 하라는 뜻이고, 뒤엣것은 div 태그와 script 태그 각각에게 출력이 없게 하라는 뜻이다.

티스토리에 적용

처음 적용 : 실패 1

처음에는 티스토리 스킨 편집 화면을 열었다.

HTML/CSS 편집은 두 부분으로 나뉘는데, 위가 skin.html 파일이고, 아래가 style.css 파일이다. 여기에서 style.css를 편집하였다. 위의 화면은 화면을 최대한 줄인 화면이다. skin.html과 style.css을 클릭하면 편집 영역이 아래로 길어지게 된다.

style.css 파일 맨 아래에 다음과 같이 끼워넣었다.

  1. @media print {
    h1, h2, h3,
    h4, h5, h6     { page-break-after: avoid; page-break-inside: avoid }

    blockquote,
    pre     { page-break-inside: avoid }

    ul, ol, dl     { page-break-before: avoid }

    a     { font-weight: normal }

    img     { border: 0; }

    /* 인쇄에서 제외할 부분 */
    script     { display:none }
    div script     { display:none }
    .noprint     { display:none }
    ._ad     { display:none }
    #paging     { display:none }
    #header     { display:none }

    }

그러나 작동하지 않았다. 다른 부분은 추가 작업이 필요했지만, 최소한 #paging 아이디 선택자와 #header 아이디 선택자를 사용한 곳에서는 적용이 되어야 했기 때문이다. 다시 말해 화면 인쇄를 하면 화면에 나타나지 않아야 하는 #paging 아이디 선택자와 #header 아이디 선택자를 사용한 곳이 버젓히 드러나 있었다.

나는 내 실수를 알지 못해 한참을 헤매야 했다.

참고로 내가 참조한 http://www.w3.org/StyleSheets/home-import.css 파일은 http://www.w3.org/StyleSheets/home.css 파일에서 @import 를 이용하여 불러왔고, http://www.w3.org/StyleSheets/home.css 파일은 http://www.w3.org/ 페이지 헤더 태그에서 link 태그를 이용하여 불러왔다.

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
  4. <head profile="http://www.w3.org/2000/08/w3c-synd/#"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5.   ... 생략 ...
  6.   <title>World Wide Web Consortium - Web Standards</title>
  7.   <link rel="meta" href="/Overview-about.rdf" />
  8.   <link rel="stylesheet" type="text/css" href="/StyleSheets/home.css" />
  9.   ... 생략 ...
  10. </head>

그런데 내가 쓰는, 그리고 이전에 썼던 티스토리 스킨의 헤더에서 공통적인 부분만 뽑아내면 다음과 같았다.

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <link rel="alternate" type="application/rss+xml" title="왕미친놈의 왕미친세상" href="https://koc2000.tistory.com/rss" />
  6. <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
  7. <link rel="shortcut icon" href="https://salm.pe.kr/favicon.ico" />
  8. <title>왕미친놈의 왕미친세상 :: '벌레와 팁' 카테고리의 글 목록 (4 Page)</title>
  9.  
  10. </head>

차이가 나는 부분은 빨간색으로 처리했다. 저 부분을 발견하지 못해서 헤매고 말았다.

다시 말해 내가 style.css 내용에 아무리 인쇄에 대한 내용을 넣어서 반응하지 않을 수밖에 없었다.

  1. @media print {
  2.     ... 인쇄 CSS 내용 ...
  3. }

위와 같은 설정은 처음부터 무시되었다는 뜻이다. 왜? 처음 읽어들일 때부터 화면(screen)에 맞게 읽어들였다는 뜻이고, 인쇄(print)음성(aural)은 무시한다는 뜻이다. 위에 빨간색으로 된 media="screen"은 그런 뜻이다.

실패 2

HTML/CSS 편집이 안 된다면 파일로 처리하자는 생각을 가지게 되었다. 이때 위의 화면에 있는 "파일 업로드" 탭이 눈에 들어왔다.

흠, 파일업로드를 클릭하여 파일을 찾아 올렸다. 여기에서도 또 실수를 하고 만다. 바로 print.css 파일이 올라간 곳을 확인하지 않아 버렸다. 아무튼 다음과 같이 입력했다.

  1. <link rel="alternate" type="application/rss+xml" title="왕미친놈의 왕미친세상" href="https://koc2000.tistory.com/rss" />
  2. <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
  3. <link rel="stylesheet" media="print" type="text/css" href="./print.css" />
  4. <link rel="shortcut icon" href="https://salm.pe.kr/favicon.ico" />

아무 생각 없이 당연히 style.css와 같은 경로에 있겠거니 생각하고, 써넣어 버린 무지막지한 실수였다.

당연히 실패!

그렇다면 파일은 어디에 있을까?

인쇄CSS 적용 성공

인쇄 CSS 파일을 찾아서 다시 파일업로드 탭을 쿡 눌러주었다. 스크롤바를 아래로 주~욱 내리자 보였다.

어라, preview.gif는 다른 파일과 달리 앞에 images/ 가 없었다. 물론 print.css도 다른 파일처럼 images/ 가 붙어 있었다. 결국 preview.gif 파일만 빼면 같은 디렉터리에 있다는 말이었다. 

다시 HTML/CSS 편집 탭으로 넘어가서, 아까 편집했던 부분을 적당히 고쳤다.

  1. <link rel="alternate" type="application/rss+xml" title="왕미친놈의 왕미친세상" href="https://koc2000.tistory.com/rss" />
  2. <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
  3. <link rel="stylesheet" media="print" type="text/css" href="./images/print.css" />
  4. <link rel="shortcut icon" href="https://salm.pe.kr/favicon.ico" />

위와 같이 고치자 드디어 작동했다.

좀 더 추가

아까 서버에 올린 인쇄CSS 파일에는 .noprint 및 ._ad 클래스에 대한 설정이 있었다. 이것은 곧 인쇄하지 않을 부분과 광고 부분을 <div></div>로 감쌀 수 있다는 뜻이다. 

또한 마지막으로 화면에는 안 보이지만 인쇄에서만 보일 부분도 설정하였다.

최종적으로 인쇄 CSS 적용 전과 적용 후의 화면 인쇄(일부)는 다음과 같다.  

  • 인쇄CSS 적용 전 인쇄 미리보기 화면 (전체 7쪽[각주:1]) : 삭제할 내용을 분홍색으로 표시하였다.[각주:2]

    • 처음 두 쪽은 쓸모 없는 내용이다. 아니 쓸모는 있지만, 인쇄에서는 굳이 필요하지 않다.
    • 3쪽 위의 내용은 "My 블로거 뉴스"이다. 역시 방문자에게는 필요하지 않은 내용이다. 가운데 있는 내용은 구글 광고라서 역시 인쇄에서는 필요하지 않다.
    • 6쪽에서 보이는 것은 위젯이다. 역시 인쇄에서는 필요하지 않다.
    • 7쪽은 티스토리 저작권 정보이다. 화면이 아닌 인쇄 결과는 티스토리 회사에서 만든 페이지 구성대로 되지 않으므로 인쇄할 필요가 없는 부분이다.
      CSS 적용 전 인쇄 미리보기

      CSS 적용 전 인쇄 미리보기

    • 인쇄 CSS 적용 후 화면 (전체 4쪽[각주:3]) : CSS 적용 전 화면과 비교하면, 헤더 부분이 모두 사라져서 앞부분이 아주 깔끔해졌다.[각주:4] 또한 화면에는 나타나지 않지만, 맨 마지막 쪽에 위젯이 사라지지 않고 남아 있다. 이 부분도 script 태그와 embed 태그의 영향으로 보인다.[각주:5]
      CSS 적용 후 인쇄 미리보기 (IE)

      CSS 적용 후 인쇄 미리보기 (IE)

      CSS 적용 후 인쇄 미리보기 1 (FF)

      CSS 적용 후 인쇄 미리보기 1 (FF)

      CSS 적용 후 인쇄 미리보기 2 (FF)

      CSS 적용 후 인쇄 미리보기 2 (FF)

위와 같이, 인터넷 익스플로러 6 환경에서는 구글 광고 및 위젯 사이에는 인쇄CSS 적용에서 약간의 문제가 있다.

적용 및 원리

티스토리에서는 게시글 부분이 따로 분리되어 있다. 그 점을 이용하여 인쇄할 때 나타날 부분만 골라낼 수 있다. 또한 내가 했던 것처럼 자세히 할 필요도 없다. 그저 본문만 남겨도 된다.

이때 몇 가지를 중시해야 한다. 우선 티스토리 HTML 파일은 들여쓰기가 되어 있다. 이때 같은 단계끼리 짝을 짓도록 노력하라. 화면에서 보이지 않게 할 부분을 찾아, 그것이 HTML 코드의 어느 부분인지를 알아내야 한다. 그 뒤에 알맞은 곳에 noprint 클래스를 삽입하여야 한다. 아래 그림에서는 <s_tb> 태그에 noprint 클래스를 삽입하였다.

가장 중요한 것은 본문을 잘 찾아야 한다는 점이다. 왜냐하면 본문은 반드시 인쇄할 때 종이에 출력되어야 하기 때문이다. 자세한 사항은 티스토리 스킨 제작 가이드에 나오는 스킨의 구조를 살펴보시기 바랍니다. 간단히 말한다면, 구글 광고가 없다면, <div class="article"> 태그를 찾아야 합니다. 구글 광고가 있다면 <div class="article">를 찾고, 그 뒤에 <div class="article_post"> 태그를 찾아야 합니다. 특히 <div class="article_post"> 부분은 티스토리 글쓰기에서 입력한 내용이 나타나는 부분입니다. 치환자가 바로 본문을 만들어 주는 부분입니다. 이때 article 클래스 및 article 클래스 모듬[각주:6]이 화면에서 "게시글"을 이루게 됩니다. 앞서 말한 "본문"은 그러한 의미입니다. 따라서 인쇄할 때도 이 article 클래스 모듬 부분이 주를 이루게 해야 합니다.

그 다음으로 중요한 것은 paging 아이디 선택자와 header 아이디 선택자를 찾아야 한다. 이 두 부분은 반드시 인쇄할 때 출력하지 않아야 하기 때문이다. header 부분은 방문객에게는 쓸모가 없는 부분이 많고, paging 부분은 저작권 정보에 해당하는데 화면 구성에서는 옳지만, 인쇄에서는 그 저작권 정보가 그다지 유용하지 않다. 그러므로 인쇄할 때는 나타나지 않게 해야 한다. 하지만 이 부분을 모두 인쇄에서 나타나지 않게 하려면 굳이 HTML에서 찾기보다 인쇄CSS 파일에 아래와 같이 처리하면 된다.

  1. #paging     { display:none }
  2. #header     { display:none }

나머지 부분은 스스로 잘 찾아서 잘 처리하기 바란다.

PDF 저장

원래 인쇄CSS에 관심을 가지게 된 까닭이 바로 웹페이지를 PDF로 저장해 주는 기능 때문이었다. 이것은 도아의 세상사는 이야기의 게시글 블로그에 PDF 저장 단추를 달자를 읽고 나서 생각했다. 자신의 홈페이지나 블로그에 PDF 단추를 다는 기능은 도아의 세상사는 이야기를 참고하기 바란다.

각설하고, 이 PDF 저장 단추도 인쇄CSS를 이용하기 때문에 자신의 홈페이지에 인쇄CSS를 적용해 두면 PDF 저장 기능에서 더 짧은 시간에 그 기능을 이용할 수 있다. PDF 저장 기능은 외국 사이트에 웹페이지 정보를 보내면, 그곳에서 PDF로 저장해서 자신의 컴퓨터로 내려받을 수 있게 해 주는 서비스이기 때문이다.

아래 다운로드는 왕미친세상에 달아둔 PDF 저장 단추를 클릭하여 만든 PDF 파일이다. 참고하기 바란다.

다운로드

다음과 같이 아이디 페이지를 PDF 파일로 변환하였다.

관련 문서

  • 도아 님의 블로그 도아의 세상사는 이야기 : 블로그에 PDF 저장 단추를 달자
  • Learn CSS : CSS 문법을 한국어로 번역해 놓은 사이트. 글자가 깨질 수도 있다. 문자셋을 한국어 (UTF-8) 또는 유니코드 (UTF-8)로 맞추면 해결된다.

이 글은 스프링노트에서 작성되었습니다.

  1. 참고로 파이어폭스는 전체 5쪽이었다. [본문으로]
  2. 인터넷 익스플로러 6은 CSS를 제대로 지원하지 못하고 있다. 이는 모질라 파이어폭스도 비슷하나, 인터넷 익스플로러에 비하면 매우 양호하다. 또한 인터넷 익스플로러 사용자가 많으므로 자료화면은 인터넷 익스플로러에서 따왔다. [본문으로]
  3. 참고로 파이어폭스는 80% 축소 인쇄로 전체 3쪽, 100% 인쇄로 전체 4쪽이었다. [본문으로]
  4. 파이어폭스에서는 아예 구글 광고가 사라져 있다(두 번째 그림) [본문으로]
  5. 파이어 폭스에서는 위젯 없이 공백으로 남아 있다. 이 부분에 대해 좀 더 연구가 필요하다. [본문으로]
  6. article 및 article_ 로 시작하는 클래스를 편의상 article 클래스 모듬이라고 하겠다. [본문으로]
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

읽기에 앞서

네이버 블로그에 질문을 올렸더니 아주 황당한 답변이 왔다. 바로 "삭제한 파일이기 때문에 접근할 수 없다."라고 했다. ㅡㅡ; 도대체 지금도 멀쩡히 있는 테스트 페이지테스트 파일을 무슨 근거로 삭제되었다고 하는지 모르겠다.

그리고 네이버의 외부링크는 IMG 태그나 OBJECT, EMBED 태그 등으로 연결된 자료뿐만 아니라 A 태그로 연결된 자료도 제한하고 있다.

벌레의 유형

네이버 블로그에 그림 파일이나 그밖에 파일을 올리면 그 저작권 설정(또는 공개 설정)에 상관 없이 네이버 안에서만 이용할 수 있다.
  • 이 벌레는 유난히 거짓말이 심하다. 2003년 무렵 웹상에 있으면 당연히 접근할 수 있다는 요지의 답변을 받은 적이 있기 때문이다.
  • 이 벌레는 네이버 외부에서 들어오는 접근을, 웹파일(HTML 등)으로 들어오는 접근이 아니라면, 우선 막고 보는 강력한 결계를 작동시킨다. ㅡㅡ;
  • 블로그도 웹(WWW)이기 때문에 게시자는 누구나 자신의 게시물을 자신이 설정한 저작권 규칙에 따라 이용할 수 있으리라 생각하고 게시하게 된다. 내 경우는 특별한 의미나 가치가 없다면 대부분 [저작자표시-사용제한금지-동일조건변경허락]이라는 지극히 자유로운 조건을 내걸고 있다. 그런데 이 경우 네이버처럼 접근 제한을 걸게 되면, 오히려 저작권 위반이 된다고 여겨진다. 결국 네이버 블로그에서는 CC-BY-SA 자료는 서버에 올릴 수 없다는 결론에 도달한다. 설령 서버에 올리더라도 실제로 이용할 수 있는 것은 네이버 사용자뿐일는지도 모른다.

벌레의 발견

이 벌레는 네이버에 대해 검색하면서 우연히 알게 되었다. 그러나 그에 대해 그다지 깊이 생각하지 않았다. 그러다가 유난히 네이버를 싫어하는[각주:1] 도아 님의 블로그에서도 확인하게 되자 조금은 의심하게 되었다.

쇠뿔도 단 김에 빼자고, 네이버 아이디를 가지고 있는 김에 블로그도 만들었다. 그리고 파일을 올렸다. 올리는 도중에 이상한 벌레도 만났다. 아무튼 파일을 서버에 올린 뒤 외부에서 접근했다.

일단 위의 그림이 어떻게 보이는지부터 알아보자. 아래에는 <img src="http://blogfiles13.naver.net/data41/2009/4/5/156/test-naver_superior2000.png" width="493" height="299"> 라는 태그가 있으나 빈줄로 나타난다.

 

아울러 위의 두 파일 모두 HTTP404 오류를 보이면서 정상적인 접근을 할 수 없었다. 다시 말해 A 태그로 연결된 경우도 제한하고 있다는 뜻이다.

정상 상태라면 아래처럼 보여야 했다.

이때 특이한 현상을 발견했는데, 바로 주소 표시줄에 주소를 입력하고 엔터를 치면 위와 같은 정상적인 화면을 보여준다는 점이다. 이 말은 그림 파일을 A 태그나 IMG 태그를 써서 화면에서 볼 수는 없지만, 다운로드는 가능하다는 말이다. 그런데 그림 파일을 직접 화면에서 보지 않고 다운로드 하는 사람이 얼마나 될까? 더구나 내가 올리는 파일은 "예술적"인 이미지도 아니라서 그림 하나를 받느니, 차라리 페이지 전체를 받는 쪽이 훨씬 이익이다.

그때는 무슨 일이?

한편 2003년 11월에 내가 만든 홈페이지가 네이버에 엉뚱하게 등록되어 있는 문제로 약간의 다툼이 생겼다. 그때 아래와 같은 답변을 받았다.

재미 있는 점은 세 가지이다. (1) 하나는 네이버봇의 업데이트 시기에 웹상에 웹문서가 떠있다면 웹문서 검색결과로 나오는 것은 당연한 일이라고 말한다는 점과, (2) 다른 하나는 내가 홈페이지 등록을 요청했다고 하는 점이며, (3) 마지막으로 고객이 등록 요청한 이상 검색에 나와서 문제가 되는 개인정보라고 볼 수 없다고 "생각한다"는 답변이었다.
이 세 가지 모두 당시도 지금도 말이 안 되는 사항이다. (1)번에 대해서는 robots.txt로 설정되어서 구글조차 접근하지 못하던 때였다. 오직 네이버만 접근해서 데이터를 긁어갔다는 뜻이 된다(현재는 구글만 접근 가능하다). (2)번에 대해서는 내가 등록을 요청한 적이 없다. 내가 요청한 바는 네이버 등록 갱신 거부였다. (3)번에 대해서는 웹에 공개된 정보라도 문제가 되는 개인정보일 수 있다는 점이다. 이 점은 좀 더 뒤(2004년 무렵)에 구글에서 개인 주민등록번호가 검색되어서 물의를 빚었다. 다시 말해 네이버의 말은 이치에 맞지 않는다.[각주:2]

다음 그림은 2003년에 보냈던 개별 페이지가 검색되지 않도록 조치해 달라고 했다. 이 내용은 내가 등록 갱신 거부를 하자, 그게 불가능하다고 해서 네이버에서 답변이 오자 요청 내용을 바꾸게 되었다.

위의 요청을 하기 전에는 어떤 것이었냐고? 내용까지는 필요없고, 제목만 보여 주겠다.

내용을 몰라서 서운한 점은 없으리라 생각한다. 네이버 고객센터에서는 친절하게 메일 제목을 그대로 되돌려주었기 때문이다. 2002년 12월 19일에 받은 답변이다. 분명히 "홈페이지 등록 갱신을 거부합니다."라고 했다. 내가 홈페이지 등록을 요청한 적이 한 번도 없다는 점은 두말하면 입 아프다.

네이버봇은 되고, 사람은 안 된다?

내 홈페이지 등록이야 이미 오래전에 지나간 일이니 넘어가기로 하고, 지금 중요한 점은 다른 데 있다.

바로 위의 내용대로라면 네이버봇은 접근 금지한 웹페이지 접근해도 되며, 사람은 접근 허용된 웹페이지조차 접근할 수 없다는 점이다.

웹문서 검색결과는 웹상에 존재하는 문서에 대해서 네이버의 웹문서 검색 로봇이 주기적으로 색인 하여 웹문서 검색에 반영 하는 것으로, 방대한 분량의 웹문서를 색인 하는데에는 오랜 시간이 소요되므로 실제 웹상에 존재하는 데이터와의 시간차가 생길 수 있습니다.
웹문서의 변경된 내용은 3~4주의 간격으로 자동으로 업데이트가 됩니다.
그 업데이트시기에 웹상에 고객님의 웹문서가 떠있다면 웹문서 검색결과로 나오는 것은 당연한 일입니다. 웹문서 검색로봇은 등록된 홈페이지와 등록요청한 홈페이지, 다른 사이트에 등록된 홈페이지까지 포함해서 검색되는 기능입니다.

아무것도 아니라고 여길 수도 있는 위의 내용은 분명히 네이버봇(네이버의 웹문서 검색 로봇)이 웹상에 존재하는 문서에 접근하고 있음을 뜻하고 있으며, 그에 대해 웹상에 있다면 당연히 검색결과로 나온다고 하였다. 이것은 곧 웹상에 있으면 접근을 막을 수 없다는 결론에 도달한다. 나아가 앞서 말한 robots.txt로 막았더라도 접근할 수 있다고 주장하고 있다.

그런데 이번 네이버 블로그 데이터를 외부에서 접근하기 힘든 사건은 그러한 네이버의 답변을 정면으로 부정하고 있다. 다시 말해 네이버 블로그에 대해서는 내가 네이버로부터 2003년에 받은 답변은 사실이 아니다.

도아 님이 말씀한 "세상에서 가장 심한 욕"이 절실히 느껴진다.

회사 측 답변

2009년 4월 8일 현재 답변을 받았다. 그런데 아주 어이없는 답변이다.

어이가 없을 지경이다. 지금도 웹에 있는 그림이거늘, 삭제되었다니?

아래의 길쭉한 파일은 메일 원본을 잡은 화면이다.

관련 문서

이 글은 스프링노트에서 작성되었습니다.

  1. 아니다. 유난히 몹쓸짓을 네이버가 많이 했기 때문이다. [본문으로]
  2. 그게 이치에 맞는다면, 네이버는 주민등록번호를 검색해서 모아도 된다는 네이버스러운 사고방식이다. [본문으로]
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

팁텍

처음 올리는 팁이다. 그런데 처음부터 황당한 팁이다. 또한 전혀 효과가 없을 수도 있다. 왜? 압축이지만 압축이 아니기 때문이다. 다만 이 팁을 잘 쓰면 확실히 용량을 줄일 수 있다.

  • 참고 : 이 글에서 다루는 비주얼 스튜디오 익스프레스(Visual Studio Express)의 최신 버전은 Visual Studio 2008 Express 이며, 마이크로소프트 MSDN 홈페이지에서 무료로 구할 수 있다. 이 비주얼 스튜디오 익스프레스는 비주얼 스튜디오의 축약 버전이라서 기능에 제한이 있고, 상업용 프로그램 제작에도 제약을 가지고 있다. 하지만 당장 쓸 만한 프로그래밍 툴 및 프로그래밍 통합 환경(IDE)을 구할 수 없다면, 이것도 좋은 대안이 될 수 있다.

팁의 발견

오랜만에 비주얼 스튜디오 2005 익스프레스(Visual Studio 2005 Express)를 설치하려고 하드디스크에 잠들어 있던 iso 파일을 뒤졌다. 그런데 막상 이미지를 살펴보니 너무 중복 파일이 많았다. 일단 하위 폴더인 WCU를 옮겨 보니~ 아뿔싸! 먼저 설치하지 않는 한 옮기게 되면 설치 도중 오류가 발생한다. ㅡㅡ; 쳇!

이 경우 이미지 안에 있는 WCU 폴더에서 먼저 설치한 뒤에 본 프로그램을 설치하면 되지만, 폴더를 옮긴 뒤에 항상 기억할 수 있다는 보장이 없었다.

또한 비슷비슷한 이미지가 모두 다섯 개였다. VB.iso, VC.iso, VCS.iso, VJS.iso, VWD.iso. 참고로 비주얼 스튜디오 익스프레스는 무료이며. ^^a 이미지 파일 내부 경로의 구조는 위와 같다(이때 VB 폴더는 없지만, 압축을 풀었을 때는 저와 같이 된다.). 이때 WCU 폴더가 다른 이미지 파일에도 거의 똑같이 존재한다.

이때 생각난 것이 바로 마이크로소프트에서 배포하는 oscdimg 프로그램이다. 이 프로그램은 마이크로소프트에서 CD 이미지를 만들 수 있게 제공하는 프로그램이다. 최신 버전은 2.54로 알려져 있다. 주로 쓰이는 버전은 oscdimg의 바로 앞 버전인 CDIMAGE v2.47이다. CDIMAGE v2.47 다음 버전이 oscdimg인데, 기능이 많이 줄어들었다. 그러다가 2.54 버전에서는 CDIMAGE에서 지원하던 기능을 모두 지원하도록 바뀌었다.

설명서는 마이크로소프트 테크넷에서 구할 수 있으며,( http://technet.microsoft.com/ko-kr/library/cc749036.aspx ) oscdimg v2.54용이다.

프로그램 설명

oscdimg의 기본 사용법은 다음과 같다.

OSCDIMG [선택사항] 작업대상(원본) 만들파일

실제로 적용하면 다음과 같다.

OSCDIMG -L볼륨명 -H -M -X -O -N "작업대상(원본)" "만들파일.ISO"

사용자가 지정해야 하는 부분은 굵은 글씨로 하겠다.

처음부터 차례대로 설명하자면 다음과 같다. 선택사항 -L과 -X를 제외한 나머지는 반드시 지정해야 한다. -X는 반드시는 아니지만 대부분의 압축파일이 지원하고 있으므로 지정하는 편이 낫다.

  • -L : 볼륨 레이블을 지정합니다. l과 labelname 사이에 공백을 넣지 않습니다. 예: -lMYLABEL

  • -H : 숨김 속성을 가진 디렉터리와 파일을 포함합니다.

  • -M : 이미지의 최대 크기 제한을 무시합니다. 곧 이미지의 크기가 681,984,000바이트보다 크더라도 무시하고 진행합니다.

  • -X : 이미지의 AutoCRC 값을 계산하고 인코딩합니다.

  • -O : MD5 해시 알고리즘으로 파일을 비교해 중복 파일을 한 번만 인코딩하여 저장소를 최적화합니다.

  • -N : (도스의 8.3 이름보다) 긴 파일 이름을 사용합니다.

매개변수 가운데 원본폴더와 만들파일 이름은 만약에 대비하여 위와 같이 따옴표로 묶는 편이 낫다.

적용

이 팁을 생각하게 된 원인은 의외로 단순했다. 이 기술은 수많은 WOW CD에 담긴 파일을 처리하는 방법이다. 그것을 자주 보았지만, 전혀 느끼지 못했다.

그러다가 Visual.Studio.2005.Express.Edition.en.iso (651,726,848 바이트)라는 파일을 보게 되었다. 분명 한국어판에는 저런 CD를 지원하지 않는데, 영어판에는 지원이 되고 있었고, 어떤 이유에서인지 인터넷에 풀려 있었다. 물론 저기에 담긴 파일은 모두 무료 버전으로 비주얼 스튜디오 2005보다 기능의 제약이 많다. 내가 앞서 예를 든 .ISO 파일은 대부분 한글판으로 저렇게 전체를 묶은 CD 이미지를 구할 수 없었다.

아무튼 저런 CD가 나에게 있었으면 좋겠다고 생각하고, 압축을 풀었는데 용량이 2,369,667,072 바이트로 처음보다 3.5배로 늘어나 버렸다. 그것을 본 그때 "이 방법"도 저장 용량을 줄이는 좋은 방법이라는 생각이 머릿속을 스치고 지나갔다.

이 방법은 중복 파일이 많으면 많을수록 효과가 좋다. oscdimg 프로그램은 압축을 해 주는 프로그램이 아니라, 단순히 파일을 묶어서 CD 마스터링 이미지를 만들어주는 프로그램일 뿐이기 때문이다.

  • 참고 : 이때 이런 유틸을 패키징 유틸리티라고 부르는데, 도스와 윈도에서는 대부분의 압축 프로그램이 패키징 기능을 제공하고 있다. 그러나 유닉스 계열에서는 압축 프로그램과 패키징 프로그램이 따로 나뉜 경우가 많다. 대표적인 경우가 바로 tar, deb, rpm 등이다. 특히 tar는 압축 없이 파일을 그냥 묶어만 주는 특이한 프로그램으로, 초기 유닉스에서부터 현존하는 여러 유닉스와 리눅스 등에서도 널리 쓰이는 유틸리티이기도 하다. 유닉스에서는 강력한 파이프라인 기능을 바탕으로 패키징 기능과 압축 기능을 나누어서 사용할 수 있다. 그러나 도스에서는 파이프라인이 64킬로바이트 한계를 지녔기 때문에 파이프라인을 이용하여 크기가 큰 파일이나 파일 수가 많은 디렉터리를 다룰 수 없었다. 결국 압축 파일이 패키징 기능도 갖추어야만 했다. 이런 이유로 이 글에서는 패키징 기능도 압축이라고 설명하겠다.

압축 풀기

우선 Visual.Studio.2005.Express.Edition.en.iso 파일과 VB.iso, VC.iso, VCS.iso, VJS.iso, VWD.iso 파일들을 자신이 만든 임시 폴더에 압축을 풀어 놓자. 편의상 Visual.Studio.2005.Express.Edition.en.iso 파일의 압축을 풀어 VSEN 폴더에 집어넣고, VB.iso, VC.iso, VCS.iso, VJS.iso, VWD.iso 한글판 비주얼 스튜디오 익스프레스 파일들은 각각 파일 이름대로 VB, VC, VCS, VJS, VWD라고 폴더를 만들었다.

참고로 압축을 풀기 전의 용량은 다음과 같다.

  • VB.iso : 555,814,912 바이트
    VC.iso : 587,999,232 바이트
    VCS.iso : 552,095,744 바이트
    VJS.iso : 459,505,664 바이트
    VWD.iso : 562,378,752 바이트
  • 소계 : 2,717,794,304 바이트
  • Visual.Studio.2005.Express.Edition.en.iso : 651,726,848 바이트 (2,369,667,072 바이트 내장)

그렇게 압축을 풀었더니 다음과 같은 폴더 구성을 지니게 되었다.

 

위의 두 그림은 VSKO의 하위 폴더의 수가 2개 모자라서 아래로 내려오게 수정한 것을 제외하면 동일하다. 아, 대/소문자가 다르다고? 윈도에서는 파일 이름과 폴더 이름에서 대/소문자를 쓸 수 있지만, 겉보기로만 다를 뿐 윈도에서 다룰 때는 같다고 인식하므로 문제 없다. 위에는 나타나지 않았지만, VSEN 폴더에는 SQL2005EE.EXE (56,105,688바이트) 파일이 존재했다. 이것은 SQL2005 Express Edition 파일이다. 아무튼 SQL2005 익스프레스 에디션은 내가 가지고 있지 않았기 때문에 이것을 그대로 남기기로 했다. 그밖에 VSEN 폴더에는 익스프레스 에디션 전체 설치를 위한 설치 프로그램이 있었는데, 그것도 그대로 이용하기로 했다.

복사 작업

복사 작업 1

그 뒤 한글판 비주얼스튜디오의 파일을 VSEN 폴더에서 찾아 이름이 같은 폴더끼리 복사해 넣는다. 이때 같은 이름을 가진 파일은 무조건 덮어쓰기를 하였다. 이는 파일 날짜가 한글판이 좀 더 늦었고, 날짜가 늦다는 말은 무언가 기능 추가가 있었을 수도 있기 때문이다. 거기다가 한글판이나 영문판에만 있는 파일도 있는 등의 이유로 전체 용량이 늘어나서 2,786,927,907 바이트가 되었다.

복사 작업 2

그 뒤 WCU 및 그 하위 폴더의 용량과 파일을 비교해야 한다. 폴더 비교에는 WinMerge v2.10.4.0 Unicode 버전을 이용했다. 다만 이 파일 비교 작업은 수작업으로 할 필요 없이 oscdimg 프로그램에 -O 옵션을 주어 처리하면 된다. 이 작업을 굳이 하는 이유는 가끔 하위 버전이 섞이는 때가 있기 때문이다.

각 폴더의 용량은 다음과 같다.

  • VSKO\VB\wcu - 504,992,856 바이트
  • VSKO\VC\wcu - 504,992,856 바이트
  • VSKO\VCS\wcu - 504,992,856 바이트
  • VSKO\VJS\wcu - 410,896,792 바이트 (jsharpredistcore 폴더를 제외하면, 407,100,120 바이트)
  • VSKO\VWD\wcu - 504,992,856 바이트

위에서 VJS\wcu 폴더의 크기는 폴더의 수가 하나 더 많음에도 지나치게 작았다. 이는 dotNetFramework 폴더에 언어팩 파일이 없었고, 그밖에 몇몇 파일에서 차이가 났다. 더구나 MSDN의 축약 버전인 MSDNExpress 파일에서 차이가 심하게 났다.

  • VSKO\VB\wcu\MSDNExpress - 319,828,160 바이트
  • VSKO\VJS\wcu\MSDNExpress - 234,788,544 바이트

나머지 폴더도 확인해 보니 일부 파일 날짜가 다르기는 했다. 결국 VJS 폴더를 제외하면 모두 같은 파일이었다. 또한 VJS 폴더의 MSDNExpress 폴더는 영문판의 것과 같았다는 데에도 덮어쓰는 이유가 있었다.

이와 같은 결과를 바탕으로 VSKO\VB\wcu 폴더의 파일을 VSKO\VJS\wcu 폴더에 복사하여 덮어쓰기로 했다. 복사 전 용량은 2.59GB (2,786,927,907 바이트 )로 표시되었고, 복사 후 용량은 2.68GB (2,884,820,643 바이트)로 표시되었다.

주의 : 이 수작업 복사는 매우 위험하다. 이번 작업에서는 확실히 영문판과 한국어판의 차이를 알고 있었기 때문에 복사해 넣어도 무리가 없었다. 그러나 일반적으로 이렇게 작업하면 나중에 설치 작업이 제대로 이루어지지 않을 수도 있다. 그러므로 확실히 알지 못한다면 이 "복사 작업 2"는 하지 않기를 바란다.

압축 작업

그 뒤 명령줄에서 다음과 같이 입력하여 폴더를 ISO 파일로 바꾸었다. 이때 작업할 대상은 F:\Temp\VSKO 폴더이고, 만들 파일은 F:\Temp\VS2005EK.ISO 파일이다.

OSCDIMG -LVS2005KO -H -M -X -O -N "F:\Temp\VSKO" "F:\Temp\VS2005EK.ISO"

참고로 복사 작업 2를 하지 않고 작업하면 1.02GB (1,096,298,496 바이트)로 표시되며, 복사 작업 2를 하고 작업하면 783MB (821,385,216 바이트)로 표시되었다. 압축 전에는 복사 작업 2를 거쳤을 때 용량이 더 컸지만, 압축한 뒤에는 오히려 복사 작업 2를 거치면 더 용량이 적어진다. 이 압축이 동일한 파일만을 대상으로 삼아 처리하기 때문이다.

이 파일을 다시 압축하면 좀 더 용량을 줄일 수 있다. 그것은 여러분의 선택의 몫이다. 또한 UltraISO 프로그램 등을 이용하면 ISO 파일 자체를 압축한 형태로 지원해 준다(그때 확장자는 .isz로 바뀐다.).

원리

이러한 파일 처리 방식도 압축 기법일까? 당연히 압축 기법이다.

압축에 대한 컴퓨터 알고리듬을 배울 때 맨 처음에 등장하는 알고리듬이 바로 반복 길이 부호화(RLE, Run-length encoding) 알고리듬이다. 예를 들면 다음과 같다.

원문 : FFFFFFFFAAACCCCCCCUUBBBBKXXXXXXXXXDDDDD (39바이트)
압축문 : F8A3C7U2B4K1X9D5 (16바이트)

위와 같이 반복되는 문자의 길이를 수치화하여 전체 코드를 줄이는 방법이다. 곧 반복 되는 문자를 [문자 + 갯수]의 형태로 치환하여 전체 길이를 줄이려는 압축 방법이 반복 길이 부호화 방법의 핵심이다. 다만 간혹 오히려 길이가 늘기도 하는데, 위에서는 K의 경우가 그것에 해당한다.

그런데 oscdimg 파일이 시도하는 방법은 반복 길이 부호화 방법과 원리상 동일하나 그 구현이 조금 다르다. 반복 길이 부호화에서는 파일 내부를 대상으로 삼지만, oscdimg는 디렉터리(폴더) 내부를 내상으로 삼는다. 반복 길이 부호화에서는 파일 내부에서 같은 문자 또는 문자열을 발견하여 치환하지만, oscdimg는 디렉터리 내부에서 MD5 값이 같은 파일을 대상으로 삼는다. 이때 MD5 값은 파일이 같은지를 검증하는 방식 가운데 하나로서 그 값이 같으면 설령 파일 이름이나 만든 날짜가 다르더라도 그 내용이 같게 된다. 반대로 MD5 값이 다른 파일은 설령 파일 이름과 만든 날짜가 모두 같더라도 서로 다른 파일이다. (물론 그에 앞서 파일 크기가 같아야 한다.)

이러한 과정을 거치는 이유는 파일 내부에서는 같은 문자는 같은 비트의 배열로 나타나지만, 디렉터리에서는 파일 이름이나 파일 크기가 같음이 곧 파일 내용이 같다는 뜻은 아니라는 데에서 파일의 실제 내용이 같은지를 알아낼 방법으로써 MD5라는 방법을 사용하고 있다고 보면 된다.

아무튼 mscdimg의 방식은 파일은 그대로 두고 그 갯수를 세는 방식이 아니라, 나올 때마다 그 파일이 위치한 색인 위치를 기억시켜 처음 발견된 곳(또는 저장소에서 따로 지정된 곳)을 참조하게 만들고 있다. 반복 길이 부호화 방식이 중복되는 문자(또는 비트 배열)가 많을수록 압축률이 높아지듯이, 이 방식은 중복되는 파일이 많아지면 전체 용량이 줄어들게 된다.

이번 경우에는 VB, VC, VCS, VJS, VWD 폴더에 WCU 라는 하위 폴더가 거의 동일하게 존재했기 때문에 상당한 용량을 줄일 수 있었다. 또한 앞서 복사 작업 2를 거친 쪽이 압축 전 용량은 더 많았지만, 압축 후 용량은 저 적어진 까닭도 중복 파일이 더 많아졌기 때문이다.

다운로드

  • oscdimg 다운로드 : readme.txt 파일을 읽어보고 자신에게 맞는 프로그램을 쓰면 된다.
  • MD5 값 : 6a27dd39c64f8a8035d4d164c2f439a5
  • CRC32 값 : D57A0CE3

관련 문서

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

벌레의 유형

티스토리에 이어 네이버에서도 몸집을 키우는 뻥튀기 벌레가 있었다.

  • 알려주지 않고 파일 용량을 늘리는 벌레 : 몸속에 뻥튀기 기계를 갖추고 있지 않을까?

벌레의 발견

티스토리의 뻥튀기 벌레와 비슷하면서도 조금 다른 벌레이다.

이 벌레도 티스토리에서처럼 업로드 된 뒤에 파일 용량이 커질 수 있다는 경고를 한마디도 하지 않고 있다. 티스토리에서는 파일 형식이 바뀐 반면 네이버 뻥튀기 벌레는 파일 형식은 그대로 유지하면서 파일 크기를 늘이는 벌레이다.

http://blogfiles13.naver.net/data41/2009/4/5/156/test-naver_superior2000.png 파일인데, 자료 화면은 아래와 같다. 분명히 10.12 킬로바이트이고,10364 바이트이다.

그런데 네이버 블로그에 올리기 전의 파일 등록 정보는 아래와 같다.

이 파일은 내가 새벽에 잠이 깨어 멍한 상태에서 작업한 파일이다. 네이버에 올린 파일은 모든 설정을 공개 상태로 놓아도 외부에서 접근할 수 없다는 심증을 가지고, 그에 대한 증거를 얻기 위해 작업한 파일이다. (2009년 4월 5일 오전 11시 12분 52초 현재 그 심증은 확증을 얻은 상태이다.)

또한 네이버 블로그에 글을 올릴 때 설정한 화면은 다음과 같다.

위에서 보면 내가 올린 그림의 섬네일 이미지가 보이면서 "10.1 KB"라고 표기하고 있다. 이미 이미지 파일을 올리는 순간 내 파일을 나에게 알려주지도 않고 마음대로 변형해 버렸다는 증거이다.

그런데 좀 더 아래에 "설정정보"를 보면 전체 공개, 덧글 허용, 본문 스크립 허용(링크도 허용), 검색 허용, 블로그 정보 수집 허용, CCL 표시(위에는 나타나 있지 않지만, "저작자표시-동일조건변경허락"이다.) 등의 설정이 나타나 있다.

여기에서 네이버 뻥튀기 벌레도 티스토리 뻥튀기 벌레처럼 파일 업로드에서 이미 활동하고 있다는 심증을 굳힐 수 있었다.

기타

부수적으로 네이버는 저작권자의 저작권 설정과는 무관하게 외부 링크가 불가능하다는 점도 알게 되었다.

http://blogfiles13.naver.net/data41/2009/4/5/156/test-naver_superior2000.png

위 파일을 클릭하면 새 창(또는 새 탭)이 열리면서 그림 파일을 보여 주어야 하지만, 그림 대신 "The page cannot be found"라는 메시지를 보여주게 된다. 이와 관련하여 다른 게시 글을 올릴 계획이다.

회사 측 답변

2009년 4월 7일 현재 앞으로 수정할 예정이라는 답변을 받았다.

관련 문서

 

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

읽기에 앞서

  • 2009년 4월 5일 현재 이 벌레가 KT의 버그 또는 실수 및 고의가 아닐 수도 있습니다. 이 글을 읽을 때 주의해 주시기 바랍니다.
  • 팥빙산 님의 블로그에서 구글 애드센스도 불법정보 사이트였구나... 라는 글을 보면 자료 화면을 볼 수 있다.

벌레의 유형

  • 2009년 4월 4일자 도아 님의 블로그에 게시된 글에서 소개한 벌레이다. 자세한 사항은 http://offree.net/entry/KT-and-Google-AdSensse 에서 볼 수 있다.
  • 벌레 유형 :

    • 불법정보(사이트)가 아님에도 불법정보(사이트)로 보여주는 변태 벌레이다. 이때 변태는 '본래의 형태가 변하여 달라짐'이란 뜻이다.
    • 아울러 구글링 등을 통해 구글 사이트를 IP 주소로써 접근하려는 사람을 변태로 오인케 하는 벌레이다.
    • 사용자가 명백히 불법정보(사이트)가 아님에도 불법정보(사이트)로 오인케 하여, 자신이 취득한 정보에 대해 불신케 하는 불신 조장 벌레이다.
    • 또한 명백하게 불법정보(사이트)를 유통하지 않는 구글의 정상적인 영업을 방해하는 영업 방해 벌레이다.
    • 명백하게 불법정보(사이트)를 유통하지 않는 구글에 개인이 접근할 수 있는 권리를 방해/침해하는 정보 접근권 침해 벌레이다.

벌레의 발견

이 벌레는 도아 님이 발견한 뒤 그 정보를 블로그 도아의 세상사는 이야기에 게시하였다.

평가

이 벌레에 대해서는 다음과 같이 평가할 수 있다.

만약 개인이 특정 사이트를 지목하여 "불법 사이트" 또는 "음란 사이트"라고 공공연히 적시하였다면 어떻게 되었을까? 아마도 증거를 대라느니 하면서 인터넷에서 뜨거운 논쟁을 벌였으리라 생각한다. 심하면 명예훼손 소송 등이 벌어졌을 수도 있다. 그런데 개인도 아니고, 개인의 일탈 행위를 단속해야 할 사이버경찰청에서 그런 "불법 행위"를 자행했다는 사실에서 한국 경찰의 사고방식을 의심해 보지 않을 수 없었다.

그런데 도아 님은 이 벌레에 대해서 사이버경찰청이 아닌 KT에서 저지른 일로 파악하였다. 나도 게시 글을 마지막까지 읽기 전에는 사이버경찰청을 의심했지만, 도아 님이 사무실에서만 위와 같은 현상이 일어나고, 집에서는 일어나지 않는 현상이라고 글을 남기셔서 내가 틀렸다고 결론을 내렸다. (뒤에 댓글을 달아 KT도 아닌 것 같다고 밝혀 주셨다. 이에 대해 4월 5일 현재 원인 불명인 상태가 되었다.)

만약 이것이 KT에서 저지른 필터링 때문에 일어난 일이라고 가정하면 다음과 같은 문제가 발생한다.

KT 측에서는 십중팔구는 그 IP 주소가 구글로 통하거나 그와 관련이 있는 주소임을 알고 있었다고 여겨진다. 그렇다면 그것이 불법정보(사이트)가 아니라는 사실도 알고 있었다는 추론이 가능하고, 그와 함께 실수로 필터링을 하지는 않았다는 추론도 가능하다. 이 경우 KT는 구글에 대한 영업 방해를 저지른 셈이 된다.

한편 구글 애드센스에 가맹하려던 사람은 난데없이 불법정보(사이트) 차단이 나타나자 당황하거나 심히 놀랐을 가능성이 높다. 특히 컴맹인 경우에는 더욱 그러하다. 이것은 "개인 생활에서의 평온"을 깨뜨린 행위로서 "사생활 침해"에 해당한다. 또한 명백히 불법정보(사이트)가 아님에도 오인하게 하는 행위는 개인이 가진 정보 접근권침해하는 행위이기도 하다.

게다가 애드센스 가맹에서 법인에 소속되어 그 업무로서 애드센스에 가맹하려던 사람이 저와 같은 사실이 아닌 정보에 놀라게 되었다면, KT의 필터링 행위(그 필터링이 존재한다고 가정하고)는 또한 법인의 이익 취득을 방해한 혐의를 가지게 된다. 이것은 또한 법인의 영업을 방해한 혐의로도 추론될 수 있다.

제작자/제공자의 답변

이 사건/벌레에 대한 발생 원인 제공자가 누구인지 알지 못하는 상태이다.

관련 문서

 

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

읽기에 앞서

네트워크와 관련한 부분은 알약의 벌레가 아니었음을 밝힙니다. 시스템의 내장 랜 모듈에 과부하가 걸려 일시적으로 정지되는 현상이었음을 확인하였습니다.

벌레의 유형

  • 벌레를 발견한 프로그램 및 버전 : 알약 1.32 버전(2009년 3월 12일자)에서 나타난 벌레이다. 그 이전 버전에서는 확인하지 못하였다.
  • 사용한 선택사항 : 검사하기 >> 정밀 검색
  • 벌레의 위험도/중요도 : 2단계 (중요) / 기초적인 벌레
  • 벌레의 특징 : 이 벌레는 기본기가 허술한 알약의 약점을 찌르고 있다.

벌레의 발견

알약이 가진 벌레는 크게 두 가지이다.

  • 특정 경로에서 알약이 압축파일을 열려고 하면, 알약을 얼려 버리는 벌레.

    • 그와 함께 알약이 얼면 네트워크를 죽여 버리는 벌레.
    • 또한 얼어버린 알약을 종료하면 화면에서만 사라지고, 실제로는 백그라운드에서 동작하고 있다.
  • 바이러스 검사가 끝난 뒤 결과 화면에서 다른 메뉴를 선택하면, 바이러스 검사 결과를 먹어치워서 없애 버리는 벌레

앞서 알약 웹페이지에 3월 27일 글을 올려서 그날 바로 답장을 받았다. 그러나 좀 더 정확한 사항을 알기 위해 다시 질문을 올렸으나 아직 답변을 받지 못했다. 아마도 주말이라서 해당 업무를 보지 않았기 때문으로 여겨진다. 아무튼 그날의 답변만을 올리겠다.

이것을 하나하나 분석하면 다음과 같다.

  • 압축 파일 자체는 이상이 없었다. : 이것은 나도 같은 의견이다.
  • 검사 중 이상 현상은 발견하지 못했다. : 그런데 내 컴퓨터에서는 발생했다. 알약의 프로그램 오류 여부는 답변 없음.
  • 검사 완료 후 다른 메뉴로 이동하는 경우 검사가 초기화 되니 다시 하라. : 설마 4시간 동안 검사했던 것을 다시? 조금 어이없는 답변이다.
  • 광고창은 일시적인 전송 실패이다. : 그런데 왜 네트워크 기능 전체를 죽이는지? 답변이 없었다.
  • 쿠키 삭제 등을 했으나 그대로였다. : 삭제 전 1메가에서 삭제 후 900킬로바이트였다. 다시 말해 쿠키 등을 삭제해도 결과는 같았다.
  • 지속적으로 발생하여 추가 문의하였다. : 이것에 대해서는 3월 31일 현재 답변이 없다.

과정 재현

우선 검사 과정을 재현해 보자.

분명히 정밀검사를 선택했다.

검사 시작 3분 만에 잡은 화면이다.

6분 만에 잡은 화면 일부. 오른쪽 아래에 보이는 시간과 요일을 잘 기억해야 한다. (전체화면은 http://salm.springnote.com/pages/3015544/attachments/1352626 또는 오른쪽 작은 그림 클릭) 

55분을 앞두고 드디어 문제의 파일 등장! 벌써 새벽 2시잖아. 난 언제 자냐? 그냥 자자. (전체 화면은 http://salm.springnote.com/pages/3015544/attachments/1352628 또는 오른쪽 작은 그림 클릭)

잠 자고 일어나도 똑같은 그 파일! 문제의 네트워크 죽이기 현상도 발생했다. (전체화면은 http://salm.springnote.com/pages/3015544/attachments/1352630 또는 오른쪽 작은 그림 클릭)

여기까지 보고는 그냥 종료했다. 오른쪽 위의 X 표시를 클릭하여 종료하는 방법을 택했다. (밥 먹고 왔다.)

이때 돌발 상황이 발생했다. 아무리 봐도 CPU 사용량이 너무 많았다. 거의 50%에 육박하고 있지 않은가?

위의 그림에서 오른쪽 아래에 보면 아이콘이 5개 보인다. 그 가운데 윗줄 가운데가 작업 관리자로서 CPU 사용률을 보여주고 있다. 현재 연두색 막대가 절반쯤 보이므로 약 50%임을 짐작할 수 있다. 그런데 실행된 프로그래은 오픈캡처 하나뿐? 못 믿겠다는 사람은 전체화면을 보라. (전체화면은 http://salm.springnote.com/pages/3015544/attachments/1352642 또는 오른쪽 작은 그림 클릭)

이미 종료되었어야 할 알약이 살아남아서 CPU 점유율 50%를 꿋꿋히 지키고 있었다. 알약은 불사신이라 말인가?

알약을 얼리는 벌레→파일 열기 벌레

이 알약의 벌레가 치명적이라 여겼는데, 그보다 한 단계 낮추어 2단계(중요)로 보았다. 왜냐하면 네트워크 기능을 죽이지 않는 한 정상 작동한다고 여겼기 때문이다. 그런데 이때 기본적인 벌레를 발견할 수 있었다.

일단 지난 번에 awardeco.arj 파일에서 수십 분에서 몇 시간에 걸쳐 검사가 중지된 벌레를 소개했다. 그것을 유심히 살펴보다가 아주 황당한 사실을 하나 발견했다. 설마 이런 벌레가 아직까지 멸종하지 않고 살아남았다는 사실에 경의를 표하고 싶어질 정도로 황당한 벌레였다. 위에서 유심히 살펴보면 유독 awardeco.arj 파일에서 문제가 발생하고 있다. 그런데 이 파일은 아무런 문제가 없는 파일이었다. 이것은 이스트소프트에서도 인정했다.

그럼 도대체 무엇이 문제였을까?

우선 지난번에 보았던 화면을 다시 게시하겠다.

20090327-filelist.png

위에서 보면 경로명이 유난히 길고, 폴더의 중첩이 심함을 알 수 있다. 아래 그림을 보자.

위에서 보면 무려 9단계에 이르고 있다. 이때 awardeco 폴더를 C:\ 로 옮기면 아무런 문제가 생기지 않고, 바이러스 검사도 무사히 마쳤다.

조금 오래전부터 준비하던 기사 내용이 머릿속을 번개처럼 스치고 지나갔다. 2009/03/30 - [배치파일&스크립트] - 이런저런 이야기 참조.

  • 도스에서는 디렉터리를 7단계까지 만들 수 있다. 윈도에서는 255자 한계 안에서 얼마든지 만들 수 있다. 예컨대 C:\A11\B22\C33\D44\E55\F66\G77\H88\FILE.EXT 파일은 도스에서는 읽지 못할 수도 있다. 그러나 윈도에서는 문제 없이 읽을 수 있다.
  • 도스에서는 파일이름을 포함한 경로가 66자이거나 그보다 짧아야 한다.

그렇다. 도스에서는 디렉터리를 7단계까지 만들 수 있다. 그런데 이 황당한 벌레는 도스와 윈도를 착각하고, 윈도에서도 버젓히 살아남아 버렸다.

어이, 이스트소프트! 도대체 왜 이 벌레를 키웠단 말이더냐?! 윈도95가 나온 지 벌써 14년인데, 아직까지 이게 멸종을 안 했다니 놀라울 따름이다.

벌레의 원인 및 퇴치

벌레가 생긴 원인은 알 수 없었다. 다만 위에서 말한 지나치게 긴 경로명이 문제가 되었고, 다른 하나는 이스트소프트에서 배포하는 프로그램 폴더에 있었다.

알툴즈 설치 폴더는 보통 %ProgramFiles%\ESTsoft 이다. 내 경우에는 D:\Bin\ESTsoft 폴더이며, 보통은 C:\Program Files\ESTsoft 폴더이다. 이때 알약 프로그램 폴더는 %ProgramFiles%\ESTsoft\ALYac 이다.

이 벌레를 퇴치하고자 이것저것 만지다가 레지스트리를 날려보기도 했다. 물론 실행될 턱이 없으니 백업본을 이용해서 바로 복구시켰다. 폴더를 다른 곳에 복사해놓은 뒤에 하나씩 지워보기도 했다. 그러다가 알게 된 사실은 전혀 엉뚱하게도 알약 프로그램이 아닌 알툴즈 전체의 업데이트 프로그램 또는 폴더에서 발생했거나, 적어도 이 벌레와 관련이 있다는 사실을 알게 되었다.

이것을 쉽게 발견하지 못한 데에는 이유가 있었다. 바로 그 폴더 또는 파일에 손상을 입었음에도 알약 프로그램의 업데이트를 정상적으로 수행했다. 다시 말해 3월 12일에 엔진 업데이트도 정상적으로 수행했고, 그 뒤에 여러 차례 수행한 DB 업데이트도 정상적으로 수행했기 때문에 그 폴더가 원인이라는 사실을 알 수 없었다. 하지만 그것이 직접적인 원인인지는 여전히 알 수 없다. 다만 어떤 이유에서인지 업데이트 프로그램이 있는 %ProgramFiles%\ESTsoft\ALUpdate 폴더가 손상되었고, 그에 따라 알약도 이상 증상을 보였음을 알게 되었을 뿐이다.

아무튼 그 폴더를 아예 지워버린 뒤 알약을 실행시키면 알아서 복구를 해준다. 그 뒤로는 이 벌레를 만날 수 없었다.

또한 업데이트 프로그램 폴더를 삭제한 뒤 복구되면, 업데이트를 수동으로 해 두었더라도 자동으로 바뀌는 경우가 있었다. 수동으로 해놓았던 사람은 반드시 확인하기 바란다.

또한 업데이트 프로그램 또는 폴더에 이상이 생겨서 발생했으리라는 유추가 가능하므로, 아예 알약 프로그램을 제거했다가 다시 설치해도 정상 작동하리라는 추측이 가능하다. 그러나 그냥 업데이트 폴더만 지우기를 권장한다. 간혹 업데이트 받는 데 시간이 오래 걸릴 수도 있기 때문이다.

너무 황당하게 벌레가 잡히는 바람에 재현조차 못하였다. 그래서 업데이트 폴더를 지운 뒤의 자료 화면만 첨부한다.

결과적 이 벌레는 두 가지가 복합적으로 작용하여 발생했다.

  1. 업데이트 프로그램 또는 폴더(%ProgramFiles%\ESTsoft\ALUpdate)가 손상될 경우
  2. 경로의 단계가 7단계를 넘어서는 경우
  3. 그리고 위의 두 상황이 동시에 발생해야 한다.

검사 결과를 먹어치우는 벌레

이 벌레에 대해서는 이스트소프트 측에서는 다음과 같이 답변했다.

검사 결과에 등록되는 내역은 검사 후 치료된 결과를 나타냅니다.
사용하시는 검사 과정의 로그를 남기진 않음을 알려 드립니다.

그런데 에브리존의 터보백신이나, 안철수 바이러스연구소의 V3 등에서는 모두 "검사 과정의 로그"를 남겼다. 치료를 하지 않은 경우에는 검사 과정 자체가 정보라는 사실을 깨닫지 못한단 말인가? 아무튼 기본적으로 검사 과정의 로그를 남기는 터보백신이나 V3가 이상한 것일까? 아니면 해달라고 해도 남기지 않는다는 말을 버젓히 하는 알약이 이상한 것일까?

이스트소프트에서 보내온 답변으로는 그것은 벌레가 아니라, 처음부터 그렇게 설계되었기 때문이다. 하지만 그것 때문에 사용자 불편을 겪고 있는 마당에 위와 같은 답변은 조금 문제가 있다고 생각한다.

네트워크를 죽이는 벌레+허깨비 벌레

네트워크 기능을 죽이는 벌레는 이번에도 나타났다. 그와 함께 알약을 종료했음에도 그 프로세스가 남아서 여전히 CPU 점유율을 50% 이상으로 유지시키는 희한한 벌레마저 등장했다. 아마도 지난번에 내가 발견하지 못하고 지나쳤나 보다.

아울러 위와 같은 현상의 원인도 업데이트 폴더(%ProgramFiles%\ESTsoft\ALUpdate)와 관련이 있음을 알게 되었다. 몇 시간 지나면 알아서 꺼져 버리던 네트워크 기능이 잘 살아 있었기 때문이다. (물론 바이러스 검사를 그렇게 오래 할 일이 다시 생기지 않았기 때문일 수도 있다.)

허깨비 현상의 원인은 아주 확실히 알약에 숨어 있는 벌레였다.

위와 같이 기본 실행모드에서는 트레이에 아이콘 표시가 뜨기 때문에 실행 여부를 판단할 수 있었다.

위의 두 그림 가운데 하나처럼 나타난다. 왼쪽의 빨간 알약과 연두색 알약은 동작하고 있다는 표시이고, 오른쪽의 회색 V3는 현재 동작을 하지 않고 있다는 표시이다.

문제는 최소 실행모드에서 발생한다. 저 알약 아이콘이 모두 사라져 버린다. 기본 실행모드에서는 바이러스를 검사하고 있다가 오른쪽 위의 X 표시를 클릭하여 종료해도 트레이에 아이콘이 그대로 남아 있으므로 아직 종료하지 않았다고 알게 되지만, 최소 실행모드에서는 전혀 알 수가 없다. 말그대로 허깨비가 되어 버린다.

결국 허깨비 벌레를 퇴치하려면, 반드시 종료할 때 바이러스 검사를 먼저 종료한 뒤에야 알약 프로그램을 종료해야만 한다. 그렇지 않다면, 나중에 다시 알약을 실행시켰을 때 아까 종료했던 화면으로 시작하게 된다. 이것은 백그라운드에서 계속하여 바이러스를 검사를 하고 있기 때문에 생기는 현상이다. 이것에 대해서는 아무런 도움말을 얻을 수 없었다. 결국 프로그램 종료에 대한 처리 오류 때문에 발생한 벌레인 셈이다.

제작자/제공자의 답변

추가 질문에 대한 답변은 아직 없다.

관련 문서

 

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

읽기에 앞서

이 문제는 티스토리 시스템의 문제가 아님을 확인하였다. 이 글에 나타난 현상을 겪는 사람은 자신의 불여우에 확장 기능 MR Tech's Link Wrapper 가 설치되어 있는지를 먼저 살피기 바란다. 혹시 그것을 설치하였다면, 삭제하기 바란다. 그 확장 기능은 한메일 및 티스토리 시스템과 약간의 충돌을 보이고 있다.

벌레의 유형

티스토리 파일 첨부 창이 파이어폭스에서 제대로 표시되지 않는 문제가 있다.

좀 짓궂게 이야기하면 파일 첨부 창을 잘라먹는 벌레로서, 과식을 자주 하는 듯이 보인다.

벌레의 발견

벌레 정보

티스토리에 가입한 뒤 곧바로 발견할 수 있었다. 그때는 티스토리 그림 파일 업로드 벌레 건에 매달려 있던 때라 이것은 그다지 신경을 쓰지 않았다. 그러나 매번 그림을 올릴 때마다 파일 첨부 창을 아래로 늘여야 하기에, 귀찮음이 더해져서 결국 올리게 되었다.

우선 이 벌레가 익스플로러에서 발견된 적은 없다. 한메일 프리징 현상처럼 파이어폭스에 특정 확장 기능을 잘못 설치하여 나타나는 문제도 아니었다. 다시 말해 파이어폭스를 설치한 뒤 3.0.4판부터 3.0.7판까지 나타나는 문제이며, 아무 확장 기능도 설치하지 않았을 때에도 발생했다. 참고로 3.0.8판에서는 확인하지 못하였다.

벌레 찾기

아래는 티스토리 글쓰기 화면이다. 오른쪽 파일첨부를 클릭하여 파일 첨부 창을 보이게 한다.

아래 파일 첨부 창은 아래 부분이 조금 이상하다. 맨 마지막 줄에서 "음원 필터링 시스템은 저작권 침해로 인한 문제로부터 회원 여러분을 보호하"라고 나온 뒤 잘려 있다. 오른쪽 아래 파란 화살표가 가리키는 부분을 클릭한 뒤 아래로 드래그 하면 파일 첨부 창이 늘어남을 알 수 있다.

아래 그림은 파일 첨부 창을 아래로 늘인 모습이다. 결국 아래 그림처럼 되어야 하는데, 위의 그림처럼 아랫부분을 잘라먹고 있었던 셈이다.

제작자/제공자의 답변

4월 7일 현재 회사 측으로부터 답변이 왔다. 회사 측에서는 이 문제를 재현하지 못하였으나, 지속적으로 개선안을 찾고 있다고 하였다. 아울러 이 문제가 발생하는 원인으로는 창의 크기을 변화시키는 스크립트를, 창을 읽어들인 나서 불러오기 때문에 일어난 문제로 보고 있었다.

관련 문서

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

벌레의 유형

  • 벌레를 발견한 프로그램 및 버전 : 알약 1.32 버전(2009년 3월 12일자)에서 나타난 벌레이다. 그 이전 버전에서는 확인하지 못하였다.
  • 사용한 선택사항 : 검사하기 >> 정밀 검색
  • 벌레의 위험도 : 1단계 (매우 위험)
  • 벌레의 특징 : 이 벌레는 매우 독특하다. 벌레 잡는 알약에 숨어서 알약을 잡아먹고 있기 때문이다. 그밖에 자잘한 벌레도 거느리고 있다.

벌레의 발견

알약이 가진 벌레는 크게 두 가지이다.

  • 알약이 압축파일을 열려고 하면, 알약을 얼려 버리는 벌레.

    • 알약이 얼면 네트워크를 죽여 버리는 벌레.
  • 바이러스 검사가 끝난 뒤 결과 화면에서 다른 메뉴를 선택하면, 바이러스 검사 결과를 먹어치워서 없애 버리는 벌레.

알약을 얼리는 벌레

일단 다른 벌레도 있는데, 알약의 벌레를, 특히 이 벌레를 먼저 소개하는 이유는 매우 치명적이라고 여겼기 때문이다.

20090325ALYac_err10.png

5시간 52분 경과! 그런데 화면에서 보이는 저 파일( awardeco.arj )에서만 50분째다. 저 파일이 크냐? 그것도 아니다. 겨우 수십 킬로바이트이다. 1메가도 안 된다는 말이다. 

20090327-filelist.png

44,668 바이트짜리 awardeco.arj 파일을 50분이 넘게 처리하고 있다니.

일단 문제를 알게 되었으니 바이러스 파일만 먼저 치료하기로 하고 정지 뒤 종료했다. 이때 실수로 다른 메뉴(시스템 정리)를 클릭했다가 다시 검사하기를 누르니 검사 결과가 사라져 버렸다. 검사 결과를 먹어치우는 벌레 참조.

 

일단 엔진에도 문제가 있다고 생각하여 업데이트를 하였다. D 드라이브만 검사하기 >> 정밀검사를 시켰다.

그리고 6시간 뒤... 

20090325ALYac_err11.png

아까 압축을 풀어 두었기 때문에 압축파일에서는 안 걸렸지만, 그 압축 파일 안에 있던 저 파일에서 저대로 멈추어 버렸다. 참고로 내가 사용한 컴퓨터 바이러스 백신 프로그램에서는 저 파일을 바이러스로 잡은 백신은 없었다. (하우리, 안철수, 에브리존 모두 바이러스가 아니었다.)

문제는 저 오른쪽이다. 원래는 광고가 떠야 했지만, 어쩐 일인지 저렇게 되어 버렸다. 물론 인터넷이 되지 않았다. 아니 아예 네트워크 기능 전체가 죽어 버렸다.

도대체 바이러스 잡으라니까 파일 열다가 얼어 버린 주제에 왜 네트워크 기능은 죽여 버린단 말인가?

참고로 업데이트를 했지만, 엔진은 그대로였고, DB만 3월 25일자로 바뀌었다.

검사 결과를 먹어치우는 벌레

위의 벌레에 비하면 치료 결과를 먹어치우는 벌레는 애교라고 생각한다. 하지만 이것 역시 위험하기는 마찬가지이다.

C 드라이브만 검사하였다. 드디어 검사가 끝나고, 혹시나 하는 마음에 화면을 잡았다...이면 좋겠다만, 아래 화면은 바이러스 검사를 한 번 더 실행하여 잡은 화면이다. 치료는? 또 4시간을 기다리라고? 그냥 내가 직접 그 폴더에 있는 파일을 지우고, 그 레지스트리를 지웠다.

일단 화면을 보라. 내가 클릭한 메뉴는 결과보기 >> 검사하기 >> 결과보기, 이런 순서이다.

20090325ALYac_err01.png 20090325ALYac_err02.png 20090325ALYac_err03.png 20090325ALYac_err04.png

보면 알겠지만, 일단 검사가 끝난 뒤 검사 결과는 저장하지 않고 있다. 물론 바이러스가 있다면 바로 치료하면 된다고 할 수도 있으나, 클릭 실수가 발생할 수도 있으니, 검사 결과 자체를 저장해 둘 필요도 있다는 점을 간과하지 않았나 생각한다.

그렇다고 검사 결과 저장이 매우 많은 용량을 차지하지도 않는다. 치료 결과에 병합하여 저장하면 되기 때문에 그다지 데이터가 늘지도 않는다. 그저 치료 결과에 저장하되, "발견했지만, 치료하지 않았음"이라고 해도 되기 때문이다.

추가

네트워크 기능을 죽이는 벌레는 나타날 때도 있고 나타나지 않을 때도 있다. 위에서 보듯이 첫째 검사화면과 셋째 검사화면에서는 나타나지 않았지만, 둘째 검사화면에서만 나타났다. 그렇다고 중요도가 낮다고 볼 수도 없는 벌레이다. 왜냐하면 이게 알약의 기능(일정 시간이 지나면 네트워크 자체를 차단하는 기능)인지, 아니면 외부 바이러스가 알약의 보안버그를 틈타 침투한 것인지 알 수 없기 때문이다. 물론 항상 발생하는 현상이 아님을 볼 때 보안버그일 가능성이 더 높다.

제작자/제공자의 답변

알약 웹페이지에 3월 27일 글을 올려서 그날 바로 답장을 받았다. 그러나 좀 더 정확한 사항을 알기 위해 다시 질문을 올렸으나 아직 답변을 받지 못했다. 아마도 주말이라서 해당 업무를 보지 않았기 때문으로 여겨진다. 아무튼 그날의 답변만을 올리겠다.

하나하나 분석하면 다음과 같다.

  • 압축 파일 자체는 이상이 없었다. : 이것은 나도 같은 의견이다.
  • 검사 중 이상 현상은 발견하지 못했다. : 그런데 내 컴퓨터에서는 발생했다.
  • 검사 완료 후 다른 메뉴로 이동하는 경우 검사가 초기화 되니 다시 하라. : 설마 4시간 동안 검사했던 것을 다시?
  • 광고창은 일시적인 전송 실패이다. : 그런데 왜 네트워크 기능 전체를 죽이는지?
  • 쿠키 삭제 등을 했으나 그대로였다. : 삭제 전 1메가에서 삭제 후 900킬로바이트였다.
  • 지속적으로 발생하여 추가 문의하였다.

현재 벌레 잡는 알약, 벌레에 먹히다 2를 준비하고 있는 중이다.

관련 문서

 

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

카테고리

분류 전체보기 (1005)
스크립트 (22)
벌레와 팁 (126)
소프트웨어 (240)
하드웨어 (6)
이야기 (24)
말의 나무 (506)
미쳐보자 (22)
일기 (48)
아이폰 (10)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

글 보관함