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

 
Monthly Archive
Friday, August 31, 2007

Excel 엑셀, 가장 큰 숫자와, 가장 작은 숫자에 다른 색 지정 방법; MAX MIN

예를 들어 엑셀 시트의 A열에 다음과 같은 숫자들이 있을 때, 가장 큰 숫자인 555 와 가장 작은 숫자인 -40 에 다른 색과 스타일을 지정하여 쉽게 알아볼 수 있게 만듭니다.

11
10
555
0
-40
45
45

* 조건부 서식(Conditional Formatting)을 지정할 셀의 범위를 선택합니다. 즉, 위의 숫자들이 들어 있는 7개의 셀들을 모두 선택합니다.

* 엑셀 상단 풀다운 메뉴에서, "서식 > 조건부 서식" 을 선택

* "다음 값의 사이에 있음"이라고 되어 있는 목록을 클릭하여, "다음 값과 같음"으로 변경합니다.

* 아래 그림에서 빨간 화살표가 가리키는 맨 우측 3번째 입력칸을 클릭한 후, 이제 마우스로, 엑셀 시트를 드래그하여, 즉 긁어서, 7개의 셀들의 범위를 선택합니다. 그러면 =$A$1:$A$7 이런 식으로 자동으로 범위가 입력될 것인데, 이것을

=MAX($A$1:$A$7)

이렇게 변경해 줍니다. 즉 최대값 함수인 MAX 로 둘러싸 줍니다.

* "서식" 버튼을 누릅니다. "셀 서식"이라는 상자가 나옵니다. 최대값을 가진 셀에 특이한 색깔을 지정한다든지 글자를 굵게 한다든지 합니다. 자신의 취향에 맞게 설정하면 됩니다. "무늬" 탭을 클릭하면 셀 배경색 지정 가능.

클릭또는옆으로스크롤가능
엑셀 조건부 서식

빨간 사각형 속이 최종 결과임

* "가장 작은 값" 즉 최소값에도 색깔 등을 지정하려면, "추가" 버튼을 눌러 "조건 2"를 만든 후, "다음 값과 같음"을 선택하고, 3째 칸에

=MIN($A$1:$A$7)

라는 수식을 입력하고 "서식" 버튼을 눌러 적당한 스타일을 지정합니다. 여기서는 노란 바탕에 이탤릭체로 표시했습니다.

* "확인" 버튼을 누르면 완료됩니다. 이제 A열의 셀들에서 가장 큰 숫자인 555 가 녹색 바탕에 굵고 진하게 나올 것입니다.




예를 들어 G열의 모든 숫자들을 대상으로 최대값에 서식을 지정한다면, 시트 상단의 G 라는 글자를 클릭하여, G열을 모두 선택하고

=MAX($G:$G)

조건부 서식 대화상자에서, 위와 같은 식으로 수식을 지정하면 됩니다.


F디스크 사용법, FDISK란? 에프디스크

FDISK 는 비록 F디스크라고 읽긴 하지만, "F:드라이브"라는 뜻은 아닙니다. FDISK.EXE 라는 도스용 프로그램이 있습니다. FDISK는 하드 디스크에 파티션을 만드는 프로그램입니다.

하드 디스크를 맨 처음 신품으로 구입하면 그냥 쇳덩어리에 불과할 뿐이지, 그 하드에 파일을 저장할 수도 없고 심지어 윈도우 같은 운영체제가 그 하드를 아예 인식하지도 못합니다. 이때는 우선 FDISK로 파티션을 잡아준 후, FORMAT 명령으로 디스크를 포맷해야 하드를 사용할 수 있습니다.

그런데 요즘에는 굳이 FDISK 를 사용할 필요가 없습니다. 윈도우XP 설치CD 를 실행하면 그 안에, 파티션과 포맷을 쉽게 해주는 "마법사 프로그램"이 들어 있습니다. 그것을 사용하면 됩니다.

윈도우98이나 옛날 16비트 MS-DOS를 설치할 때에만 FDISK 가 필요합니다.

진짜 하드는 아니고 VM웨어의 가상 하드에서 FDISK를 하는 방법은 여기에 설명되어 있습니다:

▶▶ VMware 에, 가상 하드 추가하고 FDISK 하기


Find 파일 속성, 속성으로 파일 찾기 명령어; Find File Attribute

도스 명령어 중에서, 특정 파일 속성이 부여된 파일만 찾는 명령은 원래 없습니다. 그러나 dir 명령을 사용하면 구현이 가능합니다. dir 명령어 뒤에 /a 옵션을 사용하는데, /a 바로 뒤에 찾을 속성을 지정합니다. 가령 읽기전용 속성의 파일만 찾는다면

dir /ar

이렇게 합니다. 만약 읽기전용 속성이 아닌 파일만 찾으려면, 마이너스 부호(-)를 붙여서

dir /a-r

이렇게 합니다. 다음은 현재 드라이브의 루트디렉토리(\)로부터, 하위디렉토리(/s)까지, 파일 속성 (/a) 으로 찾되, 시스템 속성과 히든 속성을 둘다 가진 파일 (sh) 만 찾는 명령입니다. 간단하게 출력하기 위해 /b 옵션을 붙였습니다.

D:\Z>dir /ash /s /b \
D:\pagefile.sys
D:\RECYCLER
D:\System Volume Information
D:\My Documents\desktop.ini
D:\myhome\desktop.ini
D:\myweb\desktop.ini
D:\Program Files\UltraISO\backup
D:\RECYCLER\S-1-5-21-220523388-854245398-1343024091-500
D:\RECYCLER\S-1-5-21-220523388-854245398-1343024091-500\desktop.ini
D:\WINDOWS_\desktop.ini
D:\WINDOWS_\Desktop 2\desktop.ini



참고: ▶▶ 도스 DOS 명령, 파일 속성 바꾸기 명령어; File Attribute ATTRIB

유닉스 echo 줄바꿈 기호 넣기; UNIX echo 개행문자(Newline) 삽입 방법

유닉스나 리눅스에서 echo 명령으로 문자열을 화면에 출력할 때, 줄바꿈 기호 즉 개행문자는 \n 입니다. 즉 "백슬래시+소문자N" 입니다.

echo 명령에 반드시 -e 라는 옵션을 붙인 후에, 출력할 문자열을 따옴표로 둘러싸야 합니다. 줄바꿈하려는 곳에 \n 이런 이스케이프 문자를 넣어주면 그곳에서 엔터 키가 자동으로 쳐집니다. 예를 들어 다음과 같이 입력하면

echo -e "AAA\nBBB"


화면에는

AAA
BBB

이렇게 출력됩니다. 줄바꿈이 된 것입니다.

참고: ▶▶ 리눅스 bash에서 Tab 문자 출력 방법; echo 명령으로 탭문자 프린트


C언어에서 화면 Clear 명령어 구현 함수

C 언어로, 도스창 화면 지우기 명령어인 CLS 를 구현하는 소스가 아래 주소에 있습니다. 윈도우 도스창 즉 명령프롬프트의 글자들을 모두 지우고 커서 위치를 초기화시킵니다. 도스 명령인 CLS 와 똑같습니다.

다만 비주얼C 2005 나 그 이상의 버전의 컴파일러에서는 getch() 함수를 _getch() 로 변경해 주어야 합니다. 함수명 앞에 밑줄이 붙은 _getch() 함수는 보안이 강화된 함수입니다.

화면 지우기 C소스: ▶▶ C언어 VC++] 화면 지우기 함수(cls); 도스창/콘솔 지우는 방법; Console Clear Screen Function

위의 소스는 리눅스의 gcc에서는 되지 않습니다. 화면 지우기 방법은 표준이 없고 운영체제에 따라 제각각이기 때문입니다.





참고: ▶▶ C언어] 화면 출력 잠시 정지시키기. 화면 일시 중지 함수 getch(); Pause


A태그에서 밑줄을 없애려면? 링크 언더라인 지우려면? Link Underline Remove

HTML 웹페이지의 A태그 링크에서 밑줄을 업애려면, 그 태그에 style="text-decoration:none" 이런 CSS 속성을 부여하면 밑줄이 없어집니다. 예를 들어 다음과 같은 식으로 사용합니다.

<a href="http://www.google.co.kr/" style="text-decoration:none">Google 검색</a>


그렇지만 모든 링크에 일일이 style="text-decoration:none" 이런 속성을 기입하기는 힘들기 때문에, <style type="text/css">... 속에서, a { text-decoration:none } 이렇게 정의하면 모든 링크에서 밑줄이 한꺼번에 제거됩니다. 대부분의 사이트에서 이 방법을 사용합니다. 다음 예제 소스와 같습니다.

모든 A링크에서 밑줄 한꺼번에 모두 지우기


예제 파일명: example.html
<html>
<head>
<style type="text/css">

a { text-decoration:none }

</style>
</head>


<body>

<a href="http://www.google.co.kr/">Google 검색</a>

<br />

<a href="http://www.google.co.kr/">Google 검색</a>

</body>
</html>


참고: ▶▶ HTML-CSS] A태그의, 링크 밑줄(언더라인) 없애기, 제거; Links without Underline

Thursday, August 30, 2007

배치파일에서 파일 행번호, 줄번호 붙이기; Batch File, Print Line Number

텍스트파일을 화면에 출력하되, 행번호를 붙이는 Print Line Number 배치파일입니다. 그런데 완벽하지는 않습니다. 2가지 제약(Limitation)이 있는데 "빈줄(Blank Line)"은 세지 못합니다. 그리고 "< >" 이런 부등호 기호가 들어가 있는 줄은 출력하지 못합니다.

BAT: 텍스트 파일에 행번호 추가하여 출력


파일명: example.bat
@echo off
setlocal


for /f "delims=" %%i in (test.txt) do call :FUNCTION %%i

goto :EOF



:FUNCTION
set /a SUM=%SUM% + 1
echo %SUM%: %*



테스트용 파일의 내용: test.txt
foo

이 파일은 "테스트용" 파일입니다.
FOO FOO FOO FOO FOO FOO FOO FOO FOO FOO FOO
"Google Goooooooooooogle"

ㅎㅎ

fooFoo

<이렇게 부등호가 들어간 줄은 출력되지 않습니다.>

안녕하세요. 반갑습니다.



실행 결과 화면:
D:\Z>example.bat
1: foo
2: 이 파일은 "테스트용" 파일입니다.
3: FOO FOO FOO FOO FOO FOO FOO FOO FOO FOO FOO
4: "Google Goooooooooooogle"
5: ㅎㅎ
6: fooFoo
7: 안녕하세요. 반갑습니다.

D:\Z>


행번호를 제대로 붙이려면 Perl 프로그래밍을 추천합니다: ▶▶ [Perl/펄] 텍스트 파일에 행번호 붙여, 화면에 출력 또는 파일로 저장


행 번호, 줄 번호 추가 유틸리티 (온라인 버전): ▶▶ 행번호 줄번호 붙이기 툴; 소스 텍스트 파일 각행마다; Text Line Number Tool

BAT 환경변수 사용 방법, 배치파일에서 환경변수; ENV

배치파일 즉 .BAT 파일에서, 운영체제의 환경변수를 추가, 출력, 삭제 등으로 조작하는 방법입니다. 다만, 도스창(명령 프롬프트;CMD.EXE)을 종료하면, 배치파일에서 생성/삭제한 환경변수가 모두 원래로 돌아갑니다. 즉, 배치파일로는 환경변수의 영구적인 추가/삭제가 불가능합니다. 현재 도스창에서만 일시적으로 변경할 수 있을 뿐입니다.

BATCH 파일에서 환경변수 추가, 출력, 지우기 예제


예제 배치파일 파일명: example.bat
@echo off

:: MY_TEST 라는 이름의, 새 환경변수 선언 + 값 대입 방법
:: 이퀄(=) 기호 앞뒤에 공백이 있으면 안됨
:: 찰싹 붙여야 함
set MY_TEST=AAABBB123



:: 환경변수 내용을 화면에 출력하기
:: 변수를 사용할 때에는,
:: 변수명의 앞뒤로 퍼센트 기호를 붙여야 함
echo %MY_TEST%
:: 출력 결과: AAABBB123



:: 특정 환경변수 지우기
:: 등호(=) 뒤에 공백조차 전혀 없어야 함
set MY_TEST=




영구적인 환경변수 추가 / 수정 방법: ▶▶ '환경변수'란 무엇인가요? 환경변수 변경/추가/삭제하는 법은? - Environment Variable


배치파일 강좌:

200자 원고지 서식, 양식; 아래아 한글 HWP 에서 사용하기

아래아 한글 (아래한글) 워드프로세서에는 원고지 서식이 내장되어 있습니다. 워드프로세서의 본문을 원고지에 자동으로 입력할 수도 있습니다. 방법은 다음과 같습니다. "한글 2005" 버전을 기준으로 설명합니다.

* 우선 "한글 워드프로세서" 본문에 예를 들어 다음과 같은 식으로 글을 적습니다.

태풍 전야의 고요처럼 월식의 직전에는 어떤 쾌적함이 있는지도 모르겠다. 그리고 이 쾌적함이 도리어 현기증을 유발하고 있는지도 모를 일이다. 이 현기증은 고통스런 무엇이라기보다는 육체에서 홀연히 해방되는 듯한 그런 기분이기도 하다.


* "한글" 상단 메뉴에서

도구 > 원고지 쓰기

를 선택.

* 여러 종류의 원고지 서식이 나옵니다. "200자 원고지"와 "400자 원고지", "1000자 원고지" 가 있습니다. 원고지를 선택합니다. 색깔은 빨간색이나 녹색이 적당합니다.

* 본문의 텍스트를 원고지에 자동으로 입력하려면 현재 문서에서 내용을 가져다 채움 에 체크해야만 원고지가 자동으로 채워집니다.

그렇지 않으면 아래와 같이 빈 원고지가 나옵니다. 여기에서 글을 입력하면 "원고지 쓰는 법"에 맞게 자동으로 커서가 이동합니다.

클릭또는옆으로스크롤가능
200자 원고지

200자 원고지 양식


▶▶ [MS오피스/MS워드/VBA] 200자 원고지 매수(분량) 계산 매크로

단어 수, 200자 원고지 장수, 줄 수 계산기: ▶▶ 단어수 세기, 200자 원고지 매수 계산, 줄수 행 개수; Word Counter



구글 피카사 용량, Picasa Web Albums의 이미지 파일 업로드 Size

이 글을 쓰고 있는 지금 현재, "구글 피카사 웹 앨범"에 JPG 등의 그림 파일을 업로드할 수 있는 용량은 1GB (1기가) 입니다. 초창기에는 250MB 뿐이었는데 몇 달 전에 용량이 4배쯤 대폭 증가했습니다. "피카사"에 로그인해 보면, 화면 맨 아래에, 예를 들어 다음과 같은 구절이 있습니다.

You are currently using 12 MB (1%) of your 1024 MB

1024 MB 중에서 12 MB 를 사용 중이라는 뜻인데, 1024 MB 가 바로 1GB (1기가) 입니다.

그런데 확정된 것은 아니지만 앞으로도 피카사 용량이 더 증가할 것입니다.


1기가는 JPG 사진 파일 몇 장에 해당되나요?


1기가는, 225KB 정도의 비교적 크고 화질 좋은 JPG 파일을 4300장 정도 저장할 수 있는 용량입니다. 따라서 피카사에 사진을 최소한 2000장 이상 업로드할 수 있습니다. 크기가 엽서 크기 정도로 작은 사진이라면 8000장도 올릴 수 있습니다.


참고: ▶▶ 구글 피카사 웹 앨범 (Picasa Web Albums) 사용기


소음 차단 귀마개로 좋은 것은? Ear Plugs

소음 차단을 위한 귀마개는 그리 종류가 다양하지는 않았습니다. 일반적으로 흔히 구할 수 있는 것은 3M에서 나온 귀마개였습니다. 주황색 스펀지로 되어 있습니다. 아래 사진과 같은 것입니다. 낱개로 파는 것도 있지만 마분지 상자 속에 든 것은 대량으로 파는 것입니다. 생활 소음 차단용으로도 쓸 수 있고, 공장의 기계 소음 차단용으로도 쓸 수 있습니다.

이 귀마개를 귀에 낀다고 해서 모든 소리가 100퍼센트 차단되는 것은 아닙니다. 고음의 소음이나 작은 소리는 90~100% 차단되고, 사람의 말소리 정도의 소음은 70퍼센트 정도만 차단됩니다. 깜짝 놀랄 정도의 큰 소음의 경우는, 놀라지 않을 정도의 소리로 크기가 줄어듭니다.

제가 몇년간 쓰리엠 귀마개를 사용 중인데 학습용이나 취침용으로는 좋았습니다. 소총 사격장 소음으로부터 귀를 보호하는 용도로도 사용 가능할 것입니다.

클릭하면확대
귀마개
소음 차단을 위한 귀마개

쓰리엠 귀마개는 크게 2종류가 있습니다. 위의 3번 사진처럼 총알형으로 생긴 것과, 4번 사진처럼 소라형으로 생긴 것이 있습니다. 3번이 소음 차단이 잘 되고, 4번은 거의 효과가 없습니다. 귀마개 종류에 대한 자세한 설명 참고: ▶▶ 3M 귀마개 좋은 것 구매기, 실물 사진; 쓰리엠 3M 1100 Ear Plug 29dB


Wednesday, August 29, 2007

UTF-8 BOM, UTF-16LE BOM, UTF-16BE BOM 출력 화면

각종 유니코드 인코딩의 파일에서 BOM 즉 "Byte Order Mark"를 출력한 화면입니다. test.txt 라는 이름의 텍스트 파일을 대문자 A로만 가득채운 후에, BOM(봄)을 붙여서 서로 다른 종류의 유니코드 인코딩으로 저장하고, 헥사뷰어로 덤프한 결과입니다. (파일 끝에는 0D 0A 라는 "도스 개행문자"가 붙어 있는데 이 포스트의 주제와는 직접적인 상관은 없습니다.)

UTF-8의 BOM 출력: EF BB BF


"UTF-8 유니코드"에는 BOM이 없는 것이 보통입니다. 특히 HTML용 UTF-8 파일에는 BOM이 없어야 합니다. 다만 BOM이 없으면, 파일에 한글이 아닌 영문자만 기입되어 있을 경우, "일반 8비트 ANSI 인코딩"과 절대 구분이 되지 않는 문제가 있습니다.

아무튼 아래의 첫 3문자인 EF BB BF 가, UTF-8의 "봄"입니다. 참고로, "41"은 알파벳 대문자 A의 16진수 아스키 코드입니다.
D:\Z>hexdump.pl test.txt
00000000:  EF BB BF 41 41 41 41 41  41 41 41 41 41 41 41 41  ...AAAAAAAAAAAAA
00000010:  41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00000020:  41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00000030:  41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00000040:  41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00000050:  41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00000060:  41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00000070:  41 41 41 41 41 41 41 0D  0A                       AAAAAAA..

D:\Z>



일반 유니코드(UTF-16LE)의 BOM: FF FE


MS윈도우에서 사용되는 16비트 유니코드 (little-endian)의 봄은 FF FE 라는 2문자입니다.
D:\Z>hexdump.pl test.txt
00000000:  FF FE 41 00 41 00 41 00  41 00 41 00 41 00 41 00  ..A.A.A.A.A.A.A.
00000010:  41 00 41 00 41 00 41 00  41 00 41 00 41 00 41 00  A.A.A.A.A.A.A.A.
00000020:  41 00 41 00 41 00 41 00  41 00 41 00 41 00 41 00  A.A.A.A.A.A.A.A.
00000030:  41 00 41 00 41 00 41 00  41 00 41 00 41 00 41 00  A.A.A.A.A.A.A.A.
00000040:  41 00 41 00 41 00 41 00  41 00 41 00 41 00 41 00  A.A.A.A.A.A.A.A.
00000050:  41 00 41 00 41 00 41 00  41 00 41 00 41 00 41 00  A.A.A.A.A.A.A.A.
00000060:  41 00 41 00 41 00 41 00  41 00 41 00 41 00 41 00  A.A.A.A.A.A.A.A.
00000070:  41 00 41 00 41 00 41 00  41 00 41 00 41 00 41 00  A.A.A.A.A.A.A.A.
00000080:  41 00 41 00 41 00 41 00  41 00 41 00 41 00 41 00  A.A.A.A.A.A.A.A.
00000090:  41 00 41 00 41 00 41 00  41 00 41 00 41 00 41 00  A.A.A.A.A.A.A.A.
000000A0:  41 00 41 00 41 00 41 00  41 00 41 00 41 00 41 00  A.A.A.A.A.A.A.A.
000000B0:  41 00 41 00 41 00 41 00  41 00 41 00 41 00 41 00  A.A.A.A.A.A.A.A.
000000C0:  41 00 41 00 41 00 41 00  41 00 41 00 41 00 41 00  A.A.A.A.A.A.A.A.
000000D0:  41 00 41 00 41 00 41 00  41 00 41 00 41 00 41 00  A.A.A.A.A.A.A.A.
000000E0:  41 00 41 00 41 00 41 00  41 00 0D 00 0A 00        A.A.A.A.A.....

D:\Z>



UTF-16BE의 BOM: FE FF


윈도우에서는 BE 즉 big-endian 유니코드는 사실상 사용되지 않습니다. 위의 LE 유니코드와는 바이트 순서가 거꾸로 되어 있습니다. 정확하게 말하자면 LE의 바이트 순서가 역순이고, BE의 바이트 순서는 바로 되어 있습니다.
D:\Z>hexdump.pl test.txt
00000000:  FE FF 00 41 00 41 00 41  00 41 00 41 00 41 00 41  ...A.A.A.A.A.A.A
00000010:  00 41 00 41 00 41 00 41  00 41 00 41 00 41 00 41  .A.A.A.A.A.A.A.A
00000020:  00 41 00 41 00 41 00 41  00 41 00 41 00 41 00 41  .A.A.A.A.A.A.A.A
00000030:  00 41 00 41 00 41 00 41  00 41 00 41 00 41 00 41  .A.A.A.A.A.A.A.A
00000040:  00 41 00 41 00 41 00 41  00 41 00 41 00 41 00 41  .A.A.A.A.A.A.A.A
00000050:  00 41 00 41 00 41 00 41  00 41 00 41 00 41 00 41  .A.A.A.A.A.A.A.A
00000060:  00 41 00 41 00 41 00 41  00 41 00 41 00 41 00 41  .A.A.A.A.A.A.A.A
00000070:  00 41 00 41 00 41 00 41  00 41 00 41 00 41 00 41  .A.A.A.A.A.A.A.A
00000080:  00 41 00 41 00 41 00 41  00 41 00 41 00 41 00 41  .A.A.A.A.A.A.A.A
00000090:  00 41 00 41 00 41 00 41  00 41 00 41 00 41 00 41  .A.A.A.A.A.A.A.A
000000A0:  00 41 00 41 00 41 00 41  00 41 00 41 00 41 00 41  .A.A.A.A.A.A.A.A
000000B0:  00 41 00 41 00 41 00 41  00 41 00 41 00 41 00 41  .A.A.A.A.A.A.A.A
000000C0:  00 41 00 41 00 41 00 41  00 41 00 41 00 41 00 41  .A.A.A.A.A.A.A.A
000000D0:  00 41 00 41 00 41 00 41  00 41 00 41 00 41 00 41  .A.A.A.A.A.A.A.A
000000E0:  00 41 00 41 00 41 00 41  00 41 00 0D 00 0A        .A.A.A.A.A....

D:\Z>



▶▶ [QnA] 유니코드 (Unicode) 의 BOM (Byte Order Mark) 이란?

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

Perl로 헥사 뷰어 만들기 소스: ▶▶ Perl 펄] 헥사 뷰어, 헥사 덤프 만들기 소스 코드; Hex Viewer, File Dump



Vim Vi 헥사 뷰어, 헥사 에디터 모드 명령어; Hex Viewer Hex Editor, xxd

Vim / Vi 에디터에서 현재 편집 중인 파일을 헥사 모드로 즉 16진 모드로 볼 수 있는 명령어가 있습니다. xxd 라는 명령입니다. 이것으로 텍스트파일은 물론이고, "이진파일" 즉 "바이너리" 파일도 헥사 모드로 볼 수 있습니다. 편집도 어느 정도 가능하긴 하지만 불완전합니다.

(1) 현재 파일을 헥사 모드로 전환 명령:
:%!xxd


(2) 헥사 모드를 원래의 모드로 되돌리기 명령:
:%!xxd -r


* 파일을 불러온 후 (1)번 명령을 실행하여 헥사 모드로 전환한 후, 헥사뷰어로서 보거나 또는 헥사에디터로서 편집하고

* (2)번 명령으로 원래대로 돌린 후, 수정 사항이 있을 경우 :w 명령으로 파일을 하드에 저장하면 됩니다.


아래 화면은 텍스트 파일을 Vim에디터에서 xxd 명령으로 본 것입니다. 이진파일도 마찬가지입니다.

Vim에디터에서 파일을 헥사 모드로 변환하여 본 장면
0000000: 5573 696e 6720 4865 6c70 0d0a 5468 6573  Using Help..Thes
0000010: 6520 4865 6c70 2066 696c 6573 2061 7265  e Help files are
0000020: 206f 7267 616e 697a 6564 2070 7269 6d61   organized prima
0000030: 7269 6c79 2062 6173 6564 206f 6e20 7468  rily based on th
0000040: 6520 6d65 6e75 2073 7472 7563 7475 7265  e menu structure
0000050: 2069 6e20 556c 7472 6145 6469 7420 2f20   in UltraEdit /
0000060: 5545 5374 7564 696f 2e20 2054 6f20 7468  UEStudio.  To th
0000070: 6520 6c65 6674 2079 6f75 2073 686f 756c  e left you shoul
0000080: 6420 7365 6520 7468 6520 666f 6c6c 6f77  d see the follow
0000090: 696e 6720 6d61 6a6f 7220 6865 6164 696e  ing major headin
00000a0: 6773 3a0d 0a0d 0a0d 0a0d 0a47 6574 7469  gs:........Getti
00000b0: 6e67 2053 7461 7274 6564 0d0a 0d0a 4d65  ng Started....Me
00000c0: 6e75 732f 546f 6f6c 6261 7273 0d0a 0d0a  nus/Toolbars....
00000d0: 4d65 6e75 2053 756d 6d61 7279 0d0a 0d0a  Menu Summary....
00000e0: 2a20 436f 6d70 696c 6572 2043 6f6e 6669  * Compiler Confi
00000f0: 6775 7261 7469 6f6e 0d0a 0d0a 2a20 4356  guration....* CV
0000100: 5320 5375 7070 6f72 740d 0a0d 0a46 4151  S Support....FAQ
0000110: 0d0a 0d0a 4c69 6365 6e73 6520 4167 7265  ....License Agre
0000120: 656d 656e 740d 0a0d 0a53 616c 6573 2061  ement....Sales a
0000130: 6e64 2053 7570 706f 7274 0d0a 0d0a 0d0a  nd Support......
0000140: 0d0a 5468 6520 4765 7474 696e 6720 5374  ..The Getting St
0000150: 6172 7465 6420 7365 6374 696f 6e20 286f  arted section (o
0000160: 6620 7768 6963 6820 7468 6973 2069 7320  f which this is
0000170: 7468 6520 6669 7273 7420 646f 6375 6d65  the first docume
0000180: 6e74 2920 636f 6e74 6169 6e73 2075 7365  nt) contains use
0000190: 6675 6c20 696e 666f 726d 6174 696f 6e20  ful information
00001a0: 746f 2067 6574 2079 6f75 2075 7020 616e  to get you up an
00001b0: 6420 7275 6e6e 696e 6720 7175 6963 6b6c  d running quickl
00001c0: 7920 616e 6420 6564 6974 696e 6720 7465  y and editing te
00001d0: 7874 2069 6e20 556c 7472 6145 6469 742e  xt in UltraEdit.
00001e0: 0d0a 0d0a 0d0a 0d0a 5468 6520 4d65 6e75  ........The Menu
00001f0: 2053 756d 6d61 7279 2073 6563 7469 6f6e   Summary section
0000200: 206d 6179 2062 6520 6578 7061 6e64 6564   may be expanded
0000210: 2062 7920 646f 7562 6c65 2d63 6c69 636b   by double-click
0000220: 696e 6720 616e 6420 636f 6e73 6973 7473  ing and consists
0000230: 206f 6620 696e 666f 726d 6174 696f 6e20   of information
0000240: 7265 6761 7264 696e 6720 7468 6520 636f  regarding the co
0000250: 6d6d 616e 6473 2070 7265 7365 6e74 6564  mmands presented
0000260: 2069 6e20 7468 6520 6d65 6e75 7320 696e   in the menus in
0000270: 2055 6c74 7261 4564 6974 2e20 2045 6163   UltraEdit.  Eac
0000280: 6820 6d65 6e75 2068 6561 6469 6e67 2028  h menu heading (
0000290: 4669 6c65 204d 656e 752c 2045 6469 7420  File Menu, Edit
00002a0: 4d65 6e75 2c20 6574 632e 2920 6d61 7920  Menu, etc.) may
00002b0: 6265 2065 7870 616e 6465 6420 6279 2064  be expanded by d
00002c0: 6f75 626c 652d 636c 6963 6b69 6e67 2061  ouble-clicking a
44 lines filtered                                             1,1           Top


편집할 때에는 중앙의 "5573 696e 6720 4865" 이런 16진수 숫자들을 편집해야 합니다. 맨 우측의 문자 구역을 편집하면 안됩니다.

주의! 헥사 모드 상태로 파일을 저장하면 위의 화면처럼 헥사 모드 그대로 저장되어 버립니다. 즉 이진파일이 텍스트 파일이 되어 버립니다. 이때는 ":%!xxd -r" (따옴표 제외) 명령으로 원래의 이진파일로 돌릴 수 있습니다.

Vim이나 Vi 버전에 따라 헥사 편집이 잘 안되고 파일이 깨지는 경우가 있습니다. 중요한 파일을 헥사 편집할 때에는 원본이 아닌 복사본으로 편집해야만 합니다.


헥사 뷰어는 Perl로 간단히 만들어 쓸 수도 있습니다: ▶▶ Perl 펄] 헥사 뷰어, 헥사 덤프 만들기 소스 코드; Hex Viewer, File Dump

▶▶ 리눅스] Hex Editor (헥사 에디터) / 이진 파일 편집기 - Binary Editor

윈도우에서 grep 명령어 사용하기; Windows Win32 grep 명령

원래 grep 은 유닉스에서 파일 속의 문자열을 찾는 명령입니다. 유명하고 유용한 명령어이고, 그래서인지 grep 명령은 윈도우에서도 사용할 수 있습니다. 다만 윈도우98에는 없고 윈도우2000이나 윈도우XP 이상에만 있습니다.

윈도우에서는 grep 이라는 심오한(?) 이름 대신에 findstr 이라는 나이브한 이름으로 존재합니다. 윈도우 도스창(명령 프롬프트;CMD.EXE) 에서,

findstr /?

이렇게 입력하고 엔터키를 치면 도움말이 나옵니다. 윈도우에서 findstr 로 문자열을 찾는 사용법 예제는 여기에 있습니다: ▶▶ 윈도우 도스창에서 정규식 사용법 - Windows XP regex FINDSTR


Win32 grep.exe 명령 사용하기


그런데 MS에서 만든 findstr 이 아니라 진짜 오리지날 "그렙"도 윈도우에서 무료로 사용 가능합니다.

Cygwin(시그윈) 을 다운로드받아서 윈도우에 설치하면 그 안에 진짜 grep이 grep.exe 라는 이름으로 들어 있습니다.

findstr 명령보다 grep.exe 쪽이 더 강력합니다.


파일에 출력하는 배치 파일 작성법; BAT으로 Text File 만들기

배치 파일 Batch File 에서도 일반 프로그래밍 언어에서와 마찬가지로, 결과를 화면이 아닌 파일로 출력하는 방법이 있습니다. "재지향"을 사용하는 것입니다. 예를 들어 다음의 example.bat 이라는 예제를 실행하면 하드의 현재 디렉토리(폴더)에 out.txt 라는 텍스트 파일이 생성되고, 그 안에 보면 AAA BBB 등의 문자열 출력이 저장되어 있을 것입니다.

BATCH OUTPUT to FILE: 텍스트 파일로 결과 출력하기 예제


예제 소스 파일명: example.bat
@echo off

echo AAA  > out.txt
echo BBB >> out.txt
echo CCC >> out.txt
echo DDD >> out.txt



하드에 생성된 출력 파일 out.txt 의 내용:
AAA
BBB
CCC
DDD


자세한 설명과 좀더 실용적인 예제는 여기에 있습니다: ▶▶ 배치파일(.BAT)로, 파일 출력, 텍스트 파일(Text File) 만드는 방법

UTF-8 EUC-KR 변환할 때 HTML 글자 깨짐 해결법

"UTF-8 인코딩"은 "유니코드"이기에, 전세계 모든 문자를 다 표현할 수 있습니다. "EUC-KR 인코딩"은 "한글 완성형"이라서, 한글과 한국에서 사용되는 한자 등만 제한적으로 표현 가능합니다.

따라서, 그 UTF-8 파일에 한글이 아닌 중국어 간체자나 독일어 움라우트, 일본식 한자, 희귀한 특수문자 등이 포함되어 있다면 당연히 글자 깨짐이 발생합니다.

이때는 한글 완성형 인코딩으로 표현할 수 없는 글자를 예를 들어
&#22323;
이렇게 숫자로 변환하여 표현하면 됩니다. 다만 웹문서(.html)에서만 되고, 일반 "텍스트 문서(.txt)"에서는 이 방법이 안됩니다.

외국어 문자를 숫자로 변환하는 법은 여기에 설명되어 있습니다: ▶▶ 한국어(euc-kr) 페이지에서 중국식 한자 구현

유니코드 인코딩 인식 오류의 문제


한글이나 영문만 들어 있는 UTF-8 파일인데도 EUC-KR 로 변환하면 글자가 깨지는 경우가 있습니다. 이것은 변환기에서 에러가 발생한 것입니다. 변환기가 UTF-8 파일을 UTF-8 로 정확히 인식하지 못한 상태에서, EUC-KR 로 변환하면 글자가 깨집니다.

이때는 ☞ EmEditor 같은 유니코드 전문 편집기로 변환 작업을 해 보는 것이 좋습니다.


BOM이 없는 UTF-8 파일에서 인코딩 착오가 많이 발생합니다. 참고: ▶▶ [QnA] 유니코드 (Unicode) 의 BOM (Byte Order Mark) 이란?

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




Tuesday, August 28, 2007

Bold 태그, 볼드 Tag, HTML CSS에서 글자 진하게 하는 태그

HTML 웹페이지에서 글자 즉 텍스트 글꼴을 굵고 진하게 표현하는 태그는 다음의 3종류가 있습니다.

strong 태그를 쓰는 것이 가장 무난합니다. 2번째 태그(span 태그 속에 style 속성) 사용은 좀더 전문적인 디자인에 적합합니다. 3번째의 b 태그는 별로 추천하지 않습니다.

<strong>글자</strong>

<span style="font-weight:bold">글자</span>

<b>글자</b>


위의 태그들의 사용 예제는 아래 주소에 있습니다:

▶▶ HTML CSS] 글꼴을 굵게 진하게; 굵은 글자, 단어 강조 태그, 볼드체; Bold Font Tag


배치파일 함수 구현, BAT에서 GOSUB 문 서브루틴, 고급 BATCH 테크닉

배치파일에서 간단한 함수를 만드는 방법입니다. 제대로 된 함수는 아니고 함수 비슷하게 작동하는 "서브루틴"입니다. GW-BASIC 의 GOSUB문과 비슷합니다. 아주 복잡한 배치에서만 가끔 필요한 고급 테크닉입니다.

FOO 라는 함수에 5와 6을 인수로 입력하면, 곱하기 결과인 30 을 화면에 출력하는 간단한 예제입니다. 즉 곱셈 함수인데, 실제로는 곱셈 함수는 필요 없고 별표(*) 기호로 곱하기를 하면 됩니다.

우선 call문으로, 예를 들어 FOO 라는 함수명(실은 함수가 아니라 라벨)을 호출하고, FOO 라는 레이블 뒤에 5와 6이라는 인수 즉 아큐먼트(파라미터) 2개를 지정합니다.

call :FOO 5 6

BAT 함수와 서브루틴 파라미터 구현 예제


예제 배치파일 파일명: example.bat
@echo off
setlocal


call :FOO 5 6

goto :EOF



:FOO
set /a RESULT=%1 * %2
echo %RESULT%


소스 맨 아래에 FOO 라는 간이 함수가 정의되어 있습니다. 반환값을 돌려주지는 못하고 그냥 결과를 화면에 출력합니다. 인수를 받을 때에는 %1 로 첫번째 인수를 받고 %2 로 두번째 인수를 받는 식입니다.

함수 정의 부분이 시작되기 전에 goto :EOF 문을 넣어주어 배치파일을 종료시켜야 합니다. 그렇지 않으면 함수 정의 부분까지 다시 실행되어 버립니다.


참고: ▶▶ 배치파일 문자열 함수는? 스트링 추출 출력 방법; Batch String

배치파일 문자열 함수는? 스트링 추출 출력 방법; Batch String

배치파일은 아주 간단한 프로그래밍 도구이기에 함수의 개념은 없습니다. 이나 C언어처럼 문자열을 본격적으로 다루지는 못하지만, BATCH 파일에서도 set 명령을 사용하면 어느 정도는 가능합니다.

또한 echo 라는 명령으로, 문자열 출력 함수를 대신할 수 있습니다. 다음 예제와 같습니다.

BAT에서 문자열 다루기 예제 소스


배치파일 파일명: example.bat
@echo off

:: 문자열 변수 정의 + 문자열 대입
set FOO=AAABBBCCCDDD


:: 문자열 출력, 도스창 화면에 프린트하기
echo %FOO%
:: 출력 결과: AAABBBCCCDDD



:: 문자열 추출
:: 원본 문자열의 6번째 글자부터 시작하여 3글자까지만 추출
set BAR=%FOO:~6,3%

:: 추출된 문자열 출력
echo %BAR%
:: 출력 결과: CCC



:: 변수 지우기
set FOO=
set BAR=


중요: 위의 소스에서 ~6,3% 의 앞에 있는 글자는 키보드 좌측의 "물결무늬"입니다. 마이너스 기호가 아닙니다. 글꼴에 따라 잘 구분이 안될 수도 있습니다.


문자열 추출은 옛날의 16비트 MS-DOS에서는 안됩니다.


CALL 문으로 함수/서브루틴 구현 예제: ▶▶ 배치파일 함수 구현, BAT에서 GOSUB 문 서브루틴, 고급 BATCH 테크닉

DOS 명령어 / 모든 도스 명령 목록; MS-DOS Command

도스 명령어 목록입니다. 윈도우2000 / 윈도우XP 이상의 운영체제에서 도스창(명령 프롬프트;CMD.EXE)을 열고 help 라는 명령어를 치면 아래와 같이 모든 도스 명령어의 목록이 화면에 출력됩니다.

사용법은 예를 들어,

CD /?

라고 하면 CD 명령어에 대한 더 자세한 도움말이 화면에 출력됩니다.

도스 기본 명령어 모두 출력 화면


Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\nozomi>help
특정 명령어에 대한 자세한 내용이 필요하면 HELP 명령어 이름을 입력하십시오.
ASSOC    파일 확장명 연결을 보여주거나 수정합니다.
AT       명령어와 프로그램의 실행을 스케줄합니다.
ATTRIB   파일 속성을 표시하거나 바꿉니다.
BREAK    확장된 CTRL+C 검사를 설정하거나 지웁니다.
CACLS    파일의 액세스 컨트롤 목록(ACL)을 표시하거나 수정합니다.
CALL     한 일괄 프로그램에서 다른 일괄 프로그램을 호출합니다.
CD       현재 디렉터리 이름을 보여주거나 바꿉니다.
CHCP     활성화된 코드 페이지의 번호를 표시하거나 설정합니다.
CHDIR    현재 디렉터리 이름을 보여주거나 바꿉니다.
CHKDSK   디스크를 검사하고 상태 보고서를 표시합니다.
CHKNTFS  부팅하는 동안 디스크 확인을 화면에 표시하거나 변경합니다.
CLS      화면을 지웁니다.
CMD      Windows 명령 인터프리터의 새 인스턴스를 시작합니다.
COLOR    콘솔의 기본색과 배경색을 설정합니다.
COMP     두 개 또는 여러 개의 파일을 비교합니다.
COMPACT  NTFS 분할 영역에 있는 파일의 압축을 표시하거나 변경합니다.
CONVERT  FAT 볼륨을 NTFS로 변환합니다. 현재 드라이브는
         변환할 수 없습니다.
COPY     하나 이상의 파일을 다른 위치로 복사합니다.
DATE     날짜를 보여주거나 설정합니다.
DEL      하나 이상의 파일을 지웁니다.
DIR      디렉터리에 있는 파일과 하위 디렉터리 목록을 보여줍니다.
DISKCOMP 두 플로피 디스크의 내용을 비교합니다.
DISKCOPY 플로피 디스크의 내용을 다른 플로피 디스크로 복사합니다.
DOSKEY   명령줄을 편집하고, Windows 명령을 다시 호출하고, 매크로를 만듭니다.
ECHO     메시지를 보여주거나, 명령어 반향을 켜거나 끕니다.
ENDLOCAL 일괄 파일에서 환경 변경의 지역화를 끝냅니다.
ERASE    하나 이상의 파일을 지웁니다.
EXIT     CMD.EXE 프로그램(명령 인터프리터)을 마칩니다.
FC       두 파일 또는 파일의 집합을 비교하여 다른 점을
         표시합니다.
FIND     파일에서 텍스트 문자열을 찾습니다.
FINDSTR  파일에서 문자열을 찾습니다.
FOR      파일 집합에서 각 파일에 대해 지정된 명령을 실행합니다.
FORMAT   Windows에서 사용할 디스크를 포맷합니다.
FTYPE    파일 확장 연결에 사용되는 파일 형식을 표시하거나 수정합니다.
GOTO     Windows 명령 인터프리터가 일괄 프로그램에서 이름표가 붙여진
         줄로 가게 합니다.
GRAFTABL Windows가 그래픽 모드에서 확장 문자 세트를 표시할
         수 있게 합니다.
HELP     Windows 명령어에 관한 도움말을 제공합니다.
IF       일괄 프로그램에서 조건 처리를 수행합니다.
LABEL    디스크의 볼륨 이름을 만들거나, 바꾸거나, 지웁니다.
MD       디렉터리를 만듭니다.
MKDIR    디렉터리를 만듭니다.
MODE     시스템 장치를 구성합니다.
MORE     출력을 한번에 한 화면씩 표시합니다.
MOVE     하나 이상의 파일을 한 디렉터리에서 다른 디렉터리로 옮깁니다.
PATH     실행 파일의 찾기 경로를 보여주거나 설정합니다.
PAUSE    일괄 파일의 처리를 보류하고 메시지를 보여줍니다.
POPD     PUSHD 명령으로 저장된 디렉터리로 바꿉니다.
PRINT    텍스트 파일을 인쇄합니다.
PROMPT   Windows 명령 프롬프트를 바꿉니다.
PUSHD    현재 디렉터리를 저장한 후 디렉터리를 바꿉니다.
RD       디렉터리를 지웁니다.
RECOVER  불량이거나 결함이 있는 디스크에서 읽을 수 있는 정보를 복구합니다.
REM      일괄 파일 또는 CONFIG.SYS에서 주석을 기록합니다.
REN      파일 이름을 바꿉니다.
RENAME   파일 이름을 바꿉니다.
REPLACE  파일을 대체합니다.
RMDIR    디렉터리를 지웁니다.
SET      Windows 환경 변수를 보여주거나, 설정하거나, 지웁니다.
SETLOCAL 일괄 파일에서 환경 변경의 지역화를 시작합니다.
SHIFT    일괄 파일에서 바꿀 수 있는 매개 변수의 위치를 바꿉니다.
SORT     입력을 정렬합니다.
START    지정된 프로그램이나 명령을 별도의 창에서 시작합니다.
SUBST    경로를 드라이브 문자로 지정합니다.
TIME     시스템 시간을 보여주거나 설정합니다.
TITLE    CMD.EXE 세션에 대한 창의 창 제목을 설정합니다.
TREE     드라이브 또는 경로의 디렉터리 구조를 그래픽으로 화면에 표시합니다.
TYPE     텍스트 파일의 내용을 보여줍니다.
VER      Windows 버전을 보여줍니다.
VERIFY   파일이 디스크에 올바로 쓰였는지 검증할지
         여부를 지정합니다.
VOL      디스크 볼륨 이름과 일련 번호를 보여줍니다.
XCOPY    파일과 디렉터리 트리를 복사합니다.

C:\Documents and Settings\nozomi>
C:\Documents and Settings\nozomi>
C:\Documents and Settings\nozomi>
C:\Documents and Settings\nozomi>cd /?
현재 디렉터리 이름을 보여주거나 바꿉니다.

CHDIR [/D] [드라이브:][경로]
CHDIR [..]
CD [/D] [드라이브:][경로]
CD [..]

  ..   상위 디렉터리로 바꿉니다.

특정 드라이브의 디렉터리를 표시하려면 'CD 드라이브:'를 입력하십시오.
현재 드라이브와 디렉터리를 표시하려면 매개 변수 없이 'CD'를 입력하십시오.

디렉터리 이외에 현재 드라이브도 바꾸려면 /D 스위치를 사용하십시오.

명령 확장을 사용하면 CHDIR은 아래와 같이 바뀝니다.

현재 디렉터리 문자열이 디스크 이름에 있는 것 같이 사용되도록
변환됩니다. 그러므로 CD C:\TEMP는 실제로, 이 디렉터리가 디스크에
있으면 현재 디렉터리가 C:\Temp로 설정됩니다.

CHDIR 명령은 스페이스를 분리 기호로 취급하지 않으므로 CD는
인용 부호로 이름을 에워싸지 않아도 이름에 스페이스를 가지고 있는
하위 디렉터리로 갈 수 있습니다.
예를 들면 다음 두 가지 경우는 모두 같습니다:

    cd \winnt\profiles\username\programs\start menu

    cd "\winnt\profiles\username\programs\start menu"

C:\Documents and Settings\nozomi>


위의 명령어 외에도 더 있을 수 있습니다. C:\WINDOWS\system32 라는 폴더에 있는 "텍스트 모드 프로그램 (콘솔용 프로그램)" 파일들은 모두 명령어처럼 작동합니다.


C언어, 8진수 10진수 변환, 팔진수를 십진수로 바꾸는 함수; Octal Number

C언어에서, 팔진수와 십진수를 상호 변환하는 방법입니다. "팔진수 문자열"을 "십진수 숫자"로 변환할 때에는 strtoul 함수의 3번째 인수에 8을 넣어주면 됩니다. 반대로, 10진수를 8진수로 바꿀 때에는 printf 함수에서
%o 라는 포맷을 지정하면 됩니다. 다음 예제와 같습니다.

아라비아 숫자 앞에 영(0)을 붙이면 8진수 상수로서 인식됩니다.

8진법 10진법 숫자 바꾸기 예제 C소스


예제 소스 파일명: example.cpp
#include <stdio.h>
#include <stdlib.h>

#define STR_SIZE 100


int main(void) {
  char str[STR_SIZE];


  //////////////////////////////////////////
  // 팔진수를 십진수로 바꾸기
  //////////////////////////////////////////

  // "0142"라는 8진수 문자열을, 10진수 숫자 98로 변환
  char *s = "0142"; // 앞에 0이 없이 그냥 142 라고 해도 됩니다
  unsigned long n = strtoul(s, NULL, 8);
  printf("%u\n", n);
  // 출력 결과: 98

  // "팔진수 상수 숫자"를, 10진수 숫자로 화면에 출력
  // 앞에 0(제로)을 붙여서 팔진수 상수라는 사실을 알려주어야 함
  printf("%d\n", 0142); // 출력 결과: 98



  //////////////////////////////////////////
  // 십진수를 팔진수로 바꾸기
  //////////////////////////////////////////

  // 10진수 숫자 98을 팔진수 142 로 화면에 출력
  // 퍼센트 기호 + 소문자o (오) 라는 포맷 사용
  printf("%o\n", 98); // 출력 결과: 142

  // 앞에 8진수 접두사 0(제로)를 붙이려면
  printf("0%o\n", 98); // 출력 결과: 0142




  // 십진수 숫자 98을, 팔진수 문자열 "0142" 로 변환한 후,
  // "0142"를 화면 출력이 아닌, str 배열에 문자열로서 저장
  // sprintf_s 함수는 비주얼C++ 2005 이상에서만 사용 가능
  sprintf_s(str, STR_SIZE, "0%o\n", 98);

  printf("문자열이 된 팔진수입니다: %s\n", str);
  // 출력 결과: 문자열이 된 팔진수입니다: 0142


  return 0;
}


▶▶ C언어] 십진수 정수, 16진수 헥사(Hex)로 변환/출력 함수? 방법은?

▶▶ 윈도우 계산기로, 16진수(Hex) 10진수(Dec) 8진수(Oct) 2진수(Bin) 변환


16진법 2진법 10진수, 아스키 유니코드 상호 변환기: ▶▶ 16진수 헥사, 2진수, 10진수, 8진법 변환 계산기; Hex Calc

Monday, August 27, 2007

Perl 펄, 8진수를 10진수로 변환 출력, 팔진수 십진수 변환 함수 oct

펄에서 8진수와 10진수를 상호 변환하는 방법입니다. oct 함수에 팔진수를 넣으면 십진수 숫자를 반환합니다. 아래 예제는 팔진수와 십진수를 상호 변환합니다.

아라비아 숫자 바로 앞에 영(제로)이 1개 붙어 있으면, 팔진수 상수로 간주됩니다.

팔진수 <--> 십진수 숫자 변환 예제 소스


파일명: example.pl
#!/usr/bin/perl
use strict; use warnings;

  my $temp;

  ########################################
  # 팔진수를 십진수로 변환 출력하기
  ########################################

  # "8진수 142"를 "십진수 98"로 변환 출력
  $temp = oct(142);
  print "10진수: ", $temp, "\n";
  # 출력 결과: 10진수: 98

  # 8진수 142를 십진수 98로 변환 출력
  # 앞에 숫자 제로(0)를 붙이면 "8진수 문자열 상수"가 됨
  print "10진수: ", oct("0142"), "\n";
  # 출력 결과: 10진수: 98

  # printf에서 팔진수를 십진수로 출력
  printf("%d\n", 0142);
  # 출력 결과: 98



  ########################################
  # 십진수를 팔진수로 변환 출력하기
  ########################################

  # "십진수 98"을 "8진수 142"로 변환 출력
  # "퍼센트 기호 + 소문자o (오)"라는 포맷 사용
  printf("8진수: %o\n", 98);
  # 출력 결과: 8진수: 142

  # %#o 이렇게 샤프 기호를 추가하면, 팔진수 앞에 제로(0)가 자동으로 붙음
  printf("8진수: %#o\n", 98);
  # 출력 결과: 8진수: 0142

  # 화면 출력이 아닌, 변환 후 변수에 대입
  $temp = sprintf("%#o", 98);
  print $temp, "\n";
  # 출력 결과: 0142




참고: ▶▶ 펄/Perl] 10진수를 16진수(헥사;Hex)로 출력/변환 함수와 방법

▶▶ 윈도우 계산기로, 16진수(Hex) 10진수(Dec) 8진수(Oct) 2진수(Bin) 변환


16진법 2진법 10진수, 아스키 유니코드 상호 변환기: ▶▶ 16진수 헥사, 2진수, 10진수, 8진법 변환 계산기; Hex Calc

CD 이미지 에디터는? 시디롬 Image 파일 편집기

"CD 이미지"의 대부분은 ".iso" 파일이거나 ".bin" 파일입니다. CD 이미지를 편집할 수 있는 에디터는 많이 있지만, 가장 강력한 것은 UltraISO 일 것입니다. UltraISO 를 실행하면 다음과 같은 화면이 나오게 됩니다. 무료는 아니고 쉐어웨어 프로그램입니다.

클릭또는옆으로스크롤가능
CD/DVD 이미지 만들기 소프트웨어: UltraISO


CD 이미지에 파일 추가 방법:
ISO 등의 시디롬 이미지 파일을 UltraISO 같은 에디터에서 불러오거나 새로 만든 후에, 하드에 있는 파일을 마우스로 드래그하며 에디터에 끌어다 놓고 Ctrl+S 키를 눌러 이미지 파일을 저장하면 됩니다.

그런데 예를 들어, "test.iso" 라는 CD이미지 파일에 다른 파일을 추가했다면, "test.iso.uibak" 이런 파일이 생기는데 이것은 백업파일입니다. 필요 없다면 지워도 됩니다.

CD 이미지에서 파일 지우기 방법:
UltraISO 의 경우, CD이미지에서 지울 파일을 선택하고 키보드의 Delete 키를 누르면 됩니다. 그러나 목록에서만 지워졌을 뿐 아직 완전히 지워지지는 않았습니다. 키보드의 Ctrl+S키를 눌러 이미지 자체를 저장해야만 최종적으로 지워지게 됩니다.


CD 이미지 File 편집기 다운로드: ▶▶ CD, DVD의 iso / bin 이미지 파일 편집/만들기 - UltraISO 다운로드


Excel 엑셀 VBA: 특정 셀 값 읽기 쓰기, 셀값 변수에 저장; Cell Read Write

엑셀 시트에 있는 특정 셀 Cell 의 값을, 엑셀 비베 즉 VBA 에서 읽거나 쓰는 방법입니다. Cells 속성을 사용합니다. 다음 예제와 같습니다.

비베: 셀 값 읽는 법 / 변수에 셀값 대입 예제


(엑셀에서 Alt+F11키를 눌러, 비베 에디터를 실행하고, 비베 에디터 메뉴의, "삽입 > 모듈"을 선택한 후, 다음 코드를 붙여 넣습니다.)
비베 에디터에서 F5 키를 누르거나, 엑셀에서 Alt+F8 키를 누르면 VBA 매크로가 실행됩니다.
Sub Cell_Copy_Example()
  Dim s


  ' 문자(문자열)를 "2, 3" 좌표의 셀에 입력
  Cells(2, 3).Value = "가나다라"


  ' "2, 3" 좌표의 셀 값을 변수 s에 저장
  s = Cells(2, 3).Value


  ' 변수의 값을 특정 셀에 저장
  ' 아래의 경우, (2, 3)의 값이 (1, 1) 즉 A1셀에 복사
  Cells(1, 1).Value = s


  ' 이렇게 해도 셀값이 다른 곳으로 복사됩니다
  Cells(2, 1).Value = Cells(2, 3).Value


End Sub



Java 자바로 타이머 Timer 만들기 소스, 스톱워치 Stopwatch 구현

자바에서 간단한 타이머를 만드는 소스 코드입니다. 사용자가 엔터 키를 누를 때까지 대기하고 있다가, Enter키를 누르면 그때까지의 경과 시간을 시분초 단위로 예를 들어 04:11:15 이렇게 화면에 출력합니다.

시분초 단위 Timer 구현 자바 소스


소스 파일명: Example.java
import java.io.*;


public class Example {
  static String timerBuffer; // 04:11:15 등의 경과 시간 문자열이 저장될 버퍼 정의
  static int oldTime; // 타이머가 ON 되었을 때의 시각을 기억하고 있는 변수

  public static void main(String[] args) {

    stopwatch(1); // 1을 인수로 넣으면 타이머가 켜짐
    System.out.println("Timer ON! 엔터 키를 누르면 종료합니다");

    pause(); // 유저가 Enter키를 누를 때까지 무한정 대기

    stopwatch(0); // 0을 넣으면 타이머가 꺼지고 시간 문자열을 버퍼에 설정
    System.out.format("Timer OFF! 경과 시간: [%s]%n", timerBuffer); // 경과 시간 화면에 출력
  }


  public static void stopwatch(int onOff) {
    if (onOff == 1) // 타이머 켜기
      oldTime = (int) System.currentTimeMillis() / 1000;

    if (onOff == 0) // 타이머 끄고, 시분초를 timerBuffer 에 저장
      secToHHMMSS(  ((int) System.currentTimeMillis() / 1000) - oldTime  );

  }


  // 정수로 된 시간을 초단위(sec)로 입력 받아, "04:11:15" 등의 형식의 문자열로 시분초를 저장
  public static void secToHHMMSS(int secs) {
    int hour, min, sec;

    sec  = secs % 60;
    min  = secs / 60 % 60;
    hour = secs / 3600;

    timerBuffer = String.format("%02d:%02d:%02d", hour, min, sec);
  }


  public static void pause() {
    try {
      System.in.read();
    } catch (IOException e) { }
  }


}



스톱와치 / 타이머 테스트


컴파일 및 실행 결과 화면:
D:\Z>javac Example.java

D:\Z>java Example
Timer ON! 엔터 키를 누르면 종료합니다

Timer OFF! 경과 시간: [00:00:13]

D:\Z>java Example
Timer ON! 엔터 키를 누르면 종료합니다

Timer OFF! 경과 시간: [00:02:08]

D:\Z>java Example
Timer ON! 엔터 키를 누르면 종료합니다

Timer OFF! 경과 시간: [48:00:05]

D:\Z>


맨 마지막의 실행 결과는 컴퓨터 내장 시계를, 이틀 뒤로 맞춘 후에 실행한 것입니다.


컵라면 타이머 (온라인 버전):
▶▶ 컵라면 타이머; 인터넷 요리용 타이머, 모래시계 Cooking Timer

스톱워치 (온라인 버전 스톱와치):
▶▶ 스톱워치, 초시계, 온라인 스톱와치, 100분의 1초 Stopwatch

Sunday, August 26, 2007

Excel 엑셀 VBA 에서 Cells 속성, Cells 함수 사용법

엑셀 비베 즉 VBA 에서 Cells 라는 것은 함수가 아니라 속성입니다. 사용 형식은 다음과 같습니다.

속성.Cells(몇번째 행, 몇번째 열).속성

아래 박스 속의 예제는, 엑셀 시트의 셀 좌표 "2, 3" 즉 C2 셀에 "ㅋㅋ" 라는 문자열을 자동으로 입력한 후, 그 셀의 내용을 읽어서 메시지 박스에 출력하는 방법입니다.

엑셀 비베: Cells 간단한 예제 소스 코드


(엑셀에서 Alt+F11키를 눌러, 비베 에디터를 실행하고, 비베 에디터 메뉴의, "삽입 > 모듈"을 선택한 후, 다음 코드를 붙여 넣습니다.)
비베 에디터에서 F5 키를 누르거나, 엑셀에서 Alt+F8 키를 누르면 VBA 매크로가 실행됩니다.
Sub Cells_Example()

  Cells(2, 3).Value = "ㅋㅋ"

  MsgBox "셀 값 읽기: " & Cells(2, 3).Value

End Sub


Cells 의 실용적인 예제 소스:

▶▶ 구구단 표 만들기, Excel 엑셀 VBA 소스 코드; 9x9 Multiplication Table

▶▶ 엑셀/Excel] VBA로, 아스키 문자표 만들기: ASCII Table

엔터 키의 이스케이프 시퀀스 문자; Enter Escape Sequence

키보드의 "엔터키"에 해당하는 "Escape 문자"는, \n 입니다. 즉, "백슬래쉬+소문자n" 입니다. 각종 프로그래밍 언어에서나, 편집기 등에서 \n 을 엔터키 대신에 사용할 수 있습니다.

그런데 \n 이것은 원래 유닉스(Unix)나 리눅스(Linux)에서의 엔터 키입니다. 윈도우나 도스(MS-DOS)에서는 엔터키를 "\r\n" 이렇게 표현해 주어야 하는데, 프로그램이 자동으로 \n 을 \r\n (소문자 R + 소문자 N)으로 변환해 주기 때문에, 윈도우에서도 대부분 \n 을 사용하면 됩니다.

Perl이나 C언어에서, Enter키의 Escape 문자 사용 예제:

▶▶ C언어 Perl 자바] 줄바꿈/개행문자/행갈이문자/Newline: \n 이란?


자바 프로그래밍에서는 엔터키를 %n 이렇게 표현하는 것이 좋습니다:

▶▶ 자바/Java] System.out.format() 줄바꿈, 운영체제(OS) 종류에 맞게; line separator


맑은 고딕 폰트명; Malgun Gothic TTF 폰트 파일 이름

윈도우 비스타의 한글 클리어타입 폰트인 "맑은 고딕"의 실제 폰트 파일명은 다음과 같습니다.

"맑은 고딕"의 폰트 파일명:
malgun.ttf


"맑은 고딕 Bold"의 폰트 파일명:
malgunbd.ttf


그리고 "폰트 파일명"이 아닌, "폰트명"은

맑은 고딕

입니다. 띄어쓰기를 해주어야 합니다. 영문명은 "Malgun Gothic" (따옴표 제외) 입니다.


참고: ▶▶ [HTML-CSS] 윈도우에 내장된 기본 한글 폰트들의 영문명; 로마자 이름




C언어, 타이머 Timer 만들기 소스; 스톱워치 Stopwatch

C언어에서 간단한 타이머를 만드는 소스입니다. 사용자가 아무 키나 누를 때까지의 경과 시간을 측정하는 것입니다. 즉, "스톱와치"와 비슷합니다.

C에서 Timer 구현, 경과 시간 측정


소스 파일명: example.cpp
(비주얼C/C++ 2005나 그 이상의 컴파일러에서만 컴파일됩니다. 비주얼C/C++ 2003 이나 gcc에서는 소스를 수정해야 합니다.)
#include <stdio.h>
#include <conio.h> // _getch()
#include <time.h> // time()

void stopwatch(int onOff);
void secToHHMMSS(int secs, char* s, size_t size);

char timerBuffer[8 + 1]; // 06:17:20 등의 경과 시간 문자열이 저장될 버퍼 정의


int main(void) {

  stopwatch(1); // 1을 인수로 넣으면 타이머가 켜짐
  puts("타이머 ON! 아무키나 누르면 종료");


  // 유저가 아무 키나 누를 때까지 무한정 대기
  _getch(); // _getch() 는 getch() 의 보안 강화 버전


  stopwatch(0); // 0을 넣으면 타이머가 꺼지고 시간 문자열을 버퍼에 설정
  printf("타이머 OFF! 경과 시간은: [%s]\n", timerBuffer);


  return 0;
}


void stopwatch(int onOff) {
  static int oldTime; // stopwatch 함수가 종료되어도 값을 기억하는 "정적 지역 변수"

  if (onOff == 1) { // 타이머 켜기
    oldTime = (int) time(NULL);
  }

  if (onOff == 0) { // 타이머 끄고, 시분초를 timerBuffer 에 저장
    secToHHMMSS(
                (int) time(NULL) - oldTime,
                timerBuffer,
                sizeof(timerBuffer)
                );
  }

}


void secToHHMMSS(int secs, char* s, size_t size) { // 정수로 된 초(sec)를 입력 받아, "06:17:20" 등의 형식의 문자열로 시분초를 배열에 저장
  int hour, min, sec;

  sec  = secs % 60;
  min  = secs / 60 % 60;
  hour = secs / 3600;

  sprintf_s(s, size, "%02d:%02d:%02d", hour, min, sec);
}


위의 소스에서 sprintf_s 라는 함수는 sprintf 의 보안 강화 버전입니다. 비주얼C 2005나 그 이상의 컴파일러에서만 사용 가능합니다. s_sprintf 가 아니라 sprintf_s 입니다.


컴파일 및 실행 결과 화면:
D:\Z>cl example.cpp
example.cpp

D:\Z>example.exe
타이머 ON! 아무키나 누르면 종료
타이머 OFF! 경과 시간은: [00:00:02]

D:\Z>example.exe
타이머 ON! 아무키나 누르면 종료
타이머 OFF! 경과 시간은: [00:01:53]

D:\Z>example.exe
타이머 ON! 아무키나 누르면 종료
타이머 OFF! 경과 시간은: [24:00:05]

D:\Z>


맨 마지막의 24:00:05 라는 결과는 컴퓨터 시계를 하루 앞으로 당겨서 강제로 출력한 결과입니다.


▶▶ C언어] 현재 날짜/시간/년월일,시분초 구하기 함수(오늘 날짜 시간): Current Date, Time

컵라면 타이머 (온라인):
▶▶ 컵라면 타이머; 인터넷 요리용 타이머, 모래시계 Cooking Timer

스톱워치 (온라인 버전 스톱와치):
▶▶ 스톱워치, 초시계, 온라인 스톱와치, 100분의 1초 Stopwatch

Saturday, August 25, 2007

Perl 펄, 타이머 Timer 만들기 소스, 경과 시간 스톱와치

Perl에서 간단한 타이머 Timer 를 만드는 방법입니다. 스톱와치 또는 삶은 계란이나 컵라면용 같은 주방용 타이머와도 비슷합니다. 아래 소스는, 사용자가 아무 키나 누를 때까지 기다린 후, 아무 키나 누르면 그때까지 지난 시간 즉 경과 시간을 화면에 "시분초" 형식으로 출력합니다.

디버깅을 많이 했지만 버그가 있을 수 있습니다. 이 소스를 응용하여 중요한 프로그램을 만들 때에는 주의가 필요합니다.

Timer, 초 단위 hh:mm:ss 로 출력 예제


타이머 소스 파일명: example.pl
#!/usr/bin/perl
use strict; use warnings;


  codeTimer("on");
  print "타이머 켰습니다. 아무키나 누를 때까지 경과 시간을 측정합니다.\n";


  <STDIN>; # 사용자가 아무키나 누를 때까지 대기


  # 타이머 끈 후, 경과 시간 출력
  print "경과 시간: " . codeTimer("off") . "\n";




#### 이하는 타이머에 필요한 함수들

{ # $old_time 을 static local variable 로 만들어 주기 위한 bare block
   my $old_time;
   sub codeTimer {
      if ($_[0] eq "on")  { $old_time = time(); } # 타이머 켜기
      if ($_[0] eq "off") { secToHHMMSS(time() - $old_time); } # 타이머 끄고 시분초 저장
   }
}


sub secToHHMMSS { # 정수로 된 초(seconds)를 받아들여 "06:17:20" 등의 형식의 문자열로 시분초를 리턴
   my ($hour, $min, $sec);

   $sec  = $_[0] % 60;
   $min  = $_[0] / 60 % 60;
   $hour = $_[0] / 3600;

   sprintf "%02d:%02d:%02d", $hour, $min, $sec;
}


실행 결과 화면:
D:\Z>example.pl
타이머 켰습니다. 아무키나 누를 때까지 경과 시간을 측정합니다.

경과 시간: 00:00:04

D:\Z>example.pl
타이머 켰습니다. 아무키나 누를 때까지 경과 시간을 측정합니다.

경과 시간: 00:05:12

D:\Z>example.pl
타이머 켰습니다. 아무키나 누를 때까지 경과 시간을 측정합니다.

경과 시간: 24:00:06

D:\Z>


맨 마지막의 24:00:06 이라는 결과는 컴퓨터의 시계를 하루 앞으로 변경한 후 강제로 얻은 결과입니다.


컵라면 타이머 (온라인 버전):
▶▶ 컵라면 타이머; 인터넷 요리용 타이머, 모래시계 Cooking Timer

스톱워치 (온라인 버전 스톱와치):
▶▶ 스톱워치, 초시계, 온라인 스톱와치, 100분의 1초 Stopwatch

BAT 실행창, 배치파일 실행하는 창은? Batch Window

도스(MS-DOS)나 MS윈도우의 배치파일(일괄파일)은 .BAT 확장자를 가지고 있습니다. 이 BAT 파일을 탐색기에서 클릭하여 실행하면 잘 되지 않을 것입니다. BAT 파일을 실행하는 창은 "명령 프롬프트"입니다. 흔히 "도스 창"이라고 부릅니다. 윈도우에서 명령프롬프트창을 꺼내서 실행한 후에, 그 속에서 BAT 파일의 파일명을 직접 타이핑하여 실행하면 잘 됩니다.

클릭하면확대
명령 프롬프트
BAT 실행 창 (검은 창)
▶▶ 명령 프롬프트란? Command Processor [컴퓨터 초보자를 위한 강좌

예를 들어 example.bat 이라는 파일이 하드에 있다면, 위의 명령프롬프트에서, CD 명령으로, example.bat 파일이 있는 폴더(디렉토리)로 이동한 후,

example

또는

example.bat

이라고 키보드로 입력하고 Enter키를 치면 BAT 파일이 실행됩니다.




CSS 파일 사용법, HTML 소스에 지정 방법; link rel stylesheet

".css" 라는 확장자를 가진 작은 텍스트 파일이 있는데, 이것은 웹페이지의 스타일시트 파일입니다. ".html" 또는 ".htm" 확장자를 가진 파일에는 웹페이지의 실제 내용에 해당되는 부분만 기입하고, ".css" 파일에는 웹페이지의 스타일 즉 디자인에 관련된 내용만 입력합니다. 가령 색깔, 폰트명, 폰트 크기, 면적 등등입니다.

CSS 파일은 자신이 작성해야 합니다. 타인이 만든 CSS 파일을 자신의 웹페이지에서 직접 사용하는 것은 약간 곤란합니다. 다른 사람이 작성한 CSS 파일이라면 그 파일 중에서 자신에게 필요한 부분만 오려내서 사용하는 것이 좋습니다. CSS 파일 안에 불필요한 부분이 많으면 나중에 에러가 나거나 충돌이 생길 위험성이 있기 때문입니다.

예를 들어 common.css 라는 CSS 파일이 있다면, 이것을 서버의 루트 디렉토리에 올린 후, HTML에서는 <head> 태그 안에

<link rel="stylesheet" type="text/css" href="common.css" />

이렇게 지정해 주면 됩니다. CSS 파일이 "루트 디렉토리"가 아닌 "하위 디렉토리"에 있다면, 예를 들어 아래와 같이 그 주소도 적어 주어야 합니다.

<link rel="stylesheet" type="text/css" href="/stylesheets/home.css" />


예제 참고: ▶▶ 컴퓨터용어] HTML의 CSS 란? CSS 파일이란? - Cascading Style Sheets


구글 스카이, 안드로메다 은하 관측 사진; 구글어스 Google Earth Andromeda Galaxy

구글어스 4.2 버전부터는 천문 관측 기능도 생겼습니다. "구글 스카이" 또는 "구글어스 스카이"라는 명칭인데, 별도의 프로그램은 아니고 구글어스에 포함되어 있습니다. 참고: ▶▶ 구글스페이스, 구글어스로 우주 [천문, 별자리 사진] 보기 방법; Google Earth 4.2 Sky

다음은 구글어스 속의 구글스카이에서, 안드로메다 은하를 관측(?)한 사진입니다. 요즘 "네이버가 티스토리 등의 외부 블로그를 안드로메다로 보내 버렸다", "삼식이 렌즈 (시그마 30mm F1.4 의 닉네임) 가, 안드로메다 전핀이다, 안드로메다 후핀이다" 등으로, 네티즌 사이에서도 많이 언급되는 은하이기도 합니다.

클릭하면확대
안드로메다 은하
구글스카이로 본, 안드로메다 은하 사진

구글스카이의 좌측 상단의 검색창에서, Andromeda 라고 입력하고 엔터키를 치면 안드로메다 은하까지 자동 비행합니다.

그런데 "구글 스카이"에 버그가 있는지, 사진이 100% 로딩되지 않고 99%만 되더군요.




Friday, August 24, 2007

구글어스 에러 해결법, 먹통(다운)과 실행이 되지 않는 문제; Google Earth Error

* 구글어스는 윈도우2000, 윈도우XP, 윈도우 비스타 또는 그 이상의 운영체제에서만 실행 가능합니다. 윈도우98에서는 절대 실행되지 않습니다.

* "3D 게임 가속 기능"을 지원하는 비디오카드가 컴퓨터에 장착되어 있어야만 합니다. 아주 오래된 비디오카드가 아닌 이상 대부분 3D 기능을 지원합니다. 3D게임이 안되는 컴퓨터는 구글어스도 실행이 잘 안됩니다. 또는 전혀 실행되지 않습니다.

* 비디오 카드가 "32비트 트루컬러"로 설정되어 있어야만 합니다. "24비트 트루컬러/16비트 컬러" 등은 안됩니다. 32비트 컬러로 변경 방법: ▶▶ 비디오카드 32비트 컬러로 설정 방법; 32bit 트루컬러 지정

* 윈도우에 다이렉트엑스(DirectX)가 설치되어 있지 않거나 너무 오래된 버전이라면 구글어스 실행이 되지 않습니다. 현재 다이렉트X 버전은 9.0c 입니다. 참고: ▶▶ 다이렉트X 버전 확인 방법; DirectX Version 보기

비디오 카드가 32비트 컬러가 아니거나 다이렉트 엑스에 문제가 있으면 다음과 같은 창이 2개 나오며 구글어스가 다운(먹통)이 됩니다.

Google Earth: 'DirectX' mode not supported

NOTE : if the "Login Status" is blocking access to this window then do the following : click on the login window, press Alt -F4 (or 'esc' key on Mac)., then read the message below.

Google Earth could not start in 'DirectX' mode. It is suggested you exit and start Google Earth again after trying one of the following :


1) Set color depth to "True Color (32 bit) in display properties
   (Start Menu -> Settings -> Control Panel -> Display -> Settings tab).

2) Start Google Earth after waiting a minute.

3) Close other applications (particularly if they use 3D).


If none of the above works, you can try 'OpenGL' mode .


Exit      Try 'OpenGL'


Google Earth - Login Status

Finishing Google Earth server login ...


* 인터넷에 연결이 되어 있어야 구글어스가 실행됩니다. 구글어스는 인터넷에서 실시간으로 지도 파일을 받아오기 때문입니다.

* 하드에 최소한 1GB (1기가) 정도의 빈 공간이 있어야 합니다. 캐시 파일을 하드에 임시로 저장하기 때문입니다.

* 구글어스 파일이 바이러스 등에 감염되어 깨져 있을 경우는, 바이러스 감염을 치료한 후, 다시 구글어스를 다운받아서 설치하면 해결될 것입니다: ▶▶ [QnA] 구글어스 다운로드하는 곳? 구글 어스는 무료입니까?


비디오카드 32비트 컬러로 설정 방법; 32bit 트루컬러 지정

요즘 출시되는 컴퓨터 게임이나 또는 구글어스 같은 프로그램은 비디오카드가 32비트 트루컬러(Truecolor)로 설정되어 있을 때에만 정상적으로 작동됩니다. 현재 설정이 24비트 트루컬러일 때, 32비트 트루컬러로 변경하는 법은 다음과 같습니다.

* 윈도우 바탕화면을 마우스 우측 버튼으로 클릭. "속성" 또는 "등록 정보"라는 항목을 클릭.

* 디스플레이 등록 정보라는 창이 나옵니다. "설정"이라는 탭을 클릭.

* "색"이라는 목록에서 "트루컬러 32비트"로 설정합니다. 또는 "색 품질"이라는 목록에서 "아주 높음(32비트)"로 설정합니다. 그런 후 "확인" 버튼을 누릅니다. 다음과 같은 창이 나옵니다. 역시 "확인" 버튼을 누릅니다.

---------------------------
디스플레이 등록 정보
---------------------------
새 바탕 화면 설정을 적용합니다. 이 작업에 몇 초 정도 소요되며 그 동안 화면이 깜박일 수 있습니다.
새로운 설정이 제대로 적용되지 않으면 15초 내에 원래 바탕 화면 설정이 자동으로 복원됩니다.
---------------------------
확인 취소
---------------------------

* 이제 32비트 컬러로 설정되었을 것입니다. 32비트 컬러로 변경한다고 해서 화질이 좋아지거나 하는 것은 전혀 없습니다. 24비트 컬러하고 100% 똑같습니다.


참고: ▶▶ 24비트 32 bit 자동 전환, 구글어스 실행 배치파일; Google Earth BAT



24비트 32 bit 자동 전환, 구글어스 실행 배치파일; Google Earth BAT

구글어스는 비디오 카드가 32비트 모드로 설정되어 있을 때에만 정상적으로 작동하고 24비트로 설정되어 있을 때에는 다운(먹통)이 되거나 에러가 발생합니다. 요즘에는 대부분 32비트 컬러로 설정되어 있지만, 저의 경우에는 사정상 24비트를 사용중입니다. 그래서 구글어스를 실행할 때마다 화면 모드를 32비트로 변경해 주는 것이 불편했습니다. 그래서 평소에는 24비트를 쓰다가, 구글어스를 실행할 때에는 자동으로 32비트로 변경한 후, 구글어스를 종료하면 다시 화면을 24비트로 자동으로 설정하는 배치파일을 만들었습니다.

아래 박스의 내용을 GoogleEarth.bat 등의 이름을 가진 파일로 저장한 후 마우스로 GoogleEarth.bat 파일을 클릭하여 실행하면 됩니다.

다만, MultiRes 라는 무료 프로그램을 설치해 주어야만 아래 배치파일이 실행됩니다: ▶▶ 모니터 해상도 변경 쉽게 하기, 마우스 더블클릭 1번으로 [파워유저 팁

구글어스, 24bit 컬러와 32bit 컬러에서 자동 전환 실행
배치 파일명: GoogleEarth.bat
@echo off

set s1=C:\Program Files\MultiRes\
set s2=MultiRes.exe


cd /d "%s1%"
start /D"%s1%" %s2% /1024,768,32,75 /exit

start /D"C:\Program Files\Google\Google Earth\" /WAIT GoogleEarth.exe

start /D"%s1%" %s2% /restore /exit


set s1=
set s2=


위의 경우는 모니터 해상도를 "1024 X 768"로 설정하고,

32비트 컬러로 설정하고

모니터 리프레쉬 레이트는 75 로 설정한 상태입니다. 해상도와 "리프레쉬 레이트"는 각자의 모니터 사정에 맞게 적절히 변경해 주어야 합니다. 리프레쉬 레이트에 대해 잘 모른다면 생략해도 됩니다.


수동으로 변경하기: ▶▶ 비디오카드 32비트 컬러로 설정 방법; 32bit 트루컬러 지정



구글스페이스, 구글어스로 우주 [천문, 별자리 사진] 보기 방법; Google Earth 4.2 Sky

구글어스 4.2 버전부터는 지구뿐만이 아니라 우주까지도 볼 수 있습니다. 별자리나 천체 사진들까지 마우스로 자유롭게 확대, 축소, 이동이 됩니다. "구글 스페이스"라는 프로그램이 독자적으로 있는 것은 아니고, 구글어스에 포함되어 있습니다.

우선 구글어스 4.2 나 그 이상의 버전을 컴퓨터에 설치합니다. 그러면 평범한 지구본이 나올 것인데, 이 상태에서는 지구 표면만 볼 수 있습니다. 땅바닥이 아닌 밤하늘을 보기 위해서는

아래 그림의, 구글어스 상단 툴바에서 빨간 화살표가 가리키는 아이콘을 누르면 "우주 모드"로 변경됩니다. 즉 지구본이 아닌 "천구도"가 나옵니다. 구글어스의 지구본과 마찬가지로 밤하늘을 마음대로 확대해 볼 수 있습니다.

클릭하면확대
구글 스페이스
구글 스페이스 캡처 사진

맨 처음에는, 별자리 사진들이 영문명으로 나옵니다. 지구 보기 모드에서와 마찬가지로, 마우스로 가상의 밤하늘을 드래그하여 끌어당기면 이리저리 이동할 수 있고, 마우스 휠을 돌리면 확대 축소가 가능합니다. 아무 별자리나 확대하면 위의 그림처럼 아름다운 별의 사진들이 다양한 모습으로 수없이 나옵니다.

그 아이콘을 한번 더 누르면 원래의 "지구 보기 모드"로 돌아옵니다.

아이콘 대신에 구글어스 상단 메뉴에서

View (보기) > Switch to Sky (우주 보기 모드로 변경)

View (보기) > Switch to Earth (지구 보기 모드로 변경)

를 선택해도 상호 전환됩니다.


다운로드 주소와 설치법: ▶▶ [QnA] 구글어스 다운로드하는 곳? 구글 어스는 무료입니까?

▶▶ 구글 스카이, 안드로메다 은하 관측 사진; 구글어스 Google Earth Andromeda Galaxy

Thursday, August 23, 2007

니콘 D300 크롭바디, Nikon D300 주요 사양

니콘 "D300"이, "D3"와 함께 올해 11월달에 출시될 예정입니다. D200 보다 훨씬 더 좋아졌습니다. 크롭바디이지만, 먼지털이와 라이브뷰 등 탐나는 기능들이 꽤 있습니다.

D300 주요 사양

* CMOS 센서 먼지 청소 기능 (로패스 필터를 진동시켜서 먼지 제거)

* 자동 초점 기능 강화 (색상으로 자동 초점 가능)

* 자동 초점 측거점 51개

* 1천2백만 화소 (12.3 megapixel)

* DX 포맷 (즉, 1:1이 아니라 크롭바디)

* CMOS 센서 (이제는 CCD는 안 쓰는 듯)

* 라이브뷰 가능

* 감도는 ISO 200 ~ 3200 (6400 까지 높일 수 있음.)

* 초당 6프레임 촬영 (최대 8프레임까지 가능)

* CF카드 사용

* 버튼에 방습 기능


참고: < 니콘 D300 공식 홈페이지 (일본어) >

니콘 1:1 D3 : ▶▶ 니콘 D3 풀프레임 1:1, Nikon D3 주요 사양

니콘 D3 풀프레임 1:1 일대일 바디, Nikon D3 주요 사양

니콘 최초의 풀프레임(풀사이즈) DSLR인 "D3" 가 11월달에 나온다고 하는군요. 가격은 무려 5000달러. 크롭바디가 아니라 35mm 필름과 사실상 같은 면적의 CMOS 를 장착했습니다. 36.0 x 23.9 mm 의 면적입니다. 1천2백만 화소 (12.1 megapixel) 입니다.

D3 주요 사양

* 니콘이 독자적으로 개발한 CMOS 센서 부착

* 감도는 ISO 200 - 6400 이고, ISO 25600 까지 높일 수 있음.

* DX 렌즈를 붙이면 자동으로 파인더가 좁아지기에, DX 렌즈도 사용 가능,

* 1초당 9프레임을 촬영 가능. (자동 초점이 없이, 최대 속도는 초당 11장)

* 자동 초점 측거점 51개

* 라이브뷰 Live View 가능. (원래 올림푸스에서만 라이브뷰가 가능했었지요.)

* 수평계가 파인더 속에 내장되어 있는 것 같습니다.

* 버튼들에 방습 기능

* CF카드 사용

* 고화질과 고속 작동을 위한 많은 기능들 추가


D3의 사진과 더 자세한 내용은 여기에 있습니다. (일본어): < Nikon D3 공식 홈페이지 >

디쓰리로 찍은 사진, 화질 샘플 보기: ▶▶ D3 화질 샘플 사진 보기; 니콘 Nikon 일대일 DSLR로 촬영한 Sample


이 글을 쓰고 있는 현재, 트래픽이 폭주하여 니콘 사이트가 다운되어 있었습니다.


참고: ▶▶ 니콘 D300 크롭바디, Nikon D300 주요 사양

ND필터 사용법; 대낮에 조리개 개방, 장시간 노출 사용 방법

인물 촬영 등에서, 대낮에 조리개를 개방하여 촬영하는 용도로 ND필터를 사용할 때에는 카메라를 "조리개 우선 모드"로 놓고, 조리개를 완전 개방하거나, 노출 과다인 경우에는 조리개를 약간 조인 후에 촬영합니다. 디카의 ISO 감도는 100 이나 그 이하로 가급적 낮추어야 합니다. 이 경우 ISO 200 이상의 고감도로 설정하면 불리합니다.

햇빛이 강한 낮에 1초 내외나 그 이상의 장시간 노출을 주는 용도로 ND필터를 사용할 때에는, 우선 카메라를 <튼튼한 삼각대>에 고정시킨 후에, 되도록 조리개를 많이 조인 후에 촬영합니다. 이 경우에도 조리개 우선 모드가 편리하지만, 노출 시간을 지정하고 싶을 때는 "셔터 속도 우선 모드"로 카메라를 설정합니다. 역시 감도는 100이나 그 이하의 저감도로 설정합니다.

장시간 노출을 줄 때에는, 노출계로 측정한 결과보다 대부분 좀더 길게 노출을 해야 합니다. 노출계보다는 경험으로 판단하는 것이 좋습니다. 그리고 장시간 노출을 주면 사진의 색조가 많이 달라지는 경우가 있습니다. 예를 들어 붉은색을 띄는 등. 따라서 포토샵으로 후보정을 해 주어야 합니다.

또한 디카에서는 3분 이상의 장시간 노출을 주면 카메라 CCD(필름에 해당하는 반도체)에 무리를 줄 수 있고 전지 소모량도 많기에, 가급적 "기계식 셔터"를 가진 필카를 사용하여 장시간 노출을 하는 것이 무난합니다.


참고: ▶▶ ND필터 용도; 카메라 렌즈용 ND4, ND8, ND400 filter

EXIF 정보를 없애려면 어떻게 하나요? 사진 촬영 데이터 삭제 방법; Delete EXIF

디카로 찍은 사진에서 EXIF 즉 메타 정보를 제거하려면, 포토샵을 사용하면 가장 간단합니다.

우선 디카로 찍은 원본 파일을 포토샵으로 불러옵니다. 인터넷에 올릴 사진이라면 축소 작업 등을 합니다. 그런 후 포토샵 상단 메뉴에서

File (파일) > Save for Web (인터넷용으로 저장)

이라는 항목을 선택한 후 사진을 다른 이름으로 저장하면 됩니다. 저장 형식 목록에서 JPEG 를 선택하고, "Quality (사진의 품질)"는 60 정도가 적당합니다.

포토샵의 "Save for Web" 기능은, 사진에서 이미지가 아닌 다른 모든 정보를 삭제합니다. EXIF 정보까지 다 삭제됩니다.

다만 이미 포토샵으로 후보정된 사진을, 다시 다른 이름으로 저장하면 화질이 저하되기 때문에 되도록이면, 디카에서 꺼낸 싱싱한(?) 원본 파일을 대상으로 위의 작업을 해 주는 것이 좋습니다.

EXIF 정보가 정말로 완벽히 삭제되었는지 확인하려면, "헥사 에디터"나 "헥사 뷰어" 같은 프로그램에서 사진 파일을 열어 보면 됩니다. 날짜나 카메라 제품명 같은 것이 보이지 않으면 삭제된 것입니다.


Downloaded Program Files 폴더 삭제해도 되나요?

윈도우XP 등의 운영체제가 설치된 하드에는 C:\WINDOWS\Downloaded Program Files 라는 폴더가 있습니다. (윈도우2000의 경우는 C:\WINNT\Downloaded Program Files 이런 폴더명입니다.)

C:\WINDOWS\Downloaded Program Files 라는 폴더는, "다운로드받은 프로그램 파일들"이라는 의미인데, 일반 다운로드가 아니라, 액티브엑스 ActiveX 파일들이 보관되는 곳입니다. 액티브엑스란 IE 웹 브라우저에 특정 기능을 추가하는 파일인데, 어떤 사이트를 방문하면 뭔가를 다운받으라는 창이 나옵니다. 그것이 엑티브엑스입니다.

Downloaded Program Files 폴더 자체는 지울 필요도 없고 지워서도 안됩니다. 다만 이 폴더 속에 들어 있는 특정 파일은 지울 수가 있습니다.

컴퓨터 바이러스 또는 스파이웨어 같은 악성 프로그램들이 이 폴더 속에 들어가 있는 경우가 많이 있습니다. 그때는 문제 있는 파일만 개별적으로 지워야 합니다. 물론 이 폴더 속의 모든 파일들을 다 지운 후, 필요한 파일만 다시 받아도 되긴 됩니다.


Downloaded Program Files 폴더 속의 특정 액티브엑스 파일을 지우는 법은 여기에 설명되어 있습니다:

▶▶ [QnA] 하드에 설치된, ActiveX (액티브 엑스) 를 지우는 방법은?


CSS 맑은고딕 적용하기, 맑은고딕체 웹페이지 본문에 지정 태그; Malgun Gothic

윈도우 비스타에 기본적으로 들어 있는 한글 클리어타입 폰트는 '맑은 고딕'입니다. 그런데 '맑은고딕'처럼 띄어쓰기를 하지 않거나 '맑은 고딕체'처럼 뒤에 '체'자를 붙이면 안됩니다.

CSS에 맑은 고딕을 적용하려면 홑따옴표 속에

'맑은 고딕'

또는 영문으로

'Malgun Gothic'

이렇게 지정하면 됩니다. 다음 예제는 <style type="text/css">... 태그로 본문 전체에 맑은 고딕을 한꺼번에 지정하는 법과

<span style="font-family:'Malgun Gothic';">... 태그로 특정 문장에만 맑은 고딕을 지정하는 방법입니다.

맑은고딕 적용 CSS 예제


파일명: example.html
<html>
<head>
<title>페이지 제목</title>
<style type="text/css">

body {
  font-family:'Malgun Gothic';
  font-size:10pt;
}

</style>
</head>


<body>

여기는 웹페이지 본문입니다. 위의 style 태그 속에서 body 태그에 맑은 고딕을 지정했기에, 본문 전체가 맑은 고딕으로 나옵니다.<br />


<span style="font-family:'Malgun Gothic';">이것은 특정 문장에만 개별적으로 맑은 고딕을 지정하는 코드입니다. 위의 style 태그와는 상관이 없이 독립적으로 작동합니다.</span>


</body>
</html>



참고: ▶▶ 모든 웹페이지 글꼴을, '맑은 고딕' 폰트로 나오게 변경하는 CSS 파일

Common Files 폴더 이거 지워도 되나요?

윈도우가 설치된 하드에는 "C:\Program Files\Common Files" 이런 폴더(디렉토리)가 있습니다. "Common Files"의 의미는 "공통되는 파일", "공용 파일"이라는 뜻이고, 여러 가지 프로그램에서 공통적으로 사용되는 라이브러리 파일 같은 것을 모아 둔 중요한 폴더입니다.

윈도우를 다시 설치할 예정이 아닌 이상 "C:\Program Files\Common Files" 이 폴더를 지우면 안됩니다. 특히 아래와 같은 폴더를 지우면 컴퓨터가 부팅이 되지 않거나 먹통(다운)이 됩니다.

C:\Program Files\Common Files\Microsoft Shared

C:\Program Files\Common Files\System

그런데 예를 들어, 컴에 포토샵을 설치하면

C:\Program Files\Common Files\Adobe

이런 폴더가 생깁니다. 만약 포토샵이 필요없어졌다면, 제어판에 있는 "프로그램 추가/제거"에서 포토샵을 지운 후 즉 언인스톨한 후, Common Files 밑에 있는 Adobe 라는 이 폴더 하나를 지울 수 있습니다. 단, 일러스트레이터 같은 포토샵의 자매품 소프트웨어가 설치되어 있지 않은 상태여야 합니다. 포토샵이나 일러스트레이터를 만드는 회사 이름이 Adobe 이고, Adobe 제품들의 공용파일이 저장되는 폴더가 위의 폴더입니다.

요점을 정리하자면,

C:\Program Files\Common Files

이 폴더 자체는 절대 지우면 안되고, 이 폴더 속에 있는 하위 폴더 중에서, 불필요한 폴더는 개별적으로 지울 수도 있습니다. 그러나 확실하게 알지 못하는 폴더는 되도록 지우지 않는 것이 좋습니다.


Wednesday, August 22, 2007

캐논 EF 렌즈와 EF-S 렌즈 차이점, Canon EFS Lens 차이

캐논의 "EF-S 렌즈"는 간단히 말해서 "크롭바디 디카 전용 렌즈"입니다. 따라서 "EF-S 렌즈"를 필카에는 붙일 수 없습니다.

그리고 캐논 EOS 디카라도, CMOS가 35미리 필름과 똑같은 "풀사이즈 디카"는 안됩니다. "EOS-1Ds Mark II", "EOS-1Ds Mark III", "EOS 5D" 같은 디카는 CMOS 면적이 넓어서 필카와 같은 사이즈이기에, "EF-S 렌즈"를 사용할 수 없습니다.

"EF-S 렌즈"는 캐논 EOS DSLR 중에서, "EOS 30D" "EOS 20D" 같은 크롭바디 디카에서만 사용 가능합니다. 크롭바디란, 필름 역할을 하는 반도체의 면적이, 진짜 화학적 필름보다 좁은 카메라라는 뜻입니다.

캐논의 "EF-S 렌즈"는 니콘 DX렌즈와 비슷한 개념입니다. 모든 카메라 렌즈는 본질적으로 하나의 "볼록렌즈"이고, 필름/CMOS에 상이 맺히게 하는데, 이 상의 면적이 "EF-S 렌즈" 는 작습니다. 그래서 렌즈를 더 컴팩트하고 저렴하게 만들 수 있는 장점이 있습니다.

반면, 캐논의 EF 렌즈는 모든 캐논 EOS 카메라에 다 붙일 수 있습니다. 캐논 EOS 필카에도 사용 가능합니다. 단, 캐논 EF 렌즈를 크롭바디 디카에 붙이면 초점 거리가 늘어나서, 광각렌즈는 표준렌즈가 되고, 망원렌즈는 더 강한 망원렌즈가 됩니다.


참고: ▶▶ 캐논 필카용 렌즈, 캐논 디카와 호환 여부; Canon EOS DSLR Lens

리튬 전지의 특성; Lithium Battery 장단점

현재 고급전지로서 많이 사용되는 리튬 전지의 특성을 정리해 보았습니다. (그런데 리튬전지와 리튬이온전지는 다른 종류의 전지입니다. 리튬이온전지에 대하여: ▶▶ 리튬 이온 배터리, 휴대폰용 디카용 충전지 특성과 장단점; Li-ion Battery, Lithium-ion)

리튬전지[리튬 배터리] 특징

* 전압이 높음, 3볼트 정도의 전압도 쉽게 만들 수 있음

* 크기에 비해 용량이 큼; 일반 망간 건전지 10배 정도

* 작은 크기로 만들어도 충분한 성능. 동전 형태도 있고, 일반 건전지와 같은 원통형 모양도 있음

* 전압이 일정함. 완전 방전될 때까지 전압 저하가 거의 없음

* 자가 방전이 적음.

* 수명은 5년~15년 정도로 긺

* 전지 신뢰성이 높아서 (액이 잘 새지 않는 등), 고가의 중요한 장치에 전원으로 사용 가능

* 저온에 강함

* 전극이 단락되면 과열되어 화재나 폭발 위험성 있음

* 가격이 비쌈


동전형 리튬전지: ▶▶ CR2032, CR2025 버튼형 리튬전지 차이점 x 수은전지 차이

카메라용 AA형 리튬전지 사진: ▶▶ 카메라용 건전지, 에너자이저 리튬 전지 사용기; Camera Dry Cell

CR2032, CR2025 버튼형 리튬전지 차이점 x 수은전지 차이

버튼형 즉 단추형 리튬전지 중에서 가장 흔히 사용되는 것은 CR2032 이고, 그 다음이 CR2025 입니다. 그런데 이것을 보통 수은전지라고 부르는데 모양은 비슷하지만, 실은 "수은전지"가 아니라 "리튬전지"입니다. 수은전지는 공해 문제 때문에 현재는 생산되지 않습니다.

CR2032, CR2025 라는 전지 모델명에서, C는 "이산화망간 리튬전지"라는 뜻이고, R은 둥근 형태의 동전형이라는 뜻입니다. "이산화망간 리튬전지"란 양극이 이산화망간으로 되어 있다는 뜻입니다. 음극은 리튬입니다. 리튬전지는 대부분 이산화망간리튬전지입니다.

총4자리 숫자에서, 앞의 2숫자는 전지 직경이고, 뒤의 2숫자는 전지 두께입니다. 따라서 CR2032, CR2025 는 두께 차이만 있고, 그에 따른 전지 용량 차이만 있을 뿐이지 그 외의 차이는 없습니다.

CR2032
직경 20.0 mm / 두께: 3.2 mm / 전압 : 3볼트 / 용량: 225 mAh 내외

CR2025
직경 20.0 mm / 두께: 2.5 mm / 전압 : 3볼트 / 용량: 160 mAh 내외


CR2025는 두께가 얇기에 시계(카시오 계산기시계 등) 같이 되도록 얇아야 하는 곳에 많이 사용됩니다. 버튼형 전지를 시계방에서 사면 3000~5000원 정도의 가격입니다. 카메라 용품을 파는 인터넷 쇼핑몰 같은 곳에서 구입하면 800원 정도로 훨씬 더 싸게 살 수 있습니다. 그렇지만 요즘 시계방이 장사도 안될 텐데, 시계방에서 구입하는 것도 좋을 것입니다.


전지 실물 사진 보기: ▶▶ CR2025 CR2032 동전형 전지 사진, CR-2025 CR-2032 MAXELL TOSHIBA

▶▶ 리튬 전지의 특성; Lithium Battery 장단점



망고 병조림 사진, 시식기; 파인애플 + 복숭아 맛; Mango Fruit

열대과일인 망고 Mango 의 병조림 사진입니다. 큰 병은 아니고 한 뼘 정도 높이의 작은 병입니다. 제가 산 것이 아니라서 가격은 모르겠습니다. 필리핀산인 것 같습니다. 비타민이 많다고 적혀 있었습니다. 망고의 맛은 파인애플맛 + 복숭아맛이었습니다. 맛있더군요. 마치 "참치 뱃살 초밥"처럼 입에서 사르르 녹았습니다. 그렇지만 저의 입맛에는 복숭아 통조림이 더 맛있었습니다.

클릭하면확대
망고
열대과일 망고 열매 병조림 사진

위의 사진은 니콘 D40X에, SB-400 플래시로 촬영한 사진입니다. 그런데 사진을 자세히 보면, 빛의 방향에 이상한 점이 있을 것입니다. 플래시를 카메라에 끼워서 정면으로 발광한 것이 아니라, SC-28 싱크코드 (Nikon TTL 리모트코드 SC-28) 를 사용하여 플래시를 카메라 좌측 멀리에서 터트린 것입니다. 그래서 정면에서 플래시를 터트릴 때보다 훨씬 더 자연스러운 조명이 되었습니다. 물론 완벽한 스트로보 조명을 위해서는 스트로보가 1대가 아닌 2대 이상이 되어야 합니다만..




Tuesday, August 21, 2007

파이어폭스 말풍선 넣기 태그, 파폭 불여우 툴팁 출력; Firefox Tooltip Tag

만화의 말풍선은 영어로 "Speech Balloon"이라고 하지만, 컴퓨터에서의 말풍선은, 즉 마우스 커서를 가져가면 나오는 하얀 상자는 툴팁(Tooltip)이라고 합니다.

Q: 파이어폭스에서 alt 속성으로 말풍선이 출력되지 않는데 해결 방법은?
A: 인터넷 익스플로러 (IE) 와 달리, 파이어폭스는 웹표준을 엄격히 지키는 브라우저입니다. 따라서 img 태그의 alt 속성으로는 말풍선이 나오지 않습니다. 파이어폭스에서는 title 속성을 사용해야만 말풍선이 나옵니다. 물론 IE에서도 title 속성으로 말풍선이 출력됩니다.

따라서 파이어폭스와 IE 2종류의 브라우저 모두에서 그림이나 사진에 말풍선을 넣으려면 다음과 같이 title 속성을 추가합니다.

<img src="그림 주소" alt="그림이 없을 때 나올 설명" title="말풍선에 나올 설명" />

alt로 그림 설명을 넣고, title로 말풍선을 넣습니다.

참고: ▶▶ HTML] title(타이틀;말풍선) 속성과, img 태그의 alt 속성의, 차이점


MS 컴파일러; 마이크로소프트 C Compiler

예전에는 MS의 컴파일러들이 모두 유료였지만, 지금은 무료 컴파일러도 많이 있습니다. 아래 화면은 "MS 비주얼 스튜디오: C/C++ 2005 익스프레스"의 캡처 화면입니다. 이것으로 C소스와 C++ 소스들을 컴파일할 수 있습니다. 다만 MFC 프로그래밍은 되지 않을 것입니다. MFC 프로그래밍은 유료 비주얼 스튜디오에서만 가능한 것으로 알고 있습니다.

클릭또는옆으로스크롤가능
MS C 컴파일러


위의 컴파일러 다운로드 주소와 방법: ▶▶ [희소식] 비주얼 스튜디오 무료화 / Visual C++ 2005 Express 등등

위의 화면은 C컴파일러인데, 비베(Visual Basic), C샤프(Visual C#) 컴파일러도 MS 사이트에서 무료로 다운받을 수 있습니다.


HTML CSS, 마우스 커서 변경 방법, 모래시계, 십자가; Mouse Cursor Change

cursor 라는 CSS 속성에 다음의 값을 지정해 주면, HTML 웹페이지의 마우스 커서 모양이, 십자가나 모래 시계 등으로 변경됩니다.

auto : 기본값, 브라우저가 마우스 커서 자동 지정
crosshair : 십자가
default : 기본 마우스 커서 (대부분 화살표)
hand : 손 모양 커서
move : 이동용 커서
text : 텍스트 입력창 편집용 I 빔 커서
wait : 모래 시계 (대기용 커서)
help : 물음표 (도움말 커서)

다음은 리사이즈 커서:

n-resize
ne-resize
nw-resize
s-resize
se-resize
sw-resize
e-resize
w-resize

아래 예제와 같습니다:

웹페이지 마우스 커서의, 형태 종류 바꾸기


예제 소스 파일명: example.html
<html>
<head>
<title>페이지 제목</title>
</head>


<body>

이런저런 본문 텍스트...<br />
이런저런 본문 텍스트...<br />

<div style="cursor:crosshair; background-color:greenyellow">
마우스 커서를 이 녹색 구역으로 옮기면<br />
마우스 커스가 십자가 모양으로 변경됩니다.<br />
</div>

이런저런 본문 텍스트...<br />
이런저런 본문 텍스트...<br />

<div style="cursor:wait; background-color:yellow">
마우스 커서를 이 노란 구역으로 옮기면<br />
마우스 커스가 모래시계 모양으로 변경됩니다.<br />
</div>

이런저런 본문 텍스트...<br />
이런저런 본문 텍스트...<br />

<div style="cursor:help; background-color:lavender">
마우스 커서를 이 회색 구역으로 옮기면<br />
마우스 커스가 물음표(도움말) 모양으로 변경됩니다.<br />
</div>


</body>
</html>


브라우저 출력 결과 화면:
(색깔 있는 칸에 마우스를 가져가면 커서 모양이 변합니다.)

이런저런 본문 텍스트...
이런저런 본문 텍스트...


마우스 커서를 이 녹색 구역으로 옮기면
마우스 커스가 십자가 모양으로 변경됩니다.



이런저런 본문 텍스트...
이런저런 본문 텍스트...


마우스 커서를 이 노란 구역으로 옮기면
마우스 커스가 모래시계 모양으로 변경됩니다.



이런저런 본문 텍스트...
이런저런 본문 텍스트...


마우스 커서를 이 회색 구역으로 옮기면
마우스 커스가 물음표(도움말) 모양으로 변경됩니다.





참고: ▶▶ [HTML-CSS] 이미지(img) 위에서, 마우스 커서를 십자가(플러스 기호)로 변경

CSS 적용 방법, CSS 태그는?

HTML 웹페이지에서 CSS 스타일시트를 적용하려면 아래 박스 속의 예제처럼, <head> 태그 속에 있는
<style type="text/css">...</style>
이런 스타일 태그 속에 CSS 클래스를 정의한 후, 페이지 본문에서
<span class="us-italic">ABCDEFG Cool Boy</span>
이런 식으로 호출하여 사용합니다.

또는 아래 예제 코드 속의
<body style="background-color:yellow">
이런 곳처럼, 특정 HTML태그 속에 style이라는 속성을 이용하여 CSS스타일을 직접 지정할 수도 있습니다.

CSS스타일시트 사용법 예제


예제 웹페이지 파일명: example.html
<html>
<head>
<title>여기에 페이지 제목 입력</title>
<style type="text/css">

.us-italic { font-family:'Georgia', serif; font-style:italic }

</style>
</head>


<body style="background-color:yellow">

<span class="us-italic">ABCDEFG Cool Boy</span>

</body>
</html>



CSS에 대한 더 자세한 설명: ▶▶ 컴퓨터용어] HTML의 CSS 란? CSS 파일이란? - Cascading Style Sheets

CSS 클래스 정의 방법: ▶▶ [HTML-CSS] 클래스(class) 정의하기; class 사용법 기초


2차원 배열 출력 소스; C언어 이차원 배열 출력, Java에서

C언어에서 2차원 배열을 선언하고 그 내용을 화면에 출력하는 소스입니다. for문으로 루프를 돌려서 요소들 하나씩을 출력합니다:

▶▶ C언어] 2차원 배열 만들기, 초기화, 출력 (배열의 배열); Two Dimensional Array



C언어의 함수 속에서 배열을 파라미터로 입력받아 출력하는 소스입니다. 위의 소스보다 복잡하지만 더 실용적입니다:

▶▶ 2차원 배열, 함수 인수(파라미터)로 전달: 2-Dimensional Array, Pass to a Function



자바에서 2차원 배열을 화면에 출력하는 방법입니다:

▶▶ Java/자바] 2차원 배열 선언/초기화/출력 예제; 배열의 배열; Array of Array




C언어 2차원 배열 0으로 초기화 예제 소스

C에서 2차원 int 정수 배열의 요소들을 모두 0으로 한꺼번에 초기화하는 방법입니다. for문을 돌려서 하나씩 0을 대입할 수도 있지만, 다음과 같이 첫번째 요소에만 숫자 제로를 대입하면 나머지 요소들이 모두 '영'이 됩니다. 아래 소스는 "비주얼C/C++ 2005" 에서는 컴파일이 잘 되는데, 다른 컴파일러에서는 안될 수도 있습니다.

이차원 배열 요소, 0으로 한꺼번에 모두 초기화시키기


예제 파일명: example.cpp
#include <stdio.h>

int main(void) {

  // 2차원 정수 배열 한번에 초기화
  int foo[5][4] = { 0, };


  // 2차원 배열의 요소들 하나씩 출력
  for (int i = 0; i < 5; i++) {
    puts("");  // 줄바꿈
    for (int j = 0; j < 4; j++) {
      printf("%d ", foo[i][j]);
    }
  }

/*
화면 출력 결과:

0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0

*/

  puts("");  // 줄바꿈

  return 0;
}



▶▶ C언어] 2차원 배열 만들기, 초기화, 출력 (배열의 배열); Two Dimensional Array

Monday, August 20, 2007

인물 사진 촬영에 좋은 디카는? Portrait Camera

인물 사진 촬영에는 예전부터 캐논 Canon 카메라가 많이 사용되어 왔습니다. 캐논 렌즈가 인물의 피부색을 아름답고 따뜻하게 표현하기 때문입니다. 여성지나 패션 잡지 기자들을 보면 캐논 카메라를 많이 가지고 있습니다. 그렇지만 캐논 디카+렌즈는 인물이 아닌 다른 분야, 풍경 같은 곳에는 그리 적합하지 않다고 생각됩니다. 사진 전반적으로 들뜬 분위기 또는 통통 튀는 분위기에다, 핑크색이 약간 감도는데, 취향에 따라 다르겠지만, 저는 별로 마음에 들지 않았습니다.

캐논이나 니콘 같은 회사는 주로 서양인의 피부색을 기준으로 렌즈와 CCD / CMOS의 색감을 조정합니다. (확실한 것은 아니지만) 올림푸스는 일본인의 피부색을 기준으로 렌즈 색감을 조정하는 것 같았습니다. 동양인의 인물 사진은 올림푸스 렌즈의 색감이 약간 더 자연스러웠습니다.

반면 니콘은 인물 촬영보다는 풍경 촬영에 적합합니다. 니콘 렌즈는 인물의 피부색을 좀 창백하게 표현합니다. 그리고 니콘은 주로 "보도 사진용 카메라"로 사용되어 왔기에 피사체를 아름답게 표현하는 것에는 별로 소질이 없습니다. 사실성만을 추구하는 메이커입니다.

인물 사진 촬영을 전문적으로 한다면 캐논이 가장 유리하고, 일반 기념 사진에는 어느 카메라라도 큰 차이는 없습니다.


참고: ▶▶ 인물 사진 촬영에 적합한 단초점 렌즈 [단렌즈] 는? - Portrait Lens


C언어에서 문자열에 null 문자 입력 방법; 널문자 출력

C에서 "null 문자"란 것은 16진수 아스키 코드 ASCII Code0x00, 십진수로는 0번 문자를 의미합니다. 그렇지만 아라비아 숫자 제로(0)는 아닙니다. null 문자는 눈에 보이지 않는 특수 문자입니다. C언어에서 null 은, "문자열의 끝"을 의미합니다. 그래서 문자열에서 널(null)문자 뒤에 있는 문자들은 문자열 출력에서 무시됩니다.

널문자는 '\0' 즉 '백슬래쉬+숫자 영'이라는 이스케이프 시퀀스로 표현합니다. 아래 예제에서 AAA 와 BBB 라는 단어 사이에 널문자가 하나 들어가 있습니다. 그래서 사실상 AAA 가 문자열의 끝입니다. 뒤의 BBB 는 무시됩니다. AAA만 출력됩니다.

어떤 문자열을 정의하면 그 문자열 맨 끝에 널문자가 1개 자동으로 붙습니다. 그래서 아래 예제에서는 실제로는 BBB 뒤에도 \0 이런 null 문자가 보이지 않게 붙어 있습니다.

null 문자 포함된 문자열 출력 예제
예제 소스 파일명: example.cpp
#include <stdio.h>

int main(void) {

  char str[] = "AAA\0BBB";

  printf("%s\n", str);
  // 출력 결과: AAA


// 위의 문자열을 널문자까지 강제로 출력해 보겠습니다.
  for (int i = 0; i < sizeof(str); i++) {
    printf("%c = 0x%02X\n", str[i], str[i]);
  }

/*

화면 출력 결과:
(0x00 이라는 글자들이 끼어 있습니다. 널문자들입니다.)

A = 0x41
A = 0x41
A = 0x41
  = 0x00
B = 0x42
B = 0x42
B = 0x42
  = 0x00

*/


  return 0;
}



C언어에서 종료 함수는? 프로그램 중단시키는 방법; exit return

C언어에서 프로그램을 종료하는 함수는 exit() 입니다. stdlib.h 헤더파일을 인클루드해 주면 사용할 수 있습니다.

exit() 함수 사용법과 예제 소스 참고:

▶▶ C언어 exit() 함수 사용법 예제 소스


그렇지만 항상 exit() 함수로 프로그램을 종료시킬 필요는 없습니다. 프로그램 본체인 main() 함수 속에서 return 문을 사용하면 자연스럽게 프로그램이 종료됩니다. 일반 함수 속에서 return 문을 사용하면 그 함수만 종료되지만, main() 함수 속의 return 문은 프로그램 전체를 중지시킵니다.

간단한 프로그램에서는 return 문으로 종료하는 것이 더 일반적입니다:

return 문 사용 예제:

▶▶ [C언어 기초] return 이란? 함수인가요? return 0; 의 의미는?


bzip2 디렉토리 압축하기 방법은? bz2 폴더 압축 풀기 명령어

bzip2 로는 원래 파일 딱 1개만 압축할 수 있습니다. 따라서 bzip2 자체로는 디렉토리 압축이 안됩니다. 만약 예를 들어 foo 라는 디렉토리를 bzip2로 압축하려고 한다면 bzip2: Input file foo is a directory. 이런 에러가 납니다. "파일이 아닌 디렉토리라서 압축이 안된다"는 의미의 에러 메시지입니다.

이때는 tar 명령어를 사용하여, 먼저 디렉토리를 하나의 tar파일로 만든 후, bzip2로 압축해야 합니다. tar에 j (소문자 제이) 옵션을 붙이면 간단히 할 수 있습니다. 예를 들어

tar -cjvf test.tar.bz2 foo

이렇게 하면, foo 라는 디렉토리와 그 안의 파일들을 test.tar.bz2 라는 파일로 압축합니다. tar명령이 bzip2 를 자동으로 호출하여 압축해 줍니다.

한편, 위에서 만든 압축 파일의 압축을 풀려면

tar -xvf test.tar.bz2

이런 명령을 사용하면 압축된 디렉토리가 다시 하드에 풀립니다.


참고: ▶▶ tar.bz2 압축풀기 명령어, tar.bz2 압축하기 방법; bzip2


Sunday, August 19, 2007

캐논 필카용 렌즈, 캐논 디카와 호환 여부; Canon EOS DSLR Lens

Q: 캐논 필카용 렌즈가 디카와 호환되나요?

A: 대부분 호환됩니다. 즉 캐논 필카용 렌즈를 최신 "캐논 EOS 디카" 에 붙일 수 있습니다. 물론 여기서 말하는 캐논 디카란 컴팩트카메라(똑딱이)가 아니라 DSLR입니다.

단, "캐논 EF 렌즈"만 캐논 EOS 디카에 붙여서 사용할 수 있습니다. 캐논 마운트는 여러가지가 있는데 현재 사용되는 마운트는 EF 마운트이고, 1987년 이전에는 "FD 마운트" 등이 사용되었습니다. "FD 마운트" 렌즈는 캐논 EOS 시리즈 카메라에는 붙일 수 없습니다. 서로 호환이 안됩니다. "캐논 EOS 필카"이든 "캐논 EOS 디카"이든, EOS에는 사용 불가입니다. (EOS 시리즈도 예전에는 디카가 아닌 필카였습니다.)

캐논 EF 렌즈라면, 필카(EOS)든 디카(EOS)든 상관없이 모두 사용 가능합니다. (단, EF-S렌즈는 디카 전용입니다.) 그러나 FD 렌즈는 디카에 붙일 수 없습니다. 요즘에는 FD 렌즈가 생산되지 않지만 중고 시장에 보면 가끔 있습니다.


참고로, 니콘은 마운트가 1종류이기에, 아무리 오래된 니콘 렌즈라도 거의 모두 최신 니콘 디카에 붙일 수 있습니다. 제가 니콘을 사용하는 이유 중의 한 가지가, 니콘이 렌즈 호환성이 아주 좋기 때문입니다.


▶▶ 캐논 EF 렌즈와 EF-S 렌즈 차이점, Canon EFS Lens 차이

숫자 무작위 생성; 윈도우 도스창에서; DOS 랜덤 Random

아래 박스에 있는 코드를 example.bat 이라는 파일로 만든 후, 도스창에서 example.bat 이라고 입력하고 엔터키를 치면 1에서 100까지의 무작위 숫자들이 20개 출력됩니다. 배치 실행법 참고: ▶▶ 메모장으로 BAT 파일 만들기, 배치파일 작성하기; Windows Notepad Batch File

1에서 100까지 무작위 숫자 20개 만들기


예제 파일명: example.bat
@echo off
setlocal

:LOOP

:: 난수 1개 출력
set /a myNumber=%RANDOM% %% 100 + 1
echo %myNumber%

:: 난수 20개 제한 코드
set /a myStopper+=1
if %myStopper% GEQ 20 goto QUIT

goto LOOP

:QUIT



실행 결과 화면:
D:\Z>example.bat
50
64
18
6
72
88
53
70
8
57
82
95
18
78
67
44
32
84
68
58
D:\Z>


자세한 설명: ▶▶ 배치파일] 랜덤 숫자 발생, 1~10 난수 생성; Random Number Batch File

각종 프로그래밍 언어로 무작위 숫자 만들기 소스들: ☞ 각종 언어로, 랜덤 난수 생성




디카로 찍은 사진을 아래한글, 아래아 한글에 붙이는 법; HWP JPG

디카로 찍은 원본 사진 파일은 인화용이기에 면적이 너무 크고, 파일 크기도 너무 큽니다. 따라서 특별한 이유가 없는 이상, 포토샵으로 사진의 크기를 미리 적절히 줄여서 붙이는 것이 좋습니다. 모니터로 보았을 때 자연스러운 크기면 됩니다. 사진 축소 방법: ▶▶ 포토샵] 사진 크기 조절; 이미지 사이즈 조정 변경; Image Size Photoshop

* 아래아한글을 실행시킵니다. (아래아 한글 2005 버전을 기준으로 설명.) 이제 아래한글 상단 풀다운 메뉴에서

입력 > 개체 > 그림

을 선택합니다.

* "그림 넣기" 대화상자가 나옵니다. 하드에 있는 사진 파일(예를 들어 DSC_0238.JPG)을 찾아서 클릭합니다. "열기" 버튼을 누르면 열립니다.

* 아직 사진이 한글 문서에 나타나지 않을 것입니다. 이제 마우스로 한글 문서 화면을 긁어줍니다. 즉 "드래그"합니다. 사진을 붙일 크기만큼 마우스로 문서의 빈 곳을 긁으면 됩니다. 그러면 이제 사진이 한글문서에 나타날 것입니다.

* 한글 문서에 삽입된 사진의 크기가 마음에 들지 않으면, 사진의 모서리에 있는 작고 하얀 사각형을 마우스로 이동시키면 사진 크기를 다시 조정할 수 있습니다. 크기 조정이 마음에 들지 않으면, 키보드의 Ctrl+Z키를 누르면 취소가 되어 다시 원래 크기로 돌아갑니다.


파일 다운로드 한꺼번에 받는 방법은? Download All

"인터넷 익스플로러" 즉 "IE"에서는 여러 개의 파일을 한꺼번에 다운받는 것이 귀찮고 어렵습니다. 이때는 "플레시겟" 같은 "다운로드 전문 프로그램"을 윈도우에 설치하면 다운로드가 쉽게 됩니다. 예전에는 쉐어웨어였지만 현재는 플래시겟이 무료(프리웨어)입니다. 우선 플래시겟을 설치하고 플래시겟을 실행하면 다음과 같은 화면이 나옵니다.

클릭또는옆으로스크롤가능
플래시겟


위의 화면이 좀 복잡하게 찍혔는데, 사용법은 간단합니다. 여러 가지 사용 방법이 있지만, 제가 쓰는 방법은 다음과 같습니다. 어떤 파일을 다운받을 수 있는 링크를 마우스로 드래그(좌측 버튼을 누른 채 끌어당김)하며, 위의 프로그램의 뒤쪽 창에 끌어다 놓습니다. 그러면 파일을 다운로드받을지 물어보는 대화상자가 나오고, "확인" 버튼만 누르면 다운로드가 시작됩니다.

수십 개의 파일을 동시에 쉽게 다운받을 수 있습니다. 또한 갑자기 정전이 된다거나 할 때에도, 처음부터 다시 파일을 받지 않아도 중간부터 받을 수 있어서 편리합니다. 즉 "이어받기"가 됩니다.

또한 위의 화면 앞쪽 창(플래시겟에서 F7키를 누르면 나옴)의 주소창에, 특정 웹페이지의 주소를 넣으면 그 주소에 있는 모든 파일들을 한꺼번에 왕창 다운받을 수도 있습니다.


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


Saturday, August 18, 2007

1리터는 몇킬로그램인가요; 물 1 Liter 무게는 몇키로그램?

물 1리터는 1킬로그램입니다. 그러나 물이 아닌 다른 물질일 경우에는 전혀 다른 무게가 나옵니다. 솜 1리터와 쇠 1리터의 무게는 당연히 다릅니다. 리터 Liter 는 부피 단위 (Unit of Volume) 이고 무게 단위 (Unit of Mass) 가 아니기에 그렇습니다.

물도 섭씨 4도의 물일 경우 1킬로그램이 되고, 온도가 다르면 중량에 미세한 차이가 생깁니다. 그리고 순수한 물인 증류수의 경우입니다.

"가로 X 세로 X 높이"가 모두 10cm 인, 정육면체 속에 물을 가득 채우면 부피는 1리터가 되고, 무게는 1킬로그램이 됩니다.

따라서 1.5리터 페트병 속에 물을 가득 채우면 약 1.5kg이 될 것입니다.

그리고 21리터짜리 초대형 김치통에 물을 가득 채우면 21키로가 될 것입니다.

아래 주소에 1.5리터 페트병과 21리터짜리와 12리터짜리 락앤락의 크기를 비교한 사진이 있습니다:

21리터 락액락 통 사진: ▶▶ 락앤락 21리터 초대형 구입 사진, 카메라 습기 제습함; Locknlock 21L 짜리

12리터 락액락 통 사진: ▶▶ 대형 락앤락 김치통 밀폐용기 12리터 구입 사진, 사용기; LockNLock 12L




음이온 선풍기 2년간 사용기; 삼성 SF-35R56 모델

작년에 삼성 선풍기를 샀습니다. SF-35R56 이라는 모델명입니다. 리모콘 기능도 있고, 음이온 기능도 있었습니다. 리모콘 기능은 편리하더군요.

그런데 음이온 기능은 좀 의문이었습니다. 음이온이 오히려 몸에 좋지 않다는 얘기도 있어서 작년에는 음이온 기능을 켜지 않고 사용했습니다. 그런데 올해는 음이온 기능을 테스트해 볼 겸해서 음이온 기능을 몇 달 동안 계속 켠 채로 사용하고 있습니다.

그런데 아무 효과나 차이점이 없었습니다. 정말 눈꼽만치도 차이가 없었습니다.

음이온 기능을 켜면 아마도 플라시보(위약) 효과 때문에 잠시 동안 기분이 약간 상쾌해지기는 했습니다. 그러나 계속 켜면 더 이상 아무 효과가 없더군요.

거의 같은 모델이지만 음이온 기능이 없는 선풍기는 가격이 약간 저렴했습니다. 음이온 기능이 없는 선풍기를 사는 것이 차라리 좋을지도 모르겠습니다.

이 삼성 SF-35R56 이라는 선풍기 자체는 그럭저럭 좋았습니다. 대기업인 삼성 상표가 있지만 중소기업에서 OEM 으로 생산된 것 같았습니다. 다만 제품 마무리는 다소 조악했습니다. 선풍기 밑바닥이 날카로워서 방바닥에 자국이 패이는 등의 문제점이 있었습니다.


bz2 압축풀기, bzip2 압축하기; 리눅스 파일 압축

".bz2" 확장자를 가진 파일의 압축을 푸는 방법입니다. "tar.bz2" 이렇게 이중으로 된 파일은 여기를 참고: ▶▶ tar.bz2 압축풀기 명령어, tar.bz2 압축하기 방법; bzip2

".bz2" 확장자의 파일은 bzip2 압축이 된 파일입니다. bzip2 는 1개의 파일만 압축할 수 있을 뿐, 여러 개의 파일을 하나로 묶는 아카이브 기능은 없습니다. 그래서 대부분 tar로 파일들을 하나로 묶은 후 압축하기에 tar.bz2 이런 2중 확장자가 됩니다.

파일 1개만 간단히 압축하고 싶을 때에는 tar 없이 bzip2 (.bz2) 로만 압축할 수 있습니다. 다음과 같습니다.

bzip2 로, bz2 압축하기


예를 들어, 현재 디렉토리의 foo.txt 파일을 압축하려면 다음과 같이 합니다.

bzip2 -k foo.txt

그러면 이제 foo.txt.bz2 라는 압축 파일이 생성될 것입니다. "-k" 옵션을 생략하면 원본 파일인 foo.txt 가 자동 삭제됩니다. 되도록 "-k" 옵션을 붙이는 것이 안전합니다.

bzip2 로, bz2 압축풀기


다음과 같이 하면 bz2 파일의 압축이 풀립니다.

bzip2 -kd foo.txt.bz2

"-kd"가 아닌 "-d" 이런 옵션을 주면 압축파일인 foo.txt.bz2 가 자동 삭제됩니다.


리눅스 오늘 날짜 현재 시간 보기 스크립트; Linux Date Time Script

리눅스 bash 셀에서 date 명령으로 날짜와 시간을 출력할 수 있습니다. 그런데 미국식 포맷으로 나오기에 읽기 불편합니다. "YYYY-MM-DD hh:mm:ss AM/PM" 같이 읽기 쉬운 형식으로 출력하는 쉘 스크립트입니다.

YYYY-MM-DD hh:mm:ss AM/PM 형식으로 출력


스크립트 파일명: mydate.sh
#!/bin/sh

date '+%F  %r'


위의 스크립트를 실행하면 오늘 날짜와 현재 시간이 예를 들어

2007-08-18  01:08:06 PM

이렇게 나옵니다. 스크립트 실행법: ▶▶ 유닉스 Hello World 예제 소스, 리눅스 셀 스크립트 '헬로월드'; Unix Linux


참고: ▶▶ 리눅스,Linux] 현재 날짜/시각 보기, 시간 맞추기 명령어; 유닉스 date Command

PS1 PS2 프롬프트 차이점, 리눅스 Prompt 차이

MS도스 또는 윈도우의 도스창에서는 프롬프트 Prompt 가 1종류뿐이지만, 리눅스에는 2종류가 있습니다. 하나는 PS1 프롬프트이고, 그리고 PS2 라는 특수한 프롬프트도 있습니다. 리눅스에서, 보통 때에는 PS1 프롬프트가 나옵니다. 여기에다 명령어를 입력하면 됩니다. 그런데 그 명령어가 완전히 입력되지 않았을 때에는

>

이런 무서울 정도로 단순한 프롬프트로 변하게 됩니다. 이것이 PS2 프롬프트입니다. 명령어가 완전히 입력되지 않았으니 더 입력하라는 뜻입니다. 예를 들어 리눅스에서

echo "foo

이런 명령어를 입력하면 PS2 프롬프트가 나옵니다. 왜냐하면 위의 경우 따옴표를 닫아주지 않았기 때문입니다. 이 경우에는 > 라는 PS2 프롬프트에 쌍따옴표를 하나 적어주고 엔터키를 치면 정상화되고, 다시 보통의 PS1 프롬프트로 돌아옵니다.


리눅스 bash에서 Tab 문자 출력 방법; echo 명령으로 탭문자 프린트

리눅스의 bash 셀에서, echo 명령으로 Tab 문자를 출력 Print 하려면, 탭 문자를 \t 이렇게 표현하면 됩니다. 백슬래시(\)+소문자T입니다.

그리고 echo 에 반드시 -e 옵션을 소문자로 붙여 주어야 합니다.

또한 출력할 문자열 전체를 큰따옴표(쌍따옴표) 또는 작은따옴표(홑따옴표)로 둘러싸 주어야 합니다.

echo -e "AAA\tBBB\tCCC"

이제, 예를 들어 리눅스 bash 프롬프트에서 위와 같이 입력하면

AAA     BBB     CCC


터미널 화면에 이렇게 출력됩니다. AAA와 BBB 와 CCC 사이에 탭 문자들이 들어가 있습니다.



▶▶ 유닉스 echo 줄바꿈 기호 넣기; UNIX echo 개행문자(Newline) 삽입 방법

Friday, August 17, 2007

여행용 소형 미니삼각대 345 테이블 탑 키트 사용기; Manfrotto 345 Table Top Tripod Kit Review

일반 삼각대는 2킬로 내외의 무게이고 부피도 커서 여행용 삼각대로 쓰기에는 힘듭니다. 그래서 미니삼각대가 필요했는데, 1~2만원짜리 미니삼각대는 내구성이 약해서 쉽게 못쓰게 됩니다. 미니삼각대 중에서 가장 좋은 것은 이탈리아의 맨프로토 제품입니다. 짖죠 Gitzo 에도 미니삼각대가 있긴 한데 지금은 단종이 된 것 같았습니다.

아래 사진은 "Manfrotto 345 Table Top Tripod Kit" 이라는 미니삼각대 세트입니다. 삼각대 + 볼헤드 + 확장봉 + 가죽 케이스까지 모두 포함되어 있습니다. 별도로 하나씩 구입할 수도 있지만 한꺼번에 사는 것이 편리했습니다. 헤드 분리형이기에, 미니볼헤드를 떼어내고 다른 헤드를 붙일 수 있다는 장점이 있습니다. 만년필처럼 생긴 확장봉을 끼우면 높이를 더 높게 할 수 있습니다. 확장봉(센터칼럼) 자체도 길이 조절이 됩니다.

클릭하면확대
맨프로토 미니삼각대
Manfrotto 345 Table Top Tripod Kit 사진

(좌측 하단 사진은 최대 높이)

높이가 낮기에, 미니삼각대 자체로 사용하는 것은 힘들고, 주변의 지형지물을 이용해야 합니다. 테이블이나 책상에 올려 놓고 사용하거나, 담 위에 올려놓고 손으로 붙잡은 후 야경을 촬영하거나, 건물 벽면에 수평으로 밀착시킨 후 장시간 노출을 주거나, 삼각대 발을 자신의 가슴에 밀착하여 손떨림을 억제하거나 합니다. 다만 위의 사진처럼 작고 허약한 구조물(종이 상자)에 올리면 안됩니다. 사진을 찍다보니 그렇게 되었습니다..

컴팩트카메라(똑딱이)는 물론이고 SLR / DSLR 도 사용할 수 있습니다. 그러나 SLR/DSLR을 사용할 때에는 미니볼헤드가 아닌 좀더 큰 볼헤드를 붙이는 것이 안정적입니다. 그리고 망원렌즈는 무리입니다. 삼각대 자체는 아주 튼튼하지만 무게 중심 때문에 넘어질 수 있습니다.

중국산이 아닌 유럽산이라서 75000원 정도의 고가였습니다. 일반 삼각대 못지 않게 비싼 가격이지만 마무리가 아주 고급스럽기 때문에 소장 가치가 있는 명품입니다. "가보"로서 후손에게 물려주어도 좋을 정도의 완성도입니다.

단점으로는, 볼헤드를 빼고 확장봉을 끼우고 다시 볼헤드를 끼우는 과정이 번거롭고, 삼각대 발의 밑바닥이 코르크로 되어 있어 연약하다는 문제가 있었습니다. 또한 처음 구입하면 삼각대 전체에 구리스(윤활유)가 발라져 있어서 닦아 주어야 합니다.

사실 삼각대라기보다는 "카메라 받침대"에 가깝습니다. 아무튼 저는 이 "미니삼각대 345 테이블 탑 키트"가 아주 마음에 들었습니다. 점수로 치자면 100점 만점에 93점 정도 줄 수 있습니다. 미니삼각대 발바닥 3개가, 고무가 아닌 코르크로 되어 있어서 점수가 좀 깎였습니다. 높이가 낮다는 것은 미니삼각대이니 어쩔 수 없습니다. 땅바닥 접사에는 미니삼각대의 낮은 높이가 오히려 더 편리합니다.

주의 사항: 구입할 때 "헤드 분리형" 삼각대인지 반드시 확인하는 것이 좋습니다. 저것과 비슷한 미니삼각대지만 헤드가 분리되지 않는 "헤드 일체형"도 있는데, 일체형은 좋지 않습니다.

볼헤드 상단의 나사에 "부시어댑터"가 꽂혀 있을 수도 있는데, 부시어댑터를 돌려서 빼야 카메라를 장착할 수 있습니다. 참고: ▶▶ 부시 어댑터, 삼각대 나사 변환 부싱 어댑터 사진; Tripod Socket Photo


위의, 초소형 볼헤드 리뷰: ▶▶ 맨프로토 미니 볼헤드 사용기, 미니삼각대용 볼헤드; Manfrotto 482 Micro Ball Head, Review

위의, 미니삼각대 가죽 케이스 리뷰: ▶▶ 미니삼각대의 명품 Manfrotto 345의 가죽 케이스(파우치) 사진; 345 Bag

일반 대형 삼각대 리뷰: ▶▶ 190XProB 맨프로토 삼각대 구입 사진, 사용기; Manfrotto 190



<< Home

Categories
Some Recent Posts
Monthly Archives
Top