응용프로그램2016. 7. 8. 11:14

옛날 글에 썼듯 크롬은 컨트롤+탭으로 최근 탭 간 이동을 할 수 없다. 크롬이 처음 나왔을 때부터 지금까지 단 한 번도 지원된 적이 없다. 이슈 리포트는 이런 문서 등을 참고. 이에 여러 확장기능이 나왔으나 Ctrl+Tab이 아니라 다른 단축키를 사용하는 꼼수밖에 없었다. 혹은 오토핫키를 쓰거나. 어쨌든 구글은 이걸 지원할 생각이 없다.


이에 최근 나온 방법이 있다. Ctrl+Tab MRU라는 확장기능을 깐다. 일단 현재는 이걸 깔면 Ctrl+Y로 최근 탭으로 이동할 수 있다(물론 구글이 언젠가 이것도 막을지 모른다). 이제 이 확장기능의 단축키를 Ctrl+Tab으로 바꾸면 된다.


물론 구글 설정에서는 단축키로 탭을 지정할 수 없다. 이에 해당 확장기능 설명 페이지에 적힌 방법은 이렇다. 윈도우 기준.

  1. 크롬을 끈다.
  2. %LOCALAPPDATA%\Google\Chrome\User Data\Default로 이동
  3. Preferences 파일을 열고 Ctrl+YCtrl+Tab으로 바꾼다(Ctrl+Shift+YCtrl+Shift+Tab으로).
  4. 파일을 저장하고 크롬을 켠다. Preferences 파일은 UTF8로 된 JSON 파일이다. 인코딩이 잘못되면 설정이 날아가버리니(경험담) 잘 모르겠으면 백업해두는 게 좋다.
  5. 크롬을 켠다.
  6. 구글 확장기능 단축키 설정에 가서 'Ctrl+탭'으로 표시되는 걸 확인한고 [확인]을 누른다.

정확하지는 않지만, 1~5번까지만 거치고 6번 과정을 생략하면 크롬 종료 시 해당 단축키가 리셋되는 듯하다. 나는 그냥 부팅할 때마다 실행되는 배치 파일에서 Preferences 파일을 수정하게 해놨다. 먼저 아무 곳에나 파워셸 파일을 하나 만든다.

(Get-Content $args[0] -Encoding UTF8) -replace "Ctrl\+Y", "Ctrl+Tab" -replace "Ctrl\+Shift\+Y", "Ctrl+Shift+Tab" | Set-Content $args[0] -Encoding UTF8


그다음 부팅할 때마다 실행되는 배치 파일에 다음과 같이 추가.

Powershell -noprofile -executionpolicy bypass -file 앞에서_만든_파워셸_파일.ps1 "%LOCALAPPDATA%\Google\Chrome\User Data\Default\Preferences"


파워셸 말고 그냥 배치 파일로도 가능할 것 같은데 뭔가 생각보다 복잡해서 그냥 포기했다.


Posted by 필유
응용프로그램2015. 6. 3. 00:04

*2016-1-21 추가: 이 글의 방법은 안 통합니다. AWS API를 이용하는 방법밖에 없습니다. 다음 글 등을 참고.

https://ctrlq.org/code/19965-amazon-api-with-google-script



스크립트 없이 구글 스프레드시트 importxml 함수만 이용해서 아마존 상품페이지의 각종 정보를 불러오는 방법임. 현재까지 국내외에 알려진 방법은 더는 통하지 않는다. 아마존이 페이지를 계속 바꾸고 내용을 동적으로 만들기 때문이 아닐까 추측.


알다시피 아마존 상품페이지는 다음과 같이 생겼고, 우리내가 원하는 정보는 빨간 부분, 그리고 저자 및 정가다.


http://www.amazon.com/The-Witcher-Collectors-Edition-Official/dp/0804162980/http://www.amazon.com/The-Witcher-Collectors-Edition-Official/dp/0804162980/


파폭 wdt 확장기능에서 보면 저곳의 dom 경로는 html>body#dp>div#a-page>div>div#detail-bullets이다. 크롬에서는 중간이 약간 다른데, 어쨌든 저기서 우클릭>Copy XPath 하면 //*[@id="detail-bullets"]라고 나올 거다.


크롬 개발자 도구크롬 개발자 도구


그럼 이 XPath 쿼리를 바로 importxml에 넣으면 되겠네? 야 신난다~ 싶겠지만... 처음부터 말했듯 안 된다는 게 문제다. 되면 내가 이걸 쓰고 있지도 않겠지...


importxml 실험-_-importxml 실험-_-


실험 결과, 위 dom 경로에 있는 div 중 importxml로 불러오는 게 가능한 건 최상위 div인 a-page뿐이었다. 직접 보면 알겠지만, 원하지 않는 정보와 엄청난 스크립트 들로 가득 차 있다. 위 페이지의 경우 len 해보니 375,299 글자가 나온다(...). 따라서 a-page에서 원하는 정보를 텍스트로 파싱해야 한다는 거... 절망적이다.


위안이 되는 점도 하나 있다. 메타 태그에 위 정보 중 일부가 들어 있고, 메타 태그는 importxml 함수가 잘 먹힌다.


메타 태그메타 태그


보다시피 저자, 도서명, 부제, ISBN, 분야 정보가 들어 있다. 항목들이 콜론과 스페이스(: )로 잘 구분된 title 태그를 importxml한 다음 split하면 된다.


다만, 이것조차 한계가 있다. 책마다 title 태그에 들어가는 항목이 다르다. -_- 이 책은 부제가 두 개인데, 어떤 책은 부제가 없다. 또 아마존의 서지정보 미흡으로 저자가 들어 있지 않은 경우도 있다. 즉 split을 일관되게 할 수가 없다. 어쩌라고!


게다가 나머지 정보, 즉 출판사, 출간일, 정가, 랭크도 메타 태그에는 없다. 얘네는 결국 a-page를 파싱해야 한다는 거...


메타 태그 및 나머지 정보를 무식하게 파싱하는 예제는 다음과 같다. 랭크 및 분야는 빠져 있다. 나중에 추가할지도.


https://docs.google.com/spreadsheets/d/1GEufB9BxulYIYwOGKZXhAFbC6-aTRmS1uUeDBN-M-fE/ (새창, 웹에 공개)


사용법: I열에 URL을 넣으면 해당 URL의 아마존 문서에서 도서명, 출판사, 출간일, 정가, ISBN을 가져와 B~H를 채운다.


B~H열에도 지저분한 수식이 들어 있지만, J열부터는 한층 지저분한 수식과 그나마 수식을 덜 복잡하게 하려고 넣은 문자열들을 볼 수 있다. 수식에 대한 설명은... 도저히 쓸 엄두가 안 남.


참고로, 일본 아마존 문서는 아마존닷컴과는 또 다르다. div들의 id나 class는 같지만 메타 태그 구분자도 다르고, importxml 결과도 다르다(어째서!? 심지어 가끔씩 내부 오류도 난다). 회사 파일에는 일본 아마존 정보 가져오는 수식을 따로 넣었는데, 정말 거지 같다.


미괄식으로 급 정리.

  1. 구글 스프레드시트에는 웹 문서 정보를 긁어오는 importxml이라는 멋진 함수가 있다.
  2. 근데 아마존 문서(본문)만은 제대로 긁어오지 못한다. WTF!
  3. 그래서 일부 정보는 메타 태그에서 가져오고, 나머지 정보는 무식하게 파싱해야 한다.
  4. 무식하게 파싱하는 방법은 위 구글 스프레드시트를 참고.


***수정: R, S열은 셀 높이가 커 스크롤이 불편해지므로 숨겨놨다. 구글 계정이 있는 사람은 '파일>사본 만들기'로 자기 사본을 만들면 해당 열을 볼 수 있다. 친절하게 수식을 직접 적자면, R2는 =importxml(I2,O2), S2는 =regexreplace(regexreplace(R2,"<.*?>",""),"\s{2,99}"," ")이다(정규표현식 좀 예쁘게 만들어줄 사람 없나?).




Posted by 필유
응용프로그램2015. 2. 25. 23:00

윈도우 기준. 워드의 Normal.dotm 파일은 스타일 등을 저장하는 '사용자 서식 파일'이다. 나는 (다른 많은 사람과 같이) 회사와 집 사이에 드롭박스 및 구글 드라이브로 파일을 동기화해서 사용하는데, 이 파일은 위치가 %appdata%\Microsoft\Templates이다 보니 동기화하기가 좀 불편하다.



찾아본 결과 심볼릭 링크를 사용해서 드롭박스 폴더 밖에 있는 파일을 추가하는 방법(새창)이 있다. 즉 ...\Templates에 있는 '대상'에 대한 '링크'를 드롭박스 안에 만드는 것. 그러나 내 경우 회사와 집의 사용자명이 달라서(즉 %appdata%가 달라서) 이 방법은 사용할 수 없다. 혹시나 해서 대상과 링크를 바꿔서도 해봤는데, 이렇게 하면 워드에서 기본 스타일 수정 후 종료 시 Normal.dotm 파일을 저장할 수 없다는 오류가 뜨면서 실패(당연히 이건 링크니까).


그러다 또 찾은 더 좋은 방법이 이거(새창, 마소). 역시 사람들 생각하는 건 다 똑같은가 보다. 간단하게, 워드에서 사용자 서식 파일의 위치를 설정하면 된다. 먼저 워드 '옵션>고급>일반>파일 위치'에서 해당 폴더를 변경하고, 다음으로 '옵션>보안 센터>보안 센터 설정>신뢰할 수 있는 위치'에서 또 해당 폴더를 변경하면 된다. 두 번째 설정을 안 하면 매크로를 사용할 수 없다는 알림이 뜬다.



옵션>고급>일반>파일 위치옵션>고급>일반>파일 위치


옵션>보안 센터>보안 센터 설정>신뢰할 수 있는 위치옵션>보안 센터>보안 센터 설정>신뢰할 수 있는 위치


Posted by 필유

2007부터인가 엑셀은 기본값으로 다중 실행이 안 되게 바뀐 듯하다. 그래서 다중 창을 원하는 사람들이 많은 글을 올렸던데... 레지스트리 수정 혹은 애드온 설치 말고 아주 간단한 방법이 있다.


윈도우키+R → excel → 엔터


이렇게 엑셀을 실행하면 그때그때 모두 각각의 창으로 뜬다. 나는 이렇게 엑셀을 실행한 후 알트+F → R → 숫자를 눌러 자주 사용하는 문서를 여는 식으로 사용하고 있다(마우스를 적게 쓰는 게 생산성이 높다). 엑셀을 여러 개 실행한 다음 탐색기의 파일을 원하는 창에 드래그앤드롭하는 사용 패턴도 가능하겠다.


흔히 알려진 방법대로 레지스트리를 수정하면 탐색기에서 엑셀 파일을 열 때마다 새로운 엑셀이 실행되게 할 수는 있다. 그러나 이렇게 엑셀 프로세스가 여러 개 실행되면 실행될수록 PC의 자원 소모 또한 증가한다. 사양이 빵빵한 시대이긴 하지만, 그럼에도 나는 모든 파일이 아니라 원하는 파일만 새로운 엑셀 창으로 여는 방법을 선호한다.


그럼 탐색기에서 특정 파일에 대해서만 새 엑셀을 실행하는 방법은 없을까? '보내기' 메뉴를 이용하는 방법이 떠오른다.


  1. 탐색기에서 엑셀 설치된 폴더로 간다. 2010의 경우 보통 C:\Program Files\Microsoft Office\Office14
  2. EXCEL.EXE 파일을 우클릭해서 폴더 안 빈 공간에 끌어다가 놓고 '여기에 바로 가기 만들기' 선택.
  3. 그럼 'EXCEL.EXE - 바로 가기' 이런 파일이 생겼을 거다. 이 파일을 컨트롤+X.
  4. 알트+D 누른 다음 주소창에 shell:sendto 엔터(혹은 윈도우키+R 누르고 shell:sendto 엔터).
  5. 컨트롤+V.


이제 탐색기에서, 새로운 엑셀 창으로 열고 싶은 파일은 우클릭하여 '보내기>EXCEL.EXE - 바로 가기'로 열면 된다.




Posted by 필유
응용프로그램2014. 4. 13. 00:02

플래시에서 타임라인에 애니메이션을 넣은 파일이라면 쉽게 변환해주는 툴이 여럿 있을 것이다. 이런 게 아니라 순수 액션스크립트 코딩한 애니메이션을 동영상으로 만드는 방법이다. 간단히 말해 이런 순서다.


  1. 플래시에서, 이미 완성된 as 파일을 문서 클래스로 삼는 동명의 fla 파일 생성.
  2. 플래시에서 이 fla 파일을 mov로 내보내기(퀵타임 필요)
  3. Adobe Media Encoder에서 mov를 원하는 포맷의 동영상으로 변환(ogv 파일로 변환하고 싶을 경우 플러그인 설치)


하나씩 자세히 보자. 링크는 모두 새창.



1.

보통은(?) 나처럼 플래시디벨롭 같은 툴을 써서 코딩했을 테고, 그 결과로 Main.as 파일 한 개와 거기 딸린 여러 개의 as 파일을 가지고 있을 거다. Main.as와 다른 클래스 파일들이 같은 폴더에 있다고 가정한다.


플래시를 켜고 'ActionScript 3.0' 빈 문서를 하나 만든다. 그리고 Main.as가 있는 폴더에 바로 Main.fla라고 저장한다. 그다음 '문서 클래스'를 Main으로 지정하고 다시 저장한다.



문서의 클래스 외 fps, 크기 등 다른 속성은, 보통은 Main.as에서 [SWF(width=...] 이런 식으로 설정했을 것이다. 플래시에서도 이와 동일하게 설정한다. 이제 Ctrl + Enter로 잘 재생되는지 확인한다.


물론 액션스크립트 코딩 자체를 플래시에서 하는 사람이라면 이 1번 과정은 모두 필요 없다. 이미 가지고 있는 fla 파일이 있을 테니 다음 2번으로 그냥 진행하면 된다.



2.

'파일>내보내기>동영상 내보내기' 혹은 Ctrl + Alt + Shift + S를 눌러 종류는 mov 파일을 선택한다. 퀵타임이 없다면 설치하라고 나올 거다. 공식 사이트 가서 설치하고 플래시를 재시작하고 다시 시도하라. 아, 퀵타임 따위를 설치하는 날이 올 줄이야... 잠시 눈물 좀 닦고 가자.


참고로, 내보내기에서 avi, png 등을 고를 수 있지만, 그렇게 저장해봤자 안 된다! 빈 화면만 나온다. 다른 방식은 타임라인 위에 작업한 애니메이션만 저장되며, 액션으로 만든 애니메이션까지 저장할 수 있는 건 mov뿐이다.


2-1.

파일명을 고르면 퀵타임 내보내기 설정 창이 뜬다.



여기서 렌더링 폭, 높이는 플래시에서 지정한 문서 속성으로, Main.as에서 [SWF(width=...] 식으로 설정한 값이 아니다. 그래서 Main.as와 Main.fla 둘 다 동일하게 맞추라고 한 것이다.


어쨌든, 중요한 건 '다음 경과 시간 후'이다. 타임라인 프레임 단위로 작업한 게 아니므로 반드시 수동으로 끝날 시간을 정해줘야 한다. Main.as 파일에서 보통은 이런 식으로 코딩했을 거다.


stage.addEventListener(Event.ENTER_FRAME, idle);


따라서 전역변수 하나를 잡아, idle 함수 안에서 1씩 더해주게 하고 idle을 stage에서 제거하는 순간 trace하면 전체 프레임 수가 나올 거다. 그 전체 프레임 수를 문서의 fps로 나눠주면 시간을 구할 수 있다.


다만, 버그인지 모르겠는데, 결과물을 보면 의도한 것보다 짧게 저장되는 듯하다(내 경우 문서 fps는 60이었는데 동영상 fps가 62.5로 잡히면서 영상이 중간에 짤렸다). 이런 경우, 시간을 여유 있게 정해준 다음 결과물을 보고 뒤를 자르든가 하자.


2-2.

그리고 하단의 [QuickTime 설정] 버튼을 클릭하고 동영상 크기, 품질 등을 설정한다.



이건 따로 설명할 필요는 없겠지. 본인 목적에 맞게 적절히 설정.



3.

만약 mov가 원하는 포맷이었다면 2에서 끝. 그러나 mov를 누가 원하겠어...


mov를 avi 등으로 변환하는 데에는 Adobe Media Encoder를 사용하면 된다. CS에 포함된 툴로, 아마 플래시와 같은 컬렉션 제품군에 속해 있다. 플래시를 가지고 있다면 이것도 있으리라고 가정한다.


만약 없다면 무료 오픈소스 툴인 Miro Video Converter 같은 툴을 쓰면 된다. 다만 이 툴은 기능이 다소 제한적이고, 폴더명에 한글이 있을 경우 드래그앤드롭도 안 된다. 이 툴은 자세한 설정을 할 수 없어 별도의 설명도 하지 않는다.


3-1.

나처럼 변환하고픈 최종 포맷이 ogv라고 하자. Adobe Media Encoder는 기본적으로 ogv 포맷으로는 변환할 수 없다(적어도 내가 쓰는 CS5.5는 그렇다). 그러나 AdobeOgg라는 플러그인을 설치하면 가능하다. 물론 무료에 오픈소스다. 설명에는 프리미어용이라고 써 있지만, 프리미어에서 내보내기 시 호출하는 프로그램이 바로 Adobe Media Encoder이다.


플러그인을 받았으면 윈도우 기준 C:\Program Files\Adobe\Common\Plug-ins\CSx\MediaCore 폴더에 파일을 넣어준다(CSx에서 x는 자기 CS의 버전). 그다음 Adobe Media Encoder를 실행한다. 시작프로그램>Adobe xxxxxx Collection CSx 폴더에 있다. 여기서 x는... 생략).



플러그인을 설치해야만 스샷처럼 '형식'에서 Theora 포맷을 선택할 수 있다.



그 옆의 '사전 설정'을 누르면 동영상 품질, 크기, fps 등은 물론, 소스 동영상 중 원하는 범위만을 선택할 수도 있다. 위에서 말한 내 경우처럼 실제 길이보다 더 길게 mov를 생성했을 경우 뒷부분은 날리는 게 가능하다. 스샷은 7초 29짜리 소스에서 앞에서 7초 28만을 출력으로 지정한 모습.



이상 과정을 거쳐 내가 만든 swf와 ogm을 집접 임베딩하면 다음과 같다.



Posted by 필유
응용프로그램2014. 4. 10. 00:50

웬만하면 이런 글 쓰기 싫었다. 하지만 아무래도 너무하는 거 같아서.


헝그리앱이라는 사이트에서 게시판에 들어가면 스크롤을 따라다니는 플로팅 배너가 있다.



위 스샷의 경우 큐라레 광고. 보다시피 게시판 목록을 보는 걸 방해하고, 심지어 이 광고는 게시물을 클릭한 다음에도 사라지지 않고 떠 있다. 물론 우상단의 X 버튼을 누르면 사라지지만, 그것 참 거슬린다.


Adblock Plus로 차단하면 되지 않을까? 되면 이 글을 쓰지 않았을 것이다-_- 일반적인 이미지나 플래시를 차단하는 방법만으로는 불가능하다. 이미지만 차단할 경우 저 공간이 하얗게 남아 여전히 스크롤을 따라다니며 방해한다. 배경 이미지(opa.png)를 차단해도 마찬가지다. 저 '공간' 자체를 차단해야 한다.


저 부분의 소스(대충 417행)를 보면 fixed-top.banner_11라는 div를 차단해야 한다는 걸 알 수 있다.



그래서 찾아본 결과, Adblock Plus와 함께 사용하는 확장 기능이 하나 더 있었다. 이름하여 Element Hiding Helper for Adblock Plus. 애드블록 도움말 문서(새창)에서 알아냈다. 이걸 설치하면 단순 이미지 외에 div 등 스타일시트의 특정 요소를 차단하는 게 가능해진다. 이걸 설치하면(재부틸 필요 없음) 특정 요소를 찍어서 차단할 수 있다(요소 숨김 필터)..



단, 찍을 때 div가 아니라 이미지 등으로 인식하는 경우가 있어 그냥 입력하는 게 낫다. 위 스샷처럼 다음과 같은 요소 숨김 필터를 추가하면 된다.


hungryapp.co.kr##DIV.fixed-top.banner_11


추후 헝앱이 소스를 바꾼다면 클래스 명이 달라질지 모른다. 뭐, 방법만 알면 그때 가서 바꾸면 될 일. 하지만 그것보다 헝앱은 인간적으로 이 따위로 조잡하게 플로팅 광고를 노출하는 짓거리에 대해 재고하면 좋겠다. 이렇게 광고 띄워서 광고비 뭐 얼마나 많이 받는다고. 사용자들이 겪는 불편도 좀 생각해주길.






Posted by 필유
응용프로그램2014. 4. 5. 23:31

캣마우스(KatMouse)라는 작지만 대단히 편리한 프로그램이 있다. 창의 현재 포커스와 상관없이 마우스 휠을 작동하게 해주는 프로그램이다. 옛날옛날 마소 인텔리포인트 마우스를 썼던 사람은 아는(그리고 손에 익었을, 대단히 유용한) 기능이다.


글의 요지는, 이 캣마우스의 새 버전이 올해 2월에 나왔다는 거다. 무려 7년-_- 만의 업데이트다. 최신 버전은 KatMouse 7이고 제작사 사이트(새창)에서 다운로드할 수 있다.


결론적으로, 현재 캣마우스를 사용 중이라면, 윈도우7 호환성을 비롯해 여러 가지로 업데이트된 최신 버전을 사용하길 권장한다. 캣마우스가 뭔지 모르는 사무직 종사자 역시, 당장 써보길 권장한다(써보고 필요 없으면 제거하면 그만. 아무 찌꺼기도 남지 않는다). 한 번이라도 써본 사람은 그 편리함을 순식간에 깨달을 수 있다. 이미 앞서가는-_- 사람들은 다 쓰고 있다.


그럼에도 설득을 위해 시나리오를 들자면...


왼쪽에는 탐색기, 오른쪽에는 한글을 띄웠다고 하자. 탐색기 폴더에는 휠로 스크롤해야 할 만큼 파일이 많다. 한글에서 작업 중에 왼쪽 탐색기 화면 아래에 있는 파일을 고르고 싶다고 하자. 이럴 때 우리는 마우스로 왼쪽 창을 클릭한 다음(즉 포커스를 한글에서 탐색기로 옮긴 다음) 마우스 휠을 돌려야 한다. 이럴 때 캣마우스를 설치해놨다면, 그저 마우스를 왼쪽으로 옮겨서 휠을 돌려도 탐색기 안에서 스크롤이 일어난다. 포커스 창이 아니라 현재 마우스가 위치한 창에서 휠 스크롤이 가능해진다.


혹은, 하나의 탐색기 창 안에서 왼쪽 창(정확히는 컨트롤?)에는 폴더 구조, 오른쪽 창에는 현재 폴더 내용을 표시해놓았다고 하자(일반적으로 나는 탐색기를 이렇게 쓴다).



현재 포커스는 오른쪽 창에 있다. 이때 왼쪽 창에서 스크롤을 하려면 어떻게 하는가? 왼쪽 창과 오른쪽 창 사이에 있는 스크롤바를 마우스로 잡고 내리든가, 왼쪽 창 임의의 폴더를 클릭한 다음 휠을 돌려야 한다. 하지만 캣마우스가 설치되어 있다면? 그냥 마우스를 왼쪽 창으로 이동하고 휠을 돌리면 된다.



단언컨대, 이 작고 훌륭한 프로그램을 사용하지 않을 이유는 없다.



사족으로, 이전 버전(~1.04)은 몇몇 프로그램에서 휠이 묘한 오작동을 일으키는 문제가 있었다. 캣마우스 설정(Applications 탭)에서 해당 프로그램을 무시하도록 지정하면 되긴 하는데, 어쨌든.


내 경우 가장 성가셨던 문제는, 크롬에서 컨트롤 키를 한 번이라도 누르면 그다음부터 휠을 돌릴 때 글자가 작아지거나 커지는 현상이었다. 원인을 몰라서 정말 황당했던 일이다. 이번 버전은 제작자 자신이 밝혔듯 크롬과 충돌(?)하지 않는다. 또 하나, 이전 버전은 포토샵, 인디자인, 일러스트레이터 등에서 휠이 제대로 작동하지 않았다(컨트롤, 알트, 시프트 키와 사용 시). 이번 버전은 이런 부분도 고쳐졌다 만세.


Posted by 필유
응용프로그램2014. 3. 20. 03:34

오페라는 12.16을 끝으로 사라진 것과 다름없이 되어버렸다. ... 그렇게 된 자초지종은 쓰지 않겠다. 떠나보내는 오페라를 마지막으로 찬양이나 하련다.


나는 2005년부터 파폭을, 2011년부터 오페라를 메인으로 썼다. 당시 오페라를 메인으로 선택했던 이유는 무엇보다 속도였다. 게다가 온갖 기능이 기본으로 다 포함되어 있었다. 오페라에 익숙해지다 보니 다른 브라우저는 불편한 점이 많았다. 오페라에는 기본으로 있지만 파폭이나 크롬에는 기본으로 없는 유용한(내가 즐겨 쓰는) 기능을 적어보자면 이렇다. IE는 당연히 논외.


  1. 마우스 제스처
  2. 이미지 차단
  3. 검색엔진 만들기, 관리
  4. 탭 그룹(파폭에서 다른 방식으로 지원)
  5. Ctrl + Tab으로 최근 탭 간 이동
  6. RSS 리더
  7. 메일 클라이언트


1, 2는 브라우저별 애드온으로 해결된다. 그러나 6, 7이 가능한 브라우저는 오페라 외엔 없다. 파폭은 라이브북마크 기능이 있지만 많은 사람이 별도의 확장 기능(가령 Sage)을 선호한다. 메일의 경우 아예 별도의 프로그램인 썬더버드를 써야 하고.


3은, 파폭의 경우 완벽하지 않고(그래서 Organize Search Engines 같은 확장 기능을 별도로 쓴다) 크롬은 옴니박스인데... 뒤에서 얘기하겠다.


4는 파폭과 오페라가 다른데, 각기 장단점이 있다. 내 회사 PC는 부팅 시 오페라가 실행되고 그 오페라는 퇴근할 때까지 종료되지 않는다. 고정적으로 사용하는 사이트 6개가 탭 고정되어 있고, 추가로 10~30개 탭을 왔다 갔다 하면서 서핑한다. 여기서 탭 그룹은 비슷한 종류의 문서들을 시각적으로 묶어주는 등 중요한 역할을 한다.


5는 기능이라고까지 할 건 없는데, 현재로서는 크롬에서는 애드온을 통해서도 불가능하다. 현재 많은 크롬 사용자들이 이를 지원하지 않는 데 대해 불만을 품고 있다. 파폭에서는 browser.ctrlTab.previews 또는 Supertab 같은 확장 기능을 통해 가능하다. 위에 썼듯 '수십 개' 열려 있는 탭 사이에서 탐색할 때에는, 앞뒤 탭 간 이동보다는 최근 사용한 탭 간 이동이 훨씬 더 편리하다.


딱히 탭이 많지 않더라도, 우리가 윈도우에서 Alt + Tab으로 프로그램 사이를 왔다 갔다 하는 걸 생각해보라. Alt + Tab을 눌렀을 때 작업표시줄에 뜬 순서대로 왼쪽에서 오른쪽으로 이동하는 게 아니다. Ctrl + Tab 역시 이를 따르는 것이 직관적이며 자연스럽다(이는 일반적으로 MDI 프로그램들에서도 중요한 문제이다).



3을 부연하자. 나는 옴니박스를 싫어한다. 검색엔진 관리가 불편하기도 하고(이건 크롬 자체 UI의 문제다) 검색어 앞에 별도의 키워드를 입력하는 방식도 효율적이지 못하다고 생각한다. 가령 하나의 단어를 영한사전(키워드 n)에서 찾아본 다음 영문 윅셔너리(키워드 w)에서도 찾아보고 싶다고 하자.


Ctrl + L → n 검색어 → 엔터 → 문서를 읽는다 → Ctrl + L → w 검색어 → 엔터


이런 과정을 거쳐야 한다. 검색어가 길다면? Ctrl + C와 Ctrl + V를 이용한다고 해도 키워드는 직접 타이핑해야 한다. 검색어와 키워드에 따라 키 입력에 걸리는 시간이 매우 길어질 수 있다. Ctrl, L, 키워드, 스페이스, 검색어, 엔터 이 키들을 왔다 갔다 하는 게 불편한 것이다. 오페라와 비교하자면 그렇다는 말이다(크롬만 쓰는 사람은 그 한 가지 방법밖에 모르므로 불편함을 느끼지 못하겠지만). 오페라에서는 이 과정이 다음과 같이 바뀐다. 키 입력 수 자체는 아래 화살표(↓) 때문에 많을 수 있어도 키워드와 스페이스를 입력하는 과정이 없으므로 키보드 위에서 손가락의 동선은 짧아진다.


Ctrl + E → 검색어 → (n 검색엔진이 선택되지 않은 경우 ↓ 두 번 이상) → 엔터 → 문서를 읽는다 → Ctrl + E → ↓ 두 번 이상 → 엔터


덧붙여 검색어가 있는 상태에서 검색엔진을 마우스로 바꾸는 경우, 대단히 훌륭하게도, 오페라 검색엔진박스에서는 엔터를 치지 않아도 바로 그 사이트로 이동한다. 파폭은 검색엔진을 마우스로 바꾼 다음에도 엔터를 추가로 입력해야 한다(단, Search on Engine Change를 설치하면 엔터를 입력하지 않아도 된다). 이런 추가적인 키 입력이 쌓이고 쌓여 능률을 떨어뜨린다.


한 가지 더, 파폭과는 달리 오페라의 검색엔진은 탭별로 설정된다. 파폭에서는 한번 검색엔진박스에서 검색엔진을 고르면 그 검색엔진이 다른 탭으로 가도 유지되지만, 오페라는 그렇지 않고 탭별로 검색엔진과 검색어를 관리한다. 가령 새 탭을 열면 검색엔진은 기본값(가령 구글)으로 바뀌고 검색어도 사라진다. 이게 편리한 이유는 (내 경우) 보통 새 탭을 열고 제일 먼저 하는 일이 검색이기 때문이다.


Ctrl + T → Ctrl + E → 검색어 입력 → 엔터


파폭의 경우 구글이 검색엔진으로 선택된 상태라면 위와 키 입력 수가 같다. 그러나 다른 검색엔진이 선택된 상태라면 다음과 같다.


Ctrl + T → Ctrl + E → 검색어 입력 → Alt + ↑(↓) → Home → 엔터 → 엔터


키 입력이 세 개 많으며 키 사이 거리도 멀다. 뿐만 아니라 오페라의 Ctrl, T, E, 검색어, 엔터 입력은 좌측에서 우측으로의 동선이지만, 파폭의 키 입력은 한마디로 우왕좌왕이다. 게다가 오페라와는 달리 파폭에서는 Alt를 누르지 않고 위아래 화살표만 눌러서는 검색엔진을 선택할 수가 없다. 이렇게 쓰느니 마우스를 쓰고 말지. 위에서 썼듯 Search on Engine Change를 설치해야만 마지막 엔터 두 번이 한 번으로 줄어들 뿐이다.



무의미한 이야기를, 길게 써봤다. 오페라가 아무리 좋아도, 12.16까지의 얘기일 뿐이다. 웹은 격변하고 있고 업데이트되지 않는 브라우저는 도태된다. 파폭으로 돌아갈 결심을 했다. 크롬은 아무리 봐도 부족하다. 한 20% 부족하다.


안타깝다. 파폭도 크롬도 사용자들이 불만을 품고 있지만 고쳐지지 않는 부분이 있다(파폭의 미분류 북마크라든가 위에 쓴 크롬의 최근 탭 간 이동). 하지만 오페라처럼 자기가 자기이길 포기한 경우가 어디 있을까. 12.16 이후 13부터의 오페라는 크롬의 짝퉁일 뿐이다. 마우스 제스처는 커스터마이징도 안 되고, 그 훌륭한 검색엔진박스가 사라졌고, 메일 클라이언트도 분리됐다. 하아... 나는 울면서 파폭을 써야 한다.




Posted by 필유
응용프로그램2011. 12. 13. 23:58

전에 네이버 블로그에도 썼던 적이 있는데 뭐 지금은 비공개이고, 옆글한 김에 다시 정리한다.

...덧붙여 기록으로 남겨두자면 옆글 사양은 다음과 같다.


먼저 대원칙, 웬만하면 Opera Link 사용하자. 고민할 필요가 없다.

내 경우 위와 같이 검색 엔진만 빼고 그냥 전부 동기화했다. 회사에서 만화, 영화나 토런츠 찾을 일이 있어선 안 된니까. 사실 즐겨찾기도 조금 민감한 부분인데, 즐겨찾기 루트에 집, 회사 두 폴더 만들고 그냥 쓰고 있다.


다음으로, 동기화가 안 되는 항목들을 수동으로 복구하자.  먼저 메일(피드) 계정 설정 및 메일(피드) 본문. 

오페라 설정은 기본적으로 %APPDATA% 및 %LOCALAPPDATA% 폴더에 저장된다. '오페라 메뉴>도움말>Opera 정보'를 눌러보면 확인할 수 있다. 관리자 설치한 윈도우7을 예로 들면 메일은 C:\Users\Administrator\AppData\Local\Opera\Opera\mail 폴더에 저장된다. 포맷하기 전에 이 폴더를 백업해두었다가 포맷 후 오페라를 설치하고 다시 덮어쓰면 된다.

다음으로 (동기화를 할 수 있지만 굳이 하지 않은) 항목들은 모두 %APPDATA% 아래 Opera\Opera 폴더에 있다. 즉 대개의 경우 C:\Users\Administrator\AppData\Roaming\Opera\Opera 폴더다. 다른 건 관심 없고, 일단 즐겨찾기는 이 폴더의 bookmarks.adr 파일에 저장된다('Opera 정보'에서도 확인할 수 있다). 검색 엔진은 search.ini, 스피드 연결은 speeddial.ini이다. 나머지 항목은... 본인의 경우 그냥 동기화하기 때문에 모르겠다.


오페라 설정, 특히 메일 자료의 경우 용량을 상당히 차지할 수 있다(내 경우 최근 피드를 정리했는데도 135메가 정도다). 따라서 시스템 파티션이 아닌 다른 곳으로 폴더를 지정하고 싶을 수 있는데, 이때는 opera:config에서 직접 폴더를 바꿀 수 있다. 근데 사실 귀찮고; 아예 %APPDATA% 및 %LOCALAPPDATA% 폴더 전체를 다른 파티션으로 옮겨도 되겠다(런 (새창) 등). 호환성이 걱정된다면 심볼릭 링크를 만드는 것도 방법이다(지난 포스트(새창) 참고). 나님은 용량 큰 폴더만 수동으로 심볼링 링크를 걸어 사용하고 있다.


Posted by 필유
응용프로그램2011. 11. 2. 01:29

내 아이스크림2 폰을 비롯해 아마도 여러 LG 전화기에서, 음성 메모(QCP) 및 통화 중 메모 파일(QCQ)을 PC로 옮기면 재생도 변환도 할 수가 없다. 모바일 싱크로 재생하는 방법 말고 말이다. 알려진 방법, 가령 퀄컴 PureVoice 등을 모두 동원해도 안 된다. 안 되는 이유가 있었다. 다음과 같은 문서 참고.

요약하자면 QCP 및 QCQ 파일 중 EVRC 코덱으로 된 파일은 죽어도 PC에서 재생할 수 없다는 소리가 되겠다. 자기 폰은 잘 된다고 좋아하는 건 자유지만, 죽어도 안 되는 폰도 분명히 있다는 점을 명심하라.

우회하는 방법은 두 가지다.

  • 디지털이든 아날로그든 다이렉트 녹음
  • QCP(QCQ) 파일을 이메일로 자신에게 전송(이 따위가 공식적인 해결책이란다)

그러나 내 폰은 음성 메모를 이메일로 전송하는 기능이 없다(내수용 중에 이런 기능 있는 피처폰이 있나?). 참 분통 터지는 일이 아닐 수 없다. 어쩔 수 없이 모바일 싱크로 그냥 듣고만 있다. 나중에 정 필요하다면 스테레오믹스로 녹음을 떠야겠다.

스테레오믹스 녹음 방법은 찾아보면 여러 문서가 나오지만, 간단히 정리하면 이렇다.

  1. 재생용 프로그램(모바일 싱크)을 열고 재생할 파일을 선택하고 재생 준비를 한다.
  2. 녹음용 프로그램(Audacity를 추천한다)을 열고 입력 소스로 스테레오믹스를 고르고 주파수(44.1kHz)와 채널(모노)을 설정한다. 입력 소스에 스테레오믹스가 없다면 드라이버에 문제가 있거나 사운드카드가 지원을 안 하는 거다(안습).
  3. 재생용 프로그램의 재생 버튼을 누르자마자 녹음용 프로그램의 녹음 버튼도 같이 누른다-_-
  4. 재생이 끝나면 녹음용 프로그램에서 정지를 누르면 된다-_- 아 쥰내 원시적이네...

Audacity의 경우 일정 음량 이상일 때만 녹음하는 기능(sound activated recording)이 있는데, 일정 음량 이상일 때 '녹음을 시작'하는 기능은 없다. 추후 버전에서는 지원해줬으면 하는 바람.

Posted by 필유