컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Monthly Archive
 
 
Tuesday, February 28, 2006

Winamp/MP3플레이어] 최고의 윈앰프 스킨들 모음집

윈앰프는 MP3플레이어다. 요즘에는 윈앰프 애용자가 조금씩 줄어드는 것 같다. 제트오디오가 대세인 듯도 했다. 그렇지만 윈앰프의 강점은 무엇보다도 아래과 같은 매력적인 스킨들이다.





Nucleo NLog v2G ( http://www.winamp.com/skins/details/81567 # 2024-03-29: 현재 폐쇄됨 )
따뜻한 불빛이, 오래된 앰프의 그것을 닮아 있다. 필자가 가장 즐겨 쓰는 것. 가독력이 높고 로딩 속도가 빨라 가장 무난하다. 무엇보다도 앰프의 따스한 불빛에서 시각적 위로를 받곤 한다.










"S2 High End" (지금은 지워지고 다운로드 안됨)

앰프에 한낮의 그늘이 드리워진 모습인데 분위기가 있다. (※ 스킨 자체에 그림자가 그려져 있다.) 쿨하면서도 노곤한 일상의 느낌이다. 한글/한자 폰트가 좀 작게 나온다는 문제가 있음.











MMD3 ( http://www.winamp.com/skins/details/122902 # 2024-03-29: 현재 폐쇄됨 )

이것은 스킨이 아니라 차라리 하나의 예술 작품이다. 찬란하달까. 이 스킨을 유료화한다면 아마 돈주고라도 사서 쓰는 사람이 많을 듯하다. 이 스킨 자체가 하나의 음악이다. 눈으로 듣는 음악, 그것이다. (스킨 가운데의, 사람의 눈처럼 생긴 부분은 스피커의 우퍼를 표현한 것으로 보인다) 이 스킨에는 무려 70개의 배색이 있다. 즉 다른 색깔로 바꾸어 사용할 수 있어 싫증나지 않는다.





MMD3의 이퀄라이저를 펼친 모습. 이퀄라이저도 감동적. 마치 사진처럼 보이지만 어디까지나 그림이다.












"Denon Antique"라는 옛날식 스킨인데 지금은 어디로 갔는지 윈앰프 사이트에서 찾을 수 없음. 실제로 데논이라는 앰프가 있는데 그것을 묘사한 것. 약간 우울하고 습기찬 느낌. 장마철에 어울리는 스킨.












Pizza Hut v5 ( http://www.winamp.com/skins/details/144554 # 2024-03-29: 현재 폐쇄됨 )

가장 팬시한 스킨이다. 토마토 마늘 치즈 등으로 장식된 앰프(?). 어린이용으로 적합. 또는 음악과 함께 피자를 먹을 때 좋을 듯.












참고로 이것은 윈앰프의 디폴트 스킨이다.

윈앰프의 본래면목이랄까. 그런데 별로다. 하긴 프로그래머가 디자인까지 잘할 수는 없는 일이다. 이퀄라이저를 아주 정밀하게 조정할 때나 쓸만하다. 즉, 스킨을 씌우고 이퀄라이저를 조정하는 것은 좋지 않다.



▶▶ 윈앰프 다운로드, 윈엠프(MP3 파일 플레이어); Winamp Download




tag: music
음악 | Music | MP3 | MIDI

Monday, February 27, 2006

VMware 가상 PC 소프트웨어로 또 한 대의 PC를 만들어 보자

가상PC에 대한 게시물입니다.
2024-03-29에 링크들을 약간 업데이트했습니다.


클릭하면확대

윈도2000의 데스크탑에서, "VMware Workstation"을 사용해, 윈도XP를 실행한 장면. 클릭하면 확대


가상PC라는 개념이 생소한 분은 위의 그림이 믿기지 않을 것이다. OS 속에서 또다른 OS를 실행시킨다니 말이다. 그러나 위의 그림은 합성도 아니고 꿈도 아니다. 전세계의 수많은 컴퓨터에서 매일 일어나는 노곤한 일상일 뿐이다.

가상PC라는 것은, 실리콘이 아닌, 소프트웨어적으로 하나의 PC를 구현하는 것이다. 즉, PC 속에 또 PC를 만드는 것.




가상PC의 용도:

그러면 가상PC는 어디에 쓰는 것일까. 1대의 물리적 PC 안에 여러 대의 가상적인 PC들을 마음대로 만들 수 있으니 그 용도는 무한하다. 오직 사용자의 상상력의 한계에 의해서만 제한받을 따름이다.


* 컴퓨터가 한 대뿐일 경우, 다른 OS들 가령 Windows Vista 같은 최신 OS를 시험삼아 설치해 보기 위해: 다른 OS를 시험하려고 현재 사용하고 있는 컴퓨터를 포맷하는 것은 곤란한 일이다.

* 프로그래머: 자신이 만든 프로그램이 다른 OS들에서도 잘 작동하는지 테스트해 보기 위해.

* 바이러스 등의 위험한 프로그램을 시험하기 위해: 바이러스나 스파이웨어가 숨어 있을지 의심되는 수상한 프로그램은 가상OS에서 테스트해 본 후, 실제 PC에서 사용하는 것이 안전하다. 만약 문제의 프로그램이 가상PC의 가상 하드디스크를 포맷하거나 엉망으로 만들어 버렸다고 해도 신경 쓸 필요는 없다. "VM/Snapshot/Revert to Snapshot" 기능으로 완벽히 예전으로 돌아갈 수 있다. 다만 이러한 테스트를 하기 전에 "Take Snapshot"을 미리 해두어야 한다. 그렇지 않으면 가상OS를 다시 설치해야 하기에 번거롭다.

* 시스템을 불안정하게 하는 프로그램을 안전하게 쓰기 위해: 설치하면 컴퓨터 자체가 자주 다운이 되거나 다른 프로그램들이 잘 실행되지 않는 프로그램이 가끔 있다. 그런 경우, 가상OS 안에 설치해서 쓰면 안전. (가령 아래아한글97/아래아한글2002는 3dsmax와 충돌하는데, 이 경우 아래아한글을 가상OS 안에 설치하면 된다. 물론 아래아한글을 언인스톨한 후 맥스를 설치하고 다시 아래아한글을 재설치하면 충돌하지 않지만 말이다.)

* 시스템 폴더와 레지스트리 오염 문제를 방지: 이런저런 소프트웨어들을 많이 설치해 보면, 시스템 폴더와 레지스트리가 지저분해진다. 시스템 설정까지 이상하게 되어서 컴퓨터가 부팅이 되지 않을 수도 있다. 가상OS에다 미리 설치해 보고, 마음에 드는 프로그램만 골라서 실제PC에 설치하는 것이 좋다. (단, 현재 3D게임 등은 VMware에서 실행이 안된다.) 업데이트: ▶▶ VMware에서 3D게임 실행 옵션, VM웨어 Direct3D 가속 기능 켜기

* 자신이 가지고 있지 않은 하드웨어를 테스트해 볼 때: DVD가 없는 사람이라면 iso 파일로 DVD 이미지를 만들어서 아쉬운대로 가상 DVD로 삼을 수 있다. 프로그래머라면 하드가 수십 개 달려 있는 특수한 상황도 가정해야 하는데, 가상PC에 가상 하드를 마음껏 만들어 붙여 볼 수 있다.

* 부팅CD를 만들 때, 부팅이 되는지 VMware에서 테스트. (단, 이것이 완벽하지 않다. VMware 안에서는 잘 부팅이 되는 CD도 실제PC에서는 부팅이 안 되거나 심각한 오류가 날 수 있다는 것에 유의)

* OS의 초기 설정값을 알기 위해: 가령 윈도XP 사용자가 윈도XP에 대한 기술적인 글을 쓴다면, 윈도XP의 설치 직후의 초기 상태를 기준으로 글쓰기를 해야 할 것이다. 그러나 자신이 쓰는 윈도XP의 설정을 이미 많이 바꾸었다면 초기값들을 알 수가 없어 난처하다. 이때 VMware 안에 윈도XP를 한 벌 더 깔아서 설정들을 살펴 보면 된다.

* 리눅스 공부를 위해: MS윈도 안에서 레드햇이나 우분투 같은 리눅스를 설치할 수 있다. 필자가 윈도2000에서 VMware를 사용해 레드햇 리눅스 9.0을 설치해 본 적이 있는데 만족스러웠다.

* 리눅스에서 윈도 프로그램을 사용하기 위해: "리눅스용 VMware"를 리눅스에 설치하면 윈도 프로그램도 마음대로 사용 가능. 단, 현재 3D게임은 안됨. (당연한 얘기지만 VMware에는 어떤 OS도 포함되어 있지 않으므로, 윈도 설치 CD가 필요)

* FDISK 같은 위험한 툴을 연습하기 위해: 하드디스크를 저수준으로 직접 다루는 프로그램을, 현재 사용중인 진짜PC에서 실행하면 너무 위험하고 또한 대부분 실행조차 되지 않는다. 이때 VMware 안의 가상 하드디스크로 실습해 볼 수 있음. (VMware 안의 가상 하드디스크는 ".vmdk" 라는 확장자의 파일로 이루어져 있다.) 다만 노턴 고스트는 VMware 안의 도스에서 잘 실행되지 않았음.

* 웹 디자이너를 위해: 오래된 브라우저 가령 윈도98에 기본적으로 설치되어 있는 IE 5.0에서 자신이 만든 웹 사이트가 어떻게 보이는지 테스트하는 용도

* 날짜 제한이 있는 프로그램을 무제한 실행시키기 위해: 쉐어웨어는 30일 정도만 사용해 볼 수 있고 그 이후에는 기능이 정지되는 것이 많다. VMware에 그런 프로그램을 설치한 후 30일이 지나면 VMware의 스냅샷 기능으로, 그 프로그램을 설치하기 이전의 과거로 돌아간 후, 다시 그 프로그램을 설치해서 계속 사용한다. (그 프로그램 자체를 해킹하는 것은 아니기에 합법적이지만 그렇지 않을 수도 있을 것이므로 주의가 요구된다.) 그런데 스냅샷 기능을 많이 사용하면 실제의 물리적 하드디스크가 단편화되므로 자주 "조각모음"을 해주어야 한다.

* 옛날 프로그램을 실행시키기 위해: 오래된 프로그램들, 특히 고전 프로그램들은 대체로 오래된 OS에서 잘 작동하고, 최신OS에서는 오작동하는 경우가 많다. 가상PC 안에 옛날 OS를 설치한 후 거기서 고전 프로그램들을 실행시키면 된다. 다만 도스 프로그램은 VMware보다는 DOSBox 가 이상적이다.

* 가상 네트워크 구축: 실제PC와 가상PC들을(메모리만 넉넉하다면 가상PC를 여러 개 만들어 동시에 실행시킬 수 있다) 네트워크로 연결해서 네트워크 테스트용으로 쓸 수 있다고 함.

* 기타 등등. 무궁무진...



클릭하면확대

윈도2000 속에서 윈도2000을 또 실행시키는 엽기적인 장면. 클릭하면 확대 (※ 뒤에 있는 ZoneAlarm 과 "Mozilla Firefox" 는 VMware 와 상관 없음)





사용 환경:


윈도2000/XP 이상이나 리눅스에서 동작한다. 윈도98에서는 사용할 수 없다. 다만 윈도98을 가상 컴퓨터 안에 설치할 수는 있다. 즉, 윈도98을 호스트OS로는 사용할 수 없지만 게스트OS로는 사용할 수 있다. 좀더 쉽게 말하자면, 윈도98 사용자가 VMware를 설치해서 쓸 수는 없지만, 윈도2000/XP 또는 리눅스 사용자는 VMware를 설치해서 VMware 안에서 윈도98을 실행시킬 수 있다.


필자가 사용중인 환경:

윈도2000
펜티엄III 1300 MHz
L2 Cache: 256 KB
실제 메모리: 512메가

이런 비교적 빈약한 사양에서도 그럭저럭 쓸만한 속도가 나왔다. 윈도XP가 호스트OS(진짜OS)였다면 훨씬 더 느려졌을 것이다. 윈도XP는 그 자체만으로도 상당한 자원을 소모하기 때문이다. 즉 느리고 메모리를 많이 차지하기 때문이다.



속도는 의외로 빠르다. CPU는 에뮬레이션하지 않기 때문이다. 즉 CPU만은 가상이 아닌 실제 CPU를 사용하는 것이다. 만약 "DOSBox"처럼 CPU까지 에뮬레이션한다면 매우 느렸을 것이다. (그렇다고 해서, VMware가 도스 프로그램들을 DOSBox보다 빨리 작동시킨다는 말은 아니다.)

예를 들어, 자바 프로그램들은 상당히 둔하게 작동하는데, VMware에서 실행되는 프로그램들의 속도 역시 딱 그 정도의 느림이다. 느리다기보다는 둔하다는 느낌이다. 그리고 가령 MS오피스나 "MS 비주얼 스튜디오"처럼 최적화가 잘된 프로그램을 실행시키면, VMware에서 실행시키는지 실제PC에서 실행시키는지 잘 분간할 수 없을 정도로 빠르다. 즉, 속도 걱정은 하지 않아도 된다. (가상OS 즉 게스트OS에 메모리를 많이 줄수록 빨라진다.)

만약 속도가 엄청나게 느리다면 VMware Tools를 깔지 않아서 그런 것이다. 가상PC 안의 가상 비디오 카드 등의 하드웨어 역시 실제 하드웨어처럼 드라이버를 깔아주어야만 제대로 작동한다. 가상OS를 실행한 후, VMware 메뉴의 "VM/Install VMware Tools"로 가상OS에 가상 하드웨어 드라이버를 깔아주어야 한다. (VMware Tools의 설치 화면이 가상OS 속에서 나오지 않는다면, 가상PC 안의 가상 CD-ROM에 VMware Tools가 담겨 있으니 직접 클릭해 실행시키면 된다. 다만 DOS/Windows 3.1 등의 일부 OS는 유감스럽게도 VMware Tools가 제공되지 않는다.)




가상 PC안에 설치할 수 있는 OS들

게스트OS(쉽게 말해서, 가상OS)로 설치 가능한 OS들은, 현재 VMware 5.5의 경우 다음과 같다. IBM PC에서 돌아가는 OS는 사실상 모두 가능하다. 리스트에는 없지만 "페도라(Fedora)"도 실행되는 모양이다.


Windows Vista Beta
Windows Server 2003
Windows XP
Windows 2000
Windows NT 4.0
Windows Me
Windows 98
Windows 95
DOS and Windows 3.1x

Mandrake Linux 10.1
Mandrake Linux 10
Mandrake Linux 9.2
Mandrake Linux 9.1
Mandrake Linux 9.0
Mandrake Linux 8.2
Mandrake Linux 8.0 and 8.1
Novell Linux Desktop 9
Red Hat Enterprise Linux 4.0
Red Hat Enterprise Linux 3.0
Red Hat Enterprise Linux 2.1
Red Hat Linux Advanced Server 2.1
Red Hat Linux 9.0
Red Hat Linux 8.0
Red Hat Linux 7.3
Red Hat Linux 7.2
Red Hat Linux 7.1
Red Hat Linux 7.0
Red Hat Linux 6.2

Sun Java Desktop System 2

SUSE LINUX Enterprise Server 9
SuSE Linux Enterprise Server 8
SuSE Linux Enterprise Server 7
SUSE LINUX 10
SUSE LINUX 9.3
SUSE LINUX 9.2
SUSE LINUX 9.1
SUSE LINUX 9.0
SuSE Linux 8.2
SuSE Linux 8.1
SuSE Linux 8.0
SuSE Linux 7.3
Turbolinux 10 Desktop
Turbolinux Enterprise Server 8
Turbolinux Workstation 8
Turbolinux 7.0
Ubuntu Linux 5.10
Ubuntu Linux 5.0.4

FreeBSD 5.4
FreeBSD 5.3
FreeBSD 5.2
FreeBSD 5.1
FreeBSD 5.0
FreeBSD 4.10
FreeBSD 4.9
FreeBSD 4.4, 4.5, 4.6.2, 4.8
FreeBSD 4.0, 4.1, 4.2, 4.3

NetWare 6.5 Server
NetWare 6.0 Server
NetWare 5.1 Server
NetWare 4.2 Server

Solaris 10 Operating System for x86 Platforms
Solaris 9 Operating System x86 Platform Edition



사용법과 여담들:

필자는 윈도 비스타 정식 버전이 나오면 VMware에다 깔아볼 예정이다. VMware가 없던 시절, 현재 사용중인 컴퓨터에 다른 OS를 설치해 본다는 것은 엄청나게 고통스러운 일이었다. 인생을 허비하는 일이기도 했었다. 그러나 VMware가 있는 오늘날에는, OS 역시, 일반 프로그램을 설치해 보는 것과 아무 차이가 없다.


VMware는 실제 PC와 99% 똑같다. 안에 가상 바이오스도 들어 있다. (가상 머신 부팅시 F2 키를 누르면 바이오스 셋업. 바이오스에서 조정해 줄 것은 거의 없음) 가상 머신을 하나 만들어 무작정 부팅을 하면 부팅이 되지 않는다. 가상 하드디스크에 파티션를 나누고 포맷을 하는 등 진짜 컴퓨터과 똑같은 작업을 해주어야 한다.

실제 CD-ROM/DVD와 플로피 드라이버를 사용할 수도 있고, 이런 장치들을 가상으로 만들어 사용할 수도 있다. 가령 ".iso" 파일을, 가상 CD-ROM/DVD로 사용할 수 있다.

VMware에서 사용되는 가상 플로피 이미지의 확장자는 ".flp"나 ".img" 인데, 이것은 VMware 고유의 포맷이 아니라서, WinImage 에서 사용되는 ".ima" 등, "압축되지 않은 순수한 플로피 이미지"면 아무것이나 지정 가능. "Floppy/Use floppy image/Browse/파일 형식/All files(*.*)" 를 선택한 후 ".ima" 등의 파일을 지정하면 됨.



Virtual PC 라는 경쟁 제품도 있지만 VMware보다 못하다.

개인 사용자들은 "VMware Workstation"을 다운로드받아야 한다. VMware의 다른 제품들은 서버용인 것으로 안다.

VMware 사이트의 Support 코너의 Documentation 에서 'Guest Operating System Installation Guide" (파일명: GuestOS_guide.pdf) 라는 파일을 다운로드받아서 자신이 설치할 게스트OS에 대한 간단한 지침을 읽어보아야만 한다. 한글화는 전혀 되어 있지 않고 영어인데 이 문서가 이해가 되지 않는 분은 자동번역 사이트로 가서, 입력 창에, 필요한 부분의 영문을 복사해 넣고 번역해보면 도움이 될 것이다.


가상PC안에서 인터넷 사용하기: 일반 사용자들은 네크워크를 "NAT"으로 선택하는 것이 무난하다.

가상 하드디스크를 가상PC에 추가할 때는, 가상 하드디스크에 미리 FDISK가 되어 있어야 가상OS가 가상 하드를 인식. 그렇지 않으면 절대 인식 못함.


게스트OS에 어플리케이션 설치하기: 포토샵 등의 CD를 실제CD드라이브에 넣거나, CD이미지 파일(.iso)의 경로를 VMware에 알려준 후, 게스트OS의 가상 CD-ROM에서 설치 파일을 클릭하면 된다.

호스트OS의 파일을 게스트OS로 보내기: 진짜OS의 파일을 마우스로 드래그하여 게스트OS의 폴더 속에 놓으면 자동으로 복사됨. 단, 윈도98의 경우 매우 느림. 그리고 수백 메가가 넘는 너무 큰 파일이라면 이런 방법보다는 그 파일을 CD이미지(.iso)로 만들어서, 게스트OS의 가상CD-ROM에서 복사해서 쓰는 것이 빠름.

게스트OS의 파일을 호스트OS로 보내기: 이것은 약간 까다로운데, "Shared Folders" 기능으로, 호스트OS에다 게스트OS와 공유하는 폴더를 만들어야 한다. (윈도98에서는 이 기능이 지원되지 않는다.) 아니면 게스트OS의 가상 플로피 이미지에다가 파일을 복사한 후, 호스트OS에서 WinImage 등으로 꺼내 쓰는 방법이 있다.


가상 하드디스크도 "조각모음"을 해주어야 속도가 빨라진다. 가상OS안에 있는 "조각모음"을 실행시킨 후, 실제OS도 "조각모음"을 실행해 주어야 한다. 즉, 2번 해주어야 한다.

"VM > Settings > Hardware > Hard Disk / Defragment" 버튼은 실제PC에 저장된 가상하드(Virtual Disk) 파일인 ".vmdk" 파일만 조각모음이 되고, 가상이든 실제든 디스크 전체의 조각모음과는 상관이 없다.


VMware Workstation는 유료 소프트웨어다. VMware Player 라는 것은 무료인데, 가상PC를 만들 수는 없고 타인이 만든 가상PC를 실행시킬 수만 있는 것으로 알고 있다.


VMware Workstation 5.0 부터는 3D 카드도 가상으로 지원하지만 아직 완전하지는 않다. 이 글을 쓰고 있는 지금 현재 버전은 5.5인데, 3dsmax 는 VMware에서 실행시키고 렌더링까지 할 수 있지만 게임은 "Kyodai Mahjongg" 같은 간단한 3D게임조차도 실행되지 않는다. 6.0, 7.0이 나오면 아마 게임도 실행시킬 수 있을 것이다. 참고로, VMware 4.x에서는 최소한의 3D 기능조차 전혀 지원되지 않았다. 게임이나 그래픽 프로그램이 아니라 하더라도, 비디오 카드의 3D 기능을 체크하여 없으면 실행이 안되는 프로그램이 가끔 있는데, VMware 5.0에서는 이런 프로그램도 실행할 수 있었다.

참고로, 게스트OS(가상OS)의 색상을 32비트 트루컬러로 설정하기 위해서는, 먼저 호스트OS(진짜OS)의 색상을 32비트 트루컬러로 설정해 두고 게스트OS를 부팅시켜야 한다.




주의 사항:

진짜 PC와 100% 똑같지는 않다. 이런 일이 있었다: 개인이 만든 "윈도2000 부팅 설치CD"가 VMware에서는 완벽히 작동했지만 실제PC에서는 하드를 날리는 심각한 오류가 난 적이 있었다. 하드를 물리적으로 고장낸 것은 아니라서 로레벨 포맷으로 복구되긴 했지만 고스트조차 실행되지 않는 등 아주 심각했었다. (물론 이것은 VMware의 잘못은 아니고 그 부팅 CD의 잘못이다.) 그런데 이것은 VMware와 실제PC와의 미묘한 차이를 말해주는 경우가 될 것 같다.

즉, VMware에서 뭔가가 완벽히 작동된다고 해서 진짜 물리적 PC에서도 완벽히 작동하리라는 보장은 없다는 이야기다.



Q & A

Q: 맥(Mac) OS를 설치할 수 있습니까?
A: 맥과 관련된 작업은, 호스트든 게스트든 인텔용 맥OS든, 현재로서는 전혀 할 수 없습니다.

Q: 도스용 고전게임을 윈도2000/XP에서 실행시키고 싶은데요.
A: 도스 프로그램은 도스박스(DOSBox)에서 더 실행이 잘 됩니다. DOSBox는 무료이며 오픈소스입니다.

Q: VMware 안에서 인터넷을 하면 IP를 속일 수 있나요?
A: 없습니다. "NAT"를 사용하는 경우 호스트와 게스트가 동일한 IP를 가지게 됩니다. 다른 경우도 비슷할 것입니다. 설령 다르게 보인다 하더라도 자신의 컴퓨터에서만 달리 보일 뿐이지, 타인의 컴퓨터에서는 동일한 IP로 나올 것입니다.

Q: VMware 안에서 특정 프로그램이 실행되지 않습니다.
A: "해킹을 방지하기 위한 목적으로 디버거를 거부하는 프로그램"은 실행이 되지 않는 것으로 알고 있습니다. VMware 자체가 하나의 디버거로 인식되기 때문입니다. (그러나 이런 프로그램은 드문 편입니다.)
A: 불법복제를 방지하기 위해 하드웨어가 바뀌면 실행이 되지 않도록 한 프로그램이 요즘 증가 추세에 있습니다. 이 경우 VMware의 가상머신에 주어진 메모리의 양만 바꾸어도 실행이 되지 않을 수 있습니다. 메모리의 양 등을 자주 변경시키지 않는 것이 좋습니다.

Q: VMware 는 해킹 툴인가요?
A: 아닙니다. 정상적이고 합법적인, 업무용 소프트웨어입니다.




tag: windows
윈도우 | Windows 7 | Windows XP | Windows 2000
tag: software
소프트웨어 Software | 유틸리티 Utility

[리니지 사태] 허걱! V3의 안철수 씨도 명의도용됨

보안에 대한 게시물입니다.


'보안 대부' 안철수 의장도 당했다
[전자신문] 2006년 02월 27일(월)


오늘 아침 위의 신문기사를 읽고 가벼운 충격을 받았다. (현재 이 기사는 www.etnews.co.kr 에서 삭제되었음. 이유는 모르겠음)


BJ님 가족도 도용당했다는 포스트 "BJ's Daily Log: 리니지 도용계정 삭제" ( http://zizukabi.blogspot.com/2006/02/blog-post_20.html )를 읽었었지만, 필자는 그동안 확인해 보지 않았다. 평소에 게임을 하지도 않았고, 설마 하는 마음 때문이기도 했었다.


www.lineage.co.kr
로 가서 확인을 해보았다.


다음과 같은 양식이 나왔다. 필자는 주민번호 입력을 아주 싫어하지만 울며 겨자 먹기로 입력했다.

------------------------------------------------------------------------
하단에 입력 받는 정보는 본인확인을 위해서만 이용되며, 절대 저장되지 않습니다.
또한 암호화 처리되므로 유출의 위험이 없음을 알려드립니다.
하단에 고객님의 이름과 주민등록번호를 정확하게 입력해 주시기 바랍니다.

이름 :
주민등록번호 :
------------------------------------------------------------------------




다행히 필자의 주민번호는 도용되지 않았다. 다음의 메시지가 나왔다:

------------------------------------------------------------------------
○○○ 고객님께서
현재 리니지 회원 미가입 상태이며, 총 누적 계정 수는 0개 입니다.
고객님의 주민등록번호로 리니지 회원에 가입된 사실이 없습니다.
감사합니다.
------------------------------------------------------------------------



tag: security
보안 | Security

Saturday, February 25, 2006

리뷰] 빅토리녹스 Victorinox : Swiss Army Knife (일명 맥가이버 칼)

빅토리녹스는 상표명이고 일반적으로 Swiss Army Knife 즉 스위스 군용 칼로 불린다. 스위스 군인들에게 지급되는 것과 똑같은 제품을 민간에도 판매하는 것이다.

등산 용품점에서 살 수가 있다. 유사품이 많은데, 진열창에 빅토리녹스의 커다란 모형이 있는 점포를 찾아가면 확실하다. 커다랗다고 해서 정말 큰 것은 아니고 40cm 정도 크기의 모형이다. 모형이 움직이기 때문에 쉽게 찾을 수 있다. 95년에 4만원 정도. 요즘에는 더 비쌀 수도 있다.


<Swiss Army Knife 실물 사진>


NASA의 우주왕복선 안에서도 사용된다. 우주선에서 사용하고도 남을 만큼 훌륭한 연장이다. 외계인도 탐낼 정도.

수많은 도구들이 좁은 공간에 차곡차곡 접혀 있다. 하나하나의 은빛 도구들이 마치 '영덕 대게[竹蟹]'의 다리처럼 펼쳐진다.



        몸통의 앞면에 있는 도구들:

<칼>: 겉보기로는 무뎌 보이는데 실제로는 날카로우니 조심. 큰 칼과 작은 칼 2개가 들어 있다. 여객기 내에서 사탕을 먹다가 기도가 막힌 어린이를 이걸로 응급 수술을 하여 구했다는 케이스가 몇 건 있다. 그러나 수술용으로 적합할 만큼 예리하지는 않다고 본다. (아이들은 물론 어른들도, 사탕을 먹을 때는 막대사탕이나 구멍이 뚫린 드롭스가 보다 안전하다.)

<가위>: 이걸로 코털을 다듬는 분도 본 적이 있는데, 가위의 끝이 날카로워서 위험하다.

<뻰찌(pince)>: 전선 배선 작업에 쓸모가 있을 듯

<돋보기>: 50원짜리 동전만한 볼록렌즈가 있는데 용도는 확대경 외에도, 성냥이 없을 때 햇빛을 모아서 불을 피우기 위한 것. 그러나 너무 작아서 열대 지방의 햇빛이 아니라면 불이 잘 붙지 않을 것이다.

<톱>: 작은 나무를 벨 수 있을 정도. 무인도에서 뗏목을 만들 때 좋을 듯.

<자>: cm자가 있어 7cm 정도의 길이를 잴 수 있다. 가장 아카데믹한 툴. 그리고 자의 반대편에 돌기들이 붙어 있는데 생선 비늘을 벗길 때 쓰는 것. (설명서를 잃어버려서 잘 기억나지 않음.)

<줄(rasp)>: 손톱 다듬을 때 쓰는 것. 손톱이 길어져서 거추장스러운데 손톱깎기는 없을 때의 고통을 경험한 사람이라면 이 도구의 존재의 이유를 수긍할 것이다. 참고로, 유럽인들은 손톱을 깎지 않고 줄로 마모시킨다는 이야기를 들은 적이 있다.

<십자 드라이버>: 컴퓨터나 가전제품 수리에 편리.

<병따개>: 끝부분을, 넓은 일자 드라이버로 사용 가능

<깡통따개>: 끝부분을, 작은 일자 드라이버로 사용 가능


        몸통에 끼워져 있는 도구들:

<볼펜>: 빨간 몸통에 끼워져 있음. 짙은 청색의 글씨가 씌어짐. 볼펜이라기보다는 볼펜심에 가까움. 10년 넘게 전혀 사용하지 않았지만 지금도 여전히 잉크가 잘 나옴.

<이쑤시개>: 빨간 몸통에 끼워져 있음. 이것은 볼펜에 비해 길이가 짧은 것이 불만.


        몸통의 뒤면에 있는 도구들

<일자 드라이버 2개>: 일자(一字) 드라이버들이 너무 많다는 느낌.

<코르크 마개 뽑는 것(corkscrew): 병의 코르크 마개를 딸 때 끼워 넣고 뽑는 것. 나선형으로서, 가장 특이한 모양의 도구. 요즘에는 코르크 마개를 쓰는 식품이 별로 없다. 코르크 성분이 음식물을 조금 변질시키기 때문에 포도주 병에도 안 쓰는 추세. 원 터치 캔이 보급되고 있어 깡통따개와 병따개의 사정도 비슷하다. 미래에는 이런 것들이 다른 도구로 대체될 가능성이 있다.

<갈고리>: 짐을 운반할 때 이것을 90도 각도로 세운 후 끈을 끼워서 들기 쉽게 하는 것. 이때 빅토리녹스 자체를 손잡이로 삼는다.

<리머(reamer)>: 작은 구멍의 직경을 넓힐 때 쓰는 목공 도구. 바늘구멍 같은 것이 있는데 여기에 실을 끼워서 뭘 할 수도 있음

이러한 도구들을 90도 각도로도 펼칠 수 있고, 드라이버처럼 길이가 필요한 경우에는 180도로 세워서 쓸 수도 있다.

품종에 따라 여기서 설명한 것보다 더 많은 도구가 있을 수도 있고 더 줄어들 수도 있다. 여기서 말하는 것은 가장 일반적인 제품인데 "Swiss Army Officer's Knife" 일 것이다. 그리고 희미한 기억에 의하면 맥가이버가 가지고 다니는 것은 이것보다 작은 "Victorinox pocket-knife" 일 것 같다. "Swiss Army Officer's Knife"는 포켓에 넣고 다니기에는 조금 부담스러운 크기와 무게다. 무게 때문에 포켓이 찢어질 수도 있다.


아, 이런 도구도 있었구나 하고 보물찾기 하듯 찾아보는 재미도 있다.

금속 표면에 손때가 묻어도 전혀 녹이 슬지 않았다. 공구답지 않게 예술적 품격까지 느껴지는 도구다. 뉴욕현대미술관(The Museum of
Modern Art, New York)에도 디자인 부문에 소장되어 있다. 산업디자인하시는 분들은 반드시 감상해 보아야 할 명작이다.

비록 크기는 작지만 매우 질좋은 도구들을 한꺼번에 구입하여 휴대할 수 있다는 장점이 있다.

단점이라면, 도구들이 잘 꺼내지지 않는 것. 손톱이 약한 사람은 사용이 불가능할 정도.
또한 유사품이 많다. 진품은 스위스 국기를 상징하는 십자가가 찍혀 있고, 굉장히 묵직하다.

어린이의 손에 절대 닿지 않는 곳에 보관해야 한다. 아예 보여주지도 말아야 한다. 칼이 마치 작두처럼 위험하게 여닫히고 칼뿐 아니라 다른 도구들도 사용에 각별한 주의가 요구되는 것이 많다.




개선해야 할 점:
돋보기가 너무 작다. 아주 길쭉하게 만들어서 다른 도구들과 비슷한 크기가 되면 불이 피울 때 효과적일 것이다. 그리고 나침반이 추가될 수는 없을까 싶다. 빨간 케이스의 표면에 붙여 넣으면 될 것이다. 또한 목에 걸 때 쓰는 '끈'의 질이 별로 좋지가 않다. 끈의 끝마디에서 올이 풀어진다. 이 끈만은 빅토리녹스의 제품 같지가 않다. 싸구려 느낌을 준다. 물론 이 끈이 빅토리녹스에 원래 붙어 있는 것인지 아니면 판매처에서 임의로 끼워 넣은 것인지는 분명치 않다.

이쑤시개가 들어 있는 곳에, 바늘과 실도 들어 있었으면 좋겠다. 바늘과 실도 절실히 필요한 도구다.

여담:
빅토리녹스는 기계적 공구들을 축소시켜 한 곳에 모아 성공한 제품이다. 전자 제품을 이런 식으로 만들면 어떨까 싶다. 가령, 전자시계/간단한 전자계산기/LED로 만든 회중전등/라디오/USB메모리/디카 등을 한데 모아 "전자 빅토리녹스"를 만드는 것이다. 물론 그것 하나하나의 충실도가 굉장히 높아야만 할 것이다. (현재 USB메모리가 붙은 빅토리녹스는 생산이 되는 모양이다.)




추가 사항:
Victorinox 사에서뿐 아니라 Wenger 사에서도 Swiss Army Knife 를 만드는데 필자가 알기로 Victorinox 가 정통이다. NASA에서 사용하는 것, 뉴욕현대미술관에 소장되어 있는 것 모두가 Victorinox 사의 제품이다.


▶▶ 빅토리녹스(일명 맥가이버 칼)의 뻰치(플라이어 Plier) 활용: 유리병 재활용 때...



▶▶ 맥가이버칼 때문에 손톱을 다쳤습니다; 빅토리녹스 Victorinox




tag: living
생활의 발견 | Living

Friday, February 24, 2006

색채 심리학에서의 주황색의 건강 효과

"posted by mwultong @ 2:37"라는 문구에 있는 at(@)의 색을 주황색으로 바꾸어 보았습니다. 특별한 이유는 없고 템플릿을 만지다보니까 바뀌게 되었는데, @이 검은색일 때보다, 각 포스트 간의 구별이 용이해서 블로그의 가독성이 높아지는 결과를 우연히 얻었습니다.

며칠 전에 어떤 CF를 보니까 "보라색을 가장 좋아하는 사람은 전체의 3%밖에 안된다"던가 하는 구절이 있었습니다. 보라색은 귀족의 색이고 그래서 보라색의 그 신용카드(?) 같은 것에 가입을 하라는 얘기였습니다. 저도 역시 보라색을 별로 좋아하지 않습니다. 주황색 계통을 좋아하는 편입니다.

주황색 즉 오렌지색은 심신이 허약한 사람에게 약간의 치유 효과를 가지는 색입니다. 항상 몸이 아프거나 힘이 없는 분은 주황색 인테리어를 사용해 보세요. 벽지를 바른다면, 벽의 3면은 흰색 계통으로 두고, 한쪽 면에만 주황색으로 바르면 됩니다.

그런데 주황색처럼 따뜻한 색은 식욕을 자극하기 때문에 다이어트에는 좋지 않을 것입니다. 다이어트에 신경을 쓰시는 분은 식기를 녹색이나 청색으로 바꾸면 도움이 될 것입니다. 녹색이나 청색이라는 색 자체가 '맛있는 음식'과는 별 관련이 없고 또한 절제력을 향상시키는 색이기 때문입니다.

"송유근(9·인하대 자연과학계열)군이 파란색 방에서 자라서 천재소년이 되었다"는 이야기는 과장된 이야기이긴 하지만, 색채 심리학에 의하면 어느 정도 근거가 있는 것이라고 여겨집니다. 그런데 방안이 온통 청색이라면 우울증을 유발할 수도 있다고 봅니다. 우울하다를 "I am blue. / I'm feeling blue."라고도 하지 않습니까. 청색의 우울함을 중화시키기 위해서는 흰색과 배색시키는 것이 좋을 것입니다. 그리고 흰색은 '다른 모든 색'과 잘 어울리는 유일한 색이기도 합니다.

그렇다면 가장 불건강한 색은? 보라색이라고 합니다. 피멍을 연상케 하기 때문에. 건강에 도움이 되지 않는다는 것뿐이지 그렇다고 해서 건강을 해친다는 뜻은 아닐 것입니다.



tag: colors
색상표 | 배색표 | Color 디자인
tag: living
생활의 발견 | Living

Thursday, February 23, 2006

[RSS & Atom 리더] 구글 리더 (Google Reader) 에 대한 간단한 사용기

구글 리더 (Google Reader)는 블로그나 뉴스 사이트의 RSS/Atom 피더를 읽어서 화면에 표시해 주는 서비스다. 자신이 관심을 가지는 블로그의 최신 포스트나 뉴스 사이트의 최신 기사들을 한눈에 볼 수가 있어 편리하다.

자신이 매일 방문하는 블로그나 뉴스 사이트가 수십 개가 넘는다면 일일이 방문하는 것은 힘들다. 이때 RSS 리더기를 사용하면 블로그들에 어떤 포스트가 올라왔는지 한눈에 알 수가 있어 편리하다.

구글 리더는 제목만이 아니라 내용까지 거의 완전히 보여준다. 아직은 베타인데, 실은 프리 알파 버전에 가깝다는 인상이다.

Gmail 계정이 없다면 별도의 가입 절차가 필요하다. 그러나 가입 절차는 간단하고 Gmail 계정이 없어도 상관은 없다. (※ 지메일 계정이 필요하신 분들은 "지메일(Gmail) 초대권(초대장) 드립니다"(## 2024-03-13에 링크 삭제함) 포스트를 읽어 보신 후 신청하시면 됩니다.)




        구독할 RSS/Atom 주소들의 등록:

우선, 자신이 자주 방문하는 블로그나 뉴스 사이트의 피더 주소를 넣어 주어야 한다.

Edit subscriptions/Add a feed나, 설명문에서 enter the feed URL을 클릭하면, RSS/Atom 주소 입력창이 나온다. 여기에다 구독할 주소를 넣으면 된다. 그런 후 Preview 버튼을 누른다. 그러면 화면에 최신 포스트들이 표시된다.

이때 중요한 것은 반드시 "Subscribe" 버튼을 눌러야 한다는 것이다. 그렇지 않으면 주소가 저장이 되지 않는다.


그림까지 표시되지만 글자의 스타일 등은 나오지 않는다. 실제의 완전한 포스트를 읽거나 덧글을 남기기 위해서는 "Show original item"을 클릭해 블로그를 방문해야 한다.



        장점:

지메일처럼, 화면을 전부 갱신하지 않고 필요한 부분만 갱신하기에 속도가 빠름

지메일 화면과 비슷한 깔끔한 디자인.




        개선해야 할 점:

주소 등록 메뉴에서, 블로그 제목의 한글이 잘 표시되지 않음. 한글은 지워져 버리고 영문만 표시됨.

구성이 산만하여 사용법을 익히기가 까다로움.

요소들의 크기가 커서, 한 화면에 많은 내용을 표시하기 힘듦. 모니터 해상도가 800x600이면 잘 보이지 않고 1024x768에서만 화면의 전모가 보임



        결론:

RSS리더 프로그램을 다운로드받아서 쓰는 것은 번거로웠고, 이거다 싶은 프로그램도 없었다. 구글 리더가 무난했다. 그런데 제목들만 한 화면 가득히 출력하는 기능이 있었으면 좋겠다.



'구글 리더 ( http://www.google.com/reader/ )' 구경해 보기 (2024-03-13 현재 폐쇄됨)




관련 포스트: [RSS & Atom 리더] 한RSS (www.hanrss.com) 가 가장 쓰기 편했다



tag: web
Web | 웹 | 인터넷 사이트

Wednesday, February 22, 2006

블로거(Blogger.com)의 Archives 순서 뒤집어주기: 이번달 것을 가장 위로

2006-03-04 수정 사항: 아래의 방법은 아주 좋지 않았습니다. 자바스크립트로 링크를 만들기 때문에 검색 엔진에 인덱스가 안될 가능성이 아주 높아집니다.


"블로그가 구글에 잘 인덱스 안되던 이유를 좀 알게 됨" 참조.



------------------------------------------------------------------------

블로거(Blogger.com)의 Archives 는 옛날 Archive가 가장 위로 올라오게 되어 있다. 그래서 방문객은 항상 가장 오래된 Archive를 가장 먼저 보게 된다. 이를테면, 신문사 창간 당시의 옛기사가 신문사 기사 목록의 가장 위에 게시되어 있는 격이다.

반면 Archive 외의, Previous Posts (이전 게시물) 등의 다른 목록들은 모두 최신의 항목이 가장 위에 표시된다. 그래서 일관성조차도 없다.

Archive 목록의 순서를 변경하는 법이 블로거(Blogger.com) 도움말: "아카이브 링크의 순서를 어떻게 변경합니까?" ( http://help.blogger.com/bin/answer.py?answer=882 # 2024-03-29: 현재 폐쇄됨 )에 있기는 했다.

그런데 자바스크립트(JavaScript)를 사용해야 했다. 도움말에 있는 코드를 좀 다듬었더니 아주 복잡해졌다. Archive 순서 변경쯤은 기본적으로 지원되었으면 한다.



"Son of Moto" 템플릿에 있던 이 코드를:

※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함

 <MainOrArchivePage>
 <h2 class="sidebar-title">Archives</h2>

 <ul class="archive-list">
            <BloggerArchives>
           <li><a href="<$BlogArchiveURL$>"><$BlogArchiveName$></a></li>
         </BloggerArchives>
     <ArchivePage><li><a href="<$BlogURL$>">Current Posts</a></li></ArchivePage>
 </ul>
 </MainOrArchivePage>




아래의 것으로 완전히 대체:


※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함

<!-- 'ARCHIVES' START -->
<MainOrArchivePage>
<h2 class="sidebar-title">Archives</h2>
<ul class="archive-list">

<script type="text/javascript">
var archives = new Array();

<BloggerArchives>
archives[archives.length] = new Array('<$BlogArchiveURL$>', '<$BlogArchiveName$>');
</BloggerArchives>
<ArchivePage>document.write('<li><a href=\"<$BlogURL$>\">Current Posts &lt;&lt; Home</a></li>');</ArchivePage>

for (var i=archives.length - 1; i>=0; i--) {
  document.write('<li><a href=\"' + archives[i][0] + '\">' + archives[i][1] + '</a></li>');
}
</script>
</ul>

<noscript>
<div style="color:#FF0000;">JavaScript Disabled</div>
<ul class="archive-list">
<BloggerArchives><li><a href="<$BlogArchiveURL$>"><$BlogArchiveName$></a></li></BloggerArchives>
<ArchivePage><li><a href="<$BlogURL$>">Current Posts &lt;&lt; Home</a></li></ArchivePage>
</ul>
</noscript>

</MainOrArchivePage>
<!-- 'ARCHIVES' END -->



이렇게 복잡하게 템플릿을 편집해야 마침내 순서가 뒤집어짐.



tag: blogger
블로거 | 구글블로그 | Blogger.com + blogspot.com
tag: html
HTML | CSS | 자바스크립트 JavaScript

인터넷 익스플로러 (IE) 6에서 자바스크립트(JavaScript) 끄기

"자바스크립트(JavaScript) 기능이 없는 브라우저"를 위한 코드를 사이트에 추가할 때나, 자바스크립트를 남용하여 방문객의 서핑을 방해하는 사이트를 방문할 때에, 자바스크립트를 임시로 OFF시켜야 한다.

파이어폭스에서는 자바스크립트를 쉽게 끌 수 있지만, IE에서는 모호하게 되어 있다. 다음은 IE에서 자바스크립트를 끄는 방법이다:


풀다운메뉴의
"도구/인터넷 옵션/보안/인터넷/사용자 지정 수준/보안 설정"
창에서

"스크립팅" 분류에 있는 "Active 스크립팅" 항목을, "사용"에서 "사용 안 함"으로 변경하면 자바스크립트가 작동하지 않는다. ("Java 애플릿 스크립팅" 등은 상관이 없다. 자바(Java)와 자바스크립트(JavaScript)는 서로 상관이 없는 별개의 언어다.)


그러나 특별한 이유가 없다면 자바스크립트는 항상 "사용"으로 해 두는 것이 좋다. 그렇지 않으면 대부분의 사이트들이 잘 작동하지 않는다.




자바스크립트가 OFF되었는지 확인하기:

자바스크립트가 작동하지 않는다면
이 블로그( mwultong.blogspot.com )의 메인 화면 아래에 있는 Archives 항목 밑에,
JavaScript Disabled
라는 빨간 글자가 나오게 된다.



▶▶ CSS 끄기, IE와 파이어폭스에서 스타일 시트 해제 방법; Style Sheet Off




tag: html
HTML | CSS | 자바스크립트 JavaScript
tag: windows
윈도우 | Windows 7 | Windows XP | Windows 2000

포스트 본문에 구글 로고 추가 HTML 코드

"Google 검색창 달기"( http://www.google.co.kr/intl/ko/searchcode.html # 2024-03-29 현재 삭제됨 )에 있는 원래의 코드를 HTML 4.01 과 XHTML 사양에 맞게 버전업(?)한 것입니다. 원래의 코드는 "HTML 3.0"쯤의 사양(specification)으로 되어 있는 듯했습니다.

다만 <center> 를 <div style="text-align:center;"> 로 변경하니 파이어폭스에서 인식하지 못해서, 차선(次善)으로서 <div align="center"> 를 사용했습니다.

다음의 코드를 HTML 편집기에 붙여 넣으면 됩니다 (blogger.com용으로 쓰기 위해, 주석 사이의 내용이 행갈이 없이, 1줄로 이어져 있음):


<!-- Search Google -->
<div align="center"><form method="get" action="http://www.google.co.kr/search"><table><tr><td><div align="center" style="margin-bottom:25px;"><a href="http://www.google.co.kr/"><img src="http://www.google.co.kr/logos/Logo_60wht.gif" border="0" alt="Google" /></a></div><input type="text" name="q" size="25" maxlength="255" value="검색어" /><input type="submit" name="btnG" value="Google 검색" style="margin-left:4px;" /></td></tr></table></form></div>
<!-- Search Google -->




결과는 아래와 같습니다:

(2024-03-29 업데이트: 보안상의 문제로 실행 결과는 삭제했습니다.)
단어 검색이 아닌 구 검색일 때는 쌍따옴표를 붙여 주어야 하는데, 이때는 value 를 아래와 같이 하면 됩니다. 즉, 쌍따옴표를 &quot; 으로 표현하는 것입니다.

value="&quot;퀴즈 대한민국&quot;"




결과 (구 검색하기):

(2024-03-29 업데이트: 보안상의 문제로 실행 결과는 삭제했습니다.)

로고가 너무 크다면, "구글 로고"( http://www.google.co.kr/intl/ko/logos.html # 폐쇄됨 )에서 작은 걸 고르신 후 img 태그의 내용을 편집하시면 됩니다.



관련 포스트: "구글 검색창을 블로그 사이드바에 추가하는 HTML 코드"



tag: html
HTML | CSS | 자바스크립트 JavaScript

구글 애드센스에 대한 자세한 한글 정보: 'Google AdSense 지원' 사이트

지난번 '웃대'에서 생긴 일 때문에 애드센스에 대한 관심이 오히려 높아진 듯합니다.

아래의 사이트에 한글로 된, 애드센스에 대한 공식적인 정보가 많이 있으니 참고가 될 것입니다. 단순히 번역만 되어 있을 뿐 내용이 아직 한국화되어 있지는 않습니다.

https://www.google.com/support/adsense


이것은 애드센스가 아닌 애드워즈(AdWords) 정보 : AdWords 시작( https://adwords.google.com/ )

애드센스가 게시자를 위한 것이라면, 애드워즈는 광고주를 위한 것입니다.




업데이트: 이제는 한국화가 많이 되어서 내용이 아주 충실합니다. 영문 도움말을 볼 필요가 없어졌습니다.


애드센스 공식 블로그: ▶▶ '구글 애드센스 공식 블로그'와 '애드센스 도움말 그룹' 출범
그렇지만 아쉽게도 공식 블로그는 영문판만 있습니다.




tag: web
Web | 웹 | 인터넷 사이트

일반 텍스트 문서(.txt)나 각종 코드를 HTML 로 변환

업데이트: 아래 주소에, 텍스트를 HTML 소스로 자동 변환하는 프로그램을 올렸습니다. 브라우저에서 직접 변환할 수 있습니다:
▶▶ 텍스트를 HTML소스로 변환하기 프로그램; TXT to HTML로




HTML에서 <, > 이 두 개의 괄호 즉 "Less than" 과 "Greater than" 은 태그를 표현할 때 사용되므로, 이론적으로 본문에 직접 나타낼 수 없습니다. 만약 본문에 사용하기 위해서는 각각 &lt; &gt; 로 변환해 주어야 합니다. (또한 &lt; &gt; 자체를 블로그나 사이트 화면에 표시하기 위해서는 &amp;lt; &amp;gt; 이런 식으로 표현해 주어야 합니다.)


이 외에도 HTML 파일에 직접 표현할 수 없는 문자들이 있습니다. HTML 문법에서 특수한 의미로 사용되는 것이기 때문입니다. 가령 HTML 파일 속에 (1)번 문자열을 기술하려면 (2)번처럼 적어 넣어야만, 브라우저에서 (1)번처럼 보이게 됩니다. 중간에 "&" 문자가 있기 때문입니다. 물론 브라우저가 융통성을 발휘하여 (1)번을 (1)번처럼 보여주기도 하는데 이것은 문법에는 어긋난 것입니다.

(1)
Ishihara Yujiro & Yashiro Aki 石原裕次郞 & 八代亞紀 - Ginza No Koi No Monogatari (Ginza Love Story) 銀座の戀の物語 (映畵 1962)

(2)
Ishihara Yujiro &amp; Yashiro Aki 石原裕次郞 &amp; 八代亞紀 - Ginza No Koi No Monogatari (Ginza Love Story) 銀座の戀の物語 (映畵 1962)




HTML에서 &, <, > 이 세 개의 문자는 본문에 직접 표현할 수 없기에 각각

&amp;
&lt;
&gt;

이렇게 간접적으로 표기해야 합니다.

또한 2개 이상의 스페이스 문자는 1개만으로 인식되기에,
"  " 이것을
" &nbsp;"
이것으로(따옴표 제외) 변환해 주어야 합니다.


윈도 메모장으로 코드를 편집할 경우, Ctrl+H 키로 "바꾸기" 메뉴를 불러,
"찾을 내용"에 "&"를
"바꿀 내용"에 "&amp;"를
(따옴표 제외하여) 넣고 "모두 바꾸기"를 하면 됩니다.

이때 중요한 것은 반드시 앰퍼샌드(&) 기호부터 바꾸어야 한다는 것입니다. 다른 것부터 바꾸면 뒤죽박죽이 됩니다!!!

다른 것도 이런 식으로 바꾸어 줍니다.

공백 2개 이상을 &nbsp;로 변환할 때에는 메모장 바꾸기의 "찾을 내용"에서 스페이스 키를 2번 눌러 공백 2개를 입력합니다. "바꿀 내용"에서는 스페이스 키를 1번 눌러 공백 1개를 적어 넣은 후, "&nbsp;"를 따옴표 제외하고 넣어 주면 됩니다.

또한 탭 문자를 표현하기 위해서는 탭 문자 1개를
" &nbsp; &nbsp; &nbsp; &nbsp;"
이렇게 치환해야 합니다. (따옴표 제외)

그러나 사람이 직접 손으로 변경해 주는 것은 힘들기에 텍스트 편집기의 매크로 기능을 사용하여 일괄적으로 변경하면 편리합니다.



매크로를 사용하여 더 간편하게



메모장이 아닌, 전문적인 텍스트에디터는 매크로 기능을 가지고 있습니다. 자주 사용하는 기능들을 매크로로 만들어 두면 시간을 절약할 수 있습니다. (다만 MS워드에 있는 매크로 기능으로 소스 코드 등을 편집하면 안됩니다. MS워드나 아래아한글 등은 "plain 텍스트" 편집기가 아닌 워드프로세서이기 때문입니다.)


아래의 코드는, 텍스트 파일을 HTML로 변경해 주는, EmEditor 매크로입니다. 이것은 블로거닷컴용으로 만든 매크로입니다. 일반 홈페이지에 올릴 HTML은 이것으로 충분하지 않고, 각 행의 끝에 <br /> 을 붙여 주어야 행갈이가 됩니다.


파일명: SpecialChar2HTML.vbee
인코딩: 유니코드


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 프로그램 코드를 블로그에 올리기 위해 HTML로
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' 기본적인 것들의 변환
  document.selection.Replace "&","&amp;", eeReplaceAll
  document.selection.Replace "<","&lt;",  eeReplaceAll
  document.selection.Replace ">","&gt;",  eeReplaceAll

' 탭 변환
  document.selection.Replace "\t"," &nbsp; &nbsp; &nbsp; &nbsp;", eeReplaceAll Or eeFindReplaceRegExp

' 2개 이상의 공백을 변환
   document.selection.Replace "  "," &nbsp;", eeReplaceAll




만약 각 행의 끝에 <br /> 을 붙이기 위해서는 다음의 매크로를 사용합니다.


파일명: Add BR Tags to Line Ends.vbee
인코딩: 유니코드

document.selection.Replace "\n","<br />\0",eeReplaceAll Or eeFindReplaceRegExp





그리고 아래의 것은 UltraEdit 용 매크로입니다. 복잡한 기능은 없고, 현재 선택되어 있는 텍스트에서 & < > 문자만 변환해 주는 것입니다. 텍스트 일부만 약간 변환할 때에 간편히 사용하는 것입니다.


매크로 이름: Convert4TEXTAREA

InsertMode
ColumnModeOff
HexOff
UnixReOff
Find "&"
Replace All SelectText "&amp;"
Find "<"
Replace All SelectText "&lt;"
Find ">"
Replace All SelectText "&gt;"



저도 실은 이 HTML의 문자 변환 문제 때문에 고민을 많이 했습니다. 그래서 위와 같은 매크로를 만들어서 쓰고 있기는 한데, 여전히 완전 자동화는 되지 않아 골치가 아픈 문제입니다.

최대한 간단하고 명료하게 설명하려 노력했지만 결국 복잡하게 되었습니다...






2006-07-24 업데이트:
위의 울트라에디트 매크로에는, 맨 앞의 공백을 변환하지 못하는 버그가 있습니다. 이것은 그 문제를 고친 것입니다.

InsertMode
ColumnModeOff
HexOff
UnixReOn
Find "&"
Replace All SelectText "&amp;"
Find "<"
Replace All SelectText "&lt;"
Find ">"
Replace All SelectText "&gt;"
Find "^t"
Replace All SelectText " &nbsp; &nbsp; &nbsp; &nbsp;"
Find RegExp "^ "
Replace All SelectText "&nbsp;"
Find "  "
Replace All SelectText " &nbsp;"






▶▶ [HTML/CSS] 포스트 본문에 코드/문자열 창 붙이기

▶▶ HTML-CSS] 탭 문자(TAB) 표현, 공백(스페이스;Space) 넣기; PRE 태그




tag: html
HTML | CSS | 자바스크립트 JavaScript

Tuesday, February 21, 2006

[한글 인터넷 주소] 붕어빵 가게 www.황태자푸드.com 을 방문해 보려 했지만...

붕어빵 봉지에 인쇄되어 있는 "www.황태자푸드.com"이라는 주소에 호기심을 느낀 필자는 연결을 시도해 보았다. 주소 자체에서도 상당한 포스가 느껴졌고, 또한 한글 인터넷 주소가 잘 작동하는지 궁금하기도 했다. (한글 주소의 경우, 인쇄만 해 놓았을 뿐 실제로는 주소를 등록하지 않고 사이트도 운영하지 않는 경우가 있었다.)

http://www.황태자푸드.com/

위와 같이 주소 창에 한글 주소가 나타나기 했지만 다음과 같은 화면이 나왔다.


----------------------------------------------------------------------
안녕하세요

"www.황태자푸드.com" 을 방문하려 하십니까??

한국어를 사용하여 웹 사이트를 검색하려면 VeriSign 의 i-NavTM 플러그 인을 웹 브라우저에 설치하는 것이 좋습니다. 설치하려면 '예'를 클릭하십시오.

예, 설치하겠습니다 버튼을 누르는 동시에 사용자 라이센스 동의서의 사항을 준수하는 것으로 간주됩니다.

기타 정보를 보려면 여기를 클릭하십시오

©VeriSign, Inc. All Rights Reserved.
----------------------------------------------------------------------

ActiveX를 깔아야만 접속이 되었다.

이렇듯 "www.황태자푸드.com"은 접근성(Accessibility)이 매우 낮은 웹사이트였다.

ActiveX를 깔아보니 "www.황태자푸드.com"의 실제 주소는 다음과 같았다:

http://www.xn--hy1br86a8xgwvd60c.com/

그러나 "www.황태자푸드.com"은 이미 폐쇄된 듯 페이지가 나오지 않고 웹호스팅 회사의 홈이 나왔다.


"www.황태자푸드.com"이라는 곳이 왜 폐쇄되었는지는 모르겠지만, 주소가 한글이라는 것에도 영향을 받았을 것이다. 특정 프로그램을 설치해야만 접속이 되고, 그렇지 않으면 아예 페이지 첫화면도 볼 수 없는 곳이라니. 검색 엔진조차도 찾아가지 못할 것이다.


영세 업소의 홈페이지가 한글주소로 되어 있는 경우를 흔히 보았는데, 비용만 들지 영업에 도움이 되지 않는다고 본다.

(관련 포스트: ActiveX(액티브 엑스)의 추억)



tag: web
Web | 웹 | 인터넷 사이트

HTML/CSS] 포스트 본문에 코드/문자열 창 붙이기

원래 웹페이지에 일반 텍스트가 아닌 '프로그래밍 소스/코드' 등을 표현할 때는 <textarea></textarea> 태그를 사용합니다. 그런데 블로거닷컴에서는 <textarea></textarea> 태그 사용이 힘들었습니다.

이때, <div></div> 태그에다가 scroll 바를 붙여 주면 <textarea></textarea>와 거의 같은 효과를 낼 수 있습니다.



클래스 정의:

템플릿 상단의 <style type="text/css"></style> 태그 사이에 다음의 클래스를 정의합니다. (단, "wasabi"는 다른 분들이 만든 클래스와 충돌되지 않게 하기 위해 제가 만든 고유 아이디이기 때문에, 이것을 여러분 자신의 아이디로 대체하는 것이 좋습니다. 예를 들어, ".mupama-code-box" 하는 식입니다.)


.wasabi-code-box {
  font-family:'돋움체', monospace; font-size:10pt;
  background:#E2E2FF;
  overflow:scroll; white-space:nowrap;
  padding:10px; width: 98%;

  scrollbar-face-color:#FFB9B9;
  scrollbar-3dlight-color:#ffb9b9;
  scrollbar-highlight-color:#ffffff;
  scrollbar-shadow-color:#ffffff;
  scrollbar-darkshadow-color:#ffb9b9;
  scrollbar-arrow-color:#ffffff;
  scrollbar-track-color:#FFEEEE; }


scrollbar 정의 부분은 없어도 됩니다. 스크롤바에 색을 입히는 것인데, CSS표준이 아니기 때문에 IE에서만 보이고 파이어폭스에서는 무시됩니다.

width 는 코드 창의 가로 길이를 결정하는 것인데 자신의 블로그에 맞게 적당히 조절해야 합니다.



포스트 본문에 코드 창 삽입:

<div class="wasabi-code-box">
...
여기에 코드 작성
...
</div>


클래스를 사용할 때에는 wasabi-code-box 앞에 마침표(.)가 없어야 합니다. 코드 박스 안에 코드를 작성할 때 <,>,& 등의 기호는 반드시 &lt; &gt; &amp; 로 미리 변환해 주어야 합니다. 또한 2개 이상의 공백은 &nbsp; 로 치환해야 합니다. HTML 문법에서는 2개 이상으로 연결된 공백을 1개의 공백으로만 인식하기 때문입니다.

가령 8개의 공백에 해당하는 "탭" 한 개를 HTML로 변환하려면

" &nbsp; &nbsp; &nbsp; &nbsp;"

이렇게 치환해야 합니다. (따옴표 제외)

울트라에디터 같은 텍스트 에디터의 Replace 명령으로 한꺼번에 바꾸면 편리합니다.



결과:

포스트에서 보시는 바와 같이 코드 창이 만들어졌습니다.



관련 포스트: 일반 텍스트 문서(.txt)나 각종 코드를 HTML 로 변환



tag: html
HTML | CSS | 자바스크립트 JavaScript

Monday, February 20, 2006

블로거(Blogger.com)에 카운터 붙이다

Ralrara님의 "Blogger 사용자를 위한 리퍼러 서비스"(# 2024-03-30: 현재 삭제됨) 포스트를 읽은 후, 카운터를 붙여볼까 했는데 미루어 오다가 오늘 붙임.

블로거(Blogger.com)에는 안타깝게도 카운터가 제공되지 않는다.

원래는 "Google Analytics"를 붙일 생각이었는데 신청을 했지만 가입이 되지 않았다. 오래 기다려야 하는 모양이다.

웹 카운터 중에서는 StatCounter ( https://statcounter.com/ )가 가장 사용자가 많은 것 같았다.

StatCounter는 카운터 서비스를 제공하는 대신 구글 애드센스로 수익을 얻는 곳이었다. 카운터 자체에는 일체의 광고가 없었다. 물론 유료 서비스 옵션도 있었다.


자기 프로젝트 이름 옆의 공구 아이콘을 누른 후, Installation and Configuration / Create blocking Cookie 로 자기 자신의 방문을 통계에서 제외할 수도 있었다.




tag: blogger
블로거 | 구글블로그 | Blogger.com + blogspot.com

[리뷰] 무파마 / 신라면 / 사발면 (인스턴트 라면)

인스턴트 라면들에 대한 개인적 느낌을 쓴 게시물입니다.


무파마

"[리뷰] 햇반 (즉석 쌀밥)" 포스트에서 인스턴트 식품 특유의 불편한 뒷맛에 대해 말한 바가 있다. 그렇다면 자동적으로 '무파마'라는 라면에 대해서도 언급해야 할 것이다.

근래에 나오는 라면에는 뒷맛의 거북함이 거의 없다. 있다고 해도 무시할 수 있을 정도다. 그러나 라면 국물을 마지막으로 넘길 때에는 역시 기분이 좋지가 않다. 뭔가 몸에 좋지 않은 것을 먹었다는 희미한 느낌이 끝내 남는다.

그런데 무파마는 그런 거북한 뒷맛이 전혀!!! 없었다. 아주 고급 요리를 먹고 난 듯한 가뿐한 기분이다. 적어도 인스턴트 식품의 느낌이 전혀 들지 않았다. 면발과 국물 자체도 놀라울 정도로 맛있어서 기계로 대량 생산한 것이라는 사실이 믿기지 않았다. 라면 전문 식당의 수제품 라면처럼 느껴졌다. 이름처럼 무, 파, 마늘만으로 양념된 것 같지는 않고 무슨 비법이 있는 듯하다.

그러나 (다른 라면도 마찬가진데) 무파마에 계란과 파를 넣으면, 못 먹을 정도는 아니지만, 맛있다는 생각이 전혀 들지 않는 라면이 되어 버렸다. 라면을 구성하는 성분들의 미묘한 조합이 한꺼번에 무너져 버리는 것 같다. 단지 계란과 파를 넣었다는 이유만으로 무파마가 이렇게 맛없는 라면이 된다는 것이 믿어지지 않았다.

추가 사항: 오늘 보니 무파마에는 컵라면도 있는 듯하다. 필자가 맛본 것은 무파마의 봉지 라면 버전(?)이다.

무파마 컵라면 사진: ▶▶ 무파마 컵라면(사발면) 시식기 사진, 가장 맛있는 라면은? Mupama Ramen



신라면

초창기 신라면은 별로 맛이 없었고 맛에 개성도 없었다. 포장지만 다를 뿐 여느 라면과 비슷했다. 별로 맵지도 않았다. 그런데 신라면의 컵라면 버전을 근래에 먹어 보니 아주 맛있었다. 특히 면발의 탄력이 인상적이었다. 면의 맛과 국물의 맛의 조화도 훌륭했다. '감칠맛'이라는 것이 어떤 맛인가를 객관적으로 보여주고 있었다. 다만 봉지 라면으로 된 신라면의 경우는 어떨지 모르겠다: ▶▶ 신라면 컵 사진, 컵라면 고화질 이미지, 푸라면; Shinramyun Cup Ramen Photo


사발면

가장 역사가 오랜 컵라면류라고 생각되는데 맛이 전혀 업그레이드되지 않고 있다. 옛날 맛 그대로다. 화학 조미료 맛이 강하고, 신라면도 비슷하지만 너무 짜다. 소금 범벅이다. 이것을 먹고 나면 롯의 아내처럼 소금기둥이 되어 버리는 듯한 느낌이다. 스프를 반만 넣고 먹어야 적당한 염도가 될 정도.

물론 옛날부터, 센스가 있는 사람들은 봉지 라면도 스프를 반만 넣고 끓였다고 한다. 다만 무파마 같은 고급 라면은 예외가 되어야 할 것이다. 사발면 사진: ▶▶ 육개장 사발면 사진, 농심 용기면 시식기(?) Instant Noodle Photo




tag: living
생활의 발견 | Living

햇반 (즉석 쌀밥; 즉석밥) 리뷰

작년 이맘때에 '햇반'이라는 것을 먹어 본 적이 있다. 즉석 라면도 아닌 즉석 쌀밥이라니 먼저 당혹감이 앞섰다. 기상천외하지 않은가. (즉석 쌀밥이라는 것이 상당히 오래 전에 나온 것 같기도 하다. 예전에 등산 잡지에서 본 기억도 있는 듯.)

인스턴트 라면도 초창기 때는 맛이 없고 먹기 힘들었다. 햇반도 마찬가지일 것이라 생각했다. 즉석 쌀밥이 맛있으면 얼마나 맛있겠나 하는 생각. 그러나 상상 이상으로 맛이 좋았다. 보통의 밥보다 훨씬 좋았다. 오랜 경력을 가진 전문 요리사가 갓 지은 듯한 밥이었다. 그래서 아주 즐겁게 먹기 시작했다. 구수함까지 담겨 있었다. 100% 완벽한 맛. 즉석 쌀밥이라는 것이 전혀 믿기지 않았다. 다만 양이 많지가 않았다. 공기밥 정도의 분량.

색깔이 아주 하얀 백미로 되어 있다. 먹다가 눈이 부실 정도다. 쌀알들의 크기도 일정.

그런데 반쯤 먹었을 무렵부터 이상함을 느끼지 시작했다. 밥을 삼킨 후의 뒷맛이 부자연스러웠다. 마치 화학 조미료를 듬뿍 넣은 음식을 먹은 후의 불편함 같은 그런 느낌이 들었다. 그래서 햇반을 '신라면의 컵라면 버전'에 말아서 먹어 보았다. 라면 국물이 햇반의 불편한 뒷맛을 중화시켜 주리라는 기대 때문이다. 그런데 지금 잘 기억은 나지 않지만 그 부자연스런 맛은 여전히 계속되었던 것 같다.

다만 필자와 함께 햇반을 먹던 사람은 그런 뒷맛을 느끼지 못했다고 한다. 필자가 음식의 뒷맛에 과민한 것은 사실이지만 햇반에도 문제가 있는 것이 분명하다. 햇반을 먹은 후 1~2시간 가량 계속 속이 불편했다.

결론:
이 부자연스러운 뒷맛만 없다면 아주 좋았다. 햇반 자체는 아주 맛있었기에 자주 먹어보고 싶지만 속이 불편해질 것 같아서 먹지 않고 있다.

2007-10-21 업데이트: 요즘 나오는 햇반에는 부자연스러운 맛이 없고 진짜 밥처럼 뒷맛이 깔끔했습니다.


CJ가 아닌, 농심에서 나온 햇반 사진: ▶▶ 햅쌀밥 맛 비교 시식기, 농심 햇반 사진; Nongshim

▶▶ [리뷰] 무파마 / 신라면 / 사발면 (인스턴트 라면)




tag: living
생활의 발견 | Living

Friday, February 17, 2006

[건강] 어린이 근시 예방: 먼 곳을 자주 바라보는 습관을 기르게 하면 어떨까

초등3년 정도의 어린아이들에게 벌써 안경을 씌워 주는데 가슴 아픈 일이다. 안경 쓴 외국 어린이를 본 적은 거의 없다. 이것은 한국적인 현상이다.

대부분의 근시는 가까운 곳을 장시간 보기 때문에 생기는 것이다. 즉 생활 습관 때문인 것이다. 원인을 치유하지 않고 무조건 안경을 덥썩 씌워주는 것은 재고해 보아야 하다.

책을 30cm 정도 떨어져 보면 근시를 예방할 수 있다는데 사실 30cm도 충분하지 않다. 최소한 1미터 정도는 떨어져서 보아야 한다. 물론 1미터라는 거리가 비현실적이긴 하지만 말이다.

옛날에 근시 예방/치료법으로 안구 운동이 유행한 적이 있었는데 별로 효과가 없는 것으로 밝혀졌다. 다른 방법은 없을까. 뚜렷한 방법은 없지만 다만 이런 것이 있다.


먼 곳 보기:

항상 지평선을 바라보고 사는 몽골인들은 모두 눈이 좋고, 2.0이 넘는 시력을 가지는 사람도 있다고 한다. 한국인과 몽골인은 유전적 차이는 거의 없기에, 이것은 먼 곳을 자주 바라보는 습관 때문이 분명하다.

어린이들에게, 안경을 벗고 하루에 1시간쯤 먼 곳을 바라보게 하는 '수정체 운동'을 시키면 어떨까 싶다. 먼곳을 단지 형식적으로 바라보는 것은 효과가 없고, 먼 곳에 있는 사람의 수나, 건물 창문이나 나뭇가지의 갯수를 센다든지, 지형지물을 또렷이 분간하게 하는 방식이어야 할 것이다. 유목인들이 일상적으로 그러하듯 말이다.

또는 그리 멀리 있는 것이 아니라도, 방안의 달력의 작은 글자를 읽게 한다든지, 안경을 벗고 TV를 보게 하는 것도 생각해 볼 수 있다. (TV는 적어도 1.5미터 이상은 떨어져서 보는 것이기에 근시와는 별 관련이 없다. 다만 TV나 컴퓨터 모니터의 밝은 화면을 장시간 보면 망막에 무리를 줄 수 있다.) 이때 눈을 찌푸리면, 순간적으로 시력이 높아지는데(카메라의 조리개를 조이면 사진이 선명해지는 것과 마찬가지 원리로), 이것은 진짜 시력이 아니므로, 항상 눈을 크게 뜨고 보게 해야만 한다.



tag: health
건강 | Health

Thursday, February 16, 2006

블로거(Blogger.com)에서, 화면 상단 '네비게이션 바'의 넓이가 늘어나는 문제 해결법

드문 경우이긴 한데, [SEARCH THIS BLOG] 버튼 등이 있는 "네비게이션 바"의 두께가 2배쯤 넓어지는 경우가 있다. 또한 "네비게이션 바"의 레이아웃이 깨져 버튼들의 위치가 이상하게 된다. "네비게이션 바"의 두께가 넓어지면 블로그 자체의 레이아웃도 이상하게 보일 수 있다.

현재 "Simple II" 템플릿을 사용하면 "네비게이션 바"가 항상 깨지게 되고, 사용자가 직접 템플릿을 모두 만드는 경우에도 이런 경우가 발생한다.

이것은 XHTML의 선언이 없어서 그런 것이다. 해결을 위해서는 다음의 코드 1줄 즉 "DOCTYPE (Document Type Declaration)"을 템플릿의 가장 위에 붙여 준다. 공백도 없이 가장 첫번째 줄에 위치시키는 것이 원칙.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

(2021-04-14 업데이트: HTML 5 에서는, 위의 코드 대신 간단히
<!DOCTYPE html> 이라고 하면 됩니다.)


그러면 "네비게이션 바"가 정상이 된다.

DOCTYPE은 현재 사용된 HTML의 버전과 형식을 브라우저에게 알려주는 코드다. HTML 문서에 DOCTYPE이 있으면 브라우저는 표준단체(www.w3.org)에서 정해준 대로, HTML을 엄격하게 해석한다.

블로거(Blogger.com)는 전반적으로 XHTML을 사용하는데, 다른 부분은 그렇지 않지만, "네비게이션 바"는 DOCTYPE에 민감한 것 같다.

일반적인 홈페이지에서는 DOCTYPE이 꼭 필요하지는 않다. 브라우저가 적당히 융통성을 발휘하여 해석해 준다. 심지어 구글의 홈페이지 소스에도 DOCTYPE이 없다.

DOCTYPE 을 사용하면 페이지가 이상하게 되는 경우가 있었고, 디자인 상의 제약도 많았다. 그래서 필자가 홈페이지를 만들 때에는, XHTML 1.0 Strict 규약을 사용하되 DOCTYPE은 쓰지 않았다.

MSDN Library에 보면 MS는, 특히 CD 등에 저장할 고정된 HTML을 작성할 때에는, DOCTYPE이 없는 HTML을 권유하고 있다. HTML 해석을 브라우저에게 완전히 맡기라는 것이다. 그렇지만 블로거(Blogger.com)에는 이것이 꼭 필요했다.



참고로, HTML 규약의 향상은 현재 버전 4.01로 완전히 끝나 더 이상 진행되지 않는다. 이제는 XHTML 1.0 혹은 1.1 규약이, HTML 문서의 새로운 표준이다. 물론 권장 사항일 뿐이지 강제되는 것은 아니기에, 옛날식 문법으로 된 HTML을 굳이 고칠 필요는 없다.

HTML과 XHTML은 별로 다르지는 않고 다만 XML과의 호환성이 추가되었을 뿐이다. www.w3.org에 가면 문서들이 공개되어 있으니 참고하면 된다.



2006-02-18 추가 사항:
800x600 모드에서만 이런 문제가 발생하고 1024x768 이상에서는 문제가 없었습니다. 그러나 800x600 모드 사용자도 많으니까, DOCTYPE 을 붙이는 것이 좋을 것입니다.




tag: blogger
블로거 | 구글블로그 | Blogger.com + blogspot.com
tag: html
HTML | CSS | 자바스크립트 JavaScript

Wednesday, February 15, 2006

블로거(Blogger.com)를 300MB짜리 무료 웹 계정으로 사용하기

구글의 블로그 서비스인 블로거닷컴( Blogger.com + blogspot.com )에 대한 게시물입니다.

2006-05-15 업데이트:
[희소식] 블로거(blogger.com)에 GIF/PNG 업로드 이제 가능!


2006-03-17 업데이트: 이 포스트 내용은 이제 무효가 되어야 할 것 같습니다. 현재 blogger.com에서는 GIF/PNG를 전혀 올릴 수 없게 되었습니다. 무조건 저화질 JPG로 변환되어 버리고 있습니다. 시스템의 문제인지 아니면 정책의 변화인지조차도 분명치 않습니다.





블로거(Blogger.com)의 좋은 점 중에 하나가, 블로그 계정을 일반 웹사이트처럼 운영할 수 있다는 것이다. 다른 블로그 서비스 사용자가 자신의 블로그를 이런 식으로 바꾼다면 아마 계정이 잘릴 것이다. (필자가 알기로, wordpress.com 은 확실히 잘린다. 물론 변경하는 기능도 제공되지 않을 것이다.) 그러나 블로거(Blogger.com)는, 이런 식의 변경을 허용하고, 놀랍게도 추천까지 하고 있다.

블로거(Blogger.com)에 있는 외국 유저들의 블로그를 보면, 블로그인지 일반 웹사이트인지 잘 구분이 안 가는 것이 많다. 그만큼 블로거(Blogger.com) 서비스가 융통성이 있고 자유도가 높다는 것이다.

일반적인 무료 웹 계정은 외국의 경우, 파일 총 용량이 고작 15MB 내외, 그리고 시간당 허용 트래픽이 4MB 정도밖에 되지 않는다. 국내의 무료 웹 계정은 좀더 많이 주지만 부족하긴 마찬가지다.

블로거(Blogger.com) 도움말 중에, "Blogger 도움말: 서적을 어떻게 게재합니까"(# 2024-04-01: 현재 삭제됨)라는 곳을 보면, 템플릿을 편집하여 블로그를 일반 웹 페이지처럼 만드는 법이 나와 있다. 예제로서, 영문 소설 "The Castle of Otranto"( http://castleofotranto.blogspot.com/ # 현재 폐쇄됨) 가 올려져 있는데, 아직도 디자인에서 블로그 냄새가 조금 나긴 하지만, 좀더 손보면 일반 웹사이트와 똑같아질 것이다.



정말 300메가가 될까?:

다른 블로그도 마찬가지지만, 블로거(Blogger.com)은 포스트를 무한정 올릴 수 있다. 즉 글을 올리는 데에는 한계가 없다. (일반 웹계정은 글만 올리는 것으로도 용량과 트래픽의 제한을 받는다)

다만 블로거(Blogger.com)에서는 그림을 올리는 것에 300메가의 제한이 있다. 300메가는 얼마만한 용량일까? 고화질 사진을 무려 1200장 올릴 수 있는 엄청난 용량이다. (여기서 말하는 고화질 사진은 220KB 정도의 JPG인데, GIF나 PNG도 업로드 가능) 일반 웹계정에서 흔히 주는 15메가로는 60장 정도밖에는 올리지 못한다. 게다가 블로거(Blogger.com)에는 (적어도 필자가 알기로는) 트래픽 제한도 없다.

단점이라면 그림 파일 이외의 파일들, 가령 zip 같은 것을 올리지 못한다는 것과, FTP가 없어서 불편하다는 것, PHP 등을 사용할 수 없기에 복잡한 사이트는 만들지 못한다는 것이 있다.

글과 그림만으로 된 간단한 웹사이트를 만들 때에는 블로거(Blogger.com) 계정이 아주 좋다고 생각된다.


2007-03-28 업데이트:
이제 블로거 닷컴에는 이미지 파일들을 1GB 용량까지 업로드할 수 있습니다. 3배 이상 용량이 증가했습니다.




서브 도메인을 만들어서 제2의 블로그를 개설한 후:

블로거(Blogger.com)에 이미 블로그가 있다면? 그러고 웹사이트형 블로그를 만들고 싶다면? 블로거(Blogger.com)에 아이디를 하나 더 만들어야 한다는 것은 아니다. 블로거(Blogger.com)는 카테고리 기능이 없는 대신, 서브 도메인 만드는 것을 무한정 허용한다. 쉽게 말해서, 여러 개의 블로그를 합법적으로 동시에 운영할 수 있는 것이다.

즉, 필자의 블로그 주소는 아래와 같은데(Blogger.com에 블로그를 만들면 주소는 blogspot.com에 생긴다),

        mwultong.blogspot.com

이 주소를 가지고 있는 상태에서

        mwultong2.blogspot.com
        mwultong3.blogspot.com
        mwultong4.blogspot.com
        cool.blogspot.com
        hot-cool.blogspot.com


등의 주소를 마음껏 만들 수 있는 것이다. 이것 역시 다른 블로그 서비스에서는 절대 제공하지 않는, 아주 좋은 기능이다. (다만 cool.blogspot.com이라는 주소를 다른 사람이 이미 사용하고 있다면 안된다. 심지어 cool.blogspot.com의 주인이 cool.blogspot.com라는 주소의 블로그를 완전히 삭제했다 해도 그 주소를 타인이 가질 수 없다.)

자신의 아이디에 할당된 각 서브 도메인들, 다시 말해, 블로그들은 서로 독립적으로 운영된다. 즉 도메인마다 다른 템플릿을 사용할 수 있어, 전혀 다른 디자인의 블로그 혹은 사이트의 운영이 가능하다.



광고는 없나?

사실상 없다. 무료 웹계정을 사용하면 제공 회사 측의 광고가 많이 붙어서 디자인이 힘들고 사이트가 산만해진다. 그러나 블로거(Blogger.com)는, 화면 상단에 가느다란 "네비게이션 바"가 하나 있고 화면 하단에 작은 로고 버튼이 하나 있는 것이 전부다. 지금 이 블로그에서 보는 것처럼 말이다.

그러면 블로거(Blogger.com)는 뭘로 먹고 사는 것일까? 해답은 "구글 애드센스"다. 즉, 텍스트 광고다. 그러나 애드센스를 자신의 블로그에 붙이는 것은 현재로서는 선택 사항이고 강제된 것은 아니다. 다른 블로그나 무료 웹계정의 경우, 광고 수익은 전부 회사가 차지한다. 그러나 애드센스는 블로그 주인과 블로거(Blogger.com)가 나누어 가진다. (정확하게 말하자면 Blogger.com의 소유주인 Google이 가지는 것) 따라서 블로그를 개설하며 돈을 내는 것이 아니라 오히려 블로그 주인이 돈을 받게 되는 것이다.



블로거(Blogger.com)에 단점은 없나?

속도가 느리고 자주 먹통이 된다는 것이다. 그만큼 사용자가 많다는 의미도 된다. 또한 한글 블로그를 운영하면 약간 문제가 있는데 블로거(blogger.com)의 인코딩 버그 완벽 해결법 등을 참고하면 해결된다. 그리고 필자가 여러 가지 문제 해결법들을 자주 올리고 있으니, 화면 상단의 "네비게이션 바"에 있는 작은 검색창에서 "블로거"라고 써넣고 [SEARCH THIS BLOG] 버튼을 눌러 검색해 보면 참고가 될 것이다.

또한 블로그의 특성상, 한번 만든 사이트를 다른 사이트로 이전하는 것은 힘들다. 일반 웹사이트에 비해 주소 체계가 상대적으로 복잡하고 FTP도 없기 때문이다.

그리고 HTML과 CSS에 대한 지식이 좀 필요하다는 것이다. 초보자는 쓰기 힘든 편이다.



블로거(Blogger.com)가 망할 가능성은 없나?

블로거(Blogger.com)는 구글의 소유이기 때문에 그럴 가능성은 아주 희박할 것이다. IT업계에 대이변이 일어나지 않는 한 망하지 않을 것이다.





※ 위에 링크된 블로거 도움말에 조금 설명을 덧붙이자면 이렇다:

일반 웹페이지의 맨 첫 화면은 index.html 인데, 블로거의 첫 화면은, 최근 포스트들이 하나로 연결된 "기본 페이지"다. 그래서 일반 웹페이지처럼 만들기 위해서는, 블로그의 기본 페이지에, 포스트 딱 1개만 표시되도록 하여 그것을 index.html 로 삼아야 한다.

그런데 이러면 다른 포스트를 또 올릴 경우, index.html 로 삼는 포스트가 아래로 밀려나서 보이지 않게 되어 버리고, 최신 포스트가 초기 화면으로 대체되어 버려 곤란하다. 즉, 웹사이트도 블로그도 아닌 이상한 곳이 되어 버리는 것이다.

이때는 다시 "포스트 에디터" 화면으로 가서 방금 올린 최신 포스트의 날짜를 '과거'로 바꾸어 주면 된다. 에디터 박스 아래쪽에 있는 게시 및 덧글 옵션을 클릭하면 시간 및 날짜 변경이라는 것이 펼쳐져 나온다. 이곳에서, "방금 올린 포스트의 날짜"를 "main 페이지로 삼는 포스트의 날짜"보다 예전으로 바꾸어 주면, main 페이지 포스트가 블로그의 맨 앞에 여전히 나오게 된다.

그러나 자신이 블로거에 첫 번째 블로그를 개설한 날짜(프로필 화면에서 확인 가능)보다 먼 과거는 문제가 있을지 모르니, 개설한 날짜보다 뒤가 무난할 것이다.




2006-02-17 추가 사항:
무혼인형님께서 말씀해 주셨는데, 블로거 계정에 애니메이션 GIF는 올라가지 않았습니다. 일반 GIF는 올라가는데 애니는 모두 JPG로 변환되어 버립니다. 애니 GIF를 쓰실 분에게는 블로거 계정이 좋지 않을 듯합니다.




tag: blogger
블로거 | 구글블로그 | Blogger.com + blogspot.com
tag: web
Web | 웹 | 인터넷 사이트

Tuesday, February 14, 2006

[트릭] 웹페이지의 많은 그림들 한꺼번에 저장하기

이것은 '팁 Tip'이라기보다는 '트릭 Trick'에 가깝다고 생각된다. 어떤 웹페이지의 그림들을 하드에 저장하고 싶은데 그것이 수십 개가 넘는다면, 손으로 일일이 저장하는 것은 힘들다. 이 트릭으로 한 번에 저장할 수 있다.

단, 웹페이지에 있는 그림들이 원본인 경우나, 원본을 width="" height="" 속성으로 축소시켜 썸네일(우표만한 크기의 축소판 그림)을 만든 경우에만 이 트릭이 해당된다. 진짜 썸네일로 썸네일이 만들어져 있는 경우는 썸네일들만 하드에 저장되기에 소용이 없다.

(1) 저장할 많은 그림들이 있는 페이지에서, IE의 "파일/다른 이름으로 저장"을 선택해 웹페이지를 통째로 하드에 저장한다. (파이어폭스는 단순히 Ctrl+S 만 눌러주면 하드에 저장할 수 있다.)

(2) 그림들이, ".files" 또는 "_files" 라는 이름이 붙은 폴더 속에 들어가 있으므로, 이 폴더를 ACDSee 등의 그림보기 프로그램으로 탐색해 본다. 복잡한 페이지의 경우에는, 더 깊숙한 하위 폴더에 그림들이 저장되어 있을 수도 있다.


※ 인터넷 익스플로러 (IE)에서는 에러를 내고 저장을 못하는 경우가 많은데 이것은 IE의 오래된 버그다. IE 7에서는 고쳐졌으면 한다. 이때는 파이어폭스를 사용하면 아주 깔끔하게 잘 저장된다.



tag: web
Web | 웹 | 인터넷 사이트

Monday, February 13, 2006

토정비결 잘 보는 비결

토정비결이 잘 맞는 사람은 흔치 않지만, 생일의 '오차' 때문에 더 맞지 않을 수도 있다. 비록 자신의 정확한 생일을 안다 하더라도 '운수의 기준점'이랄까 그런 것이 다를 수가 있다. 그래서 생일의 앞뒤 약 3일 간의 토정비결을 모두 계산해 본 후 가장 맞는 것을 택하면 좀더 정확한 결과를 얻을 수가 있다. 그러고 그 맞는 날짜를 자신의 '역술적 생일'로 삼는 것이다. 역술인에게 직접 의뢰한다면 아마도 복채를 더 내야 하겠지만 요즘에는 각종 포털 사이트의 운세 코너에서 무료로 계산해 볼 수 있다.

이것은 '사주'나 서양의 별자리점 등에도 적용될 수 있다. 그런데 사주는 단순히 계산으로 이루어지는 것이 아니라 역술인의 주관적 판단이 개입한다고 알고 있기에, 컴퓨터로 보는 사주는 위의 방법을 사용해도 부정확할 수 있을 것이다.

그렇지만 필자의 경우, 요즘에는 새해가 돼도 토정비결을 보지는 않고 있다. 일년 동안 일어날 길흉의 리스트를 접한다는 것도 별로 기분이 좋지 않았고, 그런 것을 본다고 해서 달라지는 것은 없다는 것을 알았기 때문이다.




tag: living
생활의 발견 | Living

FeedBurner에 등록하면 '구글 블로그 검색'에도 등록됨

윈도 비스타 블로그( http://vista.golbin.net/ # 2024-03-22: 현재 폐쇄됨)를 운영하시는 아크몬드님께서 알려 주신 방법입니다.

Google 블로그 검색 ( http://blogsearch.google.co.kr/ # 현재 폐쇄됨) 은, blogger.com/야후 코리아 블로그/이글루스 등에 만들어진 블로그는 자동으로 등록이 되지만, 개인이 설치한 블로그를 등록하려면 현재는 기술적인 어려움이 있습니다.

이때 FeedBurner ( http://www.feedburner.com/ )에 자신의 블로그 주소나 Feed 주소를 입력하시면, Google 블로그 검색에 등록이 됩니다.

저는 FeedBurner가 아톰 피드를 RSS로 변환해주는 곳으로만 알고 있었는데 그런 좋은 기능이 있다는 사실을 아크몬드님 덕분에 오늘에야 알게 되었습니다.

"Google 블로그 검색"에 자신의 블로그가 나타나지 않는 분은 위의 방법을 사용해 보시기 바랍니다.





2007-02-08 업데이트

그런데 요즘에는 "구글 블로그 검색"이 잘 작동하지 않더군요.




tag: rss
RSS 피드 | Atom Feed
tag: web
Web | 웹 | 인터넷 사이트

[건강] 딸꾹질 확실히 멈추는 법 소개

흔히, 물을 마시면 "딸꾹질"이 멎는다고 하는데 그냥 평범하게 마시면 물배만 부르고 효과가 거의 없습니다. 그러면 어떻게 마시느냐. 아주 아주 조금씩 마시는 것입니다.

우선 입에 맹물이나 보리차를 조금 머금은 후, 1~2방울 정도씩 천천히 목으로 넘기는 것입니다. 물 1잔을 1시간에 걸쳐 마시는 속도라고 생각하시면 됩니다.

이때, 물을 넘기면서 '꿀꺽'하는 소리가 날 정도로 되도록 힘차게 넘기는 것이 좋습니다. 물을 마실 수 없는 상황이라면, 침을 아주 천천히 삼켜도 효과가 있습니다.

이 방법을 사용하시면, 빠르면 30초, 늦어도 10분 이내에 딸꾹질이 멈추게 됩니다.





2007-02-08 업데이트
위의 글을 쓴 후에도 계속 테스트를 해 보았는데 역시 효과가 있었습니다.


2024-04-01 업데이트
17년이 지난 지금도 딸꾹질 멈추는 데는 이 방법이 잘 통하더군요^^




tag: health
건강 | Health
tag: living
생활의 발견 | Living

모든 한글 낱자 11172자 목록 (유니코드; Unicode)

"가"에서 "힣"까지의 모든 한글 낱자를 표로 만든 것입니다.


참고: ▶▶ [Perl] 유니코드의 한글 낱자 11172자를 코드 번호와 함께 파일로 출력하기 - Unicode UTF-8


가각갂갃간갅갆갇갈갉갊갋갌갍갎갏감갑값갓
갔강갖갗갘같갚갛개객갞갟갠갡갢갣갤갥갦갧
갨갩갪갫갬갭갮갯갰갱갲갳갴갵갶갷갸갹갺갻
갼갽갾갿걀걁걂걃걄걅걆걇걈걉걊걋걌걍걎걏
걐걑걒걓걔걕걖걗걘걙걚걛걜걝걞걟걠걡걢걣
걤걥걦걧걨걩걪걫걬걭걮걯거걱걲걳건걵걶걷
걸걹걺걻걼걽걾걿검겁겂것겄겅겆겇겈겉겊겋
게겍겎겏겐겑겒겓겔겕겖겗겘겙겚겛겜겝겞겟
겠겡겢겣겤겥겦겧겨격겪겫견겭겮겯결겱겲겳
겴겵겶겷겸겹겺겻겼경겾겿곀곁곂곃계곅곆곇
곈곉곊곋곌곍곎곏곐곑곒곓곔곕곖곗곘곙곚곛
곜곝곞곟고곡곢곣곤곥곦곧골곩곪곫곬곭곮곯
곰곱곲곳곴공곶곷곸곹곺곻과곽곾곿관괁괂괃
괄괅괆괇괈괉괊괋괌괍괎괏괐광괒괓괔괕괖괗
괘괙괚괛괜괝괞괟괠괡괢괣괤괥괦괧괨괩괪괫
괬괭괮괯괰괱괲괳괴괵괶괷괸괹괺괻괼괽괾괿
굀굁굂굃굄굅굆굇굈굉굊굋굌굍굎굏교굑굒굓
굔굕굖굗굘굙굚굛굜굝굞굟굠굡굢굣굤굥굦굧
굨굩굪굫구국굮굯군굱굲굳굴굵굶굷굸굹굺굻
굼굽굾굿궀궁궂궃궄궅궆궇궈궉궊궋권궍궎궏
궐궑궒궓궔궕궖궗궘궙궚궛궜궝궞궟궠궡궢궣
궤궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궷
궸궹궺궻궼궽궾궿귀귁귂귃귄귅귆귇귈귉귊귋
귌귍귎귏귐귑귒귓귔귕귖귗귘귙귚귛규귝귞귟
균귡귢귣귤귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳
귴귵귶귷그극귺귻근귽귾귿글긁긂긃긄긅긆긇
금급긊긋긌긍긎긏긐긑긒긓긔긕긖긗긘긙긚긛
긜긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯
기긱긲긳긴긵긶긷길긹긺긻긼긽긾긿김깁깂깃
깄깅깆깇깈깉깊깋까깍깎깏깐깑깒깓깔깕깖깗
깘깙깚깛깜깝깞깟깠깡깢깣깤깥깦깧깨깩깪깫
깬깭깮깯깰깱깲깳깴깵깶깷깸깹깺깻깼깽깾깿
꺀꺁꺂꺃꺄꺅꺆꺇꺈꺉꺊꺋꺌꺍꺎꺏꺐꺑꺒꺓
꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧
꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻
꺼꺽꺾꺿껀껁껂껃껄껅껆껇껈껉껊껋껌껍껎껏
껐껑껒껓껔껕껖껗께껙껚껛껜껝껞껟껠껡껢껣
껤껥껦껧껨껩껪껫껬껭껮껯껰껱껲껳껴껵껶껷
껸껹껺껻껼껽껾껿꼀꼁꼂꼃꼄꼅꼆꼇꼈꼉꼊꼋
꼌꼍꼎꼏꼐꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟
꼠꼡꼢꼣꼤꼥꼦꼧꼨꼩꼪꼫꼬꼭꼮꼯꼰꼱꼲꼳
꼴꼵꼶꼷꼸꼹꼺꼻꼼꼽꼾꼿꽀꽁꽂꽃꽄꽅꽆꽇
꽈꽉꽊꽋꽌꽍꽎꽏꽐꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛
꽜꽝꽞꽟꽠꽡꽢꽣꽤꽥꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯
꽰꽱꽲꽳꽴꽵꽶꽷꽸꽹꽺꽻꽼꽽꽾꽿꾀꾁꾂꾃
꾄꾅꾆꾇꾈꾉꾊꾋꾌꾍꾎꾏꾐꾑꾒꾓꾔꾕꾖꾗
꾘꾙꾚꾛꾜꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫
꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾸꾹꾺꾻꾼꾽꾾꾿
꿀꿁꿂꿃꿄꿅꿆꿇꿈꿉꿊꿋꿌꿍꿎꿏꿐꿑꿒꿓
꿔꿕꿖꿗꿘꿙꿚꿛꿜꿝꿞꿟꿠꿡꿢꿣꿤꿥꿦꿧
꿨꿩꿪꿫꿬꿭꿮꿯꿰꿱꿲꿳꿴꿵꿶꿷꿸꿹꿺꿻
꿼꿽꿾꿿뀀뀁뀂뀃뀄뀅뀆뀇뀈뀉뀊뀋뀌뀍뀎뀏
뀐뀑뀒뀓뀔뀕뀖뀗뀘뀙뀚뀛뀜뀝뀞뀟뀠뀡뀢뀣
뀤뀥뀦뀧뀨뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷
뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끄끅끆끇끈끉끊끋
끌끍끎끏끐끑끒끓끔끕끖끗끘끙끚끛끜끝끞끟
끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳
끴끵끶끷끸끹끺끻끼끽끾끿낀낁낂낃낄낅낆낇
낈낉낊낋낌낍낎낏낐낑낒낓낔낕낖낗나낙낚낛
난낝낞낟날낡낢낣낤낥낦낧남납낪낫났낭낮낯
낰낱낲낳내낵낶낷낸낹낺낻낼낽낾낿냀냁냂냃
냄냅냆냇냈냉냊냋냌냍냎냏냐냑냒냓냔냕냖냗
냘냙냚냛냜냝냞냟냠냡냢냣냤냥냦냧냨냩냪냫
냬냭냮냯냰냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿
넀넁넂넃넄넅넆넇너넉넊넋넌넍넎넏널넑넒넓
넔넕넖넗넘넙넚넛넜넝넞넟넠넡넢넣네넥넦넧
넨넩넪넫넬넭넮넯넰넱넲넳넴넵넶넷넸넹넺넻
넼넽넾넿녀녁녂녃년녅녆녇녈녉녊녋녌녍녎녏
념녑녒녓녔녕녖녗녘녙녚녛녜녝녞녟녠녡녢녣
녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷
노녹녺녻논녽녾녿놀놁놂놃놄놅놆놇놈놉놊놋
놌농놎놏놐놑높놓놔놕놖놗놘놙놚놛놜놝놞놟
놠놡놢놣놤놥놦놧놨놩놪놫놬놭놮놯놰놱놲놳
놴놵놶놷놸놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇
뇈뇉뇊뇋뇌뇍뇎뇏뇐뇑뇒뇓뇔뇕뇖뇗뇘뇙뇚뇛
뇜뇝뇞뇟뇠뇡뇢뇣뇤뇥뇦뇧뇨뇩뇪뇫뇬뇭뇮뇯
뇰뇱뇲뇳뇴뇵뇶뇷뇸뇹뇺뇻뇼뇽뇾뇿눀눁눂눃
누눅눆눇눈눉눊눋눌눍눎눏눐눑눒눓눔눕눖눗
눘눙눚눛눜눝눞눟눠눡눢눣눤눥눦눧눨눩눪눫
눬눭눮눯눰눱눲눳눴눵눶눷눸눹눺눻눼눽눾눿
뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓
뉔뉕뉖뉗뉘뉙뉚뉛뉜뉝뉞뉟뉠뉡뉢뉣뉤뉥뉦뉧
뉨뉩뉪뉫뉬뉭뉮뉯뉰뉱뉲뉳뉴뉵뉶뉷뉸뉹뉺뉻
뉼뉽뉾뉿늀늁늂늃늄늅늆늇늈늉늊늋늌늍늎늏
느늑늒늓는늕늖늗늘늙늚늛늜늝늞늟늠늡늢늣
늤능늦늧늨늩늪늫늬늭늮늯늰늱늲늳늴늵늶늷
늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇니닉닊닋
닌닍닎닏닐닑닒닓닔닕닖닗님닙닚닛닜닝닞닟
닠닡닢닣다닥닦닧단닩닪닫달닭닮닯닰닱닲닳
담답닶닷닸당닺닻닼닽닾닿대댁댂댃댄댅댆댇
댈댉댊댋댌댍댎댏댐댑댒댓댔댕댖댗댘댙댚댛
댜댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯
댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃
덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓더덕덖덗
던덙덚덛덜덝덞덟덠덡덢덣덤덥덦덧덨덩덪덫
덬덭덮덯데덱덲덳덴덵덶덷델덹덺덻덼덽덾덿
뎀뎁뎂뎃뎄뎅뎆뎇뎈뎉뎊뎋뎌뎍뎎뎏뎐뎑뎒뎓
뎔뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎠뎡뎢뎣뎤뎥뎦뎧
뎨뎩뎪뎫뎬뎭뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻
뎼뎽뎾뎿돀돁돂돃도독돆돇돈돉돊돋돌돍돎돏
돐돑돒돓돔돕돖돗돘동돚돛돜돝돞돟돠돡돢돣
돤돥돦돧돨돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷
돸돹돺돻돼돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋
됌됍됎됏됐됑됒됓됔됕됖됗되됙됚됛된됝됞됟
될됡됢됣됤됥됦됧됨됩됪됫됬됭됮됯됰됱됲됳
됴됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄둅둆둇
둈둉둊둋둌둍둎둏두둑둒둓둔둕둖둗둘둙둚둛
둜둝둞둟둠둡둢둣둤둥둦둧둨둩둪둫둬둭둮둯
둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒀뒁뒂뒃
뒄뒅뒆뒇뒈뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗
뒘뒙뒚뒛뒜뒝뒞뒟뒠뒡뒢뒣뒤뒥뒦뒧뒨뒩뒪뒫
뒬뒭뒮뒯뒰뒱뒲뒳뒴뒵뒶뒷뒸뒹뒺뒻뒼뒽뒾뒿
듀듁듂듃듄듅듆듇듈듉듊듋듌듍듎듏듐듑듒듓
듔듕듖듗듘듙듚듛드득듞듟든듡듢듣들듥듦듧
듨듩듪듫듬듭듮듯듰등듲듳듴듵듶듷듸듹듺듻
듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏
딐딑딒딓디딕딖딗딘딙딚딛딜딝딞딟딠딡딢딣
딤딥딦딧딨딩딪딫딬딭딮딯따딱딲딳딴딵딶딷
딸딹딺딻딼딽딾딿땀땁땂땃땄땅땆땇땈땉땊땋
때땍땎땏땐땑땒땓땔땕땖땗땘땙땚땛땜땝땞땟
땠땡땢땣땤땥땦땧땨땩땪땫땬땭땮땯땰땱땲땳
땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇
떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛
떜떝떞떟떠떡떢떣떤떥떦떧떨떩떪떫떬떭떮떯
떰떱떲떳떴떵떶떷떸떹떺떻떼떽떾떿뗀뗁뗂뗃
뗄뗅뗆뗇뗈뗉뗊뗋뗌뗍뗎뗏뗐뗑뗒뗓뗔뗕뗖뗗
뗘뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫
뗬뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿
똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏또똑똒똓
똔똕똖똗똘똙똚똛똜똝똞똟똠똡똢똣똤똥똦똧
똨똩똪똫똬똭똮똯똰똱똲똳똴똵똶똷똸똹똺똻
똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙈뙉뙊뙋뙌뙍뙎뙏
뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣
뙤뙥뙦뙧뙨뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷
뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋
뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚜뚝뚞뚟
뚠뚡뚢뚣뚤뚥뚦뚧뚨뚩뚪뚫뚬뚭뚮뚯뚰뚱뚲뚳
뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂뛃뛄뛅뛆뛇
뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛔뛕뛖뛗뛘뛙뛚뛛
뛜뛝뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯
뛰뛱뛲뛳뛴뛵뛶뛷뛸뛹뛺뛻뛼뛽뛾뛿뜀뜁뜂뜃
뜄뜅뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗
뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜨뜩뜪뜫
뜬뜭뜮뜯뜰뜱뜲뜳뜴뜵뜶뜷뜸뜹뜺뜻뜼뜽뜾뜿
띀띁띂띃띄띅띆띇띈띉띊띋띌띍띎띏띐띑띒띓
띔띕띖띗띘띙띚띛띜띝띞띟띠띡띢띣띤띥띦띧
띨띩띪띫띬띭띮띯띰띱띲띳띴띵띶띷띸띹띺띻
라락띾띿란랁랂랃랄랅랆랇랈랉랊랋람랍랎랏
랐랑랒랓랔랕랖랗래랙랚랛랜랝랞랟랠랡랢랣
랤랥랦랧램랩랪랫랬랭랮랯랰랱랲랳랴략랶랷
랸랹랺랻랼랽랾랿럀럁럂럃럄럅럆럇럈량럊럋
럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝럞럟
럠럡럢럣럤럥럦럧럨럩럪럫러럭럮럯런럱럲럳
럴럵럶럷럸럹럺럻럼럽럾럿렀렁렂렃렄렅렆렇
레렉렊렋렌렍렎렏렐렑렒렓렔렕렖렗렘렙렚렛
렜렝렞렟렠렡렢렣려력렦렧련렩렪렫렬렭렮렯
렰렱렲렳렴렵렶렷렸령렺렻렼렽렾렿례롁롂롃
롄롅롆롇롈롉롊롋롌롍롎롏롐롑롒롓롔롕롖롗
롘롙롚롛로록롞롟론롡롢롣롤롥롦롧롨롩롪롫
롬롭롮롯롰롱롲롳롴롵롶롷롸롹롺롻롼롽롾롿
뢀뢁뢂뢃뢄뢅뢆뢇뢈뢉뢊뢋뢌뢍뢎뢏뢐뢑뢒뢓
뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟뢠뢡뢢뢣뢤뢥뢦뢧
뢨뢩뢪뢫뢬뢭뢮뢯뢰뢱뢲뢳뢴뢵뢶뢷뢸뢹뢺뢻
뢼뢽뢾뢿룀룁룂룃룄룅룆룇룈룉룊룋료룍룎룏
룐룑룒룓룔룕룖룗룘룙룚룛룜룝룞룟룠룡룢룣
룤룥룦룧루룩룪룫룬룭룮룯룰룱룲룳룴룵룶룷
룸룹룺룻룼룽룾룿뤀뤁뤂뤃뤄뤅뤆뤇뤈뤉뤊뤋
뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤘뤙뤚뤛뤜뤝뤞뤟
뤠뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳
뤴뤵뤶뤷뤸뤹뤺뤻뤼뤽뤾뤿륀륁륂륃륄륅륆륇
륈륉륊륋륌륍륎륏륐륑륒륓륔륕륖륗류륙륚륛
륜륝륞륟률륡륢륣륤륥륦륧륨륩륪륫륬륭륮륯
륰륱륲륳르륵륶륷른륹륺륻를륽륾륿릀릁릂릃
름릅릆릇릈릉릊릋릌릍릎릏릐릑릒릓릔릕릖릗
릘릙릚릛릜릝릞릟릠릡릢릣릤릥릦릧릨릩릪릫
리릭릮릯린릱릲릳릴릵릶릷릸릹릺릻림립릾릿
맀링맂맃맄맅맆맇마막맊맋만맍많맏말맑맒맓
맔맕맖맗맘맙맚맛맜망맞맟맠맡맢맣매맥맦맧
맨맩맪맫맬맭맮맯맰맱맲맳맴맵맶맷맸맹맺맻
맼맽맾맿먀먁먂먃먄먅먆먇먈먉먊먋먌먍먎먏
먐먑먒먓먔먕먖먗먘먙먚먛먜먝먞먟먠먡먢먣
먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷
머먹먺먻먼먽먾먿멀멁멂멃멄멅멆멇멈멉멊멋
멌멍멎멏멐멑멒멓메멕멖멗멘멙멚멛멜멝멞멟
멠멡멢멣멤멥멦멧멨멩멪멫멬멭멮멯며멱멲멳
면멵멶멷멸멹멺멻멼멽멾멿몀몁몂몃몄명몆몇
몈몉몊몋몌몍몎몏몐몑몒몓몔몕몖몗몘몙몚몛
몜몝몞몟몠몡몢몣몤몥몦몧모목몪몫몬몭몮몯
몰몱몲몳몴몵몶몷몸몹몺못몼몽몾몿뫀뫁뫂뫃
뫄뫅뫆뫇뫈뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗
뫘뫙뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫
뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫼뫽뫾뫿
묀묁묂묃묄묅묆묇묈묉묊묋묌묍묎묏묐묑묒묓
묔묕묖묗묘묙묚묛묜묝묞묟묠묡묢묣묤묥묦묧
묨묩묪묫묬묭묮묯묰묱묲묳무묵묶묷문묹묺묻
물묽묾묿뭀뭁뭂뭃뭄뭅뭆뭇뭈뭉뭊뭋뭌뭍뭎뭏
뭐뭑뭒뭓뭔뭕뭖뭗뭘뭙뭚뭛뭜뭝뭞뭟뭠뭡뭢뭣
뭤뭥뭦뭧뭨뭩뭪뭫뭬뭭뭮뭯뭰뭱뭲뭳뭴뭵뭶뭷
뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮈뮉뮊뮋
뮌뮍뮎뮏뮐뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟
뮠뮡뮢뮣뮤뮥뮦뮧뮨뮩뮪뮫뮬뮭뮮뮯뮰뮱뮲뮳
뮴뮵뮶뮷뮸뮹뮺뮻뮼뮽뮾뮿므믁믂믃믄믅믆믇
믈믉믊믋믌믍믎믏믐믑믒믓믔믕믖믗믘믙믚믛
믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯
믰믱믲믳믴믵믶믷미믹믺믻민믽믾믿밀밁밂밃
밄밅밆밇밈밉밊밋밌밍밎및밐밑밒밓바박밖밗
반밙밚받발밝밞밟밠밡밢밣밤밥밦밧밨방밪밫
밬밭밮밯배백밲밳밴밵밶밷밸밹밺밻밼밽밾밿
뱀뱁뱂뱃뱄뱅뱆뱇뱈뱉뱊뱋뱌뱍뱎뱏뱐뱑뱒뱓
뱔뱕뱖뱗뱘뱙뱚뱛뱜뱝뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧
뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻
뱼뱽뱾뱿벀벁벂벃버벅벆벇번벉벊벋벌벍벎벏
벐벑벒벓범법벖벗벘벙벚벛벜벝벞벟베벡벢벣
벤벥벦벧벨벩벪벫벬벭벮벯벰벱벲벳벴벵벶벷
벸벹벺벻벼벽벾벿변볁볂볃별볅볆볇볈볉볊볋
볌볍볎볏볐병볒볓볔볕볖볗볘볙볚볛볜볝볞볟
볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳
보복볶볷본볹볺볻볼볽볾볿봀봁봂봃봄봅봆봇
봈봉봊봋봌봍봎봏봐봑봒봓봔봕봖봗봘봙봚봛
봜봝봞봟봠봡봢봣봤봥봦봧봨봩봪봫봬봭봮봯
봰봱봲봳봴봵봶봷봸봹봺봻봼봽봾봿뵀뵁뵂뵃
뵄뵅뵆뵇뵈뵉뵊뵋뵌뵍뵎뵏뵐뵑뵒뵓뵔뵕뵖뵗
뵘뵙뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵤뵥뵦뵧뵨뵩뵪뵫
뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿
부북붂붃분붅붆붇불붉붊붋붌붍붎붏붐붑붒붓
붔붕붖붗붘붙붚붛붜붝붞붟붠붡붢붣붤붥붦붧
붨붩붪붫붬붭붮붯붰붱붲붳붴붵붶붷붸붹붺붻
붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏
뷐뷑뷒뷓뷔뷕뷖뷗뷘뷙뷚뷛뷜뷝뷞뷟뷠뷡뷢뷣
뷤뷥뷦뷧뷨뷩뷪뷫뷬뷭뷮뷯뷰뷱뷲뷳뷴뷵뷶뷷
뷸뷹뷺뷻뷼뷽뷾뷿븀븁븂븃븄븅븆븇븈븉븊븋
브븍븎븏븐븑븒븓블븕븖븗븘븙븚븛븜븝븞븟
븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳
븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃비빅빆빇
빈빉빊빋빌빍빎빏빐빑빒빓빔빕빖빗빘빙빚빛
빜빝빞빟빠빡빢빣빤빥빦빧빨빩빪빫빬빭빮빯
빰빱빲빳빴빵빶빷빸빹빺빻빼빽빾빿뺀뺁뺂뺃
뺄뺅뺆뺇뺈뺉뺊뺋뺌뺍뺎뺏뺐뺑뺒뺓뺔뺕뺖뺗
뺘뺙뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺨뺩뺪뺫
뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷뺸뺹뺺뺻뺼뺽뺾뺿
뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻐뻑뻒뻓
뻔뻕뻖뻗뻘뻙뻚뻛뻜뻝뻞뻟뻠뻡뻢뻣뻤뻥뻦뻧
뻨뻩뻪뻫뻬뻭뻮뻯뻰뻱뻲뻳뻴뻵뻶뻷뻸뻹뻺뻻
뻼뻽뻾뻿뼀뼁뼂뼃뼄뼅뼆뼇뼈뼉뼊뼋뼌뼍뼎뼏
뼐뼑뼒뼓뼔뼕뼖뼗뼘뼙뼚뼛뼜뼝뼞뼟뼠뼡뼢뼣
뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷
뼸뼹뼺뼻뼼뼽뼾뼿뽀뽁뽂뽃뽄뽅뽆뽇뽈뽉뽊뽋
뽌뽍뽎뽏뽐뽑뽒뽓뽔뽕뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟
뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳
뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂뾃뾄뾅뾆뾇
뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾔뾕뾖뾗뾘뾙뾚뾛
뾜뾝뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯
뾰뾱뾲뾳뾴뾵뾶뾷뾸뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃
뿄뿅뿆뿇뿈뿉뿊뿋뿌뿍뿎뿏뿐뿑뿒뿓뿔뿕뿖뿗
뿘뿙뿚뿛뿜뿝뿞뿟뿠뿡뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫
뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿
쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓
쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧
쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻
쀼쀽쀾쀿쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏
쁐쁑쁒쁓쁔쁕쁖쁗쁘쁙쁚쁛쁜쁝쁞쁟쁠쁡쁢쁣
쁤쁥쁦쁧쁨쁩쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷
쁸쁹쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋
삌삍삎삏삐삑삒삓삔삕삖삗삘삙삚삛삜삝삞삟
삠삡삢삣삤삥삦삧삨삩삪삫사삭삮삯산삱삲삳
살삵삶삷삸삹삺삻삼삽삾삿샀상샂샃샄샅샆샇
새색샊샋샌샍샎샏샐샑샒샓샔샕샖샗샘샙샚샛
샜생샞샟샠샡샢샣샤샥샦샧샨샩샪샫샬샭샮샯
샰샱샲샳샴샵샶샷샸샹샺샻샼샽샾샿섀섁섂섃
섄섅섆섇섈섉섊섋섌섍섎섏섐섑섒섓섔섕섖섗
섘섙섚섛서석섞섟선섡섢섣설섥섦섧섨섩섪섫
섬섭섮섯섰성섲섳섴섵섶섷세섹섺섻센섽섾섿
셀셁셂셃셄셅셆셇셈셉셊셋셌셍셎셏셐셑셒셓
셔셕셖셗션셙셚셛셜셝셞셟셠셡셢셣셤셥셦셧
셨셩셪셫셬셭셮셯셰셱셲셳셴셵셶셷셸셹셺셻
셼셽셾셿솀솁솂솃솄솅솆솇솈솉솊솋소속솎솏
손솑솒솓솔솕솖솗솘솙솚솛솜솝솞솟솠송솢솣
솤솥솦솧솨솩솪솫솬솭솮솯솰솱솲솳솴솵솶솷
솸솹솺솻솼솽솾솿쇀쇁쇂쇃쇄쇅쇆쇇쇈쇉쇊쇋
쇌쇍쇎쇏쇐쇑쇒쇓쇔쇕쇖쇗쇘쇙쇚쇛쇜쇝쇞쇟
쇠쇡쇢쇣쇤쇥쇦쇧쇨쇩쇪쇫쇬쇭쇮쇯쇰쇱쇲쇳
쇴쇵쇶쇷쇸쇹쇺쇻쇼쇽쇾쇿숀숁숂숃숄숅숆숇
숈숉숊숋숌숍숎숏숐숑숒숓숔숕숖숗수숙숚숛
순숝숞숟술숡숢숣숤숥숦숧숨숩숪숫숬숭숮숯
숰숱숲숳숴숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃
쉄쉅쉆쉇쉈쉉쉊쉋쉌쉍쉎쉏쉐쉑쉒쉓쉔쉕쉖쉗
쉘쉙쉚쉛쉜쉝쉞쉟쉠쉡쉢쉣쉤쉥쉦쉧쉨쉩쉪쉫
쉬쉭쉮쉯쉰쉱쉲쉳쉴쉵쉶쉷쉸쉹쉺쉻쉼쉽쉾쉿
슀슁슂슃슄슅슆슇슈슉슊슋슌슍슎슏슐슑슒슓
슔슕슖슗슘슙슚슛슜슝슞슟슠슡슢슣스슥슦슧
슨슩슪슫슬슭슮슯슰슱슲슳슴습슶슷슸승슺슻
슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏
싐싑싒싓싔싕싖싗싘싙싚싛시식싞싟신싡싢싣
실싥싦싧싨싩싪싫심십싮싯싰싱싲싳싴싵싶싷
싸싹싺싻싼싽싾싿쌀쌁쌂쌃쌄쌅쌆쌇쌈쌉쌊쌋
쌌쌍쌎쌏쌐쌑쌒쌓쌔쌕쌖쌗쌘쌙쌚쌛쌜쌝쌞쌟
쌠쌡쌢쌣쌤쌥쌦쌧쌨쌩쌪쌫쌬쌭쌮쌯쌰쌱쌲쌳
쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썅썆썇
썈썉썊썋썌썍썎썏썐썑썒썓썔썕썖썗썘썙썚썛
썜썝썞썟썠썡썢썣썤썥썦썧써썩썪썫썬썭썮썯
썰썱썲썳썴썵썶썷썸썹썺썻썼썽썾썿쎀쎁쎂쎃
쎄쎅쎆쎇쎈쎉쎊쎋쎌쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗
쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫
쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿
쏀쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓
쏔쏕쏖쏗쏘쏙쏚쏛쏜쏝쏞쏟쏠쏡쏢쏣쏤쏥쏦쏧
쏨쏩쏪쏫쏬쏭쏮쏯쏰쏱쏲쏳쏴쏵쏶쏷쏸쏹쏺쏻
쏼쏽쏾쏿쐀쐁쐂쐃쐄쐅쐆쐇쐈쐉쐊쐋쐌쐍쐎쐏
쐐쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚쐛쐜쐝쐞쐟쐠쐡쐢쐣
쐤쐥쐦쐧쐨쐩쐪쐫쐬쐭쐮쐯쐰쐱쐲쐳쐴쐵쐶쐷
쐸쐹쐺쐻쐼쐽쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑈쑉쑊쑋
쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟
쑠쑡쑢쑣쑤쑥쑦쑧쑨쑩쑪쑫쑬쑭쑮쑯쑰쑱쑲쑳
쑴쑵쑶쑷쑸쑹쑺쑻쑼쑽쑾쑿쒀쒁쒂쒃쒄쒅쒆쒇
쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒔쒕쒖쒗쒘쒙쒚쒛
쒜쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩쒪쒫쒬쒭쒮쒯
쒰쒱쒲쒳쒴쒵쒶쒷쒸쒹쒺쒻쒼쒽쒾쒿쓀쓁쓂쓃
쓄쓅쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗
쓘쓙쓚쓛쓜쓝쓞쓟쓠쓡쓢쓣쓤쓥쓦쓧쓨쓩쓪쓫
쓬쓭쓮쓯쓰쓱쓲쓳쓴쓵쓶쓷쓸쓹쓺쓻쓼쓽쓾쓿
씀씁씂씃씄씅씆씇씈씉씊씋씌씍씎씏씐씑씒씓
씔씕씖씗씘씙씚씛씜씝씞씟씠씡씢씣씤씥씦씧
씨씩씪씫씬씭씮씯씰씱씲씳씴씵씶씷씸씹씺씻
씼씽씾씿앀앁앂앃아악앆앇안앉않앋알앍앎앏
앐앑앒앓암압앖앗았앙앚앛앜앝앞앟애액앢앣
앤앥앦앧앨앩앪앫앬앭앮앯앰앱앲앳앴앵앶앷
앸앹앺앻야약앾앿얀얁얂얃얄얅얆얇얈얉얊얋
얌얍얎얏얐양얒얓얔얕얖얗얘얙얚얛얜얝얞얟
얠얡얢얣얤얥얦얧얨얩얪얫얬얭얮얯얰얱얲얳
어억얶얷언얹얺얻얼얽얾얿엀엁엂엃엄업없엇
었엉엊엋엌엍엎엏에엑엒엓엔엕엖엗엘엙엚엛
엜엝엞엟엠엡엢엣엤엥엦엧엨엩엪엫여역엮엯
연엱엲엳열엵엶엷엸엹엺엻염엽엾엿였영옂옃
옄옅옆옇예옉옊옋옌옍옎옏옐옑옒옓옔옕옖옗
옘옙옚옛옜옝옞옟옠옡옢옣오옥옦옧온옩옪옫
올옭옮옯옰옱옲옳옴옵옶옷옸옹옺옻옼옽옾옿
와왁왂왃완왅왆왇왈왉왊왋왌왍왎왏왐왑왒왓
왔왕왖왗왘왙왚왛왜왝왞왟왠왡왢왣왤왥왦왧
왨왩왪왫왬왭왮왯왰왱왲왳왴왵왶왷외왹왺왻
왼왽왾왿욀욁욂욃욄욅욆욇욈욉욊욋욌욍욎욏
욐욑욒욓요욕욖욗욘욙욚욛욜욝욞욟욠욡욢욣
욤욥욦욧욨용욪욫욬욭욮욯우욱욲욳운욵욶욷
울욹욺욻욼욽욾욿움웁웂웃웄웅웆웇웈웉웊웋
워웍웎웏원웑웒웓월웕웖웗웘웙웚웛웜웝웞웟
웠웡웢웣웤웥웦웧웨웩웪웫웬웭웮웯웰웱웲웳
웴웵웶웷웸웹웺웻웼웽웾웿윀윁윂윃위윅윆윇
윈윉윊윋윌윍윎윏윐윑윒윓윔윕윖윗윘윙윚윛
윜윝윞윟유육윢윣윤윥윦윧율윩윪윫윬윭윮윯
윰윱윲윳윴융윶윷윸윹윺윻으윽윾윿은읁읂읃
을읅읆읇읈읉읊읋음읍읎읏읐응읒읓읔읕읖읗
의읙읚읛읜읝읞읟읠읡읢읣읤읥읦읧읨읩읪읫
읬읭읮읯읰읱읲읳이익읶읷인읹읺읻일읽읾읿
잀잁잂잃임입잆잇있잉잊잋잌잍잎잏자작잒잓
잔잕잖잗잘잙잚잛잜잝잞잟잠잡잢잣잤장잦잧
잨잩잪잫재잭잮잯잰잱잲잳잴잵잶잷잸잹잺잻
잼잽잾잿쟀쟁쟂쟃쟄쟅쟆쟇쟈쟉쟊쟋쟌쟍쟎쟏
쟐쟑쟒쟓쟔쟕쟖쟗쟘쟙쟚쟛쟜쟝쟞쟟쟠쟡쟢쟣
쟤쟥쟦쟧쟨쟩쟪쟫쟬쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷
쟸쟹쟺쟻쟼쟽쟾쟿저적젂젃전젅젆젇절젉젊젋
젌젍젎젏점접젒젓젔정젖젗젘젙젚젛제젝젞젟
젠젡젢젣젤젥젦젧젨젩젪젫젬젭젮젯젰젱젲젳
젴젵젶젷져젹젺젻젼젽젾젿졀졁졂졃졄졅졆졇
졈졉졊졋졌졍졎졏졐졑졒졓졔졕졖졗졘졙졚졛
졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯
조족졲졳존졵졶졷졸졹졺졻졼졽졾졿좀좁좂좃
좄종좆좇좈좉좊좋좌좍좎좏좐좑좒좓좔좕좖좗
좘좙좚좛좜좝좞좟좠좡좢좣좤좥좦좧좨좩좪좫
좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좼좽좾좿
죀죁죂죃죄죅죆죇죈죉죊죋죌죍죎죏죐죑죒죓
죔죕죖죗죘죙죚죛죜죝죞죟죠죡죢죣죤죥죦죧
죨죩죪죫죬죭죮죯죰죱죲죳죴죵죶죷죸죹죺죻
주죽죾죿준줁줂줃줄줅줆줇줈줉줊줋줌줍줎줏
줐중줒줓줔줕줖줗줘줙줚줛줜줝줞줟줠줡줢줣
줤줥줦줧줨줩줪줫줬줭줮줯줰줱줲줳줴줵줶줷
줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇쥈쥉쥊쥋
쥌쥍쥎쥏쥐쥑쥒쥓쥔쥕쥖쥗쥘쥙쥚쥛쥜쥝쥞쥟
쥠쥡쥢쥣쥤쥥쥦쥧쥨쥩쥪쥫쥬쥭쥮쥯쥰쥱쥲쥳
쥴쥵쥶쥷쥸쥹쥺쥻쥼쥽쥾쥿즀즁즂즃즄즅즆즇
즈즉즊즋즌즍즎즏즐즑즒즓즔즕즖즗즘즙즚즛
즜증즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮즯
즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿지직짂짃
진짅짆짇질짉짊짋짌짍짎짏짐집짒짓짔징짖짗
짘짙짚짛짜짝짞짟짠짡짢짣짤짥짦짧짨짩짪짫
짬짭짮짯짰짱짲짳짴짵짶짷째짹짺짻짼짽짾짿
쨀쨁쨂쨃쨄쨅쨆쨇쨈쨉쨊쨋쨌쨍쨎쨏쨐쨑쨒쨓
쨔쨕쨖쨗쨘쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥쨦쨧
쨨쨩쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻
쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆쩇쩈쩉쩊쩋쩌쩍쩎쩏
쩐쩑쩒쩓쩔쩕쩖쩗쩘쩙쩚쩛쩜쩝쩞쩟쩠쩡쩢쩣
쩤쩥쩦쩧쩨쩩쩪쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷
쩸쩹쩺쩻쩼쩽쩾쩿쪀쪁쪂쪃쪄쪅쪆쪇쪈쪉쪊쪋
쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪘쪙쪚쪛쪜쪝쪞쪟
쪠쪡쪢쪣쪤쪥쪦쪧쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳
쪴쪵쪶쪷쪸쪹쪺쪻쪼쪽쪾쪿쫀쫁쫂쫃쫄쫅쫆쫇
쫈쫉쫊쫋쫌쫍쫎쫏쫐쫑쫒쫓쫔쫕쫖쫗쫘쫙쫚쫛
쫜쫝쫞쫟쫠쫡쫢쫣쫤쫥쫦쫧쫨쫩쫪쫫쫬쫭쫮쫯
쫰쫱쫲쫳쫴쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃
쬄쬅쬆쬇쬈쬉쬊쬋쬌쬍쬎쬏쬐쬑쬒쬓쬔쬕쬖쬗
쬘쬙쬚쬛쬜쬝쬞쬟쬠쬡쬢쬣쬤쬥쬦쬧쬨쬩쬪쬫
쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿
쭀쭁쭂쭃쭄쭅쭆쭇쭈쭉쭊쭋쭌쭍쭎쭏쭐쭑쭒쭓
쭔쭕쭖쭗쭘쭙쭚쭛쭜쭝쭞쭟쭠쭡쭢쭣쭤쭥쭦쭧
쭨쭩쭪쭫쭬쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭸쭹쭺쭻
쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈쮉쮊쮋쮌쮍쮎쮏
쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮜쮝쮞쮟쮠쮡쮢쮣
쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷
쮸쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄쯅쯆쯇쯈쯉쯊쯋
쯌쯍쯎쯏쯐쯑쯒쯓쯔쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟
쯠쯡쯢쯣쯤쯥쯦쯧쯨쯩쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳
쯴쯵쯶쯷쯸쯹쯺쯻쯼쯽쯾쯿찀찁찂찃찄찅찆찇
찈찉찊찋찌찍찎찏찐찑찒찓찔찕찖찗찘찙찚찛
찜찝찞찟찠찡찢찣찤찥찦찧차착찪찫찬찭찮찯
찰찱찲찳찴찵찶찷참찹찺찻찼창찾찿챀챁챂챃
채책챆챇챈챉챊챋챌챍챎챏챐챑챒챓챔챕챖챗
챘챙챚챛챜챝챞챟챠챡챢챣챤챥챦챧챨챩챪챫
챬챭챮챯챰챱챲챳챴챵챶챷챸챹챺챻챼챽챾챿
첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓
첔첕첖첗처척첚첛천첝첞첟철첡첢첣첤첥첦첧
첨첩첪첫첬청첮첯첰첱첲첳체첵첶첷첸첹첺첻
첼첽첾첿쳀쳁쳂쳃쳄쳅쳆쳇쳈쳉쳊쳋쳌쳍쳎쳏
쳐쳑쳒쳓쳔쳕쳖쳗쳘쳙쳚쳛쳜쳝쳞쳟쳠쳡쳢쳣
쳤쳥쳦쳧쳨쳩쳪쳫쳬쳭쳮쳯쳰쳱쳲쳳쳴쳵쳶쳷
쳸쳹쳺쳻쳼쳽쳾쳿촀촁촂촃촄촅촆촇초촉촊촋
촌촍촎촏촐촑촒촓촔촕촖촗촘촙촚촛촜총촞촟
촠촡촢촣촤촥촦촧촨촩촪촫촬촭촮촯촰촱촲촳
촴촵촶촷촸촹촺촻촼촽촾촿쵀쵁쵂쵃쵄쵅쵆쵇
쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛
최쵝쵞쵟쵠쵡쵢쵣쵤쵥쵦쵧쵨쵩쵪쵫쵬쵭쵮쵯
쵰쵱쵲쵳쵴쵵쵶쵷쵸쵹쵺쵻쵼쵽쵾쵿춀춁춂춃
춄춅춆춇춈춉춊춋춌춍춎춏춐춑춒춓추축춖춗
춘춙춚춛출춝춞춟춠춡춢춣춤춥춦춧춨충춪춫
춬춭춮춯춰춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿
췀췁췂췃췄췅췆췇췈췉췊췋췌췍췎췏췐췑췒췓
췔췕췖췗췘췙췚췛췜췝췞췟췠췡췢췣췤췥췦췧
취췩췪췫췬췭췮췯췰췱췲췳췴췵췶췷췸췹췺췻
췼췽췾췿츀츁츂츃츄츅츆츇츈츉츊츋츌츍츎츏
츐츑츒츓츔츕츖츗츘츙츚츛츜츝츞츟츠측츢츣
츤츥츦츧츨츩츪츫츬츭츮츯츰츱츲츳츴층츶츷
츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉칊칋
칌칍칎칏칐칑칒칓칔칕칖칗치칙칚칛친칝칞칟
칠칡칢칣칤칥칦칧침칩칪칫칬칭칮칯칰칱칲칳
카칵칶칷칸칹칺칻칼칽칾칿캀캁캂캃캄캅캆캇
캈캉캊캋캌캍캎캏캐캑캒캓캔캕캖캗캘캙캚캛
캜캝캞캟캠캡캢캣캤캥캦캧캨캩캪캫캬캭캮캯
캰캱캲캳캴캵캶캷캸캹캺캻캼캽캾캿컀컁컂컃
컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕컖컗
컘컙컚컛컜컝컞컟컠컡컢컣커컥컦컧컨컩컪컫
컬컭컮컯컰컱컲컳컴컵컶컷컸컹컺컻컼컽컾컿
케켁켂켃켄켅켆켇켈켉켊켋켌켍켎켏켐켑켒켓
켔켕켖켗켘켙켚켛켜켝켞켟켠켡켢켣켤켥켦켧
켨켩켪켫켬켭켮켯켰켱켲켳켴켵켶켷켸켹켺켻
켼켽켾켿콀콁콂콃콄콅콆콇콈콉콊콋콌콍콎콏
콐콑콒콓코콕콖콗콘콙콚콛콜콝콞콟콠콡콢콣
콤콥콦콧콨콩콪콫콬콭콮콯콰콱콲콳콴콵콶콷
콸콹콺콻콼콽콾콿쾀쾁쾂쾃쾄쾅쾆쾇쾈쾉쾊쾋
쾌쾍쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟
쾠쾡쾢쾣쾤쾥쾦쾧쾨쾩쾪쾫쾬쾭쾮쾯쾰쾱쾲쾳
쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿄쿅쿆쿇
쿈쿉쿊쿋쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛
쿜쿝쿞쿟쿠쿡쿢쿣쿤쿥쿦쿧쿨쿩쿪쿫쿬쿭쿮쿯
쿰쿱쿲쿳쿴쿵쿶쿷쿸쿹쿺쿻쿼쿽쿾쿿퀀퀁퀂퀃
퀄퀅퀆퀇퀈퀉퀊퀋퀌퀍퀎퀏퀐퀑퀒퀓퀔퀕퀖퀗
퀘퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫
퀬퀭퀮퀯퀰퀱퀲퀳퀴퀵퀶퀷퀸퀹퀺퀻퀼퀽퀾퀿
큀큁큂큃큄큅큆큇큈큉큊큋큌큍큎큏큐큑큒큓
큔큕큖큗큘큙큚큛큜큝큞큟큠큡큢큣큤큥큦큧
큨큩큪큫크큭큮큯큰큱큲큳클큵큶큷큸큹큺큻
큼큽큾큿킀킁킂킃킄킅킆킇킈킉킊킋킌킍킎킏
킐킑킒킓킔킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣
키킥킦킧킨킩킪킫킬킭킮킯킰킱킲킳킴킵킶킷
킸킹킺킻킼킽킾킿타탁탂탃탄탅탆탇탈탉탊탋
탌탍탎탏탐탑탒탓탔탕탖탗탘탙탚탛태택탞탟
탠탡탢탣탤탥탦탧탨탩탪탫탬탭탮탯탰탱탲탳
탴탵탶탷탸탹탺탻탼탽탾탿턀턁턂턃턄턅턆턇
턈턉턊턋턌턍턎턏턐턑턒턓턔턕턖턗턘턙턚턛
턜턝턞턟턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯
터턱턲턳턴턵턶턷털턹턺턻턼턽턾턿텀텁텂텃
텄텅텆텇텈텉텊텋테텍텎텏텐텑텒텓텔텕텖텗
텘텙텚텛템텝텞텟텠텡텢텣텤텥텦텧텨텩텪텫
텬텭텮텯텰텱텲텳텴텵텶텷텸텹텺텻텼텽텾텿
톀톁톂톃톄톅톆톇톈톉톊톋톌톍톎톏톐톑톒톓
톔톕톖톗톘톙톚톛톜톝톞톟토톡톢톣톤톥톦톧
톨톩톪톫톬톭톮톯톰톱톲톳톴통톶톷톸톹톺톻
톼톽톾톿퇀퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏
퇐퇑퇒퇓퇔퇕퇖퇗퇘퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣
퇤퇥퇦퇧퇨퇩퇪퇫퇬퇭퇮퇯퇰퇱퇲퇳퇴퇵퇶퇷
퇸퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆툇툈툉툊툋
툌툍툎툏툐툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟
툠툡툢툣툤툥툦툧툨툩툪툫투툭툮툯툰툱툲툳
툴툵툶툷툸툹툺툻툼툽툾툿퉀퉁퉂퉃퉄퉅퉆퉇
퉈퉉퉊퉋퉌퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛
퉜퉝퉞퉟퉠퉡퉢퉣퉤퉥퉦퉧퉨퉩퉪퉫퉬퉭퉮퉯
퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튀튁튂튃
튄튅튆튇튈튉튊튋튌튍튎튏튐튑튒튓튔튕튖튗
튘튙튚튛튜튝튞튟튠튡튢튣튤튥튦튧튨튩튪튫
튬튭튮튯튰튱튲튳튴튵튶튷트특튺튻튼튽튾튿
틀틁틂틃틄틅틆틇틈틉틊틋틌틍틎틏틐틑틒틓
틔틕틖틗틘틙틚틛틜틝틞틟틠틡틢틣틤틥틦틧
틨틩틪틫틬틭틮틯티틱틲틳틴틵틶틷틸틹틺틻
틼틽틾틿팀팁팂팃팄팅팆팇팈팉팊팋파팍팎팏
판팑팒팓팔팕팖팗팘팙팚팛팜팝팞팟팠팡팢팣
팤팥팦팧패팩팪팫팬팭팮팯팰팱팲팳팴팵팶팷
팸팹팺팻팼팽팾팿퍀퍁퍂퍃퍄퍅퍆퍇퍈퍉퍊퍋
퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟
퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳
퍴퍵퍶퍷퍸퍹퍺퍻퍼퍽퍾퍿펀펁펂펃펄펅펆펇
펈펉펊펋펌펍펎펏펐펑펒펓펔펕펖펗페펙펚펛
펜펝펞펟펠펡펢펣펤펥펦펧펨펩펪펫펬펭펮펯
펰펱펲펳펴펵펶펷편펹펺펻펼펽펾펿폀폁폂폃
폄폅폆폇폈평폊폋폌폍폎폏폐폑폒폓폔폕폖폗
폘폙폚폛폜폝폞폟폠폡폢폣폤폥폦폧폨폩폪폫
포폭폮폯폰폱폲폳폴폵폶폷폸폹폺폻폼폽폾폿
퐀퐁퐂퐃퐄퐅퐆퐇퐈퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓
퐔퐕퐖퐗퐘퐙퐚퐛퐜퐝퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧
퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷퐸퐹퐺퐻
퐼퐽퐾퐿푀푁푂푃푄푅푆푇푈푉푊푋푌푍푎푏
푐푑푒푓푔푕푖푗푘푙푚푛표푝푞푟푠푡푢푣
푤푥푦푧푨푩푪푫푬푭푮푯푰푱푲푳푴푵푶푷
푸푹푺푻푼푽푾푿풀풁풂풃풄풅풆풇품풉풊풋
풌풍풎풏풐풑풒풓풔풕풖풗풘풙풚풛풜풝풞풟
풠풡풢풣풤풥풦풧풨풩풪풫풬풭풮풯풰풱풲풳
풴풵풶풷풸풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇
퓈퓉퓊퓋퓌퓍퓎퓏퓐퓑퓒퓓퓔퓕퓖퓗퓘퓙퓚퓛
퓜퓝퓞퓟퓠퓡퓢퓣퓤퓥퓦퓧퓨퓩퓪퓫퓬퓭퓮퓯
퓰퓱퓲퓳퓴퓵퓶퓷퓸퓹퓺퓻퓼퓽퓾퓿픀픁픂픃
프픅픆픇픈픉픊픋플픍픎픏픐픑픒픓픔픕픖픗
픘픙픚픛픜픝픞픟픠픡픢픣픤픥픦픧픨픩픪픫
픬픭픮픯픰픱픲픳픴픵픶픷픸픹픺픻피픽픾픿
핀핁핂핃필핅핆핇핈핉핊핋핌핍핎핏핐핑핒핓
핔핕핖핗하학핚핛한핝핞핟할핡핢핣핤핥핦핧
함합핪핫핬항핮핯핰핱핲핳해핵핶핷핸핹핺핻
핼핽핾핿햀햁햂햃햄햅햆햇했행햊햋햌햍햎햏
햐햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣
햤향햦햧햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷
햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇허헉헊헋
헌헍헎헏헐헑헒헓헔헕헖헗험헙헚헛헜헝헞헟
헠헡헢헣헤헥헦헧헨헩헪헫헬헭헮헯헰헱헲헳
헴헵헶헷헸헹헺헻헼헽헾헿혀혁혂혃현혅혆혇
혈혉혊혋혌혍혎혏혐협혒혓혔형혖혗혘혙혚혛
혜혝혞혟혠혡혢혣혤혥혦혧혨혩혪혫혬혭혮혯
혰혱혲혳혴혵혶혷호혹혺혻혼혽혾혿홀홁홂홃
홄홅홆홇홈홉홊홋홌홍홎홏홐홑홒홓화확홖홗
환홙홚홛활홝홞홟홠홡홢홣홤홥홦홧홨황홪홫
홬홭홮홯홰홱홲홳홴홵홶홷홸홹홺홻홼홽홾홿
횀횁횂횃횄횅횆횇횈횉횊횋회획횎횏횐횑횒횓
횔횕횖횗횘횙횚횛횜횝횞횟횠횡횢횣횤횥횦횧
효횩횪횫횬횭횮횯횰횱횲횳횴횵횶횷횸횹횺횻
횼횽횾횿훀훁훂훃후훅훆훇훈훉훊훋훌훍훎훏
훐훑훒훓훔훕훖훗훘훙훚훛훜훝훞훟훠훡훢훣
훤훥훦훧훨훩훪훫훬훭훮훯훰훱훲훳훴훵훶훷
훸훹훺훻훼훽훾훿휀휁휂휃휄휅휆휇휈휉휊휋
휌휍휎휏휐휑휒휓휔휕휖휗휘휙휚휛휜휝휞휟
휠휡휢휣휤휥휦휧휨휩휪휫휬휭휮휯휰휱휲휳
휴휵휶휷휸휹휺휻휼휽휾휿흀흁흂흃흄흅흆흇
흈흉흊흋흌흍흎흏흐흑흒흓흔흕흖흗흘흙흚흛
흜흝흞흟흠흡흢흣흤흥흦흧흨흩흪흫희흭흮흯
흰흱흲흳흴흵흶흷흸흹흺흻흼흽흾흿힀힁힂힃
힄힅힆힇히힉힊힋힌힍힎힏힐힑힒힓힔힕힖힗
힘힙힚힛힜힝힞힟힠힡힢힣






위의 한글 낱자 표는, 아래의 펄 코드로 만든 것입니다:
#!/usr/bin/perl
use strict; use warnings;

open OUT, ">:encoding(UTF-8)", "out.txt" or die "$!\n";


  my $cols = 0;

  for (my $i = 0xAC00; $i <= 0xD7A3; $i++) {
    print OUT "\n" if ($cols % 20) == 0;
    $cols++;

    print OUT chr($i);
  }





tag: perl
Perl | 펄

Saturday, February 11, 2006

Archive 페이지 첫부분에, 지난 포스트들의 일목요연한 목록 추가

몇년 전 블로그라는 것이 처음 소개되었을 때, 블로그들을 한 번 구경해 보고는 흥미를 잃었었다. 일반 웹페이지와 달리, 블로그에서는 게시물의 전체 목록이 보이지 않았다. 그래서 어떻게 네비게이션을 해야 하는지 당혹스러웠다. Archive라는 곳이 있어서 보니 수많은 게시물들이 하나로 장황하게 연결되어 있어, 스크롤이 힘들었다. 지금 생각해 보니 그것은, 최신 게시물을 중요시하는 블로그의 특성 때문일 것이다.

작년말, "blogger.com + blogspot.com"에 블로그를 개설했는데, 필자의 이 블로그 역시 완전한 '목록 표시 기능'이 없었다. 그래서 내가 무슨 포스트들을 올렸는지 자신조차도 잘 파악되지 않는 구조를 가지고 있었다. 포스트의 목록이 필요했다.

blogger.com의 템플릿으로 만들어진 Archive 페이지에는 원래 목록이 없다. 1달 동안의 모든 포스트가 하나로 연결되어 있고, 메인 페이지와 잘 구분도 되지 않아 무척 혼란스러웠다.

전체 목록을 표시하는 방법은 없는 듯했지만, 월별 Archive 페이지에 1달 동안의 포스트 목록을 표시하는 방법은, "Blogger 도움말: 어떻게 아카이브를 제목별로 표시할 수 있습니까?"(# 2024-04-01: 현재 삭제됨)라는 Blogger 도움말에 있었다. 이런 것은 기본 템플릿에 포함되어 있으면 좋을 것이다.

목록을 추가하니 네이게이션이 훨씬 쉬워졌다.

도움말에 있는 코드는, "블로그 제목"과 "블로그 설명문" 태그 밑에 넣어주어야 한다. 필자가 현재 사용중인 "Son of Moto" 템플릿의 경우는,
<div id="main"> 바로 밑이 적합한 위치다.

결과는 이렇게 나타났고 꽤 만족스러웠다.

도움말에 있는 코드는 최소한의 기본적인 것이라, 스타일을 좀 추가하니 아래와 같이 복잡해졌다:



<ArchivePage>
<p style="font-family:'Arial Black'; font-size:24pt; text-align:center; margin-top:15px;" class="wasabi-fc-orange">Monthly Archive</p>
<p style="text-align:right; margin-bottom:20px;"><a href="<$BlogURL$>" style="font-size:16pt;">&lt;&lt; Home</a></p>
<Blogger>
<BlogItemTitle>
<div style="font-family:'Arial'; font-size:10pt; font-weight:bold;" class="wasabi-fc-gray-cool"><BlogDateHeader><$BlogDateHeaderDate$></BlogDateHeader></div>
<div style="margin-bottom:3px;"><a href="<$BlogItemPermalinkURL$>"><$BlogItemTitle$></a></div>
</BlogItemTitle>
</Blogger>
<p style="margin-bottom:50px;"></p>
</ArchivePage>



그리고 또한 아래는 템플릿의, <style type="text/css"> 와 </style> 사이에 끼워 넣어주어야 할 클래스들


.wasabi-fc-gray-cool { color:#B4BFC4 }
.wasabi-fc-orange { color:#FFCC33 }




tag: blogger
블로거 | 구글블로그 | Blogger.com + blogspot.com

Friday, February 10, 2006

연쇄 ○인○들은 왜 빨간 옷을 입은 ○자를 ○행 대상으로 삼는 걸까

오래도록 이것이 수수께끼였다. 빨간색이 시각적으로 범인을 흥분시켰기 때문이 아닐까 하고 막연히 추측했었다.

그런데 범인의 입장에서 생각해 보았더니 이것은 상당히 합리적인 선택이었다.

비 오는 날에 우산까지 쓴 상태에서는 우선 옷의 색깔로서 범행 대상을 물색해야 할 것이다. 가까이 가서 보니 남자나 할머니라면 얼마나 황당하겠는가. 빨간 옷을 입고 다닌다는 것은, 자신이 젊은 여자라는 사실을 아주 멀리까지 알려 주는 일이며, 라이프 스타일의 '보안 취약점'인 것이다.

거리가 200미터가 넘어가면 육안으로 성별과 나이를 구분하는 것은 힘들다. 날이 어둡거나 비가 온다면 십여 미터 앞에서도 구분이 되지 않을 수 있다.

그러나 이때 옷 색깔이 빨간 색이라면 사정이 조금 달라지는 것이 아닐까 싶다.





2007-02-08 업데이트

영화나 소설, 신문 기사 등을 통해 사실이 과장되는 경우도 있는 것 같습니다.




tag: living
생활의 발견 | Living

Wednesday, February 08, 2006

블로거(blogger.com)에서, 테이블(table) 태그 위쪽 여백의 문제 해결

"도움말" 포스트를 만들며 <table> 태그를 사용했는데, 포스트 제목과 테이블 사이에, 주먹만한 간격이 생겼었다. 템플릿의 CSS에 문제가 있나 해서 살펴 보아도 모르겠고, 어쩔 수 없이 style="margin-top:-100px;" 로 간격을 강제로 줄였는데 그랬더니 이번에는 테이블이 위쪽의 다른 포스트 영역을 침범해 버렸다. (투명색으로 침범하였기에 처음에는 몰랐다. 위에 있는 다른 포스트 끝의 링크들이 작동하지 않는 것을 보고서야 문제가 생겼다는 것을 알았다.)

오만 가지 방법을 다 사용해 봐도 안 되어서 낙심하고 있던 찰나, (템플릿이 아닌) 포스트의 HTML 소스에서 이상한 것을 발견했다. 테이블 태그들 사이에 <br />들이 섞여 있었다. 혹시 이것 때문이 아닐까 하는 생각이 언뜻 들었다.

블로거(blogger.com)의 HTML 에디터에서는, 모든 행갈이에다 <br /> 태그를 붙여 버린다. 일종의 과잉 친절이다. (이 태그가 HTML 에디터 상에서 직접 보이는 것은 아니다.) 일반 텍스트를 작성할 때는 편리하지만 HTML 코드를 직접 편집할 때에는 전에도 문제를 조금 겪은 적이 있었다.


테이블은 아래와 같이 들여쓰기를 하여 작성하지만

<table>
   <tr><th>테이블 제목</th></tr>
   <tr><td>테이블 내용 ... 이하 생략



이렇게 바꾸어 보았다. 즉 행갈이를 지우고 1줄로 이어붙였다. 블로거(blogger.com)가 쓸데없는 과잉 친절을 베풀 여지를 없애는 것이다.

<table><tr><th>테이블 제목</th></tr><tr><td>테이블 내용 ... 이하 생략


그랬더니 문제가 해결되었다!!! 테이블 위쪽의 불필요한 공백이 사라졌다. 그 이상한 공백의 정체는, 테이블 태그들 사이에 블로거(blogger.com)가 끼워넣은 <br /> 들이었다. CSS와는 전혀 관련이 없었다.


포스트에 테이블 태그를 사용하는 경우는 흔치 않겠지만, 혹시 이런 문제로 고민하시는 Blogger 유저들께 도움이 되었으면 합니다.



2006-02-09 포스트 업데이트:
blogger.com 도움말에 위의 내용이 있었습니다.

blogger.com의 "설정/서식/줄바꿈 전환"을 "아니오"로 하면 <br /> 태그가 붙여지지 않는 듯합니다. 그런데 이걸 "아니오"로 해두려면, 예전 포스트들까지 다 수정해야 하기 때문에, 이제는 변경하기 힘들 것 같습니다. 그리고 이렇게 하면 코멘트들의 줄바꿈까지 없어져 버린다고 하니, 기본값인 "예"가 나을 듯합니다.



2021-09-19 포스트 업데이트:
2020년 5월경?(또는 19-08?)부터, <br /> 태그를 자동으로 붙이는 기능 자체가 사라져 버린 듯합니다.

또한 "<br /> 태그를 자동으로 붙이는 기능"을 온오프할 수 있는 설정도 사라졌습니다.

이 기능 자체에 문제가 많다고 해서, blogger.com 에서 완전히 없애 버렸다고 합니다.

따라서 현재는 <br /> 태그를 수동으로 입력해야만 행갈이가 됩니다. (Shift+Enter 하면 <br> 태그가 1개씩 입력되긴 함.)




tag: blogger
블로거 | 구글블로그 | Blogger.com + blogspot.com

Tuesday, February 07, 2006

블로거(blogger.com) 또 다운

2006-02-07 12:08오후

http://mwultong.blogspot.com/

Google
Maintenence

Blogger/BlogSpot Network Outage
We are currently down for network maintenence from 7pm to 8pm PST.


그래도 오늘은 이런 안내 페이지라도 나와서 다행임. 어제부터 예고된 다운이었지만 실망스럽다. 하드웨어 문제라고 하는데 블로거의 서버들이 고물인지도 모르겠다. 블로거 직원들이 찰리 채플린의 모던 타임즈처럼 공구 하나 들고 이리저리 우스꽝스럽게 오가는 모습이 떠오르기도 했다.

그런데 이상하게도 블로거(blogger.com)에는 다른 블로거 서비스를 사용하지 못하게 하는 매력이 있는 것 같다.


2006-02-07 12:23오후 지금 보니, 위의 친절한(?) 메시지가 다시 나오지 않고 그냥 "페이지를 표시할 수 없습니다."로 나옴.






2007-02-08 업데이트

요즘에도 며칠 간격으로 블로거 닷컴이 다운되고 있습니다. 앞으로도 나아질 것 같지가 않습니다..

속도 문제 역시 마찬가지입니다.




tag: blogger
블로거 | 구글블로그 | Blogger.com + blogspot.com

Help - 블로그 도움말

이 블로그(mwultong.blogspot.com)의 도움말 페이지입니다. 구글에서 제공하는 외국계 블로그 서비스라서, 국내 일반 블로그와는 구조가 약간 다릅니다. 그래서 이 도움말을 작성했습니다.



블로그 도움말

이 블로그는 크게 3부분으로 구성되어 있습니다. 거의 모든 블로그에 공통되는 형식입니다.


  • Main Page (Home)
  • Archives
  • Post Pages


1) Main Page는 블로그의 홈에 있는 "기본 페이지"로서, 최근 며칠 가량의 포스트들만 게시되는 곳입니다.

2) Archives는 모든 포스트들이 월별로 저장되어 있는 곳입니다. 즉, 월간지 형식으로 살펴 보실 수 있습니다.

3) Post Pages (Item Page)는 각 포스트의 낱장이며, 기본 페이지나 월별 페이지의 포스트 말미의 날짜(예: 1:26 PM)을 클릭함으로써 접근할 수 있습니다. 기본 페이지 (Main Page) 에는 최신 포스트들만 있고, 월별 저장 페이지 (Archives) 에는 많은 포스트들이 1장으로 연결되어 있기에, 특정 포스트에 링크를 하기 위해서는 이 "Post Pages"의 주소에 링크해야 합니다.



Recent 10 Posts: Main Page/Archive 페이지에서, 최신 포스트들 중의 10개만 표시되는 곳

Previous Posts: Post Page에서, 현재 포스트 직전의 포스트들이 10개만 표시되는 곳




tag: blogger
블로거 | 구글블로그 | Blogger.com + blogspot.com

Monday, February 06, 2006

구글/네이버/엠파스/의 '블로그 검색' 사용기

▶ 구글 블로그 검색(#2024-04-02 현재 폐쇄됨) : 현재 테크로라티(Technorati) 등의 경우는 한글이 전혀 검색되지 않는데, 이 "구글 블로그 서치"는 아주 잘 된다. 인덱스에 며칠이 걸리는 "구글 웹 검색"과는 달리 거의 실시간으로 인덱스된다. 빠르면 3분 늦어도 30분 이내에 인덱스되었다. 오히려 인덱스가 너무 빨라서 곤란할 때도 있다. 잘못 올린 포스트가 즉각 인덱스되어 버리고, 포스트를 지워도 검색 결과에서는 결코 지워지지 않았다. 물론 다른 "블로그 검색"도 그렇겠지만, 포스트를 수정하면 검색 결과에 반영되지 않는다. (경우에 따라서는 반영될 때도 있었다. 사이트 피드를 다시 읽는 것 같다.) 베타 테스트를 끝내고 정식 서비스를 하면 좀더 정교해질지 모르겠다.

구글 블로그 검색에 외국 블로그들은 많이 나타나지만, 한글 블로그는 다음과 같이, 다양성이 부족한 상태다.


egloos.com (이글루스; 국내의, 블로그 전문 서비스)
kr.blog.yahoo.com (야후 블로그)
blogspot.com (구글의 Blogger.com을 호스팅해 주는 곳.)
blog.joins.com (중앙일보 블로그)
news.joins.com (블로그가 아니고 중앙일보 기사임)
yes24.com (서점)
wordpress.com (외국의, 블로그 호스팅 서비스)
perlmania.or.kr (펄마니아(#2024-04-02 현재 폐쇄됨); 블로그는 아니고 사이트 게시판임)
기타 개인이 설치한, 소수의 블로그들


한글 포스트의 대부분이 egloos의 것이어서 아예 egloos 전용 검색엔진처럼 보인다. 현재는, 사이트 피드(RSS/Atom)를 Weblogs.com 등에 핑을 해야 인덱스되는데(blogger.com[blogspot.com]은 이런 작업 없이도 기본으로 인덱스됨), 앞으로는 좀더 간단한 제출 양식을 제공할 것이라고 한다. 그런데 그 "앞으로"가 언제인지를 모르겠다.


▶ 엠파스 열린 검색(#2024-04-02 현재 폐쇄됨)은 블로그 전용 검색은 아니지만 블로그 탭으로 가면 블로그 전용 검색처럼 사용이 가능했다. 필자가 등록 신청을 하지도 않았지만 이미 등록되어 있었다. 올블로그(#2024-04-02 현재 폐쇄됨)의 정보를 이용하는 듯하다.

네이버의 블로그들까지도 검색되어 편리했다. 네이버의 robots.txt 를 무시해 버리는 듯하다. (네이버는 메인 페이지 외의 모든 페이지, 심지어 블로그 검색마저 http://blogsearch.naver.com/robots.txt 로 타사의 접근을 막아 놓고 있었다. 이렇다면 인터넷 서비스가 아니라 "PC통신"이나 다름이 없다.)

그렇지만 "엠파스 열린 검색"에서 mwultong 이라는 아이디로 검색해 보면, 포스트는 전혀 검색되지 않고, 블로그 이름만 통합검색에 나타나는데 클릭해 보니, 글자가 모두 깨진 채 페이지가 열렸다. 유니코드(UTF-8)를 한국어(euc-kr)로 오인하고 있었다. 단, 파이어폭스에서는 문제가 없고, IE에서 인코딩을 "자동 선택"으로 해 놓은 경우에만 이런 인코딩 문제가 생겼다. 그러나 포스트 자체는 문제 없이 검색되었다.

검색 결과도 풍부한 편이고 무엇보다도 "열려 있다"는 것이 좋다.



▶ 네이버 블로그 검색(#2024-04-02 현재 폐쇄됨)은 사람이 직접 수작업으로 블로그를 확인하고 등록을 해준다고 하는데, 네이버 블로그 외에는 타사의 블로그들이 별로 등록되어 있지 않다. (그리고 등록되어 있더라도 네이버의 블로그들을 우선 출력하기에 잘 보이지 않았다.) 검색 결과의 대부분이 네이버 블로그로 획일화되어 있었다.
※ 2006-02-03에는 mwultong 이라는 아이디로 검색하면 아무것도 나오지 않았는데 오늘(2006-02-06) 보니 비록 1개뿐이지만 검색이 됨. 아이디로 검색이 되지는 않고 본문 중에 나오는 mwultong 이라는 문자열을 검색하고 있음. "구글 블로그 서치"는 아이디만 입력하면 자신의 모든 포스트가 나오기에 편리하다. 국내 블로그 검색들도 아이디까지 검색해야 할 것이다.


▶ "다음Daum 블로그 검색"도 있었다. 검색 페이지가 따로 있지는 않은 듯하고 메뉴에 포함되어 있었다. 다음Daum 블로그의 전용 검색인 듯했다. 타사에 설치된 블로그를 등록하는 법은 보이지 않았다. 카페 서비스와 별도로 블로그 서비스가 제공되고 있었는데, 네이버 블로그도 그렇지만 다음Daum 블로그도, 구글 등의 타사 검색 엔진의 접근을 막아 놓은 듯했다. 다음Daum 블로그의 사용자들이 올린 포스트들이 구글에 전혀 나타나지 않았다. (다만 야후 블로그는 타사 검색 엔진을 막아 놓지 않은 듯했다. 그 외에는, 야후의 블로그 검색도 "다음Daum 블로그 검색"과 거의 비슷했다.)



tag: web
Web | 웹 | 인터넷 사이트
tag: blogger
블로거 | 구글블로그 | Blogger.com + blogspot.com

Friday, February 03, 2006

파이어폭스: 블로거(blogger.com)의 한글 폰트 문제 해결

파이어폭스에서는 블로거(blogger.com)의 블로그가 이상하게 보일 수 있었다. 텍스트의 일부, 특히 한글 "링크 텍스트"가 이상한 폰트로 아주 작게 표현되어 버리는 것이다. 처음에는 파이어폭스의 버그가 아닌가 했더니 그렇지는 않고 템플릿의 문제였다.

블로거(blogger.com)의 템플릿에는 한글 폰트 정보가 전혀 없다. IE는 한글 폰트를 자기가 적절히 찾아서 보여 주지만, 파이어폭스는 한국 지사가 있는 것도 아니라서 한글 폰트를 다루는 데 서투른 면이 있는 듯하다. 그래서 하드에 있는 '빨랫줄체' 같은 폰트를 랜덤하게 선택해 버리는 것으로 추정된다. (이것은 영문판 파이어폭스의 경우이긴 하지만, 한글판 파이어폭스도 사정은 비슷할 것이다.)

블로거 템플릿의 첫부분에 폰트 지정하는 곳이 있는데, 다음과 같이 한글 폰트 이름을 추가해 주는 것으로 문제가 해결되었다. (필자의 경험상, 한글 폰트 이름은 비록 공백이 없더라도, '돋움' 하는 식으로 따옴표까지 포함해서 입력하는 것이 좋음)

font: small tahoma, "Bitstream Vera Sans", "Trebuchet MS", "Lucida Grande", lucida, helvetica, '돋움', sans-serif;

이 블로그에서 사용하는 템플릿은 "Son of Moto"라는 녹색 템플릿인데 다른 템플릿들도 비슷할 것이라 생각된다.



tag: blogger
블로거 | 구글블로그 | Blogger.com + blogspot.com

Thursday, February 02, 2006

한국어(euc-kr) 페이지에서 중국식 한자 구현

일본 한자들은 한국 한자와 큰 차이가 없어서, 한국 한자로 별다른 무리 없이 변경해 쓸 수 있지만, 중국 한자들은 간체자도 있고 희귀 한자도 많아서, 표현이 힘들다.

한국어(euc-kr) 텍스트 인코딩에서는 한국식 한자들만 표현할 수 있다. 물론 유니코드로는 전세계 모든 문자를 하나의 인코딩으로 표현할 수 있어 편리하지만, 한글 웹페이지를 유니코드(UTF-8)로 굳이 작성할 필요는 없다. 유니코드(UTF-8)는 다소 사치스러운 인코딩이다. euc-kr에는 한글 1개를 2바이트로 표현하지만, UTF-8에서는 3바이트로 표현하기에 파일의 용량이 커져서 서버에 부담을 줄 수도 있다. (다만 영문, 숫자, 기호, 공백 등은 여전히 1바이트)

그런데, 다행히 HTML 문법에서는 텍스트의 일부만을 유니코드로 표현하는 방법을 제공한다. 즉, 웹페이지의 인코딩은 euc-kr로 놔두고, euc-kr로 표현할 수 없는 일부 문자들만 유니코드로 기술하는 것이다. (※ 참고로, 지금 이 블로그는 인코딩이 UTF-8이기에, 이런 방법을 쓰지 않아도 중국식 한자를 쓸 수 있다.)

가령 중국 도시 이름인 선전(深圳)를, 선전(深<土+川>) 으로 흔히 표기하는데, 페이지의 인코딩을 바꾸지 않고도 정확히 표현할 수 있는 방법이 있다.

深圳의 두 번째 글자 "논두렁 수"자는 euc-kr에는 없다. 한국식 한자가 아니거나 또는 희귀 한자여서 그럴 것이다. (두 번째 글자 "논두렁 수"자, 즉, "土(흙 토)변에 川(내 천)의 한자"가 현재 보이지 않는 분은, 컴퓨터에 중국어 폰트가 없기 때문이다. 윈도XP에는 기본적으로 설치되어 있다.)

"논두렁 수"자인, "圳"자의 유니코드 코드값은 "U+5733".
16진수인 "5733"을, 윈도 계산기의 공학용 버전을 사용해, 십진수로 바꾸어 보면 "22323".
결국 다음과 같이 기술하면 "논두렁 수"자가 한글 웹페이지에 표현된다.

深&#22323;


그러나 다른 많은 임의의 한자들의 코드를 이렇게 직접 적어 주는 것은 힘들다. 이때 EmEditor를 사용하면 간단해진다.

아래는 EmEditor를 사용하여 간단히 변환하는 방법이다:


(0) 중국식 한자가 섞인 한국어 문서를 유니코드 인코딩으로 작성한다. (MS워드로 작성하거나, 텍스트 에디터에서라면 우선 빈 문서를 만든 후 유니코드로 변환해 준다. 울트라에디터에서는 다국어 동시 표현이 힘들고 아무래도 EmEditor가 좋다. 아래아한글도 '한글97'보다 높은 버전에서는 유니코드를 사용할 것이다.)

(1) "EncodeUnicode" 플러그인을 다운로드 받아 EmEditor에 설치한다. (당연한 얘기지만, EmEditor가 없다면 먼저 EmEditor를 설치해야 한다.)




(2) "EncodeUnicode" 플러그인의 속성을 설정한다.
메뉴에서 마우스로 "Tools/Plug-ins/Customize Plug-ins/EncodeUnicode/Properties" 를 따라가면 설정 창이 나온다. 다음과 같이 설정한다.

▶ "Encode Unicode Properties"에서 "HTML/XML Character Reference"를 선택

▶ "Which characters do you want to encode?(어떤 글자들을 변환하고 싶어요?)" 에서 "Characters which cannot be converted to the current code page(현재 인코딩으로 표현할 수 없는 글자들만 변환)"를 선택




(3) EmEditor에서 빈 문서를 하나 만든 후, 한국어 인코딩 "ksc_c_5601-1987" 로 우선 저장한다. ("ksc_c_5601-1987" 은 "euc-kr" 과 사실상 같은 인코딩인데, 한국어 인코딩은 "euc-kr" 로 부르는 것이 좋다.)

(4) 중국식 한자가 섞인 한국어 문서 원본 전체를 복사한 후, EmEditor의 빈 문서에 붙여 넣는다.

(5) Ctrl+A 로, EmEditor의 문서를 모두 선택한다. EncodeUnicode 플러그인을 클릭한다. 이러면, 한글과 한국식 한자들은 그대로 있고, 중국식 한자들만 모두 "&#22323;" 등의 형식으로 바뀐다. 그런 후 이 결과물을 사용해 HTML 문서를 작성한다. (끝)


----------------------------------
만약 이 과정을 거꾸로 해야 한다면? 가령, HTML의 "&#22323;" 를 "圳"자로 바꾸어 주려면 "Decode Unicode" 플러그인을 사용하면 된다. (단, 이때 HTML의 인코딩은 반드시 UTF-8이어야만 한다.)

지금까지 설명한 이러한 방법은, 중국어뿐만이 아니라 일본식 한자나 아랍어라든지, 한글 인코딩으로 표현 불가능한 모든 문자들에도 똑같이 적용된다.

다만 그 페이지를 볼 사람의 컴퓨터에 해당 언어의 폰트와 인코딩이 설치되어 있어야 한다. 윈도XP이상의 OS에서는 일본어 중국어 등이 이미 설치되어 있지만 오래된 운영체제에서는 사용자가 직접 설치해야 한다.

MS오피스(오피스 2003의 경우)를 설치할 때, "응용 프로그램의 고급 사용자 지정을 선택하십시오"를 체크한 후, "Office 공유 기능/다국어 기능 지원/범용 글꼴" 옵션을 선택하면, 필요한 모든 인코딩과, "Arial Unicode MS (ARIALUNI.TTF)"라는 22MB짜리 폰트를 하나 설치해 준다. 이것으로 전세계의 거의 모든 문자를 표현할 수 있다. 다만 폰트의 품질이 좋지 않아서 가독성이 많이 떨어지는 것이 흠이다.

한국어 페이지에 다량의 중국어/일본어/유럽어 등등이 섞여 있고, 그런 페이지가 아주 많다면, 웹페이지 인코딩 자체를 유니코드(UTF-8)로 바꾸어 주는 것이 보다 합리적이다.


※ 2006-02-11 추가:
"EmEditor Free" 버전은 플러그인 사용이 안되기에, 위의 팁이 적용되지 않음. "EmEditor Professional" 버전을 추천.





tag: html
HTML | CSS | 자바스크립트 JavaScript
tag: editor
텍스트 에디터 | 문서 편집기 | Text Editor


 

<< Home

Categories
Some Recent Posts
Monthly Archives
Top