응용프로그램2009. 3. 4. 21:56
엄한 영상의 자막을 찾다 보면 ssa 파일이 나올 때가 많은데, 이걸 국내에서 많이 사용되는 smi 파일로 변환하기가 의외로 까다롭다. 우선 ssa 파일은 대개 비영어권의 언어로 된 파일이기 때문에 인코딩의 문제가 생긴다. 알려진 대개의 자막 프로그램은 어떤 ssa 파일을(혹은 srt 파일마저) 제대로 읽어들이지 못한다. 예를 들면 유명한 SMISyncW (새창)라든가 덜 유명하지만 강력한 기능을 가진 NS Caption Creator 4 (새창) 같은 프로그램들이 그렇다. 반면 개인적으로 애용했던 한방에~라는 프로그램은 상당히 가볍고 깔끔할 뿐만 아니라 비영어권 자막 파일을 가장 제대로 읽고 변환했던 프로그램이었다(비록 유니코드는 아니지만).

한방에~는 2003년 개발이 중지된 것으로 알고 있었기에 그럭저럭 마지막 버전 3.22를 사용해왔는데, 오늘 어떤 중국어 ssa 파일을 변환하려고 하자 믿었던 한방에~마저 파일을 읽지 못하는 일이 생겼다.

invalid-file

문제의 자막...

위 자막 파일은 KMP(빌드 1428)에서 제대로 재생이 되는 파일임에도 불구하고, 위에 언급한 SMISyncW나 NS Caption Creator 4(둘 다 최신 버전)에서는 인식이 되지 않는다. 국외의 웹 버전 ssa to smi (새창)과 쉐어웨어인 Lyrics & Subtitle File Converter 2.88 (새창) 역시 마찬가지였다. 그리고 믿었던 한방에~ 3.22에서도 파일을 읽지 못하자, 어쩔 수 없이 최후의 보루인 KMP로 변환해버렸다('자막을 재구성'해서 저장하지 않고 '원본 자막'으로 저장하면 결과가 이상하게 나와버린다. 반드시 '재구성'해서 저장할 것).

KMP로 ssa → smi 변환하기

KMP로 ssa → smi 변환하기

사실 KMP는 기본적으로 유니코드 기반인 데다가 거의 모든 자막 포맷을 지원하기 때문에, 자막 제작자가 아닌 이상 smi 포맷으로의 변환은 KMP만으로도 아무 문제는 없다. 그래도 뭔가 아쉬워서 한방에~에 대해 검색을 하다가... 무려 5년 만에 새 버전(3.31)이 나왔다는 사실을 발견했다(그것도 작년에;;). 명칭은 '자막 한방에~'로 바뀌었으며 없어진 기존 사이트 대신 블로그 (새창)에서 새 버전이 제공되고 있었다. 최신 버전은 마침내 유니코드를 지원한다기에 위에 있는 ssa 파일을 읽어본 결과...

우왕ㅋ굳ㅋ

우왕ㅋ굳ㅋ

제대로 나온다...감동 ㅠㅠ 또한 유니코드를 지원하기 때문에 파일 저장시 인코딩을 한국어(euc-kr) 또는 유니코드(utf-16) 중에 선택할 수도 있다. 별로 필요한 기능은 아니지만;; 최신 버전에서도 여전히 탐색기와의 연동은 smi 자막 파일에 제한돼있다는 점도 아쉽다면 아쉬운 부분.

어쨌든 결론은 자막 한방에~ 만세. 사실 엄청난 뒷북이긴 하지만; 그래도 새 버전 나온 게 왠지 기뻐서 길게 써봤음...-_;



Posted by 필유
응용프로그램2008. 9. 19. 05:25

  1. temp 환경변수가 어디에 쓰이는 건지 모른다면 이 글을 안 읽어도 됩니다.
  2. 찾아보니 환경변수 자동으로 추가하기라는 글이 있었습니다. 콘솔 명령어를 이용해 레지스트리에 환경변수를 추가하는 방법입니다. 저는 당연히 temp 환경변수도 이 방법으로 바뀌는 줄 알았습니다. 네, 그런데 아니었습니다. 아니, 바뀌긴 바뀝니다. 하지만 바로 적용되진 않습니다-_-
  3. 저는 램 3기가 중에서 512메가를 램디스크(Y:)로 활용하고 있습니다. 당연히 IE 임시 폴더나 윈도우 임시 폴더 역시 Y:에 두고 사용하는 거죠(파폭은 예외. 그냥 메모리 상에서 해결합니다-_-). 그런데 덩치가 큰 인스톨러를 설치할 때 임시 폴더의 용량이 부족한 경우가 종종 생깁니다. 사실 어떤 멍청한(...) 프로그램들은 이 문제 때문에 실행이 안 되기도 합니다. 이런 경우에는 그때그때마다 임시 폴더를 용량 넉넉한 하드(주로 K:)에 잡아주는 방법으로 문제를 해결해왔습니다.
  4. 그런데 일일이 제어판>시스템>고급>시스템 등록 정보에 들어가서 손으로 고치는 게 귀찮아지던 찰나에 위에서 소개한 글을 발견했고, 직접 배치 파일을 만들어 적용해봤습니다. 하지만 유감스럽게도 temp 환경변수는 저 방법으로 안 되더군요.
    인스톨러 용량이 램디스크 용량을 초과하는 경우

    인스톨러 용량이 램디스크 용량을 초과하는 경우

  5. 물론 레지스트리상 임시 폴더는 K:로 바뀐 상태입니다. 그런데 거듭 말하지만, 레지스트리 값만 바뀌었을 뿐 시스템은 Y:를 임시 폴더로 인식하고 있는 겁니다.
  6. 제어판>시스템>고급>시스템 등록 정보에 들어가 확인해봐도 K:로 잡혀있습니다. 무심코 확인을 눌렀죠. 1~2초 정도 시간이 걸립니다.
  7. 그리고 위 스샷의 프로그램을 다시 설치하자 이번엔 설치가 됩니다...
  8. .......어째서-_-?
  9. 결론은 그런 겁니다. temp 환경변수의 경우는 레지스트리를 수정한다고 바로 적용되는 게 아니라 시스템 등록 정보에서 직접 확인을 클릭해줘야 적용이 된다는 얘기입니다. 물론 재부팅을 해도 당연히 적용되겠지만; 그건 의미가 없죠;
  10. 하지만 이래서야 자동으로 바꾼다고 할 수가 없지 않습니까. 그래서 매크로를 만들어버렸습니다-_-

먼저 배치파일.
@echo off
set /p DRIVE=type the drive letter:
cd %DRIVE%:\
if errorlevel 1 goto NOPE
if not exist %DRIVE%:\temp md %DRIVE%:\temp
reg add HKCU\Environment /v TEMP /d %DRIVE%:\temp /f
reg add HKCU\Environment /v TMP /d %DRIVE%:\temp /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v TEMP /d %DRIVE%:\temp /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v TMP /d %DRIVE%:\temp /f
c:\set_temp_activate_now.ahk
echo job completed. your temp path is now %DRIVE%:\temp.
pause
exit
:NOPE
echo cannot access %DRIVE%:. job canceled.
pause
exit

그리고 다음이 매크로 파일입니다(위의 배치 파일에서 호출하는 c:\set_temp_activate_now.ahk).
Run rundll32.exe shell32.dll`,Control_RunDLL sysdm.cpl`,`,3
WinWait 시스템 등록 정보
SendRaw n
WinWait 환경 변수
Send {Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Enter}
WinWaitClose 환경 변수
WinWaitActive 시스템 등록 정보
Send {Tab}{Tab}{Tab}{Tab}{Tab}{Tab}{Enter}

매크로 프로그램 AutoHotKey가 필요합니다. 설치도 필요없고 스크립트도 쉬운 프리웨어더군요. 꽤 괜찮은 녀석이었습니다. 이런 지저분한 방법을 통해 겨우 재부팅하거나 손으로 일일이 클릭할 필요없이 임시 폴더를 자동으로 바꿀 수 있었습니다. 윈도우의 불편함이 느껴지는 부분이죠. 덧붙이자면, 위의 배치 파일에서는 레지스트리 값을 덮어쓰는 방식을 취하고 있는데, 레지스트리 값을 지운 다음에 추가해봐도 결과는 똑같았습니다. 직접 시스템 등록 정보 들어가서 클릭해주는 수밖에 없습니다. 참고로 저는 프로페셔널 서비스팩3를 사용중입니다. 서팩2에서는 어떨지 잘 모르겠지만, 아마 똑같지 않을까 싶네요.


Posted by 필유
응용프로그램2008. 9. 12. 06:17

같은집 위층에 사는 워니군이 새 PC를 샀기에, 일단 어둠의 루트로 입수한 윈도우XP 블랙에디션을 깔고; 드라이버들 잡아준 다음에 설치한 '대안' 프리웨어들.
  1. jwBrowser. 개발자가 아닌 일반인에게는 파폭보다 이녀석이 낫습니다. 마우스 제스쳐를 지원하는 IE 기반의 국산 탭 브라우저.
  2. 빵집. 알집은 싫어요. ALZ 포맷도 싫고... 사실 '알'로 시작하는 녀석들이 다 싫습니다.
  3. FastStone Viewer. XnView와 함께 프리웨어 이미지 뷰어의 양대산맥으로 불리는 녀석.
  4. AcroEdit. 메모장 그만 쓰세요...
  5. KMP 빌드 1429. 원 제작자의 마지막 버전. 몇년을 썼던 녀석이라 다른 걸 쓸 수도 없고... 많은(?) 사람들이 동영상뿐 아니라 mp3 재생 용도로도 사용하고 있습니다. 링크는 공식 사이트가 아닌 앳파일(사실 저는 빌드 1428을 쓰고 있습니다만).
  6. AVG Free. 백날 울타리나 알약 돌려봤자 바이러스는 못 고칩니다. 무료 백신 중 꽤 쓸 만한 녀석.
  7. Foxit Reader. 느려터진 어도비 리더 그만 쓰세요...
  8. 미니MSN. 광고 투성이 MS 라이브 메신저가 싫다면 추천.

그외 상급자-_-용 추천 프리웨어들.
  1. foobar2000. 굳이 설명이 필요할까? mp3 관리에 별로 신경쓰지 않는다면 KMP로도 충분하지만, 음악을 '앨범' 단위로 듣는 사람이라면 당연히 푸바.
  2. 오픈 캡쳐. 이제 부담없이 캡쳐하세요-_-)/ 픽픽보다 가볍습니다.
  3. TaskSwitchXP. 알트탭 자주 쓰는 분들, 이거 쓰면 즐거워집니다.
  4. RRamdisk. 링크는 구글링시 첫 문서. 가볍고 안정적이고 무엇보다 프리웨어인 램디스크 매니저. 램이 2기가 이상이라면 이걸로 성능향상을 꾀할 수 있습니다. 활용법은 나중에 별도로 포스팅할 예정입니다.

그외 특별한 용도의 프리웨어들.
  1. Yamaha MidRadio Player. 휴대폰 벨소리 mmf 파일 재생기. 공식 사이트를 못 찾아서 링크는 걸지 않습니다.
  2. FileZilla. 누구보다 빠르고 누구보다 가벼운; FTP 클라이언트.
  3. UxTheme Patcher. 얼마전 SP3 출시와 함께 새 버전이 나왔죠. (서명되지 않은) 윈도우XP 사용자 테마를 사용가능하게 패치해줍니다. 윈도우 외관을 중시한다면 패치 필수.
  4. Daemon Tools. 설명할 필요가 없는...-_-
  5. DAMN NFO Viewer. 공식 사이트가 없어져서 링크는 걸지 않습니다. 찾아보면 누가 한글패치도 해놨더군요. nfo 등의 확장자를 가진 아스키 아트 텍스트 파일 뷰어입니다. 어둠의 루트를 자주 이용한다면 꽤 유용한 녀석.
  6. 꿀뷰2. 얼마전 3 버전이 나왔는데, 간단한 이미지 뷰어 용도로도 쓸 만합니다.


Posted by 필유
응용프로그램2008. 9. 10. 14:37

지난 포스트에서 언급했던 녀석입니다. in_bm.dll은 제작자 홈페이지에서 다운받을 수 있습니다. 윈앰프 구버전(2.x)는 앳파일 등의 공개자료실을 찾아보면 나옵니다. 저는 2.95를 사용했구요.

윈앰프 2.95 + in_bm.dll

윈앰프 2.95 + in_bm.dll

BM98 Emotion에서 cranky씨의 과거 bms 전곡을 구할 수 있었습니다. 그리고 마침내 위와 같이 윈앰프로 재생하면 BGA를 볼 수 있답니다 므흣 *-_-* 단, BGA가 살짝 버벅거리는 감이 있습니다. 플러그인 자체가 최적화 안 돼있기 때문으로 보입니다만... 사양과는 관계없는 듯.

더불어 ez2bms 또한 잘 작동하는 것을 확인했습니다. 구글링→이메일주소 발견→메신저 추가→싸바싸바(-_-)의 과정을 걸쳐 받아낸 물건으로, 제작자(태국인)는 공개해도 괜찮다고 했으나 국내에서는 약간 민감한 문제가 될 수도 있기에 인증샷은 생략합니다. 대신 보너스,라기엔 좀 뭐하지만...


Ez2Dj 3rd 수록곡으로, ost 씨디(예전에 후배한테 뺏은-_-)에서 직접 떴습니다. In a nutshell. 언제 들어도 좋은 곡. '간단히 말해 널 좋아해' 정도의 가사 되겠습니다;


Posted by 필유
응용프로그램2008. 8. 19. 00:12

이건 지난번에 걸렸던 루트킷 flec006.exe에 비하면 상당히 귀여운(?) 수준의 스파이웨어였다. 먼저 감염되면 바탕화면이 파랑색 배경과 다음의 촌스런(!) 이미지로 바뀐다.

정말 촌스럽다!!

정말 촌스럽다!!


그리고는 AntivirusXP2008라는 매우 수상한 소프트웨어를 설치하라고 강요한다-_- 당황해서 바탕화면 속성에 들어가면 바탕화면과 화면보호기 탭이 사라져서 설정을 변경할 수가 없게 된다. 그래서 먼저 지난번에 소개했던 X-Cleaner(마이크로 버전)을 실행해서 뭔가를 하나 치료했고, 다음에 AVG를 돌려서 또다시 치료했다. AVG 명명법에 의하면 이 스파이웨어는 trojan horse SHeur.CCRZ라고 하는데 이걸로 검색해보면 지금 시각으로 피해사례가 2건 나온다.

헌데 치료한 후에도 바탕화면 속성에는 바탕화면과 화면보호기 탭이 여전히 없었다. 이는 스파이웨어가 바꿔놓은 레지스트리 때문으로, HKCU>Software>Microsoft>Windows>CurrentVersion>Policies>SystemNoDispBackgroundPageNoDispScrSavPage 값을 지워주면 해결된다.


다음 글들을 참고할 것(모두 새창).



Posted by 필유
응용프로그램2008. 8. 3. 20:42

지금까지 pdf 파일을 볼 때는 Foxit Reader를 사용해왔다. 알 만한 사람은 다 알겠지만 Adobe Reader보다 훨씬 가볍기 때문인데, 구 버전(2.0)을 사용중 텍스트 복사가 안 되는 문제를 발견하여(최신 버전(2.3)에선 수정된 문제였다) 다른 무료 pdf 뷰어엔 어떤 게 있나 한번 찾아봤다. 국산 뷰어도 몇 있지만 경험상 Foxit Reader보다 좋은 뷰어는 없었기에 논외로 하고, 찾다가 발견한 괜찮은 뷰어가 PDF-XChange Viewer라는 녀석이다. 물론 프리웨어. Foxit Reader와 비교해볼 때 가독성이 더 낫다고 느껴졌다. 다음은 100%로 볼 때의 비교 스샷.

PDF-XChange Viewer

PDF-XChange Viewer

Foxit Reader

Foxit Reader


어느 쪽의 가독성이 더 낫게 보이는가? 모니터 설정에서 클리어타입을 키든 끄든 상관없이 화면은 동일한데, 이는 두 뷰어 모두 자체적으로 글꼴을 안티알리아싱하는 설정이 있기 때문이다. 다음은 이를 300% 확대한 모습.

PDF-XChange Viewer 스샷 300% 확대

PDF-XChange Viewer 스샷 300% 확대

Foxit Reader 스샷 300% 확대

Foxit Reader 스샷 300% 확대


위 두 스샷은 뷰어상에서 300% 확대를 한 게 아니라 앞의 뷰어상 100%로 뜬 스샷을 포토샵에서 300% 확대한 모습이다(뷰어상에서 300% 확대를 하면 당연히 둘 다 매끄럽게 보인다). 확대해보면 둘의 차이점이 명확하게 보인다. PDF-XChange Viewer는 검은색 계열로 안티알리아싱을 하는 반면 Foxit Reader는 RGB 순색 계열로 안티알리아싱을 하고 있다. 어딘가에서 줏어들은 바로는 전자의 방법이 맥에서 사용하는 방법이고, 후자는 MS의 클리어타입과 같은 원리인 듯한데, 정확히는 모르겠다. 적어도 후자는 클리어타입의 원리와 동일한 게 맞을 것이다.

PDF-XChange Viewer 설정창(클릭하면 확대)

PDF-XChange Viewer 설정창(클릭하면 확대)

Foxit Reader 설정창

Foxit Reader 설정창


위 두 스샷은 두 뷰어의 설정창 스샷이다. 보다시피 Foxit Reader는 제공하는 설정이 별로 없다. 안티 알리아싱 설정에 LCD 용이라고 써있는 걸 보면 클리어타입을 사용한다는 심증은 굳어지는데, CRT를 사용하지 않기 때문에 확인은 할 수 없었다. 하지만 클리어타입이 맞다고 가정한다면, CRT 유저에겐 Foxit Reader의 안티 알리아싱은 메리트가 떨어진다고 할 수 있겠다.

설정이 많다고 다 좋은 건 아니지만, 적어도 PDF-XChange Viewer가 제공하는 색상 관리라든가 퍼포먼스(멀티 스레드를 지원한다) 관련 설정은 유용하게 사용할 만한 것들이다. 유감스럽게도 Foxit Reader와는 달리 한글어 언어팩이 아직 지원되지 않지만, 한국 유저가 늘어나면 언젠가 추가되지 않을까 싶다. 개인적으로 별로 필요하진 않지만.

두 뷰어의 메모리 사용량

두 뷰어의 메모리 사용량


위 스샷은 동일 문서를 두 뷰어로 열고 사이드바 없이 동일 창 크기로 100%로 볼 때의 메모리 사용량이다. PDF-XChange Viewer의 퍼포먼스 관련 설정은 모두 기본값(automatic)이었다. 보다시피 PDF-XChange Viewer가 Foxit Reader보다 3배 가까운 메모리를 차지하고 있다. 게다가 아이들 시에도 1~2%씩 cpu를 사용하는 모습도 목격됐다. 사용 환경에 따라 차이는 있겠지만, 3배나 차이가 난다면 역시나 저사양에서는 Foxit Reader를 쓰는 게 더 나은 선택이겠다.

두 뷰어의 메모리 사용량 차이는 분명했지만, 사실 로딩 속도 차이나 스크롤 속도 차이는 씨퓨와 램 모두 3기가를 쓰고 있는 나로서는 느끼기 힘들었다. 결론적으로, 가독성이 나은 PDF-XChange Viewer를 개인적으로는 추천하고 싶지만, 저사양 유저이고 별 문제를 느끼지 못 한다면 Foxit Reader도 여전히 좋은 선택이 될 것이다.




Posted by 필유
응용프로그램2008. 6. 25. 00:38

당나귀에서 받은 실행파일을 무심코 클릭했다가 아주 징그러운 바이러스(멀웨어 혹은 스파이웨어 혹은 트로이 목마)에 걸려버렸다. 그 무섭다는 소문의 루트킷(rootkit) 종류의 스파이웨어였는데, 덕분에 이틀 동안 사투를 벌였다. flec006.exe로 웹을 검색해보면 무수한 피해사례가 나오는데, '100% 완벽한 복구는 불가능하다'라는 결론이 지배적이었다.

내 경우 즉각 확인할 수 있던 증상은 다음과 같았다.


  1. flec006.exe, mdelk.exe, hldrr.exe 등의 프로세스가 상주한다. 강제 종료할 수 없다. 이것들은 시작프로그램에도 동시에 등록된다.
  2. 안전모드로 부팅하면 블루스크린이 뜬다.
  3. 인터넷이 느려진다-_-
  4. 잘 실행되던 백신 프로그램 등이 실행되지 않는다(내 경우 아바스트 홈 에디션과 CCleaner 등)
  5. '탐색기>폴더 옵션>보기>고급 설정'에서 '숨김 파일 및 폴더 표시 안함' 설정이 사라진다. 따라서 숨겨진 파일을 볼 수 없게 된다.


그래서 탐색기 대용으로 사용하던 flyExplorer로 조사한 결과 다음과 같은 증상을 더 발견했다.


  1. C:\Documents and Settings\사용자 이름\Application Data 폴더 밑에 임의의 폴더가 생성되고 수상한 파일들이 들어찬다. m일 때도 있고 james일 때도 있고-_- 랜덤한 문자열이었다.
  2. C:\windows\sysmem32\drivers 폴더에 flec006.exe, mdelk.exe, hldrr.exe 등의 파일이 생성된다. 동시에 down 어쩌고 폴더(역시나 랜덤한 문자열)가 생성되며 이곳에 수상한 파일들이 차곡차곡 다운된다.


나중에 알게 됐지만 그외에도 서비스라든가 레지스트리를 '심각하게' 건드리는 바이러스였다. 웹을 뒤져본 결과, 그리고 홀로 이것저것 다 해본 결과 효과가 있었던 해결책은 다음과 같다. 물론 내 경우에 효과가 있었다는 얘기다.


  1. X-Cleaner (마이크로 버전) 검사 및 치료.
  2. 레지스트리 파일로 안전모드 복구. 이제 다시 안전모드로 부팅할 수 있다.
  3. SDFix 검사 및 치료.
  4. ComboFix 검사 및 치료. (프로세스에 바이러스가 상주해 있으면 실행이 안 된다)
  5. AVG 설치, 전체 검사, 치료. (프로세스에 바이러스가 상주해 있으면 설치조차 안 된다)
  6. 탐색기 폴더 옵션 복구. 안타깝게도 복구를 했는데도 내 경우에는 이렇게 나오더라. 그래도 이게 어디냐...
    사용자 삽입 이미지


참고한 문서는 다음과 같다.


  1. infected with flec006.exe 이 문서에서 큰 도움을 얻었다. 해외에서는 HijackThis가 스파이웨어 분석에 있어 거의 핵심적인 툴로 사용되는 듯하다.
  2. hidrr.exe and flec006.exe and exefld 비슷한 내용이다.
  3. 바이러스 hlrrr.exe mdelk.exe srosa.sys (Trojan-Downloader.Win32/Bagle) 국내 웹에는 자세한 정보가 없는 편이었다. 백신 소프트웨어 사이트 빼고는. 이 페이지도 지금은 삭제된 듯하다.


그리고 다음은 (내 경우) 효과가 없었던 프로그램들이다.


  1. 아바스트 홈 에디션. 이건 뭐 바이러스 걸린 시점에서 실행도 안 되고... 가뿐하게 언인스톨해버렸다. 게다가 이번 일로 알게 된 셈이지만, AVG가 훨씬 더 좋다.
  2. 위 해외 문서들에서 소개하고 있는 Avenger 버전 1. 이것도 바이러스에 걸린 상태에선 실행이 안 된다. 압축파일 안에서 파일명을 바꾼 뒤에 실행을 시킬 수 있었으나 위의 문서들에서 소개한 스크립트로는 치료되는 게 없었다. 물론 내가 수동으로 flec006.exe 등의 파일을 이미 지웠기 때문일지도 모르지만. 링크 타고 가보면 버전 2를 다운받을 수 있는데 이건 안 써봐서 모르겠다. 별로 쓰고 싶지도 않고.
  3. V3+ Neo 최신 버전. 혹시나 했는데 역시나... 전혀 바이러스를 검출하지 못 했다.
  4. VundoFix. 속도도 느리고 바이러스도 검출해내지 못 했다.


한 가지 운이 좋았던 건, 내가 인터넷 임시파일 폴더를 램디스크에 잡아놓았다는 점이었다(알다시피 램디스크는 재부팅할 때마다 싸그리 날아가버린다). 하지만 웹서핑 중에 바이러스에 걸린 건 아니니까 별 상관 없는 듯하기도...


어쨌든 이번 일로 수상한 실행파일은 절대 클릭하지 말아야겠다는 교훈을 새삼 확인했다. 문제의 파일은 모 게임의 크랙 파일이었는데, 엄청나게 마이너한 게임인데다가 당나귀에서도 소스가 10개도 안 되는 파일이었음에도 불구하고 바이러스에 걸려있었다니... 충격일 따름이다-_-



Posted by 필유

오픈오피스의 Calc를 어떤 정식 명칭으로 번역해서 부르는지 정확히는 모르겠지만...
일단 '캘크'라고 부르겠습니다. MS 오피스의 엑셀과 같은 프로그램이죠.
이 '캘크'에 이른바 이스터 에그가 있더군요. 바로 갤러그(!) 게임!!!

1. 우선 Calc 를 실행시킵니다.
2. 아무 셀에나 "=game()" 라고 입력합니다. 그리고 엔터를 칩니다.
3. "say what?" 란 글자로 바뀝니다.
4. 이 글자를 마우스 왼쪽 버튼 더블 클릭하면 다시 "=GAME()" 라고 나옵니다.
5. 이 글자를 "=GAME("StarWars")" 로 바꾸어 엔터를 치면 게임이 나옵니다..

대충 이런 화면입니다.

Calc에서 게임하기

Calc에서 게임하기


뭐 그냥 이런 게 숨겨져 있었구나 하는 정도로 패스;


Posted by 필유

아래와 같은 자료가 있다고 합시다. '품명'이 A1이라고 치죠. 이때 중복되지 않는 '종류'가 몇 개인지 궁금하다면? 즉, 중복 레코드를 카운트하지 않고 고유한(unique) 개수를 알고 싶다면?

품명 종류 가격 원산지
캐맛있는배 10000 서울시구석탱이
둘이먹다하나죽는사과 사과 5000 경기도사과동
저를먹어주세요 바나나 7000 아프리카울랄라시
맛있는바나나 바나나 6000 제주도제주시
정말맛있는딸기 딸기 5000 전남광양
자이로딸기 딸기 6000 미국NY
니뽄삘딸기 딸기 4000 일본서귀포
캔으로먹는사과 사과 19000 캐나다
악마같은사과 사과 9000 독일브레멘
혼자만드센 딸기 8000 독일브뤼셀

뭐 항목(레코드 또는 행)이 적다면 육안으로도 가능하겠지만; 만약 항목이 천개가 넘어간다면? 게다가 앞으로도 항목은 추가될 가능성이 언제라도 있고 그때마다 필터 따위의 수작업 없이 중복되지 않는 종류를 세고 싶다면?

여러 방법이 가능합니다.

위에서도 말했지만 고급필터를 이용하는 방법이나 피벗 테이블을 이용하는 방법도 있습니다만, 수작업이 필요한 방법은 제외하도록 하죠. 가라(-_-)로 엑셀을 사용하는 프로그래머(바로 저 같은;)라면 VBA를 떠올릴 겁니다. 하지만 VBA도 제외하도록 하죠.

내장함수만으로 이 문제를 해결하는 방법이 있습니다. 하지만 배열수식을 이용해야 합니다. 이것만은 피할 수 없죠. 보니까 오피스2007의 도움말에도 여러가지 방법이 소개되어 있더군요. 가장 쉬운 방법으로 frequency 함수를 이용하는 방법이 있지만 이 방법은 숫자 자료에만 사용할 수 있다는 한계가 있습니다. 물론 이를 응용한 방법들 또한 소개되고 있습니다. 도움말에서 소개하는 중복 값이 있는 범위에서 고유 값 개수 구하기를 보면 아시겠지만, 이 방법은 다소 복잡한 감이 있습니다. 원리는 간단하지만 수식이 복잡해진다는 의미에서요.

이보다 훨씬 간단한 방법이 있습니다. 한 네이버 카페에서 발견한 방법입니다. 위의 자료를 예로 든다면 만약 그냥 counta 함수를 사용한다면 중복된 '종류'를 포함하여 10이 나올 것입니다. 하지만 자료 범위 외의 아무 셀에나 =SUM(1/COUNTIF(B2:B11,B2:B11))라고 배열수식을 입력해보세요. 배열수식을 입력하기 위해서는 앞의 수식을 적고 ctrl + shift + 엔터를 쳐야 합니다. 그러면 간단하게 원하던 결과인 4가 나오죠.

사실 원리는 간단합니다. 중복되는 항목의 경우 countif 함수의 결과로 1보다 큰 값(x라고 합시다)이 나오게 되는데요, 이 x가 x개 있으므로 (1/x) * x = 1로 계산하게 만드는 방법입니다.

궁금하신 분들은 해당 셀에서 수식>수식 계산(오피스 2007 기준) 해보면 어떻게 계산이 되는지 볼 수 있습니다. 제가 아는 한 가장 간단한 방법이 아닐까 싶습니다. 필터도 피벗도 VBA도 다 필요없습니다. 얼마나 간단합니까.



Posted by 필유
응용프로그램2007. 3. 6. 18:54

경고-_-
글을 쓸 당시에는 몰랐는데 이 글에서 소개하는 프로그램은
MDI 기반의 프로그램(저의 경우 포토샵이나 AcroEdit 등)과 같이 사용하기엔 조금 불편합니다.

나중에 알았지만 TaskSwitchXP라는 프로그램이 훨씬 더 좋더군요.
크기는 마찬가지로 작고 프리웨어지만 설정도 많고 강력합니다.
설치 파일 크기는 겨우 394KB. TaskSwitchXP를 추천합니다.

원래 글은 일단 그대로 두겠습니다. 이하 원문~




저는 2월에 pc를 샀음에도 불구하고 일반-_-17인치 LCD를 사용중이기 때문에
와이드 LCD 유저에게 필요한 화면 분할 프로그램이나 확장 기능은 필요없고
대신 작은 모니터 유저에게도 유용한 ;) 화면 전환에 관한 프로그램을 소개합니다.
(여담입니다만 아직 와이드 LCD가 대세라고는 할 수 없죠.
 저희 출판사 맥디자이너랑 교정자는 아직도 볼록 CRT를 사용합니다-_-)

바로 지난번 SequoiaView 포스트에서 언급했던
블레이크 핸들러(Blake Handler) 씨의 포스트 [MS의 윈도우용 프리웨어 궁극의 리스트(Ultimate List of Free Windows Software from Microsoft)]에서(휴; 길다;) 당당히 2위를 차지한-_-

Alt-Tab Replacement라는 녀석입니다.

Alt-Tab Replacement

With this PowerToy, in addition to seeing the icon of the application window you are switching to, you will also see a preview of the page. This helps particularly when multiple sessions of an application are open. (MS 윈도우용 파워토이 페이지)


간략히 해석해서
많은 프로그램이 실행중일 때 알트탭으로 전환하려는 창의 미리보기 화면을 볼 수 있어 편리하다,
라는 소개인데요, 네, 맞습니다.
실제로 사용해보면 미리보기 기능이 상당히 유용함을 알 수 있습니다.

가령, 열심히 일하는 중 혹은 전체화면으로 영화를 보는 중에 뿅~하고 msn 메시지가 왔다면?
별 수 없이 하던 일을 멈추고 알트탭을 눌러 메신저 창으로 전환한 후 메시지를 확인해야겠죠.
그러나 이 프로그램을 깔면 알트탭을 누른 채로 메신저 창의 내용을 살짝 본 후(알트는 누르고 있는 상태)
필요없다고 생각되면 다시 탭을 눌러 원래 창으로 돌아오면 됩니다 -_-b

Alt-Tab Replacement 스크린샷

Alt-Tab Replacement 스크린샷. 메신저 창의 메시지를 확인할 수 있습니다.



 
다운로드는 위의 MS 페이지에서 받을 수 있습니다. 혹은 여기.
XP 전용인 듯합니다.
용량은 534k. 한번 써볼 만하죠.


Posted by 필유