2010년 12월 29일 수요일

파이어폭스 검색을 더욱 은밀하게

구글은 검색 정보를 암호화해서 전송할 수 있는 Google search over SSL을 제공한다. 이 사이트에 직접 들어가서 검색을 하면 검색어, 검색결과 등이 암호화되어 네트워크에서 여러분의 검색정보를 영탐할 수 없게 할 수 있다. 하지만, 파이어폭스의 우측 상단에 있는 검색바를 이용한다면, 검색정보가 네트워크에 그대로 드러나게 된다.

Google search over SSL

이 검색창도 Google search over SSL 서비스를 이용하도록 하면, 여러분의 검색정보를 보호할 수 있다. 검색바의 왼쪽에 있는 화살표를 아이콘을 누르면 제일 아래에 '검색 사이트 관리...'를 볼 수 있다. 여기서 '추가할 검색 사이트 찾기...'를 클릭하면, 파이어폭스 애드온 페이지로 연결된다. 여기서 Google search over SSL 관련 애드온을 찾을 수 있는데, 페이지 오른쪽 위편의 '부가 기능 검색하기' 서식에 'Google SSL'이라고 검색하면 관련 SSL을 찾을 수 있다. 몇몇 애드온을 찾을 수 있는데, SSL Search Bar가 제작한 Google (SSL)을 설치해보자. 오른쪽의 녹색 'Firefox에 추가' 버튼을 누르면, 설치가 진행된다. 이제 브라우저의 검색창 아이콘을 다시 클릭해보면, 'Google (SSL)'이 설치된 것을 알 수 있다.

Google (SSL)이 제대로 작동하는 것은 몇 가지 사항을 통해서 확인할 수 있다. 먼저, 브라우저의 검색바에 Google 대신에 Google (SSL)이라고 쓰여 있는 것을 확인할 수 있다. 한번 검색을 해보자. 검색 결과 페이지의 구글 마크에 조가만 SSL 문구를 볼 수 있다. 또, 주소창을 보면 프로토콜이 http가 아니라 https인 것을 알 수 있다. 이제 좀 더 안전한 검색을 할 수 있는 환경이 구축되었다.

Google (SSL)을 사용하도록 설정한 검색바

참고로, SSL 검색에서는 지원되지 않는 기능이 많이 있다. 가장 눈에 띄는 것은 특정일에 따라 변하는 구글 로고를 볼 수 없다는 것! 점차 많은 서비스를 SSL로 제공한다고 하니 일단 기다려보자.

2010년 12월 6일 월요일

리눅스와 윈도의 줄바꿈 차이

글을 입력하면서 커서가 화면의 오른쪽 끝에 이르면 '줄바꿈'을 해야 한다. 리눅스와 윈도 모두 '줄바꿈'을 할 때 누르는 키는 '엔터(Enter)'이고 화면에서 나타나는 모양새는 같은데, 내부적인 처리에는 차이가 있다.

윈도는 옛 타자기 시절의 습관을 고스란히 옮겨 놓은 낭만적인 방식을 택한다. 타자기를 사용하던 시절엔 입력하는 글의 줄을 바꾸려면 두 가지 동작이 필요했다. 먼저, 사용자가 글자를 입력함에 따라 종이를 왼쪽으로 옮겨주는 캐리지(carriage)라는 부품을 오른쪽 끝으로 밀어야 한다. 그런 다음 종이를 조금 위로 올려서 다음 줄의 첫 부분에 활자가 닿을 수 있도록 조정해야 한다. 캐리지를 오른쪽 끝으로 되돌려 놓는 동작은 컴퓨터에서 커서의 위치를 왼쪽 끝으로 되돌려 놓는 동작에 해당하고, 이를 복귀(carriage return)이라고 한다. 문자열 표기(string notation)로는 '\r'로 나타낸다. 종이를 위로 올리는 동작은 현재 커서가 있는 줄의 아래에 입력 가능한 줄을 삽입하고 커서를 한 칸 아래로 내리는 동작에 해당하며 이를 새줄(new line)이라고 한다. 문자열 표기로는 '\n'으로 나타낸다. 실제로 글을 입력할 때 줄을 바꾸려면 엔터 키만 누르지만, 문서의 각 줄 끝에는 '\r\n'이 들어간다.

리눅스(유닉스 계열)는 컴퓨터에 적합한 실용적인 방식을 택한다. 타자기는 기계적인 한계 때문에 '복귀'와 '새줄'이라는 동작을 차례로 해야 했지만, 컴퓨터에서는 굳이 그럴 필요가 없다. 그래서 '줄바꿈'이라는 표시로 '\n'만을 사용한다.

모든 비표준이 그렇듯이, 이러한 차이는 리눅스와 윈도를 오가며 문서를 작성하다 보면 불편한 점을 만든다. 윈도에서 작성한 문서를 리눅스에서 보면 모든 줄 끝에 '^M'이라는 문자가 나타난다. 리눅스는  '\n'만을 '줄바꿈'으로 문자로 인식하고, '\r'은 해당 꺽쇠 표기(caret notation)인 '^M'로 화면에 표시하는 것이다.

윈도 줄바꿈 형식을 사용한 문서를 유닉스 계열의 줄바꿈 형식으로 열면 ^M 문자를 볼 수 있다.

이건 그나마 나은 편이다. 리눅스에서 작성한 문서를 윈도에서 보면 문서의 모든 내용이 한 줄에 표시된다. 윈도에서 줄바꿈으로 인식하는 '\r\n'이라는 제어 문자가 없으니 한 줄에 모든 내용을 표시해버린다.

유닉스 계열의 줄바꿈 형식을 사용한 문서를 윈도에서 열면 줄바꿈이 되지 않는다.

요즘은 편집기가 똑똑해져서 '줄바꿈' 제어 문자가 뭐로 되어 있든지 알아서 잘 처리해주지만, 때로 문제가 되기도 한다. 한 문서에 여러 가지 '줄바꿈' 제어 문자가 들어 있으면, 편집기가 이를 잘 처리하지 못하기도 하고, 시스템 환경과 다른 '줄바꿈' 문자 때문에 스크립트 프로그램이 이상한 오작동을 하기도 한다. 그렇다면, 윈도 방식의 줄바꿈으로 된 문서를 리눅스 방식의 줄바꿈으로 바꾸려면 어떻게 해야 할까?

쉘에서 손쉽게 바꾸는 방법은 아래와 같다.
$ cat <FileName> | tr -d '\r' > out; mv out <FileName>
이맥스에서 두 가지 방법으로 할 수 있다. 첫 번째는 ^M을 공백으로 치환하는 방법이다. C-Home으로 버퍼의 첫 부분으로 간 다음 아래 명령을 실행한다.
M-% C-q C-m RET RET !
C-q는 입력 버퍼에 제어 문자를 입력하게 해주는 키이다. 두 번째로 현재 버퍼의 코딩 방식을 바꿔주는 방법이 있다.
M-x set-buffer-file-coding-system을 입력하거나 C-x RET f를 입력해서, 미니버퍼에
Coding system for saving file (default nil):
이 뜨면, unix를 입력한다.