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

 
Monthly Archive
Monday, July 31, 2006

[Font] 윈도XP에서, '맑은 고딕' 글꼴(폰트) 설치법은? - Malgun Gothic

윈도 탐색기 (Windows Explorer)를 실행한 후,

내 컴퓨터 > 로컬 디스크(C:) > WINDOWS > Fonts

로 Fonts 라는 폴더를 찾아갑니다.


C:\WINDOWS\Fonts 이곳입니다. (윈도2000의 경우에는 "C:\WINNT\Fonts" 여기)

이 폴더에 마우스로, '맑은 고딕' 폰트를 끌어다 놓으면 복사가 되며, 맑은 고딕이 설치됩니다.


그런 후, 워드패드나 MS워드 등의 프로그램을 실행시킨 후, "폰트 목록 창"에서 '맑은 고딕'을 선택하시면 '맑은 고딕'으로 글씨가 씌어집니다.



▶▶ 윈도우XP에 (맑은 고딕 등의 폰트를 위해) 클리어타입 적용하기 - ClearType 켜기

▶▶ '맑은 고딕' 폰트를, 워드프로세서의 본문에 적용한 예제

▶▶ 윈도우 비스타의 '맑은 고딕' 폰트에, 클리어타입 적용 후 세부 확대

[QnA] 유니코드와 UTF-8 중, 어느쪽이 한자/특수기호가 더 많이 포함되어 있습니까?

UTF-8도 유니코드이고, 일반적인 유니코드(UTF-16)도 유니코드입니다. 그래서 유니코드와 UTF-8 에 포함된 문자들은 똑같습니다. 문자들의 분량도 똑같고, 각 문자들에 부여된 번호(코드)도 똑같습니다.

인터넷의 웹문서 즉 HTML 파일을 작성할 때는 반드시 UTF-8 유니코드를 사용해야 합니다.

그리고 MS윈도우나 MS오피스에서는 내부적으로 UTF-16 유니코드를 사용합니다. 그래서 오피스와 관련된 문서를 유니코드로 작성할 때에는, 일반 유니코드 즉 UTF-16 이 더 유리합니다.

UTF-8 과 UTF-16 은, 에디터로 간단히 상호 변환할 수 있습니다. 변환 도구로서 제가 추천하는 것은, EmEditor(이엠에디터)입니다. 울트라에디터는 유니코드를 변환할 때 파일이 깨지는 경우가 많더군요.


▶▶ '리틀 엔디안 little-endian 유니코드'와 '빅 엔디안 big-endian 유니코드'의 차이점

▶▶ [한글 코드] 유니코드 / 완성형 / 확장완성형 / 조합형의 차이점

[엑셀] 루트 근사값 구하기, 제곱근/루트 기호 입력 방법: SQRT - Microsoft Excel - Square Root

가령, 엑셀의 "수식 입력줄"에

=SQRT(2)

라고 입력합니다. 그러면 현재의 셀에 1.414213562 라는, 루트 2의 근사값이 자동으로 나타납니다.



그리고 가장 위의 첫번째 셀 즉 A1 셀에 있는 숫자의 루트 근사값을, 바로 옆의 셀인 B1에 나타내려면 가령

A1 셀에 2를 적고,
B1 셀에 =SQRT(A1)

이라고 적으면 됩니다..



엑셀 비베(VBA)로 제곱근 구하기: ▶▶ 비베-VBA-VBS-VB] sqrt 제곱근/루트 근사값 함수 사용법은? Sqr()





루트 기호인 "√" 라는 문자를 쓰려면

한글 자모 디귿을



이렇게 쓰고, 즉시 한자 변환키를 누르면, 화면 우측 하단의 문자 변환창에 루트 기호가 나타납니다. (변환창의 화살표 버튼을 2번 눌러 스크롤해야 합니다)

참고: ▶▶ 한글 특수문자 입력표 - Hangul Special Character Input Table


문자로 된 루트(Root) 기호가 아니라, "진짜 근호"를 입력하려면 수식입력기를 사용하면 됩니다: ▶▶ 수식입력기] 분수,루트 기호 입력 방법, 워드 Word 엑셀 Excel; MS Equation Input Fraction


▶▶ Excel/엑셀] 세제곱근, 네제곱근, 거듭제곱근 구하기 함수; Cube Root Function; cbrt()



윈도 XP] 환경변수 저장 파일은? / 패스(Path)가 저장된 레지스트리(Registry)는?

윈도2000이나 윈도우XP의 환경변수(Environment-variable)는 파일로 저장하는 것이 아니라, 레지스트리(Registry)에 저장되더군요.

패스(Path)도 환경변수의 일종이기에 역시 레지스트리에 저장됩니다.


레지스트리의 주소는 다음과 같습니다:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

시스템 전반의 환경변수들


[HKEY_USERS\S-1-5-21-842925246-1604221776-839522115-1003\Environment]
[HKEY_USERS\S-1-5-21-842925246-1604221776-839522115-1003\Volatile Environment]

이 2개는 로그인한 사용자마다 개별적으로 지정하는 환경변수. 단, 842925246-1604221776... 이런 주소는 고정되어 있지 않고, 윈도를 인스톨할 때마다 변동함.



윈도2000도 윈도우XP와 같지만, 윈도98은 레지스트리 개념이 없고 환경변수는 AUTOEXEC.BAT 파일에서 지정해줍니다.



▶▶ 환경변수 저장 하는 법; 윈도우2000 / XP 환경변수 저장법; Set Environment Variable

▶▶ 윈도우 환경변수 복사하여 파일로 저장/만들기: Windows Environment Variable To File

☞ WINDOWS

[생활] 유리창/유리병의 스티커 자국을 흔적 없이 지우는 방법은? - Removing Sticker Residue

스티커를 떼고 남은 자국에 WD-40을 조금 뿌리거나 휴지에 적셔서 바르고 문지르면 자국이 녹아서 잘 벗겨집니다. 나중에 물에 적신 휴지로 닦아주면 더 말끔해집니다.

WD-40의 석유 성분이 스티커의 끈적한 부분을 용해시키기에 쉽게 지워지는 것입니다. 스티커뿐 아니라, 물로 잘 지워지지 않는 것을 지울 때 쓸모가 있습니다.

단, 렌즈/안경/모니터 보안기/자동차 유리 등에는 WD-40을 뿌리면 절대 안됩니다! 코팅까지 벗겨져 버리기에 못쓰게 됩니다.


▶▶ [QnA] WD-40 이란 스프레이는 뭔가요? 용도는?


☞ 생활

레지스트리 편집기 있는 곳, 윈도우 레지스트리 에디터 실행하는 법; Registry Editor

윈도우XP 화면의, 맨 밑 좌측에 있는 "시작" 버튼을 누르고, 실행(R) 이라는 곳을 선택하면, "실행"이라는 대화상자가 나오는데, 그 입력창에

regedit

라고 치면, 레지스트리 에디터(Registry Editor)가 실행됩니다.


Windows XP Registry Editor: 레지스트리 편집기

윈도우XP의 레지스트리 편집기 클릭하면 확대



레지스트리 에디터는 사용이 위험하기 때문에, 시작메뉴에 단축 아이콘 즉 바로가기 아이콘이 없습니다.

C:\WINDOWS 폴더에 보면 regedit 또는 regedit.exe 라는 실행 파일이 있는데, 그것이 레지스트리 편집기입니다. (확장자를 나오게 했을 때만 .exe 라는 확장자가 보임)

regedit.exe 라는 파일을 마우스 오른쪽 버튼으로 클릭하면 "바로가기 만들기"라는 메뉴 항목이 나옵니다. 그것을 선택하면 "regedit.exe의 바로 가기"라는 단축 아이콘이 만들어집니다. 그 단축 아이콘을 바탕화면에 끌어다 놓으면, 바탕화면에서 쉽게 레지스트리 에디터를 실행시킬 수 있습니다.


레지스트리 편집기에는, 취소(Undo) 기능도 없고 해서 초보자에게는 위험합니다. 그래서 사용에 주의가 요구됩니다.

만약 레지스트리를 잘못 편집하면 윈도를 다시 설치해야 하는 경우까지 생길 수 있습니다.



▶▶ 윈도우 레지스트리를 REG (.reg) 파일로 저장하는 법; Windows Registry To Text File

☞ 윈도우(WINDOWS)

Saturday, July 29, 2006

[배치 파일] 윈도의 .cmd 확장자를 가진 파일에 대해

윈도98에는 없지만, 윈도우2000이나 윈도우XP에는 .cmd 라는 확장자를 가진 텍스트 파일이 있습니다.

이 파일의 '파일 형식'은 Windows NT 명령어 스크립트 입니다.

그런데 이것은 도스의 배치 파일, 즉 MS-DOS 일괄 파일 과 사실상 똑같은 것입니다. 다만 도스에서는 호환되지 않는 문법이 사용될 수 있습니다. 가령 도스에서는, CD 명령으로, 다른 드라이브의 디렉토리로 직접 이동할 수 없습니다. 그러나 윈도우2000 이상의 운영체제 즉 윈도NT계열에서는, CD에 /D 옵션을 붙이면 다른 드라이브의 디렉토리(폴더)로 직접 이동할 수 있습니다.

NT용 배치 파일을, 윈도98등에서 실행하면 위험하기도 하고 잘 실행되지도 않습니다. 그래서 확장자를 cmd 로서 구분한 것으로 알고 있습니다.


결론


.cmd 파일은 .bat 파일의 문법과 사실상 똑같습니다.

.cmd 파일은 윈도98이나 도스(MS-DOS 6.0 등)에서는 실행되지 않습니다. 만약 .bat 으로 확장자를 바꾸면 실행할 수 있지만, 그러면 위험합니다. 왜냐하면 .cmd 파일에는 윈도98이 인식할 수 없거나 오작동할 수 있는 새로운 문법과 명령어가 포함되어 있을 수 있기 때문입니다.

따라서 윈도98에서 실행되지 않도록 배치 파일을 작성하려면 cmd 확장자를 붙이면 됩니다.


☞ BATCH/VBScript

[건강] 모기 물린 데에 '계안' 혹은 '계안액'이라는 약이 효과가 좋더군요. (옛이름: 계관)

70~80년대에 '계관'이라는 약이 있었습니다. 벌레 물린 데에 바르는 것인데, 제 기억으로는 효과가 그리 좋지 않았습니다.

그 '계관'이 요즘에도 '동아제약'에서 생산이 되더군요. 그런데 어찌된 일인지 '계안'으로 이름이 바뀐 것 같습니다. (계관이든 계안이든 한자 이름 같은데, 약품 용기에 한자가 병기되어 있지 않아서 무슨 뜻인지 통 모르겠습니다 -_-?

물파스 비슷한 특유의 냄새는 그대로였습니다. 모기 물린 데에 바르라고 누가 저에게 주었지만 예전에 별로 효과가 없던 기억이 떠올라서, 그다지 바르고 싶지 않았습니다.

그런데 모기가 많고, 또 추억도 되새길 겸해서 시험삼아 한번 발라보니, 요즘의 것은 효과가 아주 좋았습니다. 모기에 한 번 물리면 며칠은 계속 가려운데, 계안을 발라주었더니 10분쯤 지나자 가려움이 사라졌습니다.

그리고 약품이 들어 있는 용기도, 옛날에는 시커먼 유리병에 들어 있었던 것으로 기억하는데, 이제는 여고생용 팬시 문구처럼 예쁜 플라스틱 용기에 담겨 있어서 격세지감까지 느꼈습니다.



추가 사항:
계안은 鷄眼인 것 같습니다. 그러고 보니 오래 전에 계관 유리병에, 닭 계 자가 있어서 도대체 닭하고 무슨 상관이 있나 하고 의아해 했던 적이 있습니다. 혹시 가축용 약품인가 하는 생각마저 들었습니다.

한방에서 말하는 티눈 즉 '계안(鷄眼) 또는 계안창(鷄眼瘡)'을 의미하는 것 같습니다. 원래는 티눈에 바르는 약인 것 같기도 합니다. 물론 확실한 것은 아닙니다.


정정: 제품의 겉포장 상자에 보니 鷄安 이라고 되어 있었습니다.

계안 사진 보기: ▶▶ 계안 사진; 모기물린데 벌레물린데 바르는 약; Gyean Photo


[리눅스 QnA] 페도라 (Fedora Core 5) 다운로드하는 곳과 방법은? - Fedora Download

<Fedora Project, sponsored by Red Hat> 이 주소는 페도라 설치 CD 이미지를 다운로드받을 수 있는 세계 각국의 미러 사이트입니다.

위의 페이지의 아래쪽에, Korea 라고 된 곳이 있습니다. 여기서 예를 들어
ftp://ftp.kreonet.re.kr/pub/Linux/fedora/core/
이런 주소를 클릭합니다.

페도라 코어 5를, 일반적인 32비트 PC용으로 받는다면 주소는 이렇게 됩니다.
ftp://ftp.kreonet.re.kr/pub/Linux/fedora/core/5/i386/iso/



이것은 DVD이미지는 제외하고, CD이미지만 받았을 때의 파일 목록:
687,235,072  FC-5-i386-disc1.iso
700,618,752  FC-5-i386-disc2.iso
721,016,832  FC-5-i386-disc3.iso
720,910,336  FC-5-i386-disc4.iso
387,753,984  FC-5-i386-disc5.iso
        671  SHA1SUM

※ DVD드라이브가 있다면 CD이미지는 받지 않아도 됩니다. 저는 DVD드라이브가 없어서 CD이미지를 받았습니다.


Cygwin(시그윈)sha1sum으로, CD이미지 파일들을 에러 체크했습니다:
D:\X>sha1sum -c SHA1SUM
sha1sum: FC-5-i386-rescuecd.iso: No such file or directory
FC-5-i386-rescuecd.iso: FAILED open or read
FC-5-i386-disc1.iso: OK
FC-5-i386-disc2.iso: OK
FC-5-i386-disc3.iso: OK
sha1sum: FC-5-i386-DVD.iso: No such file or directory
FC-5-i386-DVD.iso: FAILED open or read
FC-5-i386-disc4.iso: OK
FC-5-i386-disc5.iso: OK
sha1sum: WARNING: 2 of 7 listed files could not be read

D:\X>


DVD 가 아닌 CD이미지만 받았기에, FC-5-i386-DVD.iso 는 없다(No such file)고 나옵니다.





참고로, 리눅스 CD 이미지들은 파일 크기가 엄청나기 때문에, 플래시겟(FlashGet) 같은 다운로드 전용 프로그램으로 다운로드받는 것이 좋습니다:


다운로드 도우미: 플래시겟(FlashGet)
이것은 플래시겟으로 위의 페도라 CD이미지들을 다운받는 장면입니다: 클릭하면 확대


☞ 리눅스

[배치 파일 팁] echo문 행갈이 / 빈 줄 넣기/ 한 줄 띄어쓰기: Batch File Tip

배치파일에서 echo 로 문장들을 쓸 때 엔터키를 쳐도, 행 사이에 빈 줄이 들어가지 않습니다.

@echo off

echo AAAAAAAAAAAAAAA
echo AAAAAAAAAAAAAAA

echo AAAAAAAAAAAAAAA
echo AAAAAAAAAAAAAAA
echo AAAAAAAAAAAAAAA


위의 배치파일을 실행하면, 다음과 같이 빈줄이 반영되지 않고, 모두 붙어서 출력됩니다:
D:\Z>0.bat
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
D:\Z>


그래서 문단을 표현할 수 없습니다. 이때는 다음과 같이 하면 됩니다.

echo.

즉 echo 바로 뒤에 마침표를 하나 찍는 것입니다. 이러면 빈 줄이 생깁니다.

그런데
echo .
이렇게 공백을 넣고 점을 찍으면, 점 자체가 나오기 때문에 안됩니다. 반드시
echo.
이렇게 붙여써야 합니다.


예제:
@echo off

echo AAAAAAAAAAAAAAA
echo AAAAAAAAAAAAAAA
echo.
echo AAAAAAAAAAAAAAA
echo AAAAAAAAAAAAAAA
echo AAAAAAAAAAAAAAA



이제 이렇게 빈 줄이 생겼습니다:
D:\Z>0.bat
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA

AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
D:\Z>



☞ BATCH/VBScript

플래시겟(FlashGet) 무료화 / 플래쉬겟 다운로드 주소: 다운로드 도우미 프로그램

웹브라우저에 있는 다운로드 기능에는 '이어 받기' 기능이 없어서, 큰 파일을 받다가 컴퓨터가 먹통이 되면 처음부터 다시 받아야 하는 불편이 있습니다. 그럴 때 플래시겟 같은 "다운로드 전용 프로그램"을 사용하면 편리합니다. 이어받기도 당연히 되고, 다운로드 속도를 높이는 기능까지 있습니다.

다운로드 도우미: 플래시겟(FlashGet)
뒤쪽 창은 플래시겟 본체, 앞쪽 창은 "FlashGet Site Explorer": 클릭하면 확대

얼마전까지만 해도 플래시겟은 쉐어웨어였습니다. 그리고 스파이웨어도 몰래 설치했다고 하더군요. 그런데 지금은 무료화가 되었고 스파이웨어도 없어진 것 같습니다. 플래시겟은 중국인이 만든 소프트웨어인 것 같더군요.

<플래시겟 다운로드 주소>

FlashGet 1.72 build 128 (download site 1)
버전에 따라 다르지만 이런 링크를 클릭하면 "fgf172.exe" 라는 플래시겟 설치 파일을 다운받을 수 있습니다.


플래시겟의 사용에는 특별히 어려운 점은 없습니다. 다만 다운받을 디렉토리(폴더) 등은 미리 설정을 해주는 것이 좋습니다.



플래시겟 사용팁


플래시겟에서 F7 키를 누르면 FlashGet Site Explorer 라는 것이 나옵니다. (위의 그림에서 앞쪽에 있는 창입니다.) 이 FlashGet Site Explorer 의 상단 "주소창"에 FTP 나 HTTP 주소를 입력하면 그 주소의 파일들이 일목요연하게 나타나서 쉽게 다운로드받을 수 있습니다.

특히 FTP의 파일들을 다운받는 데 Site Explorer가 편리합니다.



▶▶ HTML 웹 디렉토리의 파일들을 한꺼번에 다운로드 받는 법은? [QnA]

☞ 소프트웨어

[HTML-CSS] 한국어 웹문서 인코딩 charset 종류: euc-kr / UTF-8 / ks_c_5601-1987

한국어 인코딩은 사실상 euc-kr 하나밖에 없습니다.

<meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />



UTF-8 인코딩도 있는데 이것은 엄밀히 말해서 한국어 인코딩은 아니고 전세계의 모든 문자들을 한꺼번에 인코딩하는 것입니다. (저의 이 블로그도 UTF-8로 인코딩되어 있습니다.)

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


한글로 웹사이트나 블로그를 만든다면 위의 2가지 인코딩 중 하나를 선택해야 합니다. 저의 경우에는 UTF-8 을 추천하는 편입니다. euc-kr 은 영어 이외의 외국어를 표현하는 데 크고 작은 어려움이 있습니다.



위의 메타(meta) 태그들은 다음과 같이

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />
</head>
...이하 생략...

이런 <head></head> 태그 사이에 들어가 있어야 합니다.





※ MS의 프론트페이지(Microsoft FrontPage) 같은 것으로 한글 웹 문서를 만들면

<meta http-equiv="Content-Type" content="text/html; charset=ks_c_5601-1987" />


ks_c_5601-1987 이런 인코딩을 지정해 버리는데, 이것은 표준이 아닙니다. euc-kr 로 바꾸어 주는 것이 좋습니다.




▶▶ 한글 텍스트 문서를, 유니코드(Unicode / UTF-8) 로 변환하기

▶▶ 일반 유니코드(Unicode)와 'UTF-8 유니코드'의 차이점

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


☞ HTML/CSS/JavaScript

[펄/Perl] 윈도우용 유니코드(UTF-16LE) 파일 읽고 쓰기, 16비트 유니코드 입출력

펄에서는 내부적으로 UTF-8 유니코드를 사용하는데, MS윈도에서는 UTF-16LE를 사용합니다. (LE라는 것은 리틀 엔디안(little-endian)이라는 뜻임)

그래서 펄에서 윈도우용 유니코드 파일을 읽고 쓰는 데 어려움이 있었는데, 오늘 다행히 해결을 했습니다.


다음의 예제는 아주 간단한 것입니다. UTF-16LE 유니코드로 된 in.txt 라는 텍스트 파일을 읽어서, 그것을 UTF-16LE 유니코드 포맷으로 out.txt 라는 새 파일에 쓰는 것입니다. 이 예제를 실행하기 위해서는 윈도의 메모장 등으로 in.txt 라는 이름의 유니코드 파일을 하드에 만들어 두어야 합니다.

#!/usr/bin/perl
use strict; use warnings;

my $UNICODE  = "UTF-16LE"; # 유니코드 종류 지정
my $in_file  = "in.txt";   # 입력 유니코드 파일
my $out_file = "out.txt";  # 출력 유니코드 파일

  open IN, "<:encoding($UNICODE)", $in_file or die "$!\n";
  binmode(IN) or die "Can't binmode to $UNICODE: $!\n";

  open OUT, ">:encoding($UNICODE)", $out_file or die "$!\n";
  binmode(OUT) or die "Can't binmode to $UNICODE: $!\n";


  foreach (<IN>) {
    print OUT $_;
  }

  close(IN);
  close(OUT);



명령 프롬프트 화면으로는 UTF-16LE 를 출력할 수 없었습니다. 화면상으로도 글자들이 깨지고, 재지향(Redirection)을 해도 여전히 깨졌습니다.

유니코드는 화면으로 출력하는 것이 힘들더군요. 그래서 출력을 파일로 저장하는 쪽을 택했습니다.


그런데 이렇게 간단한 것은 되는데, 좀 복잡한 작업에 적용하니 역시 한글이 깨지는 문제가 있었습니다. 다만 영문은 잘 되었습니다.


※ 위의 예제에 일반 아스키 파일을 입력하면, 즉 in.txt 가 유니코드가 아닌 아스키 파일이라면, out.txt 도 그냥 아스키 파일로 출력됩니다.


▶▶ 일반 유니코드(Unicode)와 'UTF-8 유니코드'의 차이점

▶▶ 한글 텍스트 문서를, 유니코드(Unicode / UTF-8) 로 변환하기


☞ Perl

Friday, July 28, 2006

[QnA] 우분투 리눅스 다운로드 하는 곳과 방법은? - Ubuntu Linux Download

우분투 리눅스 다운로드 페이지는
<download - Ubuntu Linux>
이곳입니다. (이 글을 쓰고 있는 현재의 우분투 버전은 6.06 입니다.)

위의 페이지에 가면, 미러 사이트 목록이 나옵니다. 파일이 크기 때문에 우분투 사이트에서 직접 파일을 호스팅하지는 않고 세계 각국의 미러 사이트에 분산시켜 놓았습니다.

밑에 보면 Korea 라고 된 곳이 있습니다. 그곳을 클릭하면 예를 들어
http://ftp.kaist.ac.kr/pub/ubuntu-cd/6.06/
이런 한국 미러 사이트 주소가 나옵니다. (우분투 버전에 따라 주소가 약간씩 다름)

여기서 CD의 iso 이미지를 다운로드받으면 됩니다. 여러 종류의 이미지가 있는데, 맨 위의
Desktop CD 항목에서
PC (Intel x86) desktop CD 라고 된 것이, 일반적인 32비트 PC용입니다. PC (Intel x86) desktop CD 라는 곳을 클릭하면

"ubuntu-6.06-desktop-i386.iso" 라는 697MB 짜리 파일 1개가 다운로드됩니다. 물론 우분투 버전에 따라서 파일명이 다릅니다.

이 이미지를 CD로 구운 후, 그 CD로 컴퓨터를 부팅하면 우분투 리눅스가 자동으로 설치됩니다.



중요!
=====
Desktop CD 는, 우분투를 하드에 설치하지 않고 CD로만 쓰는 라이브CD입니다. 우분투 바탕화면의 Install 이라는 아이콘을 눌러주면 그때서야 하드에 직접 설치됩니다.

Server install CD 는 하드에 직접 우분트를 설치하는 것입니다. 서버 버전에는 GUI가 없습니다.


▶▶ [리눅스 QnA] iso 이미지 다운로드할 때, MD5SUMS 란 파일의 용도는?

[리눅스 QnA] iso 이미지 다운로드할 때, MD5SUMS 란 파일의 용도는?

리눅스 설치 CD 이미지 즉 iso 파일을 다운로드하는 곳에는, MD5SUMS 라는 작은 텍스트 파일도 같이 있습니다. 이것은 다운받은 iso 이미지가 깨지지 않고 정확히 다운받아졌는지 확인하는 데 쓰는 "MD5 (128-bit) checksums" 입니다. CRC32 에러 체크 알고리즘 과 비슷하지만 훨씬 더 강력한 것입니다.



이것은 우분투 리눅스의 MD5SUMS 파일의 내용입니다. (물론 우분투 버전에 따라 다름):
df03811bfc9f2a73672887a36d531965  ubuntu-6.06-alternate-amd64.iso
b2e9120f06d70cc076c1852c6c04654e  ubuntu-6.06-alternate-i386.iso
12bd53a48d7afbcfb0eae6794a1ac02f  ubuntu-6.06-alternate-powerpc.iso
722b8b4a75f977a76a722d4a2b071b19  ubuntu-6.06-desktop-amd64.iso
e2e5e0bfb2edffd2ce02dd77bda4558e  ubuntu-6.06-desktop-i386.iso
410d766d75a3afaa7f04c0c7dbdfd8da  ubuntu-6.06-desktop-powerpc.iso
02772b8b3461c246a2154aa6e699335b  ubuntu-6.06-server-amd64.iso
4c7c835d244453b9a29d397e5cd973fd  ubuntu-6.06-server-i386.iso
c1f9c3dc78572bc2ce76d44776949fcc  ubuntu-6.06-server-powerpc.iso
82da246064785adb7b87e5aa0cb5764c  ubuntu-6.06-server-sparc.iso


예를 들어,
"ubuntu-6.06-desktop-i386.iso" 라는 파일의 MD5 값은 반드시 e2e5e0bfb2edffd2ce02dd77bda4558e 여야 한다는 것을 의미합니다. 만약 그렇지 않다면 그 iso 이미지가 깨진 것이니, 다시 다운받아야 합니다.

md5sum ubuntu-6.06-desktop-i386.iso

라는 명령어로써, ubuntu-6.06-desktop-i386.iso 라는 파일의 MD5 값을 알 수 있습니다. 그 계산 값이 MD5SUMS 라는 파일 속에 적혀 있는 값과 일치하면 에러 없이 다운로드된 것입니다. (md5sum 은 리눅스나 Cygwin 안에 있는 명령어임)


md5sum -c MD5SUMS
이렇게 하면 더 자세히 나오지만, 파일이 하나라면 위와 같이 수동으로 직접 비교하는 것이 낫습니다.







sha1sum 의 경우


sha1sum 은 md5sum 보다 더 강력한 것인데, "SHA1 (160-bit)" 알고리즘을 사용하는 것입니다. 사용법은 md5sum 과 같습니다. 다만 sha1sum 이라는 명령어로 에러 체크를 합니다.


SHA1SUM 이라는 텍스트 파일이 있을 것입니다.
sha1sum -c SHA1SUM
이렇게 하면 체크가 됩니다.

sha1sum --help
이렇게 하면 자세한 도움말이 나옵니다.




☞ 리눅스

[포토샵 기초 강좌] 레이어 합치기 (병합) / 모든 레이어 하나로 합하기 - Photoshop Merging layers

(포토샵 7.0을 기준으로 설명)

[포토샵 기초 강좌] 레이어 합치기 - Photoshop Layers
포토샵의 레이어 팔레트

포토샵에는, 위의 그림과 같은 레이어 팔레트 (Layers Palette) 가 있습니다. 레이어 관리는 여기서 해줍니다.

레이어 팔레트의 상단 우측에 동그란 꼭지가 있는데, 현재 그림 속의 커서가 위치한 곳입니다. 이 꼭지를 눌러주면 그림의 우측과 같은 메뉴가 펼쳐져 나옵니다.



레이어 합치기 (병합)


※ Merge(머지)라는 것이, 무엇을 합친다는 의미입니다.

레이어를 선택하고 메뉴의 Merge Down (아래와 하나로 합치기)을 선택하면, 현재 레이어가 아래쪽 레이어와 합쳐집니다.



Merge Visible (현재 보이는 레이어들만 하나로 합치기)을 선택하면, 현재 "눈 아이콘"이 없는 레이어 즉 숨겨진 레이어는 제외하고, 보이는 레이어 즉 "눈 아이콘"이 켜진 모든 레이어가, 하나로 합쳐집니다.

그러나 현재 선택된 레이어가, "보이지 않는 레이어" 즉 "숨겨진 레이어"라면 Merge Visible이 작동하지 않습니다. ("눈 아이콘"이 켜져 있지 않은 레이어가 숨겨진 레이어입니다.)




Flatten Image 는, 모든 레이어들을 강제로 하나로 합쳐 버리는 것입니다. 레이어들은 서로 면적과 위치가 다를 수도 있어서 레이어 바깥쪽에도 그림이 있을 수 있지만 Flatten Image 를 하면 똑같은 크기가 되어 버리고, 레이어들의 화면 바깥쪽 부분은 완전히 잘려나갑니다. 그림을 최종 완성시킬 때 사용하는 것입니다. 즉, 레이어들을 완전히 없애 버리고 한장의 평탄한 사진으로 만들어 버리는 것입니다.

원래 레이어라는 것은 사진을 여러 층으로 입체화시켜서 편집하는 개념인데, Flatten Image 는 이런 입체성을 제거해 버리고 종이에 인화된 사진처럼 평범하게 만드는 것입니다.

다만, Flatten Image 를 할 때, 숨겨진 레이어가 있다면, Discard hidden layers? (숨겨진 레이어를 버릴까요?) 라고 물어봅니다. OK라고 하면 숨겨진 레이어 즉 "눈 아이콘"이 없는 레이어를 버리고 평탄화합니다. Cancel(취소)을 누르면 Flatten Image 작업 자체가 최소됩니다.



☞ 포토샵 (Adobe Photoshop)

[윈도우2000/XP] 탭(Tab)키로, 파일명 자동완성 - 명령 프롬프트 - File/Directory Name Auto-Completion

파일이름 자동완성이란?


명령 프롬프트에서는, 파일명이나 디렉토리(폴더)명을 직접 타이핑해 주어야 합니다. 그런데 길고 복잡한 파일명이라면 상당히 힘듭니다. 그래서 키보드의 Tab키를 누를 때마다, 현재 디렉토리에 있는 파일들이 자동으로 대입되게 하는 기능이 '자동 완성'입니다.

가령,
"4yrhy965946ehe.txt" 라는 이름의 파일을 "TTTETEYywyWETw" 라는 하위 폴더에 복사하려면 정확히 타이핑하느라 아주 힘들 것이고 오타가 나기도 쉬울 것입니다.

이때 프롬프트에서 copy 라고 쓴 후, 한 칸 띄우고, 키보드의 탭(Tab)키를 누르면
copy 4yrhy965946ehe.txt
이렇게 자동으로 파일명이 대입됩니다. 물론 현재 디렉토리에 4yrhy965946ehe.txt 라는 파일이 존재해야 합니다.

그런 후 한 칸 띄우고 다시 탭키를 눌러주면
copy 4yrhy965946ehe.txt TTTETEYywyWETw
이렇게 폴더명까지 자동으로 입력됩니다.


만약 파일이 여러 개 있을 경우에는 탭키를 여러번 눌러주면, 파일명들이 순환이 되며 적당한 파일이 나올 것입니다. Shift+Tab키를 누르면 역방향으로 순환이 됩니다.



만약 4로 시작하는 어떤 파일만 대입하려는 경우에는 키보드에서 4를 누른 후 탭키를 누르면 됩니다.
다만, 현재 폴더에 아무것도 없다면 아무 일도 일어나지 않습니다.

아주 편리한 기능이고, 만약 자동완성 기능이 없다면, 명령 프롬프트 사용이 수십 배나 더 힘들어졌을 것입니다.



윈도XP의 자동완성


윈도XP에서는 명령 프롬프트에서 그냥 탭키만 누르면 자동완성이 기본적으로 되더군요.

cmd /? 라고 하여 도움말을 보면, "기본적으로 지원하지 않는다"고 되어 있는데, 아무튼 자동완성이 되었습니다.



윈도2000의 자동완성


윈도2000은 확실히 자동완성을 기본적으로는 지원하지 않습니다.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
"CompletionChar"=dword:00000009

위의 코드를 0.reg 등의 이름으로 저장한 후, 0.reg 를 클릭합니다. 그런 후 명령 프롬프트 창을 닫고 다시 열어주어야 합니다. 그러면 윈도2000에서 자동완성 기능이 켜집니다. 윈도XP의 경우에도, 만약 자동완성이 되지 않는다면 이렇게 하면 됩니다.




▶▶ 반복되는 명령 실행: 윈도우 도스창 / 리눅스 - Repeat Commands

☞ BATCH(.BAT)/VBScript(.VBS)

☞ 윈도우(WINDOWS)

[오피스/엑셀2003] CSV 파일을 콤마(,)가 아닌 탭(Tab)으로 분리하기: Microsoft Excel 2003

제가 지금까지 CSV(Comma-Separated Values) 파일은 콤마로만 필드를 분리할 수 있는 줄 알았는데, 오늘 보니 탭문자(Tab키를 누르면 찍히는 공백 문자)로도 필드를 구분할 수 있었습니다.

엑셀 문서인 xls 는 이진 파일이기 때문에, 텍스트 편집기 등으로 편집을 할 수 없고 엑셀에서만 편집이 가능합니다. 그래서 각종 데이타를 CSV 파일로 저장해 두었는데, CSV라는 포맷이 좀 골치가 아프더군요. 각 필드를 콤마(,)로 분리하기 때문에, 셀의 내용 자체에 콤마가 들어가 있다면 쌍따옴표로 그 셀의 내용을 둘러싸 주어야 합니다. 그런데 만약 셀의 내용에 쌍따옴표 자체가 들어가 있다면 엄청나게 복잡해집니다.

그래서 CSV 파일을 펄(Perl)로 처리하는 프로그래밍을 하려다가 너무 복잡해서 그만둔 적이 있습니다.

사실 필드를 탭문자로 분리하면 간단하게 해결될 일이었습니다.

그런데 엑셀에서는, 탭으로 분리된 파일도 csv 라는 확장자를 붙일 수 있었고, 콤마로 분리된 CSV처럼 자연스럽게 처리할 수 있었습니다.

단, 조건이 있는데 탭으로 분리된 그 csv파일이 유니코드여야 하더군요. 일반 아스키 파일이라면 탭문자를 구분자(Separator)로서 인식하지 못했습니다. 또한 유니코드라도 16비트 유니코드가 아닌, UTF-8 유니코드는 글자들이 모두 깨져 버렸습니다.



결론


'필드들이 탭으로 분리된 아스키 데이타 파일'을 유니코드로 저장하면, .txt 가 아닌 .csv 라는 확장자를 붙일 수 있습니다.





"[Perl/펄] 탭으로 분리된 CSV 파일에서 특정 필드만 추출: getField.pl" 이 게시물의 펄 스크립트는 일반 아스키 텍스트로 된 csv만 읽을 수 있습니다. 16비트 유니코드로 된 csv 파일을 읽을 수 있도록 버전업하려고 했는데, 펄은 16비트 유니코드를 잘 다루지 못하는 것 같았습니다. 잘 되지 않더군요. (업데이트: ▶▶ [펄/Perl] 윈도우용 유니코드(UTF-16LE) 파일 읽고 쓰기, 16비트 유니코드 입출력 참고)






그런데
위키 백과사전: CSV 항목을 보니, 제가 알고 있던 것보다 훨씬 더 복잡하군요. 셀에 개행문자까지 포함될 수 있다고 하는데...@_@
앞으로 CSV에 대해 계속 연구를 해보아야겠습니다...

☞ 오피스

Thursday, July 27, 2006

[QnA] cygwin1.dll 을 찾을 수 없습니다, 라는 에러가 나고 실행이 되지 않습니다

Cygwin(시그윈)용으로 컴파일된 exe 파일은 항상 cygwin1.dll 을 필요로 합니다.

cygwin1.dll 은 Cygwin을 설치하면,
\cygwin\bin
디렉토리 안에 들어 있습니다.

cygwin1.dll 을 필요로 하는 파일은, 리눅스용 프로그램을 윈도우에서 사용할 수 있게끔, Cygwin에서 C 소스를 컴파일한 것입니다.

그런데 cygwin1.dll 을 요구하는 파일들은 다른 DLL 들도 요구하는 경우가 많기에, DLL 을 직접 카피해 주는 것보다는 아예 Cygwin을 설치하는 것이 좋습니다. (▶▶ Cygwin (시그윈) 다운로드/설치법 [윈도우에 리눅스/유닉스 환경 만들기] 참조)



참고로, 시그윈을 설치하면 윈도우의 도스창에서도 각종 리눅스 명령어들을 사용할 수 있어 편리합니다.

시그윈은 무료이며 오픈 소스입니다.

[포토샵] 그림 옆/바깥쪽에 그리기, 여백 만들기, 그림 늘이기: Canvas Size

그림 자체의 크기는 그대로 유지한 채, 그림의 바깥쪽에도 그림을 계속 이어서 그리고 싶을 때,
또는 그림이나 사진 주위에 넓은 여백을 주고 싶을 때,
포토샵의 Canvas Size (캔버스 사이즈) 라는 기능을 사용하면 됩니다.

이것은 그림/사진의 원본 크기를 유지한 채, 포토샵 문서의 크기만 늘입니다.

(포토샵 7.0을 기준으로 설명)


포토샵 강좌: Canvas Size

클릭하면 확대 / 옆으로 스크롤 가능

* 포토샵으로 사진을 불러오거나, 새 문서를 만들어서 직접 그립니다.

* 포토샵 메뉴의 Image > Canvas Size 를 선택합니다. 또는 위의 예제 그림처럼, 포토샵 문서의 타이틀바를 마우스 우측 버튼으로 클릭하면 Canvas Size 라는 메뉴가 나옵니다. 그것을 선택하면 위의 그림 오른쪽처럼 Canvas Size 라는 대화상자가 나옵니다. 여기서 여백을 지정하고 OK 버튼을 누릅니다.

* 빨간 동그라미 (2)번 창이, 완성된 결과입니다. 이 하얀 여백에 그림을 이어서 그릴 수 있습니다.

* 빨간 동그라미 (3)번 창처럼, 여백을 투명하게 만들기 위해서는, 위의 그림 맨 우측 하단의 "레이어 팔레트"에서, 하늘색 화살표가 가리키는 "눈 아이콘"을 클릭하여 없애거나, Background(바탕) 레이어를 보라색 화살표가 가리키는 휴지통으로 드래그하여 버리면 됩니다.



캔버스 사이즈 대화상자의 자세한 사용법


Width 는, 새 "가로 길이",
Height 는, 새 "세로 길이" 입니다.


Anchor 라는 곳은 그림의 어느쪽에 여백을 추가할지를 지정하는 곳입니다.
위의 예제 그림에서는 가운데 부분이 눌러져 있습니다. 그래서 그림의 상하좌우로 똑같이 여백을 줍니다.

만약 북쪽 화살표 버튼을 누르면, 그림이 위쪽으로 올라가고, 그림의 아래쪽에만 여백이 생깁니다.

만약 북서쪽 화살표 버튼을 누르면, 그림이 위쪽의 왼쪽 코너로 몰리게 됩니다.


그런데 Relative(상대적) 라는 것이 중요합니다. 위에서 지정한 Width(가로 길이)와 Height(세로 길이)가 "상대적"인지 "절대적"인지를 정하는 곳입니다.

위의 예제 그림에서는 Relative 가 켜져 있습니다. 그래서 Widt와 Height에 100을 주면, 그림의 실제 크기가 어떻든 상관 없이, 그림에 무조건 100픽셀씩의 여백을 추가합니다.

만약 Relative 가 꺼져 있다면, 그림의 실제 사이즈가 나옵니다. 그래서 그림의 실제 사이즈에다, 만들 여백의 크기를 덧셈해 주어야 합니다.

Relative 가 ON 되어 있는 경우가 편리합니다.


☞ 포토샵 (Adobe Photoshop)

텍스트 문서의 줄바꿈문자 / 개행문자에 대해: 아스키 파일 CR LF

줄바꿈문자(개행문자)는 텍스트 편집기에서 엔터키를 쳤을 때 자동으로 찍히는, 눈에 보이지 않는 문자입니다. 다음줄로 강제로 줄바꿈하라는 표시입니다.

MS윈도우의 텍스트 파일의 개행문자는, 캐리지 리턴과 라인 피드로 이루어져 있습니다.

리눅스/유닉스용 텍스트 파일의 개행문자는, 라인 피드만 있습니다.

좀더 자세한 설명은 여기에:

▶▶ 텍스트 파일의, 행갈이(newline) 문자란?

▶▶ 텍스트 파일의, Line Feed (LF)와 Carriage Return (CR)이란?: 행갈이/행끝/줄바꿈 문자



참고: ☞ 줄바꿈(개행 문자)

☞ 텍스트 에디터/문서 편집기 (Text Editor)

유니코드(Unicode; UTF-8)와 한국어(euc-kr)의 차이점, 차이 [QnA]

유니코드는 전세계의 모든 문자를 한꺼번에 표현할 수 있는 인코딩입니다. 한글도 완벽히 표현할 수 있습니다. 유니코드에도 여러가지 종류가 있는데, 인터넷에 올릴 HTML 파일을 유니코드로 작성할 때는 반드시 UTF-8 이어야만 합니다. (윈도우에서 기본적으로 사용하는 유니코드는 UTF-8이 아닙니다.)

한국어(euc-kr) 는 '한글'과 '한국에서 통용되는 한자' 그리고 '영문'을 표현할 수 있습니다. 일본식 한자 / 중국어의 간체자 등은 표현할 수 없습니다. 또한 프랑스어의 악상이나 독일어의 움라우트 등도 표현할 수 없습니다. 다만 HTML문서의 경우 euc-kr로도, 외국 문자를 정확히 표현하는 방법이 있습니다. (▶▶ 한국어(euc-kr) 페이지에서 중국식 한자 구현 참조)


요즘의 외국 사이트들은 대체로 UTF-8을 사용합니다. 따라서 미래 지향적인 사이트를 만들려면 UTF-8이 좋습니다. 다만 UTF-8로 HTML문서를 만들면 파일의 용량이 다소 늘어나는 문제가 있습니다. euc-kr에서는 한글 1자가 2바이트지만, UTF-8에서는 한글 1글자가 3바이트입니다. 다만 영문이나 숫자나 공백이나 특수 기호 등은 1바이트입니다.



▶▶ [QnA] UTF-8 이란 어떤 인코딩입니까?


☞ 텍스트 에디터/문서 편집기 (Text Editor)

☞ HTML/CSS/자바스크립트(JavaScript)

[배치 파일] '컴퓨터 이름' 알아내기 / 출력하기: Get Computer Name

윈도우의 명령 프롬프트에서
echo %COMPUTERNAME%
이라고 하면, 현재의 "컴퓨터 이름"이 출력됩니다.



배치 파일로 만들면 다음과 같습니다.
@echo off

echo %COMPUTERNAME%


즉, %COMPUTERNAME% 이라는 환경변수에 컴퓨터 이름이 항상 들어가 있는 것입니다.


만약 컴퓨터 이름이 FOO-ASJE2PG 라면

화면에
FOO-ASJE2PG
라고 출력됩니다.


명령 프롬프트에서 set 이라고 쳐보면, 많은 환경변수(Environment Variable)들의 목록이 나타납니다.



참고로, '컴퓨터 이름'이란 컴퓨터의 상표명 같은 것이 아니고, 윈도를 설치할 때 개별PC를 구분하기 위해 지정해 준 일종의 ID입니다.


☞ BATCH/VBScript

☞ WINDOWS

[C언어] fopen()함수, 파일이름의 공백 처리는? / 빈칸 들어간 파일명의 파일 열기

비주얼C의 fopen()함수는, 파일명의 공백도 잘 인식합니다.


그런데 리눅스용 C에서는, 공백 바로 앞에 백슬래쉬(\)를 붙여서 이스케이프하면 될 것입니다.

fopen("My\ Test.txt", "rt") ...

그리고 원래 리눅스/유닉스의 파일명에는 공백이 들어갈 수 없습니다.




윈도우에서, 옵션으로 파일명 지정할 때


파일명에 쌍따옴표를 붙이면 됩니다.

만약 C로 만든 프로그램명이 foo.exe 이고, 옵션으로 지정해준 파일이
My Test.txt
이런 식으로 공백이 들어가 있다면

foo "My Test.txt"

이렇게 하면 실행이 됩니다. 만약 쌍따옴표를 붙이지 않는다면 foo.exe는 My 가 파일명인 것으로 착각하게 됩니다. 그래서 My 라는 파일을 찾을 수 없다고 에러가 납니다.


▶▶ [윈도우] 공백이 들어간 폴더명/파일명의 파일 실행하기 - Windows

☞ C/C++

[C언어 기초 예제] 실행할 때 지정해준 파라미터(옵션; 인수, Arguments) 얻기, 해석하기

Argument 란?


만약 dir 명령에 /a 옵션을 붙여서
dir /a
라고 실행시켰다면 /a 가 아규먼트가 됩니다. 쉽게 말해서, 실행시에 지정해 준 옵션입니다.



간단한 예제:
#include <stdio.h>
#include <stdlib.h> // exit() 함수를 위해

#define MAX_COLS 32768

int main(int argc, char *argv[]) {
  FILE *in;
  char s[MAX_COLS]; // 행이 1줄씩 임시로 저장될 버퍼

  if (argc == 1) { // 옵션이 없으면 도움말 출력하고 종료
    fputs("\nHelp: program_name <file_name>\n", stderr);
    exit(1);
  }


  if ( (in = fopen(argv[1], "rt")) == NULL) { // fopen() 함수로 파일 열기
    fprintf(stderr, "\nCannot open input file: %s\n", argv[1]);
    exit(1); // 모든 파일 닫고, 프로그램 종료
  }


  while (fgets(s, MAX_COLS, in) != NULL) { // 읽기 시작: 프로그램의 본체
    printf(s); // 한 줄씩 화면에 출력
  }


  fcloseall(); // 모든 파일 닫기
  return 0;
}


이 소스는 도스의 type 명령이나 리눅스의 cat 명령처럼, 옵션으로 지정해 준 텍스트 파일의 내용을 화면에 출력하는 것입니다.


main(int argc, char *argv[])
이 부분이 이 글의 핵심입니다.

main()함수는 프로그램의 본체입니다. 그리고 int argc, char *argv[] 이것에는 그 프로그램을 실행시킬 때 지정해 준 옵션들 즉 Argument 가 들어가 있습니다.

argc : 옵션의 개수. 옵션을 아무것도 지정하지 않으면 1, 옵션이 한 개면 2임. 옵션이 2개면 3임. 왜냐하면 argv[0]가 항상 있기 때문에.

argv[1] : 첫번째 옵션 문자열
argv[2] : 두번째 옵션 문자열
argv[3] : 세번째 옵션 문자열
...
...
...

argv[0] : 이것은 프로그램 자신의 파일명입니다. 위의 소스를 foo.exe 라는 이름으로 컴파일하고 foo 라고 실행시켰다면 argv[0] 는 foo 가 됩니다. 프로그래밍을 하다 보면 프로그램 자체의 파일명을 알아야 할 때가 있는데 그럴 경우 사용하는 것입니다. 이것은 항상 존재하는 아규먼트입니다.


따라서 위의 예제의
fopen(argv[1], "rt")
에서 argv[1] 은, 프로그램을 실행할 때 첫번째 옵션으로 지정해준 파일명의 파일을 열라는 것입니다.


위의 예제를 컴파일하여
foo test.txt
이렇게 실행해 주면 test.txt의 내용을 화면에 출력합니다.

foo 는 실행 파일명
test.txt 는 첫번째 옵션이 되는 것입니다.


foo test.txt
라고 실행하면
argv[1] 에는 test.txt 가 들어갑니다.




(참고로, "rt" 는, 파일을 '텍스트 모드'로 그리고 '읽기전용'으로 열라는 의미임)




▶▶ [C언어 예제] 텍스트 파일 열기; 명령 프롬프트 화면에 파일 내용 출력; 도스 type 명령

☞ C/C++

[포토샵] 사진/그림 모서리 둥글게 잘라내기, 귀퉁이 둥글게 하는 효과: Rounded Corners

(포토샵 7.0을 기준으로 설명)

(1) Ctrl+A키로, 사진을 전부 선택합니다. 흰개미들이 기어가는 듯한 점선이 사각형으로 생길 것입니다.

(2) 포토샵 상단의 메뉴: Select (선택) > Modify (변경) > Border (경계선)를 선택합니다. Width(굵기)를 1로 지정하고 OK를 누릅니다. 이 작업을 해 주지 않으면 아래의 Smooth가 작동하지 않습니다. 참고로, Modify 라는 것은 선택영역을 확장하거나 축소하거나 조작하는 기능들입니다.

(3) 포토샵 상단의 메뉴: Select (선택) > Modify (변경) > Smooth (둥글게) 를 선택합니다.

Smooth Selection (선택 영역을 둥그스름하게) 라는 대화상자가 나올 것입니다. Sample Radius 라는 입력창에 20 정도의 값을 입력합니다. 그림의 크기에 따라 적당한 값이 다릅니다. 그런 후 OK 버튼을 누릅니다.

이 Smooth 작업을 서너 번 반복합니다. 그렇지 않으면 모서리가 충분히 둥글게 되지 않습니다. 즉 (3)번 작업을 여러 번 반복해 줍니다.

※ 여기서 말하는 Smooth 란, '부드럽다'라는 뜻이라기보다는, '둥그스름하게 원만하게'라는 의미입니다. 그리고 Modify(마더파이)는, 변경이라기보다는 실은 '변형 혹은 조작'의 의미에 가깝습니다. 그렇다고 해서 부정적인 의미의 조작은 아닙니다. 한국어로 정확하게 옮긴다면 '손질하기' 정도가 적당할 것 같습니다.



(4) 포토샵 메뉴: Select > Inverse (선택영역 반전) 를 선택합니다.

(5) 포토샵 메뉴: Select > Feather 를 선택하여, 1~4 정도의 값을 지정합니다.

(6) 키보드의 Ctrl+C키를 눌러, 사진의 선택영역을 복사합니다.

(7) 키보드의 Ctrl+N키를 눌러, 새 문서를 만듭니다.

(8) 키보드의 Ctrl+V키를 눌러, 새 문서에 사진을 붙여 넣습니다.

이제, 모서리가 둥글게 된 사진으로 새 문서가 만들어졌습니다.




이 글의 핵심은 Select (선택) > Modify (변경) > Smooth (둥그스름하게) 에 있습니다. Smooth 는 현재 선택된 영역의 날카로운 모서리들을 둥글게 하는 기능입니다. 이 기능을 이용해, 사진의 모서리를 둥글게 하는 것입니다.


☞ 포토샵 (Adobe Photoshop)

Wednesday, July 26, 2006

헥사 코드 편집법 / 헥사 에디터(Hex Editor) 사용법 기초

UltraEdit-32 : Hex Edit Mode

울트라에디트의 헥사 편집 모드: 옆으로 스크롤 가능

헥사 에디터는 크게 3부분으로 나누어져 있습니다.

주소 부분


위의 그림의 맨 좌측은 번지입니다. 좀더 정확하게 말하자면 파일 속에 위치한 바이트의 현재 위치를 16진수로 나타낸 것입니다. (만약 10 바이트짜리 파일이 있다면, 첫 번째 바이트는 0번지이고 10번째 바이트는 9번지입니다.) 한 줄에 16개씩의 바이트들이 나열되어 있고 맨 좌측 바이트의 주소만을 나타냅니다.

가령 00000030h 라는 주소에는 30h ~ 3Fh 까지의 바이트들이 들어 있습니다. 3Fh 라는 것은 그 바이트가 16진수로 3F 번지에, 십진수로는 63번지에 있다는 뜻입니다. 파일의 처음부터 시작해서 64번째 바이트라는 의미입니다. (파일의 첫번째 바이트는 0번지)


바이트 편집 부분


화면의 가운데 부분이며 가장 넓은 부분입니다. 헥사 편집은 여기서 합니다. 그림에서, 현재 파일의 맨 첫 바이트의 값은 FF입니다. 이것을 만약 00 으로 바꾸려면, 화살표키로 커서를 그곳으로 옮긴 후 숫자키 0을 두번 눌러주면 됩니다.

글자 편집 부분


맨 우측에는, 바이트들이 실제 아스키 코드 (ASCII Code)로는 어떤 글자로 나타나는지가 나옵니다.

대문자 X 라는 글자의 아스키 코드는 16진수로 58 입니다. 그림 위쪽에 Xing 이라는 문자열이 있는데, 그 X에 해당하는 좌측의 바이트를 보면 58이라고 되어 있습니다.

만약 X 를 소문자 x 로 바꾸려면, 이 글자 부분에서 x 라고 적어주어도 되고, 바이트 부분에서 78이라고 적어 주어도 됩니다. (소문자 x 의 아스키 코드는 16진수로 78임)

※ 커서를 '글자 편집 부분'으로 옮기려면 키보드의 Tab키를 눌러주면 됩니다. Tab키를 한번 더 눌러주면 '바이트 편집 부분'으로 돌아갑니다.


이상은 헥사 에디터의 최소한의 사용법입니다. 만약 실행 파일을 조작하는 용도로 헥사 에디터를 사용하려면, 먼저 어셈블리를 배워야 합니다. 그런데 어셈블리라는 것이 엄청나게 어렵습니다. 물론 V3의 개발자이신 안철수 소장님은 하루 만에 어셈블리를 익혔다는 '전설'이 있긴 합니다...




▶▶ [QnA] 헥사 에디터란? 좋은 헥사 에디터(Hex Editor)는? : WinHex

[일본 우표 수집] 샤라쿠(東洲斎 写楽; Sharaku)의 가부키 배우 그림; 김홍도와의 관계? 日本 切手

에도 시대의 일본 화가인 샤라쿠(東洲斎写楽; とうしゅうさい しゃらく; Toshusai Sharaku)가 그린 가부키 배우들 그림을 우표로 발행한 것입니다. 샤라쿠는 갑자기 나타나서, 10개월 간에 140점의 그림을 한꺼번에 그린 후, 갑자기 온데간데 없이 사라진 미스터리한 인물입니다.

일본 우표: 샤라쿠(東洲斎 写楽; Sharaku) - 日本 切手




위쪽 우표


가부키 배우 市川 蝦蔵 Ichikawa Ebizo 의 초상화
1956년에 발행.
액면: 10엔


아래 좌측 우표


역시 가부키 배우인 大谷鬼次 (三代目) - Otani Oniji
1984년에 발행
액면: 60엔


아래 우측 우표


가부키 배우인 岩井半四郎 (四代目) - Iwai Hanshiro 4
1984년에 발행
액면: 60엔



김홍도가 샤라쿠였나?


몇 년 전에, 조선의 풍속화가인 김홍도가 일본에 건너가서 잠시 샤라쿠라는 이름으로 활동했다는 가설이 다큐멘터리 형식으로 방영된 적이 있었습니다. 그때는 반신반의했었는데 이 우표들을 보고 있으니까, 김홍도가 샤라쿠였을 가능성이 60%쯤으로 상승하는 기분입니다. 특히 56년에 발행된 위쪽 우표의 얼굴에서 어쩐지 김홍도다움이 감지되었기 때문입니다. (물론 이런 그림체는 보편적인 것이기 때문에 김홍도의 그것이라고 잘라 말할 수는 없을 것입니다. 탱화에서도 흔히 볼 수 있는 그림체인데 탱화가 김홍도의 영향을 받았을 리는 없겠지요.)

반면 아래쪽의 우표들은 그런 느낌이 상대적으로 희박한 편입니다. 도회적인 cool함과 현대적인 그로테스크함으로 가득 차 있습니다.


☞ 우표 수집

UltraEdit와 Vim을, IE용 '소스 보기' 프로그램으로 [레지스트리 편집] (울트라에디트)

레지스트리를 편집하여 수동으로 직접, HTML 소스 보기 프로그램을 지정해 주는 방법입니다.

레지스트리 편집기(Registry Editor)를 엽니다.
(윈도 시작 버튼 > 실행 > 실행 대화상자
에서 regedit 라고 치면 레지스트리 편집기가 실행됨.)


다음 주소를 찾아갑니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name

LOCAL_MACHINE 입니다. 엉뚱한 곳으로 찾아가지 않도록 주의합니다. 레지스트리 편집기에는 취소(Undo)기능도 없고 해서 초보자에게는 상당히 위험합니다.

Editor Name 이라는 곳에, (기본값)이라는 문자열값이 하나 있습니다. 그것을 클릭하면 편집창이 나옵니다.




울트라에디트를 'HTML 소스 보기' 프로그램으로


D:\Program Files\IDM Computer Solutions\UltraEdit\uedit32.exe

저의 경우 울트라에디터의 실행 파일인 uedit32.exe 가 있는 곳은 위의 주소입니다. 그래서 위의 주소를 편집창에 넣어 주었습니다.


Vim을 'HTML 소스 보기' 프로그램으로


소스 보기용으로는 Vim 중에서도, 윈도우용 GVim 이 적합합니다. gvim.exe 의 풀패스를 편집창에 적어 줍니다. 가령 저의 경우에는 이렇게 적어주었습니다.
D:\Program Files\Vim\gvim.exe


그런데 유니코드(UTF-8)로 된 웹페이지의 소스는 Vim에서 한글이 깨지더군요. 그래서 GVim 에서, 콜론(:)키를 쳐서 명령 입력 모드로 들어간 후

set enc=utf8

이렇게 하여 유니코드로 인코딩을 바꾸어 주어야 했습니다.
-_-




▶▶ HTML] 일본 웹페이지 소스 보기, 일본어 중국어 사이트 HTM 코드 뷰어 프로그램; Source Code Viewer

☞ 텍스트 에디터/문서 편집기 (Text Editor)

☞ HTML/CSS/자바스크립트(JavaScript)

[울트라에디트] HTML문법 강조 / 코드 폴딩 스크롤 속도 / 인코딩 문제 해결 - UltraEdit Code Folding

울트라에디트에서, HTML 문법 강조


울트라에디트(UltraEdit)로 웹페이지 소스를 볼 때, .html (.htm) 이라는 확장자가 붙지 않은 웹문서 파일에는 문법 강조가 전혀 되지 않습니다. 이때는

울트라에디트 메뉴: View > View As (Highlighting File Type) / HTML

을 선택하면, 현재 문서를 강제로 HTML 형식으로 문법 강조할 수 있습니다. (설령 그 문서가 HTML이 아니라고 해도 무조건 HTML로 문법 강조가 됩니다.)

다른 윈도용 프로그램도 마찬가지지만, 울트라에디터는 파일의 확장자에만 의존하여 파일의 종류를 구분하기 때문에, 그 HTML 문서에 확장자가 없다면 어떤 파일인지 몰라서 문법 강조를 못합니다.

그러나 Vim(VI) 에디터는 파일의 내용을 읽어서 파일의 형식을 판단하기에, 확장자가 없는 HTML도 대부분의 경우 HTML이라는 것을 자동으로 인식하여 문법 강조를 잘 해줍니다. 리눅스 vim 에디터의 윈도우용 버전을 "소스 보기" 프로그램으로 사용하면 됩니다. 여기에 방법이 있습니다: ▶▶ UltraEdit와 Vim을, IE용 '소스 보기' 프로그램으로 [레지스트리 편집] (울트라에디트)



HTML 문서의 스크롤 속도 문제


울트라에디트 버전11부터, "코드 폴딩 (Code Folding)" 기능이 생겼습니다. 각종 프로그래밍 소스에 있는 함수의 내용을 숨겨, 함수 이름만 간략히 보여 주고, 필요할 경우에 함수명 앞의 [+] 기호를 클릭하면 함수의 내용이 펼쳐지는 기능입니다.

복잡한 HTML 문서에는 많은 자바스크립트 함수가 있고, 코드 폴딩 루틴 때문에 울트라에디터가 엄청나게 느려지게 됩니다.


울트라에디트 메뉴: Advances > Configuration
으로 환경설정 창을 연 후

Editor Display > Code Folding > Enable show/hide lines and code folding
을 체크 해제하면 코딩 폴딩 기능이 사라지며, 울트라에디트가 HTML 문서를 스크롤하는 속도가 빨라집니다.




한글 인코딩 오류 문제


울트라에디트는 파일 속에 charset=utf-8 이라는 문자열이 있다면 무조건 UTF-8을 인코딩으로 삼습니다. 편리한 기능이기도 하지만 아주 위험합니다. 왜냐하면 만약 파일의 실제 인코딩이 "한국어(euc-kr)"인데도 그 안의 어느 곳에서든 "charset=utf-8" 이런 문자열만 발견되면 울트라에디터는 그 파일 자체를 유니코드(utf-8)로 착각하게 되기 때문입니다. 이 상태에서 파일을 저장하면 그 파일 속의 한글이 모두 깨져 버리고 영영 복구할 수 없게 되어 버립니다.


이런 방법으로 이 기능을 끌 수 있기는 한데...
울트라에디트 메뉴: Advances > Configuration
으로 환경설정 창을 연 후

File Handling > Unicode/UTF-8 Detection > Auto detect UTF-8 files
를 체크 해제하면 이 기능이 작동하지 않습니다. 그러나 이러면 진짜 UTF-8 파일도 인식하지 못하고 한글이 다 깨져 버리더군요. 그래서 저는 어쩔 수 없이 이 기능을 켜고 있습니다.

울트라에디트의 한계일 것입니다.

다만, EmEditor 는 이런 인코딩 문제가 없고 어떤 경우든 한글을 완벽히 자동 판단합니다.

☞ 텍스트 에디터

[VBS] 몇 초 후에, Popup, MsgBox 대화상자 저절로 사라지게 - VBScript

비베 버튼 클릭 없이, 자동으로 메시지 박스 없애기, MsgBox 끄는 법 예제


MsgBox 가 아닌 Popup 이라는 대화상자를 사용해야 합니다. 그런데 Popup 은 엑셀VBA에서는 사용할 수 없었습니다.

Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Popup "3초 후에 자동으로 이 대화상자가 사라집니다.", 3, "여기에 제목"


맨 마지막 줄에 3 이라고 되어 있습니다. 3초 후에 메시지 박스가 자동으로 없어진다는 의미입니다. 5로 바꾸면 5초 후에 자동적으로 사라집니다.

위의 예제를, 0.vbs 등의 이름으로 하드에 저장하고 클릭하면 대화상자가 나오고 3초 후에 자동으로 사라집니다.



☞ BATCH/VBScript

Tuesday, July 25, 2006

[포토샵 강좌] 사진/그림의 특정 부분만 자르기, 불필요한 곳 잘라내기: Crop Tool

(포토샵 7.0을 기준으로 설명)


방법 1: Crop Tool 사용으로 사진 잘라내기


포토샵: 사진/그림의 특정 부분만 자르기: Crop Tool



우선 키보드의 f키를 눌러, 포토샵 편집 바탕을 회색으로 만듭니다. 이래야 선택 영역 만들기가 쉽습니다. f키를 2번 더 누르면 원래로 돌아옵니다.

빨간 화살표가 가리키는 Crop Tool 을 클릭하고, 사진을 마우스로 드래그하면 위의 그림처럼 사각형으로 영역이 만들어집니다. 어두운 부분은 잘려 나갈 부분입니다. 이제 키보드의 Enter 키를 치면 밝은 부분만 남게 됩니다. 즉 그림의 면적이 작아지게 됩니다.

이러면 사진/그림의 필요한 곳만 취하고 나머지는 버릴 수 있습니다.




방법 2: Rectangular Marquee Tool (사각 선택 도구) 사용으로


* 파란 화살표가 가리키는 선택 툴을 클릭한 후, 사진에 마우스를 드래그하여 선택 영역을 잡습니다. 흰개미들이 기어가는 듯한 점선이 나타날 것입니다. (바로 아래쪽의 올가미 툴을 선택하면 사각형이 아닌 자유곡선으로 선택영역을 만들 수 있습니다.)

* 키보드의 Ctrl+C 키를 눌러 선택 영역의 사진을 복사합니다.

* 포토샵 메뉴: File > New 로, 새 문서를 만듭니다. 또는 Ctrl+N 키를 눌러도 새 문서가 만들어집니다. 현재 메모리에 복사된 그림의 크기와 똑같은 크기의 새 문서가 만들어지게 됩니다.

이제 키보드의 Ctrl+V 키를 눌러 새 문서에 사진을 붙여 넣습니다. 그러면 이제 사진의 특정 부분만이 남게 됩니다.


더 읽기: ☞ 포토샵 (Adobe Photoshop)

포토샵] 사진 바깥쪽 배경, 뿌옇게 흐리게 만들기; 안개 낀 듯한 효과 - Photoshop: Foggy Edge Effect

(포토샵 7.0을 기준으로 설명)

주로 인물사진에서, 얼굴 부분은 선명하게 놔두고 주위의 배경 부분만 안개 낀 듯이 흐리게 만드는 효과입니다.

포토샵: 사진의 외곽 흐리게 - Photoshop: Foggy Edge Effect



* 빨간 화살표가 가리키는 올가미 툴을 선택한 후, "뿌옇게 만들지 않을 영역" 즉 "계속 선명해야 할 영역"을 그려 줍니다.

* 포토샵 메뉴: Select (선택 영역) > Feather 를 선택하여, Feather 대화상자를 꺼냅니다. Feather Radius 를 30쯤 지정하고 OK버튼을 누릅니다. 선택영역이 부드럽게 되었을 것입니다.

* 포토샵 메뉴: Select (선택 영역) > Inverse (반전) 를 선택하여, 선택 영역을 뒤집어 줍니다.

* 키보드의 Del 키를 1~2번 누릅니다.

* 사진의 주위가, 위의 예제 그림처럼 희부옇게 흐려질 것입니다.




▶▶ 포토샵] 사진 초점 흐리게 만들기 - Gaussian Blur - Photoshop

☞ 포토샵 (Adobe Photoshop)

익스플로러(IE)에서 한글/일본어/중국어 글꼴이 깨질 때, 해결법은?

* 브라우저 화면에서, 마우스 오른쪽 버튼을 클릭합니다.

* 인코딩이라는 항목이 있을 것입니다. 그것을 선택하면 한국어 / 일본어(자동 선택) / 유니코드(UTF-8) / 중국어 간체 번체 등의 각종 언어에 맞는 인코딩이 있습니다. 거기서 적절한 인코딩을 선택하시면 됩니다.

* 또는, 자동 선택 이라는 항목이 있습니다. 그것에 체크해 놓으시면 브라우저가 인코딩을 항상 자동으로 판단해 줍니다. 그러나 이 '자동 선택' 기능이 완벽하지 않고 버그가 있어서, 잘 보이던 웹사이트마저 갑자기 안 보이거나 글자가 깨질 수 있습니다.



'인코딩 아이콘'을 IE의 상단 툴바에 추가하면 편리합니다. 방법은 여기에 있습니다: ▶▶ IE(익스플로러)에, '인코딩 자동선택' 아이콘을 툴바(도구 모음)에 추가하기: Encoding Auto-Select



더 읽기: ☞ WINDOWS

IE(익스플로러)에, '인코딩 자동선택' 아이콘을 툴바(도구 모음)에 추가하기: Encoding Auto-Select

익스플로러(IE) 인코딩 자동선택

클릭하면 확대 / 옆으로 스크롤 가능

(1)번 그림의 청색 화살표가 가리키는 부분을, 마우스 우측 버튼으로 클릭하면 메뉴가 나옵니다. 사용자 지정이라는 곳을 선택합니다.

그러면 (2)번 대화상자가 나옵니다. 좌측 목록에서 인코딩이라는 아이콘을 선택한 후 추가 버튼을 누릅니다. 그런 후 닫기 버튼을 누릅니다.

이제 그림 맨 우측의 (3)번 그림처럼 인코딩 아이콘이 툴바에 생겼습니다. 그것을 클릭하면 여러가지 인코딩을 쉽게 선택할 수 있습니다.

그런데 "자동 선택"에 체크하면 편리하긴 하지만, 잘 보이던 사이트의 한글도 갑자기 깨져 버리는 경우가 많으니 주의가 필요합니다. (▶▶ 블로거(blogger.com)의 인코딩 버그 완벽 해결법 참고)


※ 실은 (1)번 그림에는 이미 "인코딩 아이콘"이 추가된 상태임.



더 읽기: ☞ WINDOWS

[포토샵] 사진의 색을 CMYK 모드로 바꾸기 / Gamut Waning 이란?

(포토샵 7.0을 기준으로 설명)

포토샵은 기본적으로 RGB 모드를 사용합니다. 즉 "빛의 삼원색" 모드입니다. 그러나 사진/그림을 인쇄하기 위해서는 CMYK 모드 즉 "4색 인쇄" 모드로 변환해 주어야 합니다.

포토샵 메뉴: Image > Mode > CMYK Color
를 선택하면, 현재 사진이 CMYK 모드로 변환됩니다.


Gamut Waning


CMYK 모드는 밝고 화려한 색은 제대로 표현할 수 없습니다. 잉크의 표현력에 한계가 있고, 특히 모니터와 달리 잉크는 빛을 내지 않기 때문입니다.

즉 RGB모드에서 CMYK 모드로 변환하면 손실되는 색이 있습니다.

사진을 CMYK 모드로 변환하기 전에, RGB모드 상태에서
포토샵 메뉴: View > Gamut Waning
을 선택하면, 손실되는 모든 색들을 회색으로 표시해 줍니다.

회색으로 변하는 부분이 가급적 없도록 조정해 준 후, CMYK 모드로 변환하는 것이 좋습니다.


더 읽기: ☞ 포토샵 (Adobe Photoshop)

일본 한자 <―> 한국 한자로 서로 바꾸는 표는? - Kanji Hanja

▶▶ 일본 한자 / 한국 한자 대조표 : Japanese Kanji / Korean Hanja Convert Table 여기에 보시면 모든 일본식 한자를 한국 한자로 변환한 도표가 있습니다. 브라우저의 "찾기" 기능으로 필요한 한자를 찾아보시면 됩니다. (키보드의 Ctrl+F 키를 누르면 "찾기"가 나옵니다.) 좌측은 일본 한자, 우측은 일본 한자에 대응하는 한국 한자입니다.



필요한 한자 복사


마우스로 드래그하여 필요한 한자를 선택한 후, Ctrl+C 키를 누르면 한자가 복사됩니다. 워드프로세서 등에서 Ctrl+V 키를 누르면, 방금 복사한 한자가 문서에 붙여 넣어집니다.

단, 일본 한자는 유니코드 텍스트 파일이나, Shift-JIS 또는 EUC-JP 등의 인코딩에서만 사용이 가능합니다.

MS워드 등의 워드프로세서는, 유니코드가 기본이기에 잘 붙여넣어질 것입니다.


더 읽기: ☞ 학습

윈도우XP에 클리어타입 적용하기 - ClearType 켜기

* 윈도우XP의 바탕화면에서 마우스 오른쪽 버튼을 클릭하면 작은 메뉴가 나옵니다. 속성(R) 이라는 곳을 클릭합니다.

* 디스플레이 등록 정보 라는 창이 나올 것입니다. 그곳에서 화면 배색이라는 탭을 클릭합니다.

* 효과(E) 라는 버튼이 있을 것입니다. 그것을 누르면 효과 라는 창이 나옵니다.

* 화면 글꼴의 가장자리를 다듬는 데 다음 방법 사용(S) 이라는 항목이 체크되어 있어야 합니다. 그리고 그 밑에 작은 목록창이 있을 것입니다. 목록창에는, 표준ClearType 2가지 아이템이 있습니다. ClearType 을 선택해 주고, 확인 버튼을 누릅니다.

* 그런 후 디스플레이 등록 정보확인 버튼도 누릅니다.

* 이제 클리어타입이 적용되었습니다. 자신이 자주 가는 사이트를 웹브라우저로 방문해서 테스트해 봅니다. 되도록 영문 사이트가 좋습니다.



※ 윈도우XP에는 '한글 클리어타입 폰트'가 하나도 없습니다. 그래서 한글은 클리어타입으로 보이지 않습니다. 이때는, 윈도우 비스타에 있는 '맑은 고딕' 폰트를 윈도우XP의 폰트 폴더에 복사해 주면 한글도 클리어타입으로 나옵니다. 현재 아크몬드님의 비스타 블로그에 맑은 고딕이 적용되어 있습니다.

※ 클리어타입은, LCD 모니터를 위한 것입니다. 일반 CRT 모니터에서 클리어타입을 사용하면 글자들이 희미하게 보여서 눈이 침침하고 아프게 됩니다.



윈도 기본 글꼴을 맑은 고딕으로 변경 방법: ▶▶ 윈도우 기본 글꼴 변경 방법, 광수체, 맑은 고딕 지정 Windows UI Font Change

[한글 띄어쓰기] 받다, 받는, 받아, 받을, 받고, 받으니, 받습니다

[1] 남이 주는 것을 받는다는 의미의 '받다'는 동사입니다. 그래서 띄어 씁니다.

선물을 받다.
선물 받다.
햇빛 받다.

참고: '성난 소가 뿔로 사람을 받다.'의 '받다'도 동사이기에 띄어 씁니다.



[2] '무엇을 당하다/입다'라는 의미의 '받다'는 접미사입니다. 그래서 붙여 씁니다. (명사 뒤에만 접미사 '받다'가 붙습니다. 그러나 물질 명사 뒤에는 붙을 수 없습니다.)

강요받다.
버림받다.
주목받다.
사랑받다.

참고: '선물받다'로 붙여 써도 될 것 같지만, '선물을 당하다'로 바꾸어 보면 부자연스럽기에 띄어 씁니다.




더 읽기: ☞ 학습

윈도우 XP에서, 도스로 가려면? 도스창이 있는 곳은? [QnA]

윈도의 <명령 프롬프트> 를 사용하시면 됩니다.


그런데 윈도우2000이나 윈도우XP 이상의 운영체제에는 엄밀한 의미에서의 도스는 없습니다. 도스창처럼 생겼을 뿐 진짜 도스는 아닙니다.

물론 dir 등의 도스 명령어는 "명령 프롬프트창"에서 전부 사용할 수 있지만, 도스 게임 등은 윈도우의 도스창(명령 프롬프트)에서 실행이 잘 되지 않거나 다운(먹통)이 됩니다.

도스 게임 등은 윈도우XP 등에 <도스박스(DOSBox)> 라는 무료 프로그램을 설치한 후, 도스박스 안에서 도스용 게임을 하시면 됩니다.


도스 박스 안에서는, 도스 시절에 유명했던 고전 게임들을 거의 대부분 윈도우XP 나 윈도우 비스타에서도 즐길 수 있습니다.

비록 외국산 프로그램이지만 국내에도 도스 박스 사용자들이 아주 많습니다.


☞ WINDOWS

Monday, July 24, 2006

[3ds Max] 맥스6을 실행하면, 다른 프로그램에 딜레이(실행 지연)가 생기는 문제 해결법

맥스 6이 실행된 상태에서는 노트패드 등의 작은 프로그램도 즉시 실행되지 않고 3~5초간의 딜레이가 생기는 경우가 있습니다. 다만 최신인 맥스8에는 그런 문제가 없었습니다.

이때는, -q 옵션을 주어서 max를 실행시키면 해결됩니다. 즉 맥스의 "바로가기 아이콘"의 "대상"의 끝에, 한 칸 띄우고 -q 를 붙이는 것입니다.


또한 -q 옵션은 맥스의 로딩을 10초 정도 빠르게 하더군요. 원래 50초 정도 걸리는 로딩이 -q 옵션을 붙이면 40초 정도로 줄어들었습니다.

맥스가 실행되면 맥스 로고가 나타나는데, -q 옵션은 원래 맥스 로고가 나오지 않게 하며 실행시키는 옵션입니다.

맥스8의 로고에는 그림만 있지만, 맥스 6의 로고에는 핫키들이 표시되었는데 아마 이것이 문제를 일으키는 것 같습니다.



더 읽기: ☞ 3ds Max

[윈도우용 grep] find 보다 더 강력한 findstr 명령

지난번에 윈도우의 find 명령에 대해 글을 썼는데, 더 강력한 findstr 명령이 있다는 사실을 깜빡 잊었습니다.

윈도우의 find 명령은 사실상 폐기된 것이고, findstr 로 대체되었습니다.

윈도우에 내장된 findstr 은 유닉스의 grep 에 비견할 수 있을 만큼 기능이 풍부하고 강력합니다. 사실 grep 을 MS에서 윈도우용으로 만든 것이고 일종의 '짝퉁'입니다. 윈도98에는 없고 윈도2000이상에만 있습니다. 윈도NT에도 있을 것 같습니다.

그런데 문자열 찾기 명령의 표준은 grep 입니다. MS에서 만든 것은 윈도 이외의 OS에서는 먹히지 않기 때문에, 되도록 grep을 익히는 것이 좋습니다. 윈도우에서도 Cygwin(시그윈)을 설치하면 grep 명령을 쓸 수 있습니다.


findstr 의 도움말 화면:
D:\Z>findstr /?
파일에서 문자열을 찾습니다.

FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P]
         [/F:파일][/C:문자열] [/G:파일] [/D:디렉터리 목록] [/A:색 속성]
         [문자열] [[드라이브:][경로]파일이름[ ...]]

  /B        패턴이 행의 첫부분에 있는지를 비교합니다.
  /E        패턴이 행의 끝부분에 있는지를 비교합니다.
  /L        찾는 문자열을 글자 그대로 사용합니다.
  /R        찾는 문자열을 정규 표식으로 사용합니다.
  /S        현재 디렉터리와 모든 하위 디렉터리에서 일치하는 파일을 찾습니다.
  /I        찾을 때 대/소문자를 구별하지 않습니다.
  /X        정확히 일치하는 줄만 보여줍니다.
  /V        일치하는 텍스트가 없는 줄만 보여줍니다.
  /N        일치하는 각 줄 앞에 줄 번호를 보여줍니다.
  /M        파일에 일치하는 텍스트가 있으면 파일 이름만 보여줍니다.
  /O        일치하는 각 줄 앞에 문자 오프셋을 보여줍니다.
  /P        인쇄할 수 없는 텍스트가 포함된 파일은 건너 뜁니다.
  /A:속성   색 속성을 두자리 16진수로 지정합니다. "color /?"를 참조하십시오.
  /F:파일   지정된 파일에서 파일 목록을 읽습니다('/'는 콘솔에 해당됩니다).
  /C:문자열 지정된 텍스트를 글자 그대로 찾는 문자열로 사용합니다.
  /G:파일   지정된 파일로부터 찾는 텍스트를 받습니다('/'는 콘솔에 해당됩니다).
  /D:디렉터리    디렉터리 목록을 구분하는 세미콜론(;)를 찾습니다.
  문자열    찾을 텍스트.
  [드라이브:][경로]파일이름
            찾을 파일을 지정합니다.

/C 옵션을 사용한 경우가 아니면, 찾는 문자열을 여러 개 지정할 때
공백으로 분리하십시오. 예를 들면, 'FINDSTR "hello there" x.y' 명령을
입력하면 파일 x.y에서 "hello"나 "there"을 찾습니다.
반면에 'FINDSTR /C:"hello there" x.y' 명령을 입력하면 파일 x.y에서
"hello there"을 찾습니다.

정규 표식에 대한 참고 사항:
  .        와일드카드: 모든 문자
  *        반복: 문자나 클래스에 대하여 0번 이상 반복
  ^        행 위치: 행의 앞부분
  $        행 위치: 행의 끝부분
  [클래스]  문자 클래스: 세트에 있는 문자
  [^클래스] 역 클래스: 세트에 없는 문자
  [x-y]      범위: 특정 범위에 있는 문자
  \x         익스케이프: 메타 문자 x를 문자 그대로 사용
  \<xyz    단어 위치: 단어의 앞부분
  xyz\>    단어 위치: 단어의 끝부분

Findstr에서 사용 가능한 일반 기호는 온라인 명령을 참조하십시오.


D:\Z>



▶▶ 윈도우 도스창에서 정규식 사용법 - Windows XP regex FINDSTR

▶▶ [grep.exe] 유닉스/리눅스의 grep 을 윈도우에서 사용하기: 문자열 찾기

☞ WINDOWS

윈도우에서, 문자열 치환 방법, 많은 문서의 문자열 한꺼번에 바꾸기: Replace in Files

하나의 문서에 있는 문자열들을 치환하는 방법은, 메모장 등으로 그 문서를 열어서 "바꾸기"를 하면 됩니다.


그런데 많은 파일들 속의 특정 문자열을 한꺼번에 모두 바꾸려면 메모장으로는 안됩니다. 그런 경우에 제가 쓰는 방법은 울트라에디트(울트라에디터; UltraEdit)Replace in Files 기능입니다.

울트라에디터 상단의 풀다운메뉴에서
Search > Replace in Files (파일들 속의 문자열 치환) 를 선택하면

Replace in Files 라는 대화상자가 나옵니다.




Find: (찾을 문자열)

Replace With (대체할 문자열)

In Files/Types (치환 작업 대상이 될 파일의 종류; 와일드 카드)
*.* 는 모든 종류의 파일을 의미하고
*.txt 는 텍스트 파일만
*.htm* 는 htm 과 html 파일을 동시에 의미

Directory(작업 대상 파일들이 들어 있는 폴더)

Replace All (모두 바꾸기) 버튼을 누르면 치환 작업이 시작됩니다. 바꿀 때마다 물어보지 않고 한꺼번에 치환해 버리기 때문에 주의가 필요합니다.



많은 파일들 속의 문자열을 한꺼번에 바꾸는 작업에는 상당한 위험이 따릅니다. 잘못하면 파일들을 못쓰게 만들 수도 있습니다. 그래서 치환 작업 대상이 될 파일들을 임시 폴더에 카피해서 몇 번 치환 테스트를 해보아야 합니다. 특히 유니코드나 한글 문자열을 치환할 때 에러가 나기 쉽습니다.


※ 그리고 이런 치환 작업은 텍스트 파일 즉 아스키 파일에서만 됩니다. 워드프로세서 파일이나 엑셀 파일 같은, 이진 파일로 된 문서 속의 문자열은 울트라에디터로 치환할 수 없습니다.



더 읽기:
☞ 텍스트 에디터

☞ HTML/CSS/JavaScript

Cygwin(시그윈)에, Perl(펄) 설치하는 법은?

Cygwin(시그윈) 설치 화면에, "Select Packages (패키지 선택)"라는 메뉴가 있습니다.

패키지 선택 메뉴의 목록 아래쪽에 Perl 이라는 카테고리가 있는데, [+] 기호를 클릭해서 항목을 펼친 후, Default 라는 글자를 클릭하면 Install 로 변합니다. 그러면 펄과 펄에 관련된 파일들이 모두 선택됩니다. 그 상태에서 시그윈을 인스톨하시면 됩니다.

만약 윈도우에서 펄을 사용하려는 목적으로 시그윈을 설치하는 경우에는, 시그윈 안에 있는 펄보다, 액티브펄(ActivePerl)이 더 좋습니다.

다만 액티브펄(ActivePerl)은, 시그윈의 bash 셀 안에서는 잘 작동하지 않았습니다.




참고로, 시그윈의 "Select Packages (패키지 선택)"는 대화창이 너무 작아서 불편한데, 타이틀바를 더블클릭하면 전체 화면 크기가 되어 편리합니다.


더 읽기:
☞ Perl

☞ 리눅스

[시/문학] 강은교 시인(동아대 교수님)의 워드프로세서 사용담 - Word Processor

"[추억의 스샷] HWP v1.5 (아래아한글 1.5) - 1991년의 워드프로세싱 환경"" 이 글을 쓰기 위해 자료를 검색하다 보니 이런 기사가 나오더군요:


강은교 시인의 워드프로세서 사용담


2000년 주간조선의 "[강은교 엿보기] 랩을 시에 응용할 수 없을까 고심중" 이라는 기사에 보면, 강은교 시인은, 워드프로세서를 90년대 초부터 사용하셨다는 내용이 있습니다. 얼리 어댑터이신 것 같습니다.

▲집필 도구 = 워드프로세서를 90년대 초부터 사용. 고치기 편하니까. 이전 '펜 시절'에는 학생들에게 '세상에서 제일 부드러운 펜'을 자문받을 정도로 우리나라에서 나오는 거의 모든 펜을 다 써보았다. 어깨가 아팠으니까. 요즘은 퇴고도 화면상에서 한다. 이래도 되는 건지….


다만 강은교 시인께서 사용하셨다는 워드프로세서가 '하드웨어 워드 프로세서'인지 아래아한글1.5인지는 잘 추측되지 않습니다. 아마 전자일 것 같습니다. 그 당시에는 PC를 사용하는 문인들이 거의 없었습니다.


※ 강은교 시인은 동아대 문예창작과 교수님이십니다.

더 읽기: ☞ 독서

[일본 애니메이션 우표] 우주 소년 아톰, 만화가 데즈카 오사무(手塚治虫) - 鉄腕アトム 切手

우주 소년 아톰(원제: 鉄腕アトム Tetsuwan Atomu)을 그린 만화가인 데즈카 오사무(手塚治虫 Tezuka Osamu)와, 아톰의 우표입니다.


일본 애니메이션 우표: 우주 소년 아톰, 데즈카 오사무(手塚治虫) - 鉄腕アトム 切手



데즈카 오사무는 아톰 외에 다른 만화도 그렸는데 그 캐릭터들이 상단 좌측 우표에 있습니다.

상단 우측의 만화는 데즈카 오사무의 자화상입니다.

위쪽 우표 2장은
발행일: 1997년 1월 28일
액면: 80엔


밑에 있는 우표는 2003년에 별도로 발행된 것입니다.


도라에몽 우표 사진: ▶▶ 도라에몽 우표 사진, 일본 만화, 애니메 우표; Doraemon Manga Stamp

[윈도우] 공백이 들어간 폴더명/파일명의 파일 실행하기 - Windows

윈도우에서는 파일과 폴더 이름에 공백(스페이스)이 들어갈 수 있습니다. 즉 빈 칸이 들어갈 수 있습니다. 그런데 이러면 문제가 생기는 경우가 많습니다.

가령 명령 프롬프트에서

D:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE

이렇게 입력하면 EXCEL.EXE가 실행되지 않고 엉뚱하게, D:\Program 이 실행되며 에러가 납니다.

D:\Program 을 실행 파일로
Files\Microsoft Office\OFFICE11\EXCEL.EXE 를 옵션으로 오인하는 것입니다.

이때는
"D:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE"
이렇게 쌍따옴표로 둘러싸 주면 해결이 됩니다.

공백도 폴더명의 한 부분이라는 사실을 윈도우에게 알려주는 것입니다.

즉, 공백 때문에 문제가 생기면, 그 폴더명이나 파일명을 쌍따옴표로 둘러싸 주면 되는 것입니다.



▶▶ 도스(DOS)에서, Program Files 폴더 지정/입력하는 법은?


☞ BATCH(.BAT)/VBScript(.VBS)

☞ 윈도우(WINDOWS)

배치 파일(Batch File), 주석문/주석 처리 방법; 코멘트,설명 문 달기; Comment

배치파일에서는 rem 이라는 예약어로 주석 처리를 할 수 있습니다. 어떤 코드나 문자열 앞에 rem 을 붙이면 주석문(remarks)이 되어 설명을 마음대로 적을 수 있습니다.

즉 rem 이라는 문자열 뒤쪽은 실행에서 무시됩니다.

배치파일(일괄파일) 주석 처리 방법, 주석 붙이기


@echo off

rem 이것은 배치 파일에 설명문을
rem 붙이는 간단한 예제입니다.

dir




: 이것은 배치 파일에 설명문을
: 붙이는 간단한 예제입니다.

dir




:: 이것은 배치 파일에 설명문을
:: 붙이는 간단한 예제입니다.

dir




::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 이것은 배치 파일에 설명문을
:: 붙이는 간단한 예제입니다.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
dir



변칙적인 주석문


배치파일의 GOTO문에서 라벨로 사용되는 콜론(:)을 주석 처리 기호로 사용할 수도 있습니다. 위의 예제의 2, 3, 4번째 경우입니다. 이러면 보기도 깔끔하고 타이핑도 쉽지만 IF문 속에서 사용한다거나 할 때는 에러가 나더군요.

3번째 경우는 콜론 2개를 연속으로 :: 이렇게 쓰는 것입니다.

배치 파일을 문법 강조*할 때, 콜론 1개는 주석으로 인정하지 않습니다. 사실 주석이 아니기 때문입니다.
그런데 :: 이렇게 2개를 쓰면 주석으로 인정해 줍니다.

* 울트라에디터에서 배치 파일을 문법 강조하려면 울트라에디트 사이트에 가서 배치 파일 문법 강조용 파일을 다운로드받은 후, 울트라에디터 설치 폴더 안에 있는 wordfile.txt 파일을 편집하여 넣어주어야 합니다. 그래서 좀 복잡합니다. 다만, Vim(VI) 에디터는 배치 파일도 기본적으로 문법 강조를 해 줍니다.


4번째 경우처럼
:::::::::::::::::::::::::::::::
콜론을 여러 개 붙여서 선을 그어 주어도 됩니다.




결론


rem 을 앞에 붙이거나
또는
:: 을 앞에 붙이면, 그 행이 모두 주석이 됩니다.


[Perl/펄] 탭으로 분리된 CSV 파일에서 특정 필드만 추출: getField.pl

CSV* 파일을 다루기 위해서는 Text::CSV 모듈을 사용하라고, 오레일리(O'Reilly)의 책들에는 나와 있었습니다. 그러나 실제로 해보니 Text::CSV 모듈이 제대로 작동하지 않았고 기능도 빈약했습니다.

* 엑셀 등의 스프레드 시트 프로그램에서, 데이터를, 콤마로 분리된 아스키 파일로 저장한 것. 여기서 다루는 것은 콤마가 아닌 탭으로 분리된 데이터 파일이기에 엄밀한 의미에서의 CSV 포맷은 아님.

Perl Cookbook 에는 정규식으로 CSV 를 처리하는 예제가 있었는데 그것마저도 작동하지 않았습니다. CSV의 콤마와 쌍따옴표 문제가 의의로 복잡하고 문제가 많다는 사실만을 알게 되었습니다. 흔히 쓰는 기호인 콤마로 필드를 구분하는 것은 역시 무리였습니다.

탭(Tab)으로 구분하는 것이 가장 이상적이었습니다. 엑셀 등에서는, 탭키를 누르면 다음 셀로 이동할 뿐, 셀 안에 탭 문자가 들어가지는 않습니다.

그래서 "탭으로 분리된 파일"에서, 옵션으로 지정해 준 특정 필드만을 출력하는 펄 스크립트를 만들었습니다.


getField.pl 이라는 것인데, 며칠 전에 포스팅한 CSV 다루는 예제를 조금 실용적으로 만든 것입니다. (▶▶ [Perl/펄] CSV / 간단한 목록 파일에서, 몇 번째 필드(Field)만 추출하기 [오피스/엑셀] 참조)

사용법은 간단합니다. 탭으로 필드들이 분리된 데이터가 만약 foo.txt 라는 이름으로 저장되어 있다면

getField.pl foo.txt
라고 하면 foo.txt의 첫번째 필드만이 명령 프롬프트 화면에 출력됩니다.

getField.pl foo.txt 2
라고 하면 두번째 필드가 나옵니다.



getField.pl 코드:
#!/usr/bin/perl
use strict; use warnings;



&help if not defined $ARGV[0]; # 옵션이 하나도 없으면 도움말 출력

open FH, "<", $ARGV[0] or die "$!: '$ARGV[0]'\n";


my $separator = "\t";        # 분리 기호 정의

my $n = 0; # 첫 번째 필드는 1, 두 번째 필드는 2; 내부적으로는 0을 1로 간주.

# 옵션 해석
if (defined $ARGV[1] && &IsInt($ARGV[1])) {
  $n = $ARGV[1] - 1;
  $n = 0 if ($n <= 0 );
}



  foreach (<FH>) {
    next if $_ =~ /^\s+$/;        # 빈줄이면 다음 줄로 통과
    @_ = split /$separator/;        # 분리자를 기준으로 분리하여 레코드를 배열에
    chomp @_;                        # 요소들 끝의 행갈이 문자 제거
    print $_[$n], "\n" if defined $_[$n];        # n번째 요소 출력
  }

  close(FH);




sub IsInt { # 10진수, 16진수 정수이면 참을 반환
  ($_[0] =~ /^[+-]?\d+$|^0x[\da-fA-F]+$/) ? 1 : 0;
}


sub help {
  die <<TEXT;

        탭으로 분리된 데이터 파일에서, N번째 필드만 추출하기
        기본값은 1번째 필드

        두 번째 옵션을 3으로 지정하면, 세 번째 필드

        Usage   : GetField.pl <file name> [Field Number]
        Example : GetField.pl foo.txt
                  GetField.pl foo.txt 3

TEXT
}




Number  Name
53350000053     물감자
6463737377754   똘똘이
535311626       레몬향기혜성
26262664264     맹구
6426464642      노가리
626264  강호동
64226422        봉천동
6868573 별사탕
464262642       이효리
8537727224      땡칠이
53653673513     백반형님

이렇게 탭문자로 구분된 데이타 파일을 0.txt 등의 이름으로 저장하고 (그런데 위의 데이타 파일을 그대로 카피해서 테스트하면 작동하지 않습니다. HTML은 탭문자를 표현할 수 없기에... 위의 예제의 공백들을 탭문자로 직접 변환해 주어야 합니다.)


getField.pl 0.txt 2
라고 치면 이렇게

D:\Z>getField.pl 0.txt 2
Name
물감자
똘똘이
레몬향기혜성
맹구
노가리
강호동
봉천동
별사탕
이효리
땡칠이
백반형님

2번째 필드만 추출됩니다.

아무 옵션도 지정하지 않으면 도움말이 나옵니다.




관련 게시물: ▶▶ [오피스/엑셀2003] CSV 파일을 콤마(,)가 아닌 탭(Tab)으로 분리하기: Microsoft Excel 2003


☞ Perl

[Perl/펄] 탭 문자 출력 / 개행 문자 표현법은? : 특수문자 이스케이프 Tab, Newline Character Escape

탭 문자 출력


탭 문자는 스페이스 키 여러 개에 해당하는 공백문자를 말합니다. 대체로 8개의 스페이스에 해당하는데, 줄맞춤을 하기 위해서 스페이스의 분량이 늘었다 줄었다 할 수도 있습니다. 키보드의 Tab키를 누르면 입력됩니다. 펄의 문자열 안에서도 탭문자를 표현할 수 있습니다.

펄에서 탭 문자는 \t 입니다. 즉, "백슬래쉬+소문자t" 입니다.



개행문자 출력


개행문자 즉, 다음줄로 행갈이(newline)하는 문자\n 입니다. "백슬래쉬+소문자n"입니다.



예제


코드:
#!/usr/bin/perl


print "AAA\tBBB\nCCC\t\tDDD\n";



실행 결과:
D:\Z>0.pl
AAA     BBB
CCC             DDD

D:\Z>


AAA와 BBB 사이에는 탭문자 1개가 들어가 있는데 실제 공백은 5개가 생겼습니다. 그러나 AAA까지 합쳐서 생각하면 8개입니다.

CCC와 DDD 사이에는 \t\t 이렇게 탭문자 2개가 연속으로 들어 있습니다. 그런데 탭문자 2개의 현재 분량은 공백 16개가 아닌 공백 13개입니다. CCC까지 포함하면 역시 16개가 됩니다. 줄맞춤을 하기 위해 앞의 글자까지 모두 합해서 공백을 주는 것입니다.

어쨌든 탭 문자 1개는 전체적으로, 공백 8개 분량의 빈 칸을 만듭니다.


※ 대소문자를 엄격히 구분하기 때문에, \T 나 \N 으로 적으면 에러가 납니다.



☞ Perl

[Perl/펄] 실수 반올림하여 정수 만들기; RoundToInt 함수

청소년 성장 드라마 '반올림'이 아니고, 소수점을 가진 숫자를 정수로 반올림하는 것입니다.

펄의 int 함수는 소수점 이하를 잘라버리기만 하지, 반올림을 하지 않더군요.


#!/usr/bin/perl
use strict; use warnings;


print &RoundToInt(2.4676);


sub RoundToInt {
  int($_[0] + .5 * ($_[0] <=> 0));
}


RoundToInt 라는 한 줄짜리 함수가 반올림 함수입니다.


2.4676 을 입력하면 2가 나오고
2.5676 을 입력하면 반올림하여 3을 반환합니다.



버그가 있을 수 있으니, 실무에 사용할 때는 테스트 과정이 필요합니다.




▶▶ [Perl/펄] 소수점 몇 째 자리에서, 엑셀 스타일 반올림 함수 - RoundXL

☞ Perl

Saturday, July 22, 2006

[QnA] 웹스터 영영사전/시소러스(동의어,반대말 사전)의 주소는? : Merriam-Webster

웹스터(Merriam-Webster) 영영사전 인터넷판의 주소는
http://www.m-w.com/
이곳입니다.

창이 2개 있는데
Merriam-Webster Online Dictionary
가 웹스터 영영 사전이고

Merriam-Webster Online Thesaurus
는 시소러스 즉 "동의어/반대말 사전"입니다.


인터넷판은 웹스터의 대형 사전(Merriam-Webster Unabridged)이 아니고, "대학생용 사전 (Merriam-Webster Collegiate)"입니다. 서점에서 흔히 볼 수 있는 탁상용 사전입니다. 그런데 작년부터인가 대학생용 사전이 유료화되었더군요. 그러나 Online Dictionary 로도 큰 문제는 없었습니다.


더 읽기: ☞ 학습

리눅스/유닉스용 C언어 컴파일러 다운로드 하는 곳은? - GNU Project GCC

리눅스/유닉스 안에 이미 C언어 컴파일러가 들어 있는데, 리눅스를 기본 설정으로 설치하면 대체로 C컴파일러가 설치되지 않습니다. 개발 도구 (Development Tools) 를 설치하면 C도 설치됩니다.

그런 후
gcc
라고 치면 실행됩니다.


최신의 컴파일러를 다운받는 곳은
GCC, the GNU Compiler Collection - GNU Project
- Free Software Foundation (FSF)

이곳입니다.

GCC 는 C/C++ 컴파일러만 있는 것이 아니라 다른 언어의 컴파일러도 같이 들어 있습니다. C, C++, Objective-C, Fortran, Java, Ada 등등. 그런데 소스만 제공하기에 자신이 직접 컴파일을 해야 할 것입니다. 이런 언어들 자체가 C로 만들어져 있기에 결국 C컴파일러가 이미 설치되어 있어야 합니다.


그리고 유닉스는 금융/의료/회계 등의 미션 크리티컬한 분야에서 사용됩니다. 따라서 비전문가가 무엇을 설치하면 위험할 수 있으므로 주의가 필요합니다. 유닉스의 경우에는 유닉스 구입 당시에 개발된 오래된 컴파일러를 그대로 사용하는 것이 대부분인 것 같더군요.



더 읽기: ☞ C/C++

[C#-C샤프 기초 예제] 문자열(Hello, World) 출력하기, 명령프롬프트(도스창)에

비주얼 스튜디오를 설치하지 않은 일반 컴퓨터의 윈도우에도, ".NET Framework" 만 설치하면 그 안에 C# 컴파일러가 들어 있습니다. (▶▶ .NET Framework 설치하면, C#(C샤프), 비주얼 베이직 컴파일러 등도 설치됨 참조)

C# 는 MS가 자바(Java)에 대항하기 위해 만든 언어라고 하더군요.


다음은 C# 컴파일러가 제대로 작동하는지 알아보기 위한, 가장 기본적인 최소한의 코드입니다:
using System;

class Hello
{
        static void Main() {
                Console.WriteLine("Hello, World");
        }
}


위의 소스를 foo.cs 등의 이름으로 하드에 저장하고, 명령 프롬프트(도스창)에서
csc foo.cs
라고 치면 컴파일이 되어
foo.exe 라는 파일이 만들어집니다.

이제 foo 라고 치면 foo.exe 가 실행됩니다.

Hello, World
라는 문자열이 명령프롬프트 화면에 나오면 성공입니다.

[구글어스4] 부산 해운대 해수욕장 백사장 나옴 / 구글어스 베타4 설치법 - Google Earth 4

구글어스3은, 서울밖에는 세부가 나오지 않았는데 버전4에는 지방도시들도 상당수 나오고 있습니다.

구글어스: 부산 해운대 해수욕장 백사장
구글어스4로 본, 부산 해운대 해수욕장 백사장 (클릭하면 확대)

※ 구글어스 화면이 너무 어두워서 포토샵으로 밝게 해주고, 좀더 선명하게 했습니다.

그런데 이것은 구글어스4의 베타 버전입니다. 아직 기능이 완전하지 않았습니다.





구글어스 베타4 설치법


▶▶ "[QnA] 구글 어스 다운로드하는 곳? 구글 어스는 무료입니까?" 에, 다운로드 주소와, 구글어스3의 상세한 설치법이 있습니다.

Beta (Version 4) 를 클릭하여
GoogleEarthWin.exe 라는 13MB 짜리 파일을 다운로드받습니다.

I accept... (사용 약관에 동의합니다) 라는 부분을 선택하고 "Next (다음)" 버튼을 누릅니다.


Custom (사용자 정의) 을 선택합니다.


설치할 장소를 고르는 곳이 나오는데 기본값은
C:\Program Files\Google\Google Earth
이것이고

저는 D드라이브에
D:\Program Files\Google\Google Earth
이렇게 위치를 지정해 주었습니다.


구글어스 캐시 파일 저장 장소를 고르는 곳이 나옵니다. 캐시 파일은 수백 메가가 되기에 C: 가 아닌 다른 하드에 저장하는 것이 좋습니다.
기본값은
C:\Documents and Settings\Administrator\Local Settings\Application Data\Google\GoogleEarth
이것인데 저는 이렇게
D:\Warehouse\GoogleEarth
바꾸었습니다. 만약 컴퓨터에 C: 밖에 없다면 바꾸지 않아야 합니다.



[Perl] 펄로, 현재 날짜(연월일)와 시분초 쉽게 다루는 서브루틴: GetTimeStr

펄이든 무슨 언어이든 날짜와 시간을 처리하는 부분이 번거롭습니다.

제가 어제 날짜에 관계된 펄 프로그래밍을 하려고 했는데, localtime 을 해석하는 부분이 좀 복잡하더군요.

그래서 아예, "Y" 를 넣으면 현재 연도가 나오고, "h" 를 넣으면 현재 시간이 나오는 아주 단순명쾌한 함수를 하나 만들었습니다.

GetTimeStr 이라는 함수입니다.

봉숭아학당에서도 사용할 수 있을 만큼 사용법이 간단합니다.



펄 코드:
#!/usr/bin/perl
use strict; use warnings;


print "Year  : ", &GetTimeStr("Y"), "\n";
print "Month : ", &GetTimeStr("M"), "\n";
print "Day   : ", &GetTimeStr("D"), "\n";

print "\n";

print "Hour  : ", &GetTimeStr("h"), "\n";
print "Min   : ", &GetTimeStr("m"), "\n";
print "Sec   : ", &GetTimeStr("s"), "\n";




sub GetTimeStr {
  return sprintf("%02d", (localtime) [0]       ) if $_[0] eq "s";
  return sprintf("%02d", (localtime) [1]       ) if $_[0] eq "m";
  return sprintf("%02d", (localtime) [2]       ) if $_[0] eq "h";

  return sprintf("%02d", (localtime) [3]       ) if $_[0] eq "D";
  return sprintf("%02d", (localtime) [4] + 1   ) if $_[0] eq "M";
  return sprintf("%04d", (localtime) [5] + 1900) if $_[0] eq "Y";

  undef;
}



GetTimeStr("Y") 는 현재 연도를 4자리 숫자로 반환
GetTimeStr("M") 은 현재 달을 2자리 숫자로 반환
GetTimeStr("D") 는 현재 일을 2자리 숫자로 반환

GetTimeStr("h") 는 현재 시간을 2자리 숫자로 반환
GetTimeStr("m") 은 현재 분을 2자리 숫자로 반환
GetTimeStr("s") 는 현재 초를 2자리 숫자로 반환

주의: 대소문자를 구분합니다. 대문자 M 은 '달'이고, 소문자 m 은 '분'입니다.

undef; 라는 부분은, 옵션을 잘못 주었을 때 undef 라는 값을 반환하라는 의미입니다. undef 는 논리적으로는 거짓이고, 숫자도 문자열도 아닌 특수한 값입니다. 변수를 만든 후 아무것도 대입하지 않았다면 undef 라는 값을 가지게 됩니다. 다만 숫자를 계산하는 곳에서는 0처럼 행동하고, 문자열을 다루는 곳에서는 빈 문자열 즉 ""처럼 행동합니다.

여기서는, 에러가 났다는 의미로 undef 를 반환했습니다. 별로 중요한 부분은 아니고, 없어도 되는 코드입니다.


실행 결과:
D:\Z>0.pl
Year  : 2006
Month : 07
Day   : 21

Hour  : 19
Min   : 49
Sec   : 20

D:\Z>



▶▶ Perl/펄] 어제 날짜 구하기, 전날 날짜 알아내기; Yesterday Date

▶▶ Perl/펄] 오늘 날짜/현재 시간 구하기 함수, 년월일/시분초; Get Print Date Time Current

펄 강좌와 각종 예제

[QnA] C#(C샤프) 소스의 기본 확장자는? C샤프 컴파일러의 파일명은?

C샤프 소스의 확장자는 .cs 입니다.

그리고 C# 의 커맨드라인 컴파일러의 파일명은 csc.exe 입니다.

따라서 foo 라는 이름의 C샤프 프로그램을 작성했다면

foo.cs
로 저장하고

명령 프롬프트에서
csc foo.cs
라고 치면

foo.exe
라는 실행 파일이 만들어집니다. 그런데 이렇게 컴파일된 실행 파일은 .NET Framework 이 설치되지 않은 컴퓨터에서는 실행이 되지 않을 것입니다. 윈도 업데이트 사이트에 가서 .NET Framework 을 설치해 주어야 합니다. (▶▶ .NET Framework 설치하면, C#(C샤프), 비주얼 베이직 컴파일러 등도 설치됨 참조)


저는 현재 C샤프가 아닌 자바를 쓰고 있는데 자바 쪽이 여러모로 나았습니다. 신뢰감이 있었습니다.

[고전 게임 QnA] DOOM / DOOM2 의 무적키는? - God mode

iddqd
입니다. DOOM1이나 DOOM2를 실행시킨 후
iddqd
라고 연속으로 치면 주인공의 눈이 하얗게 되면서 무적 모드(God mode)로 변합니다.

무적 모드에서 빠져나오기 위해서는 다시
iddqd
라고 치면 됩니다.

iddqd 라고 치면 무적 상태로만 들어가는 것이 아니라, 건강(HEALTH)도 100%로 회복되는 효과가 있습니다.





요즘에 나오는 순수한 3D 게임들은 왜 그런지 정이 가지 않더군요.

둠이 옛날 방식으로 계속 개발되었으면 좋겠습니다.


☞ 게임(Game)

pcre.dll / libiconv2.dll 등의 파일 다운로드 하는 곳? / 파일이 없다고 나옵니다. [QnA]

pcre.dll 은 Perl-compatible regular-expression library
즉, 펄과 호환되는 정규식 라이브러리를 윈도우용으로 컴파일한 파일입니다.

LibIconv... 라는 파일은 문자 인코딩용 라이브러리입니다.

원래는 모두 리눅스용 라이브러리입니다. 순수한 윈도용 프로그램 중에서도 pcre.dll 을 필요로 하는 것이 있지만, 대부분 리눅스 유틸리티, 가령 less 명령을 윈도용으로 컴파일한 경우에 pcre.dll 파일이 요구됩니다.


GnuWin32에서 다운로드받을 수 있습니다.

또한, Cygwin(시그윈)을 윈도우에 설치하면 그 안에도 라이브러리 파일들이 들어 있습니다.

Cygwin(시그윈)을 설치하면 그 안에 리눅스의 거의 모든 명령어들이 윈도용으로 만들어져 있기에 간편합니다. 수많은 파일을 일일이 찾아다닐 필요가 없고 Cygwin이 알아서 관리해주기 때문입니다.





윈도우 프로그램도 그렇지만, 리눅스 프로그램은 혼자서 실행되지 않고 대부분 라이브러리가 필요합니다.

프로그램별로 이런 파일들을 요구하더군요. 이것은 극히 일부의, 종속성 리스트입니다:

GNU Core Utilities
        libiconv2.dll           LibIconv: convert between character encodings
        libiconv-2.dll          LibIconv: convert between character encodings
        libintl3.dll            GetText: library and tools for native language support
        libintl-2.dll           LibIntl: library for native language support
------------------------------------------------------------------------
less.exe
        pcre.dll                Pcre: Perl-compatible regular-expression library
------------------------------------------------------------------------
wget.exe
        libeay32.dll            OpenSSL Shared Library
        ssleay32.dll            OpenSSL Shared Library

[QnA] .xls (XLS) 라는, 확장자의 파일은 무엇입니까?

MS오피스의, 엑셀(Microsoft Excel) 문서 파일입니다. 스프레드 시트 즉 "표"입니다.

주로 기업체에서 재무 계산용으로 쓰입니다. 간단한 데이터베이스를 구축하거나, 가계부를 작성할 때 쓸 수도 있습니다.

워드프로세서로 도표를 작성하면 그냥 그림에 불과합니다. 그러나 엑셀로 표를 만들면 그 표의 내용들을 자동으로 "계산"할 수 있어서 아주 편리합니다.

엑셀에서 도표를 작성해서 저장하면 .xls 라는 확장자를 가지게 됩니다.

참고로, 엑셀은 윈도에 기본으로 포함되어 있지 않습니다. MS오피스를 별도로 구입해야만 사용이 가능합니다.

엑셀을 익혀 두면 취업에 많은 도움이 됩니다.


▶▶ [QnA] 파일 확장자의 종류는? - Filename Extension

☞ 오피스/엑셀(Excel)/워드(Word)/VBA 매크로

Friday, July 21, 2006

[추억의 스샷] HWP v1.5 (아래아한글 1.5) - 1991년의 워드프로세싱 환경

추억의 스크린샷: HWP v1.5 (아래아한글 1.5)

아래아한글 1.5 (도스용)의 모습
아주 소박한 워드프로세서 소프트웨어였습니다.

HWP v1.5가 발표된 1991년 당시까지만 해도, '워드프로세서'라는 기계가 있었습니다. 오늘날의 노트북처럼 생긴 것인데 일종의 '전자 타자기'였습니다. 지금의 '윈도우 메모장' 수준의 기능밖에 없었지만 상당히 비싸서 살 엄두를 내지 못했습니다.

HWP v1.5는 그 '워드프로세서 기계'보다 더 기능이 풍부했다고 생각됩니다. 지금도 쓸만하더군요. 단점이라면 메모리 제약이 심해서, 단편소설도 하나의 파일에 저장하지 못하고 여러 파일로 분리하여 관리해야 했습니다.

그러나 HWP v2.0이 나오면서 메모리 제약도 완전히 없어져서, 이론적으로는 대하소설도 하나의 파일로 만들 수 있었습니다. (물론 당시에는 PC의 메모리가 4메가 정도밖에 되지 않았기에 실제로는 힘들고, 많은 가상 메모리 입출력이 필요했을 것입니다. 대하소설 한 질을 텍스트 파일로 만들면 벌써 4메가쯤 됩니다. 워드프로세서는 글자 단위로 글자속성을 추가하기에, 실제로는 최소한 8메가는 있어야 할 것입니다.)

HWP v2.5까지만 해도 '장인 정신'이 깃든 명작 소프트웨어였습니다. 그래서 아래아한글의 새 버전이 나왔다는 것만으로도 전국적인 뉴스가 되었습니다. 그렇지만 HWP v3.0과 윈도용 HWP부터는 안타깝게도 그렇지가 못했습니다.



여담이지만 요즘의 워드프로세서는 소설을 쓰는 데에 별로 적합하지 않았습니다. 주로 사무용으로 만든 것이기 때문입니다. 제가 소설가를 위한 소설 전용 워드프로세서를 만들어 보려고 한 적이 있었는데 실력이 되지 않아서 그만 두었습니다.

HWP v1.5는 지금도 소설을 쓰는 데에 있어서만은 가장 이상적인 워드프로세서라고 생각되지만, 현재의 윈도2000/XP 환경에서는 실행되지 않습니다. 위의 화면은 윈도2000에서 도스박스(DOSBox)를 설치하여 그 안에서 실행시킨 것입니다.

그런데 도스박스 안이든 밖이든, 도스용 프로그램을 실행하면 CPU사용량이 항상 100%가 되기에 현실적으로는 쓰기가 힘들었습니다. (▶▶ 도스박스와 VMware 에서 도스 사용 때, CPU 사용량이 항상 100% 가 되므로 주의가 필요 참조) 다만 추억을 확인하는 용도로 가끔씩 실행시켜 볼 따름입니다.




관련 게시물: ▶▶ [시/문학] 강은교 시인(동아대 교수님)의 워드프로세서 사용담 - Word Processor

[고전 게임] 도스박스에서 DOOM2 (둠2) 실행하기

DOOM2

도스박스에서 둠2를 실행한 장면

도스박스에서 둠과 둠2가 잘 실행되었습니다.


도스박스를 실행시킨 후
둠 파일들이 있는 폴더의 SETUP.EXE 를 우선 실행시켜서 설정을 해주어야 합니다.

Controller Type (조작 장치 선택)
화살표키로 "Keyboard + Mouse (키보드와 마우스 동시에 사용)"를 선택하고 엔터키를 누릅니다.


Select Music Card (음악 카드 선택)
General MIDI 나 Sound Blaster 가 적당할 것입니다.
나머지는 그냥 기본값으로


Select Sound FX Device (음향 효과 재생 장치 선택)
도스박스는 SB16을 에뮬레이션하기에
Sound Blaster
가 적당할 것입니다. Port, IRQ, DMA 등은 모두 기본값을 사용하면 되기에 그냥 엔터키를 계속 쳐 줍니다.


Save parameters and launch DOOM II (설정을 저장하고 둠2 실행)
를 선택하면 둠2가 실행됩니다.


DOOM 즉 DOOM1 도 마찬가지입니다.



☞ 게임

[도스박스 QnA] 파일을 찾지 못해요 - DOSBox

도스박스(DOSBox)를 실행시킨 후에, 도스박스 외부에서 만들어지거나, 윈도 탐색기 등으로 복사해준 파일은 도스박스가 자동으로 인식하지 못하고, Illegal Command (잘못된 명령) : ... 등의 메시지를 출력하는 경우가 있습니다.

이때는 도스박스를 종료한 후, 도스박스를 다시 실행시키면 인식합니다. (도스박스를 종료시키려면, Ctrl+F9 키를 누르거나, 또는 도스 프롬프트에서 exit 이라고 입력합니다.)

-----------------------------------------------
업데이트:
도스 프롬프트에서 RESCAN 이라는 명령어를 입력하거나
Ctrl-F4 키를 누르면, 도스박스 내부 하드의 새로운 파일들이 인식됩니다.
이 방법을 사용하면 도스박스를 끄고 다시 시작할 필요가 없습니다.
-----------------------------------------------

또한, 파일명이 한글로 되어 있거나, 한글이 섞여 있을 경우에는 위와 같이 인식하지 못할 것입니다. 이때는 그 파일명의 한글을 영문으로 바꾸어 주는 수밖에는 없었습니다.


도스박스는 외국산 프로그램이기에 한글 문제가 좀 있습니다. 그래서 외국 프로그램은 잘 돌아가지만 국산 프로그램은 한글 문제 때문에 실행에 약간 지장이 있는 경우가 있습니다.

그렇지만 고전 게임 등 대부분 프로그램들은 잘 돌아갑니다.


도스박스 | DOSBox

.NET Framework 설치하면, C#(C샤프), 비주얼 베이직 컴파일러 등도 설치됨

윈도 업데이트를 하면 Microsoft .NET Framework 이라는 것이 설치됩니다. 필수는 아니고 선택 설치일 것입니다.

Microsoft .NET Framework 을 설치하면 윈도 폴더 밑에 이런 폴더가 생기고 (v1.1 의 경우임, 버전마다 다름)
\Microsoft.NET\Framework\v1.1.4322

그 폴더 안에

csc.exe :
Microsoft (R) Visual C# .NET Compiler version 7.10.6001.4

jsc.exe:
Microsoft (R) JScript .NET Compiler version 7.10.3052

vbc.exe:
Microsoft (R) Visual Basic .NET Compiler version 7.10.6001.4

ilasm.exe:
Microsoft (R) .NET Framework IL Assembler.  Version 1.1.4322.2032


이런 컴파일러들이 들어 있습니다. 그래서 간단한 콘솔 프로그래밍을 할 수 있었습니다.

다른 OS와 달리, 윈도에는 원래 개발툴이 내장되어 있지 않고 별도로 구입해야 했습니다. 있다면 도스용 QBasic 이 전부일 것입니다. 그런데 Framework 안에 간단하나마 개발툴들이 내장되어 있어서 편리했습니다.



아무튼 .NET Framework 을 설치한 후 명령 프롬프트에서
csc
라고 치면, C#(씨샤프) 컴파일러가 나옵니다. 다음은 csc 의 도움말을 출력한 것입니다:
D:\Z>csc /?
Microsoft (R) Visual C# .NET Compiler version 7.10.6001.4
for Microsoft (R) .NET Framework version 1.1.4322
Copyright (C) Microsoft Corporation 2001-2002. All rights reserved.

                      Visual C# .NET 컴파일러 옵션

                        - 출력 파일 -
/out:<file>             출력 파일 이름입니다(기본값: 주 클래스가 있는 파일의
                        기본 이름 또는 첫째 파일).
/target:exe             콘솔 실행 파일을 빌드합니다(기본값). (약식: /t:exe)
/target:winexe          Windows 실행 파일을 빌드합니다. (약식: /t:winexe)
/target:library         라이브러리를 빌드합니다. (약식: /t:library)
/target:module          다른 어셈블리에 추가될 수 있는 모듈을 빌드합니다. (약식:
                        /t:module)
/define:<symbol list>   조건부 컴파일 기호를 정의합니다. (약식: /d)
/doc:<file>             생성할 XML 문서 파일

                        - 입력 파일 -
/recurse:<wildcard>     와일드카드 지정에 따라 현재 디렉터리와 하위 디렉터리에
                        있는 모든 파일을 포함합니다.
/reference:<file list>  지정한 어셈블리 파일에서 메타데이터를 참조합니다. (약식:
                        /r)
/addmodule:<file list>  지정한 모듈을 이 어셈블리에 링크합니다.

                        - 리소스 -
/win32res:<file>        Win32 리소스 파일(.res)을 지정합니다.
/win32icon:<file>       이 아이콘을 사용하여 출력합니다.
/resource:<resinfo>     지정한 리소스를 포함합니다. (약식: /res)
/linkresource:<resinfo> 지정한 리소스를 이 어셈블리에 링크합니다. (약식:
                        /linkres)

                        - 코드 생성 -
/debug[+|-]             디버깅 정보를 내보냅니다.
/debug:{full|pdbonly}   디버깅 형식을 지정합니다. 기본값은 'full'이며, 실행 중인
                        프로그램에 디버거를 연결합니다.
/optimize[+|-]          최적화를 사용합니다. (약식: /o)
/incremental[+|-]       증분 컴파일을 사용합니다. (약식: /incr)

                        - 오류 및 경고 -
/warnaserror[+|-]       경고를 오류로 처리합니다.
/warn:<n>               경고 수준(0-4)을 설정합니다. (약식: /w)
/nowarn:<warning list>  특정 경고 메시지를 사용하지 않습니다.

                        - 언어 -
/checked[+|-]           오버플로 검사를 생성합니다.
/unsafe[+|-]            'unsafe' 코드를 사용할 수 있습니다.

                        - 기타 -
@<file>                 추가 옵션에 대한 지시 파일을 읽습니다.
/help                   사용법 메시지를 표시합니다. (약식: /?)
/nologo                 컴파일러 저작권 메시지를 표시하지 않습니다.
/noconfig               CSC.RSP 파일을 자동으로 포함하지 않습니다.

                        - 고급 -
/baseaddress:<address>  빌드할 라이브러리의 기준 주소
/bugreport:<file>       '버그 보고서' 파일을 만듭니다.
/codepage:<n>           소스 파일을 열 때 사용할 코드 페이지를 지정합니다.
/utf8output             컴파일러 메시지를 UTF-8 인코딩으로 출력합니다.
/main:<type>            진입점을 포함하는 형식을 지정합니다. 다른 모든 가능한
                        진입점은 무시합니다. (약식: /m)
/fullpaths              컴파일러가 정규화된 경로를 생성합니다.
/filealign:<n>          출력 파일 섹션에 사용되는 맞춤을 지정합니다.
/nostdlib[+|-]          표준 라이브러리(mscorlib.dll)를 참조하지 않습니다.
/lib:<file list>        참조를 검색할 추가 디렉터리를 지정합니다.

D:\Z>


이미 한글화되어 있었습니다. 오히려 영문 도움말을 보려고 해도 보이지 않더군요.


▶▶ 도스창에서, csc.exe 실행하기 - C#(C샤프) 컴파일러 실행

[건강] 여름 감기, 예방 / 치료 : 충분한 수분 섭취를 - Summer Cold

여름감기는 지나친 냉방이 주원인이긴 하지만, 간과할 수 없는 원인 중의 하나가 수분 부족입니다. 땀으로 수분이 많이 빠져나가면 혈액의 점도가 높아집니다. 피가 끈끈하게 되어 잘 흐르지 못하게 되는 것입니다. 이러면 면역력이 급격히 약화되고 결국 감기에 걸리게 됩니다.

특히 담배를 피우는 사람이 수분 부족 상태가 되면, 니코틴이 잘 배출되지 않아서 설상가상으로 더 위험해집니다.

따라서 물을 충분히 마셔주는 것만으로도, 여름 감기의 예방과 치료에 큰 도움이 됩니다.



마셔야 할 물의 양은?


여름에는 땀으로 상당량의 수분이 배출되기 때문에, 소변량이 급격히 줄어듭니다. 따라서 봄/가을철의 소변량과 비슷한 수준이 될 때까지 수분을 섭취해 주는 것이 좋습니다.

(커피나 홍차에는 강한 이뇨 작용이 있어서, 소변량을 부자연스럽게 증가시킵니다. 그래서 커피나 홍차를 마시면 체내의 수분이 부족한 상태인데도 소변량은 증가하게 됩니다. 커피나 홍차도 주의해야 합니다.)

그러나 식사 직후에 물을 많이 마시면 소화액이 묽어져서 소화불량에 걸릴 수 있으므로, 소화가 다 된 후에 물을 마시는 것이 좋습니다.


기타


여름에는 밤이 짧고 덥기 때문에 깊은 잠을 잘 수가 없습니다. 이 또한 여름 감기의 원인이 됩니다.



더 읽기: ☞ 건강

Thursday, July 20, 2006

[한국 우표 수집] 동화 시리즈 [선녀와 나무꾼] - Stamp Korea 1970

발행일: 1970년 3월 5일
액면: 10원
발행량: 1000000장

한국 우표 수집: 동화 시리즈 [선녀와 나무꾼]


옛날에 동화 시리즈 우표들이 나온 적이 있는데 그 중의 하나입니다. '선녀와 나무꾼'의 한 장면입니다. 선녀가 도망을 가고 있습니다. 발행량은 꽤 많은데 그리 눈에 쉽게 띄지 않는 우표더군요.

사이버 우정 박물관 에서 다운받은 사진인데, 요즘에는 우정 박물관 사이트에서 우표를 전시하지 않는 것 같습니다. 예전에는 모든 한국 우표들이 데이터베이스화되어 있었습니다.


☞ 우표 수집

[한국 항공 우표] 한복을 입은 여인과 여객기 - Airmail Stamp Korea 1964

발행일: 1964년 10월 16일
액면: 39원
발행량: 1500000장


우표: 한국 항공

아주 옛날에 발행된 항공 우표입니다. 애수로 가득찬 디자인입니다. 문근영 비슷하게 생긴 얼굴이군요.



우표: 한국 항공

이것은 웹디자인에 쓰기 위해, 제가 조금 밝게 다듬은 것
우표가 어둡게 변색되어 있었기 때문에, 포토샵으로 속칭 '뽀샤시' 효과를 주었습니다. 그런데 그 결과, 하늘색이 거의 다 사라져 버렸습니다.


더 읽기: ☞ 우표 수집

윈도우XP에서, 도스 명령 실행하기 - DOS Command

윈도우의 명령 프롬프트를 열어서 도스 명령어를 실행해야 합니다.

윈도우XP에서, 도스 명령 실행하기
클릭하면 확대
위의 그림은 현재, 윈도의 명령 프롬프트를 열고, dir 명령을 실행한 화면입니다.

일반 명령어나, 텍스트 모드용 도스 프로그램은 이렇게 해도 잘 실행되지만, 고전게임 등의 그래픽 모드의 도스 프로그램은 실행이 되지 않을 것입니다. 이때는 도스박스(DOSBox)를 설치한 후 그 안에서 실행하면 됩니다.



관련 게시물:

▶▶ 명령 프롬프트 [Command Processor] 란? [컴퓨터 초보자를 위한 강좌]

▶▶ 모든 '도스 명령' 목록 보기, 윈도우2000 윈도우XP 에서

울트라에디트(UltraEdit)에서, 매크로(Macro) 실행하는 법은?

울트라에디터 상단 메뉴: Macro (매크로) > Play Any/Multiple Times (몇 번/여러번 실행)
을 선택하거나, 또는 Ctrl+L 키를 누르면

이런 작은 대화상자가 나옵니다:
UltraEdit: Macro

여기서 자신이 실행시킬 매크로를 선택하고 Enter 키를 누르면 매크로가 실행됩니다.


Specify number of times to repeat macro (매크로 반복 횟수 지정):

Play macro to End of File (현재 파일의 끝까지 매크로 실행):

등의 옵션이 필요하다면, 숫자를 지정해 주거나 체크합니다.



참고로,
Macro (매크로) > Play Again (다시 실행)
또는 Ctrl+M 키를 누르면,
조금 전에 실행했던 매크로가 다시 실행되는데, 자신이 방금 전에 실행했던 매크로가 무엇인지, 어떤 일을 하는 매크로인지 잘 기억하지 못한다면 상당히 위험하기에 주의가 필요합니다.



▶▶ 울트라에디트 매크로 사용법, UltraEdit 매크로(Macro) 만드는 법

☞ 텍스트 에디터/편집기 (Text Editor)

Fractint: 프랙탈 그래픽 소프트웨어 (프리웨어) - Fractal

가장 유명하고 역사가 오래된 프랙탈 그래픽 프로그램이, 바로 프랙틴트 Fractint입니다.

도스용이기 때문에 윈도우XP 등에서는 잘 돌아가지 않습니다. 그래서 도스박스(DOSBox)에서 실행했습니다.

Fractint 프랙탈 그래픽 소프트웨어

도스박스에서 Fractint를 실행한 화면 (클릭하거나 옆으로 스크롤 가능)




Fractal: Mandelbrot set - 프랙탈 그래픽: 만델브로트 집합

Mandelbrot set
프랙틴트를 실행하면 기본값으로 이런 만델브로트 집합이 나옵니다. 이때 Esc 키를 한 번 누르면 메뉴 화면이 나타납니다.



Fractint 다운로드 주소는?


GETTING FRACTINT
위의 주소에서 페이지 위쪽의 DOS version of Fractint 라는 곳을 클릭하면 frain200.zip 이라는 파일이 다운로드됩니다. 그 파일의 압축을 풀고, 도스박스 안에서 fractint.exe 를 실행시키면 됩니다.


오픈소스이기에, C소스를 다운받아서 자신이 수정할 수도 있습니다.

지금은 몇 년째 버전업이 되지 않고, 윈도우NT용도 나오지 않고 있더군요.


예제 그림:
Fractal: Newton_6 (프랙탈 그래픽)

Newton_6 (프랙틴트에 내장된 파라미터)




Fractal: Spiral (프랙탈 그래픽)

Spiral (프랙틴트에 내장된 파라미터)



프랙틴트를 실행한 후, 키보드의 @(골뱅이)을 누르면, 즉 Shift키를 누르면서 2를 누르면, 파라미터(Parameter) 선택 상자가 나옵니다.


프랙틴트에서 빠져나오는 방법은, Esc 키를 한 번 누르고 Enter 키를 치는 것입니다.

[QnA] WD-40 이란 스프레이는 뭔가요? 용도는?

WD-40 (더블유 디, 사십/사공)은 접점 부활제 혹은 방청제입니다.

접점 부활제란, 전기 전자 제품의 전기가 잘 통하게 하는 것이고
방청제란, 금속이 녹이 슬지 않도록 보호하거나 이미 슨 녹을 제거하는 녹 제거제 입니다.

WD-40이 예전에는 전파사에서 전기/전자 제품 수리용으로 주로 사용되었는데, 요즘에는 자동차 정비 업소에서도 사용하더군요.

에프킬러처럼 생긴 통에 들어 있습니다. 그리고 통의 옆면에 "빨간 빨대" 같은 것이 붙어 있는데, 좁은 곳에 분무할 때는 그 빨대를 떼서 노즐에 꽂고 뿌립니다.

저의 경우에는 컴퓨리 수리를 할 때 주로 사용합니다. 컴퓨터 슬롯에 먼지가 끼거나 담배 연기가 앉은 경우에 WD-40으로 접점을 닦아주면 잘 작동합니다. 그리고 문의 경첩이 삐걱거리는 경우, 경첩에 WD-40을 뿌리면 소리가 없어집니다. 즉 윤활제 역할을 합니다.

WD-40은 미끈거리는 석유 성분으로 되어 있습니다. 그래서 살충제로도 사용할 수 있습니다. (단, 벽에 뿌리면 자국이 남기 때문에 주의)

전자 부품상이나 자동차 정비 용품점에서 팝니다. 크기에 따라서 3000원~7000원 정도 하는데, 한 병 사면 몇 년은 쓸 수 있습니다.

코카콜라처럼, 원료는 미국에서 수입하고 용기에 넣는 작업만 한국에서 하는 것 같더군요.




Q: WD-40 이 피부에 닿으면 위험한가요?


위험하지는 않고, 그냥 비눗물로 씻으면 이상 없습니다. 다만, 눈에 들어가면 아무래도 위험하겠지요.

WD-40을 사용하다 보면, 직접적으로 눈에 들어가지는 않더라도, 분무된 WD-40 이 공기 중에서 떠돌다가 간접적으로 눈으로 들어갈 수 있습니다. 그러니 환기가 안되는 곳에서 사용할 때는 주의가 필요합니다.



관련 게시물: ▶▶ 접점부활제 WD-40으로 컴퓨터/가전제품 고장 수리와 그밖의 활용

Wednesday, July 19, 2006

[Perl] 비주얼 펄(Visual Perl) / 펄 에디터와 펄의 통합환경(IDE)은?

펄을 설치하면 통합환경(IDE)이 전혀 없고, 명령행 툴들만 있어서 초보자에게는 당혹스럽습니다. 그래서 저도 펄을 처음 접했을 때, 펄 통합환경을 찾아다닌 적이 있는데 쓸만한 것을 찾기가 쉽지 않았습니다.

액티브펄(ActivePerl)을 배포하는, ActiveState에 보면 Visual Perl, Visual Python 이라는 소프트웨어가 있었는데, 비주얼 스튜디오 Microsoft Visual Studio 에서 펄/파이썬 프로그래밍을 할 수 있게 하는 플러그인입니다. 그런데 제가 지금 가 보니 비주얼 펄과 비주얼 파이썬의 개발이 중단되어 있었습니다. Visual Studio 2005 에서 기본적으로 파이썬을 지원한다는 소식이 있는데, 아마 그것 때문인 것 같기도 합니다.

펄용 통합환경은 적당한 것이 없고, ActiveState의 코모도 (Komodo) 라는 것이 있습니다. 그런데 제가 직접 써보니까 기능이 의외로 빈약했습니다. 처음에는 비주얼 스튜디오처럼 강력한 것인 줄 알았습니다. 그리고 특히 한글이 쓰여지지 않아서 아주 곤란했습니다. (Komodo 라는 통합환경은 펄뿐 아니라 Perl, PHP, Python, Ruby, Tcl 등의 거의 모든 스크립트 언어를 편집할 수 있는 것입니다. 참고로, Dynamic Language 라는 것이 바로 '스크립트 언어'입니다.)

펄이라는 언어는 간단한 프로그래밍에서 주로 사용되는 언어이기에, 통합환경이 그리 절실히 필요하지는 않습니다.



제가 펄을 편집하기 위해 사용하는 에디터는 울트라에디트(UltraEdit)입니다. (리눅스 환경에서는 Vim이 적당할 것입니다.)

울트라에디트는 펄의 .pl 확장자를 인식하여, 펄 문법에 맞게 "문법 강조"를 해줍니다. 펄 전용의 통합환경 못지않게 편리했습니다.

만약 확장자가 없는 펄 소스 파일이라면, 울트라에디트 풀다운메뉴의
View > View As (Highlighting File Type) > Perl
을 선택하시면 됩니다.



결론


펄의 통합환경은 적당한 것이 없고, 자신의 손에 익은 텍스트 에디터로 편집하는 것이 나았습니다.

외국의 펄 프로그래머들 사이에서도, 쓸만한 펄 통합 환경이 없어서 펄의 인기가 자꾸 떨어진다는 주장이 나온 적이 있습니다.



더 읽기: ☞ Perl


<< Home

Categories
Some Recent Posts
Monthly Archives
Top