2009년 12월 2일 수요일

EF 28-70mm F2.8L USM

06년 7월에 영입한 놈....

Canon EF 28-70mm F2.8 L

렌즈 구성(군) 11
렌즈 구성(매) 16
조임 날개 매수 8
최소 조임 22
최단 촬영 거리(m) 0.5
최단 촬영 배울(배) 0.18
필름지름(mm) 77
최대지름 x 길이 (mm)x(mm) 83.2 x 117.6
질량(g) 880
 
특징 :
 단 초점 렌즈에 필적하는 묘사 성능을 갖춘 대구경 표준 줌 렌즈.
제1렌즈에 연삭비 구면 렌즈를 사용해, 최단 0.5m 부터 무한원까지의 전 영역에 있어 고 콘트라스트로 고해상력인 고화질을 달성했다.
또 77mm 지름의 필터를 채용해 전옥을 대규모 경화, 구성 렌즈군의 적절한 파워 배분과 어울러,
줌 전역으로 개방 F2.8의 밝음 + 단 초점렌즈 수준의 주변 광량을 확보했다.
초점 조절은 리어 포커스 방식에서, 링 USM과 아울러 사일런트.하이 스피드AF를 실현, AF모드인 채로 메뉴얼 포커스가 가능한 풀타임메뉴얼 포커스 기능도 가지고 있다...
 
 
 
28-70mm F2.8L USM...
근래 뽐뿌에 빠져 있는 렌즈다...
2002년 단종되어
후속으로 24-70mm F2.8이 판매되고 있으나
여전히 인기 있는 모델이다...
 
 
 

적정 셔터 스피드에 대해

셔터스피드 : 얼마의 시간동안 빛을 노출할지를 결정.
 
 
보통 1/40초를 기준으로 한다고들 합니다.
 
이보다 느리다면 손에 들고 촬영을 하는 것이 어려워 지며 삼각대와 같이
 
거치할수 있는 장비를 필요로 합니다.
 
이러한 장비가 없다면 벽에 기대어 찍거나 바닥에 누워 찍는 방법도
 
느린 셔터 스피드를 커버할 수 있습니다..
 
 
셔터스피드를 높여야 할 경우는 강한 불빛을 촬영하거나 빠른 움직임을 보이는 사물을 정지한 것처럼 촬영할 경우입니다.
 
아기나 강아지와 같이 촬영시 촬영자의 의도대로 움직이지 않는 피사체일 경우에도 필요합니다.
 
보통 1/125초 내외가 적당하다고들 합니다.
 
 
셔터 스피드 적용 예
1분 장시간 노출로 빛을 흐르게 해 궤적을 표현
1초 폭포나 계곡의 물줄기를 부드럽게 표현
1/8 ~ 1/30초 움직임을 의도적으로 흔들리게 하여 역동적인 표현
1/30초 촛불 표현
1/60 ~ 1/125초 대부분의 대상에 해당
1/500초 빠른 움직임의 피사체를 정지하게 표현

IIS 에서 퍼미션 설정하기

윈도우 에서 퍼미션 설정은 보통 권한 설정에서 설정하나
명령 프롬프트에서도 할수 있습니다...
 
시작->실행->cmd.exe 로 명령 프롬프트를 띄우시고
 
c:\ cacls /?
 
실행하시면
 
 
코드:
파일의 액세스 제어 목록(ACL)을 화면에 표시하거나 수정합니다.
CACLS 파일 이름 [/T] [/E] [/C] [/G사용자:perm] [/R 사용자 [...]] [/P사용자:perm[...]] [/D 사용자 [...]]
    파일 이름       지정된 파일의 ACL을 화면에 표시합니다.
    /T              현재 디렉터리와 모든 하위 디렉터리에서 지정한
                    파일을 찾아서 ACL을 바꿉니다.
    /E              ACL을 대체하지 않고 편집합니다.
    /C              오류를 무시하고 ACL을 계속 바꿉니다.
    /G 사용자:perm  지정된 사용자의 사용 권한을 부여합니다.
                    Perm은 다음과 같습니다:
                              R    읽기
                              W    쓰기
                              C    바꾸기(쓰기)
                              F    모든 권한
    /R 사용자       지정된 사용자의 사용 권한을 철회합니다.
    /P 사용자:perm  지정된 사용자의 사용 권한을 바꿉니다.
                    Perm은 다음과 같습니다:
                              N    없음
                              R    읽기
                              W    쓰기
                              C    바꾸기(쓰기)
                              F    모든 권한
    /D 사용자       지정된 사용자의 액세스를 거부합니다.
한 명령에 하나 이상의 파일을 지정하는 대표 문자를 사용할 수 있습니다.
한 명령에 하나 이상의 사용자를 지정할 수 있습니다.
약어:
   CI - Container Inherit.
        ACE가 디렉터리에 의해 상속됩니다.
   OI - Object Inherit.
        ACE가 파일에 의해 상속됩니다.
   IO - Inherit Only.
        ACE가 현재 파일/디렉터리에 적용되지 않습니다.
 
와 같이 help 문서로 사용법 설명이 나옵니다..
 
 
 
 
 
인터넷 user의 계정이
IUSR_MYCOM 이고
권한을 주고자 하는 디렉토리가
c:\Inetpub\wwwroot\bbs 라고 하고
권한을 full로 주고자 한다면
 
cacls c:\Inetpub\wwwroot\bbs /T /E /G IUSR_MYCOM:F
 
하시면 퍼미션 문제는 해결 완료..!!!

사용중인 ip address 확인

현재 네트워크에서 사용하고 있는 IP Address를 조사하는 데에는 ping command를 사용하는 게 일반적이죠.
이때 한두개도 아니고 수백개의 IP Address를 간단하게 조사는 방법이 있어서 소개합니다.
" for "commnad랑 ping commnad를 이용하면 간단하게 조사가 가능하답니다.
참, 그리고 ping에 대한 응답이 차단되어 있을 땐 arp command를 사용하시면 되지요..
 
(예)
for /l %i in (0,1,255) do ping -w 1 -n 1 192.168.0.%i && arp -a 192.168.0.%i >> arp.log
-------------------------------------------------------------------------------------------------------
 
For
파일 집합에서 각 파일에 대해 지정된 명령을 실행합니다.
구문
for {%Variable | %%Variable} in (Set) do Command [CommandLineOptions]
매개 변수
{%Variable | %%Variable}
필수 요소입니다. 대체 가능한 매개 변수를 나타냅니다. 명령 프롬프트에서 for 명령을 실행하려면 %Variable을 사용합니다. 배치 파일에서 for 명령을 실행하려면 %%Variable을 사용합니다. 변수는 대/소문자를 구분하며 %A, %B 또는 %C 같은 문자 값으로 표시해야 합니다.
(Set)
필수 요소입니다. 지정된 명령으로 처리하려는 둘 이상의 파일, 디렉터리, 값의 범위 또는 텍스트 문자열을 지정하며 괄호가 필요합니다.
Command
필수 요소입니다. 지정된 (Set)에 포함된 각 파일, 디렉터리, 값의 범위 또는 텍스트 문자열에서 수행할 명령을 지정합니다.
CommandLineOptions
지정된 명령과 함께 사용할 명령줄 옵션을 지정합니다.
/?
명령 프롬프트에 도움말을 표시합니다.
설명
• For 사용
For 명령은 배치 파일 내에서 사용하거나 명령 프롬프트에서 직접 사용할 수 있습니다.
 
• 배치 매개 변수 사용
다음과 같은 특성이 for 명령에 적용됩니다.
• For 명령은 Command에서 모든 파일을 처리할 때까지 %Variable 또는 %%Variable을 지정된 Set의 각 텍스트 문자열로 바꿉니다.
 
• For Variable 이름은 대/소문자를 구분하고 전역 변수이며 한 번에 총 52개 이상을 사용할 수 없습니다.
 
• %0부터 %9 사이의 배치 매개 변수와 충돌하지 않게 하려면 0부터 9까지의 숫자를 제외한 모든 문자를 Variable에 사용할 수 있습니다. 간단한 배치 파일에서는 %%f와 같은 단일 문자로 충분합니다.
 
• 복잡한 배치 파일에서는 대체 가능한 다른 변수들과 구별하기 위해 Variable에 여러 값을 사용할 수 있습니다.
 
 
• 파일 그룹 지정
Set 매개 변수는 단일 파일 그룹이나 여러 파일 그룹을 나타낼 수 있습니다. 와일드카드(* 및 ?)를 사용하여 파일 집합을 지정할 수 있습니다. 다음은 유효한 파일 집합입니다.
(*.doc)
(*.doc *.txt *.me)
(jan*.doc jan*.rpt feb*.doc feb*.rpt)
(ar??1991.* ap??1991.*)
for 명령을 사용할 때 Set의 첫째 값이 %Variable 또는%%Variable을 바꾼 다음 지정된 명령을 수행하여 이 값을 처리합니다. Set 값에 해당하는 모든 파일이나 파일 그룹이 처리될 때까지 이 과정은 계속됩니다.
 
• In과 do 키워드 사용
In과 do는 매개 변수는 아니지만 for 명령에 필요합니다. 이 키워드 중 하나를 생략하면 오류 메시지가 나타납니다.
 
• For의 추가 형식 사용
명령 확장을 사용하면(기본값) 다음과 같은 for 명령의 추가 형식이 지원됩니다.
• 디렉터리 전용
Set에 와일드카드(* 및 ?)를 포함하면 지정된 Command는 지정된 디렉터리의 파일 집합 대신 Set와 일치하는 각 디렉터리에 대해 실행됩니다. 구문은 다음과 같습니다.
for /D {%% | %}Variable in (Set) do Command [CommandLineOptions]
 
• 재귀적 사용
[Drive:]Path에서 시작하는 디렉터리 트리를 검색하고 트리의 각 디렉터리에서 for 문을 실행합니다. /R 다음에 디렉터리를 지정하지 않으면 현재 디렉터리로 간주됩니다. Set에 마침표 하나만 있으면 디렉터리 트리를 열거만 합니다. 구문은 다음과 같습니다.
for /R [[Drive:]Path] {%% | %}Variable in (Set) do Command [CommandLineOptions]
 
• 값의 범위 반복
반복 변수를 사용하여 시작 값(Start#)을 설정한 다음 값이 집합의 종료 값(End#)을 초과할 때까지 값의 집합 범위를 단계적으로 검사합니다. /L 은 Start#와 End#를 비교하여 반복을 실행합니다. Start#가 End#보다 작으면 명령이 실행됩니다. 반복 변수가 End#를 초과하면 명령 셸은 루프를 종료합니다. 또한 음의 Step#을 사용하면 값을 줄이면서 범위를 단계적으로 검사할 수 있습니다. 예를 들어 (1,1,5)는 시퀀스 1 2 3 4 5를 생성하고 (5,-1,1)은 시퀀스 (5 4 3 2 1)을 생성합니다. 구문은 다음과 같습니다.
for /L {%% | %}Variable in (Start#,Step#,End#) do Command [CommandLineOptions]
 
• 반복 및 파일 구문 분석
파일 구문 분석을 사용하여 명령 출력, 문자열 및 파일 내용을 처리합니다. 반복 변수를 사용하여 검사할 내용이나 문자열을 정의하고 다양한 ParsingKeywords 옵션을 사용하여 구문 분석을 더 자세히 수정합니다. ParsingKeywords token 옵션을 사용하여 반복 변수로 전달할 토큰을 지정합니다. token 옵션 없이 사용하면 /F는 첫째 토큰을 검사만 합니다.
파일 구문 분석을 출력하고 문자열이나 파일 내용을 읽고 개별 텍스트 줄로 분리한 다음 각 줄을 0개 이상의 토큰으로 구문 분석하는 과정으로 이루어집니다. 그런 다음 반복 변수 값을 토큰으로 설정하여 for 루프를 호출합니다. 기본값으로 /F는 각 파일의 각 줄에서 처음 공백으로 분리된 토큰을 전달합니다. 공백 줄은 건너뜁니다. 다음은 다양한 구문의 예입니다.
for /F ["ParsingKeywords"] {%% | %}Variabe lin (FileNameSet) do Command [CommandLineOptions]
for /F ["ParsingKeywords"] {%% | %}Variable in ("LiteralString") do Command [CommandLineOptions]
for /F ["ParsingKeywords"] {%% | %}Variable in ('Command') do Command [CommandLineOptions]
FileNameSet 인수는 하나 이상의 파일 이름을 지정합니다. FileNameSet의 다음 파일로 진행하기 전에 각 파일을 열어서 읽고 처리합니다. 기본 구문 분석 동작을 무시하려면 "ParsingKeywords"를 지정합니다. 이것은 다른 구문 분석 옵션을 지정하는 하나 이상의 키워드를 포함하는 따옴표 붙은 문자열입니다.
usebackq 옵션을 사용하는 경우 다음 구문 중 하나를 사용합니다.
for /F ["usebackqParsingKeywords"] {%% | %}Variable in ("FileNameSet") do Command [CommandLineOptions]
for /F ["usebackqParsingKeywords"] {%% | %}Variable in ('LiteralString') do Command [CommandLineOptions]
for /F ["usebackqParsingKeywords"] {%% | %}Variable in ('Command') do Command [CommandLineOptions]
다음 표에서는 ParsingKeywords에 사용할 수 있는 구문 분석 키워드 목록을 보여 줍니다.
 
키워드 설명
eol=c
 줄의 끝 문자(한 개의 문자만)를 지정합니다.
 
skip=N
 파일의 시작 위치에서 건너뛸 줄 수를 지정합니다.
 
delims=xxx
 구분 기호 집합을 지정합니다. 이 집합은 공백과 탭의 기본 구분 기호 집합을 대체합니다.
 
tokens=X,Y,M-N
 각 반복에 대해 for 본문으로 전달할 각 줄의 토큰을 지정합니다. 따라서 추가 변수 이름이 할당됩니다. M-N 형식은 M번째부터 N번째까지의 토큰을 지정하는 범위입니다. tokens= 문자열의 마지막 문자가 별표(*)이면 추가 변수가 할당되고 마지막으로 구문 분석한 토큰 뒤에 줄에 남아 있는 텍스트를 받습니다.
 
usebackq
 따옴표를 사용하여 FileNameSet에 파일 이름을 인용하고 억음 악센트 기호 내의 문자열을 명령으로 실행하며, 작은 따옴표 내의 문자열은 리터럴 문자열 명령이 되도록 지정합니다.
 
 
• 변수 대입
for 변수 참조를 위한 대체 수정자가 개선되었습니다. 다음 표에서는 변수 I에 대한 옵션 구문 목록을 보여 줍니다.
 
수정자가 있는 변수 설명
%~I
 따옴표("")를 제거하는 %I을 확장합니다.
 
%~fI
 전체 경로 이름으로 %I을 확장합니다.
 
%~dI
 드라이브 문자 전용으로 %I을 확장합니다.
 
%~pI
 경로 전용으로 %I을 확장합니다.
 
%~nI
 파일 이름 전용으로 %I을 확장합니다.
 
%~xI
 파일 확장명 전용 %I을 확장합니다.
 
%~sI
 짧은 이름만 포함하도록 경로를 확장합니다.
 
%~aI
 파일의 파일 특성으로 %I을 확장합니다.
 
%~tI
 파일의 날짜/시간으로 %I을 확장합니다.
 
%~zI
 파일 크기로 %I을 확장합니다.
 
%~$PATH:I
 PATH 환경 변수 목록에 나열된 디렉터리를 검색하고 처음으로 찾은 디렉터리의 전체 이름으로 %I을 확장합니다. 환경 변수 이름이 정의되어 있지 않거나 검색으로 파일을 찾을 수 없으면 이 수정자는 빈 문자열로 확장됩니다.
 

다음 표에서는 복합 결과를 얻는 데 사용할 수 있는 수정자 조합 목록을 보여 줍니다.
 
조합 수정자가 있는 변수 설명
%~dpI
 드라이브 문자 및 경로 전용으로 %I을 확장합니다.
 
%~nxI
 파일 이름 및 확장명 전용으로 %I을 확장합니다.
 
%~fsI
 이름이 짧은 전체 경로 이름 전용으로 %I을 확장합니다.
 
%~dp$PATH:I
 %I에서 PATH 환경 변수의 디렉터리 목록에 나열된 디렉터리를 검색하고 처음으로 찾은 드라이브 문자와 경로로 확장합니다.
 
%~ftzaI
 dir과 같은 출력 줄로 %I을 확장합니다.
 

위의 예제에서 %I과 PATH는 다른 유효한 값으로 바꿀 수 있습니다. 유효한 for 변수 이름은 %~ syntax를 종료합니다.
%I 같은 대문자 변수 이름을 사용하면 코드를 더 읽기 쉽게 만들고 대/소문자를 구분하지 않는 수정자와 혼동을 피할 수 있습니다.
 
 
• 문자열 구문 분석
괄호 사이에 있는 FileNameSet에 작은따옴표('FileNameSet')를 사용하면 직접 문자열에서 for /F 구문 분석 로직을 사용할 수 있습니다. FileNameSet은 파일에서 한 줄의 입력으로 처리된 다음 구문 분석됩니다.
 
• 출력 구문 분석
for /F 명령을 사용하면 괄호 사이의 FileNameSet에 억음 악센트 기호를 사용하여 명령 출력을 구문 분석할 수 있습니다. 이것은 하위 Cmd.exe로 전달되는 명령줄로 처리되고 출력은 메모리에 캡처되어 파일처럼 구문 분석됩니다.
 

배치 파일에서 for 명령을 사용하려면 다음 구문을 사용합니다.
for %%Variable in (Set) do Command [CommandLineOptions]
대체할 수 있는 변수 %f를 사용하여 현재 디렉터리에 확장명이 .doc나 .txt인 모든 파일의 내용을 표시하려면 다음과 같이 입력합니다.
for %f in (*.doc *.txt) do type %f
위의 예제에서 확장명이 .doc나 .txt인 현재 디렉터리의 각 파일은 모든 파일의 내용이 표시될 때까지 %f 변수로 대체됩니다. 배치 파일에 이 명령을 사용하려면 표시된 %f를 모두 %%f로 바꿉니다. 그렇지 않으면 변수가 무시되고 오류 메시지가 표시됩니다.
주석 처리된 줄을 무시하고 파일을 구문 분석하려면 다음과 같이 입력합니다.
for /F "eol=; tokens=2,3* delims=," %i in (myfile.txt) do @echo %i %j %k
이 명령은 Myfile.txt 파일에서 세미콜론으로 시작하는 줄은 무시하고 각 줄을 구문 분석하여 각 줄에서 두 번째와 세 번째 토큰을 FOR 본문으로 전달합니다. 이때 토큰은 쉼표나 공백으로 구분됩니다. FOR 문의 본문은 %i를 참조하여 두 번째 토큰을 얻고, %j를 참조하여 세 번째 토큰을 얻으며, %k를 참조하여 세 번째 이후의 나머지 토큰을 모두 얻습니다. 제공한 파일 이름에 공백이 있으면 해당 텍스트에 따옴표로 묶습니다(예: "File Name"). 따옴표를 사용하려면 usebackq를 사용해야 합니다. 그렇지 않으면 따옴표는 구문 분석할 리터럴 문자열로 해석됩니다.
%i는 FOR 문에 명시적으로 선언됩니다. %j와 %k는 tokens=를 사용하여 암시적으로 선언됩니다. 문자 'z'나 'Z'보다 큰 변수를 선언하지 않는다는 조건으로 tokens=를 사용하면 토큰을 최대 26개까지 정의할 수 있습니다.
괄호 사이에 FileNameSet를 넣어 명령 출력을 구문 분석하려면 다음과 같이 입력합니다.
for /F "usebackq delims==" %i IN ('set') DO @echo %i
이 예제는 현재 환경의 환경 변수 이름을 열거합니다.

네트워크 명령어를 알아보자

1.ping
2.ipconfig
3.nslookup
4.route
5.tracert
6.pathping
7.arp
8.netstat
9.nbtstat
10.hostname
11.ftp
12.telnet
13.tftp
14.getmac
15.ipxroute
16.netsh
17.proxycfg
 
 
 
1. ping
Packet Internet Groper의 약자로서, ip기반 유틸리티이고 icmp프로토콜을 이용합니다. ping에서 보내는 icmp패킷의 data영역은 소문자 abcdefghijklmnopqrstuvw를 반복해서 보냅니다. 핑의 경우, 상대 호스트에 icmp_reply가 열려 있어야 응답이 옵니다. 요즘은 보안상의 이유로 icmp_reply를 막아 놓은 경우가 많습니다.
 
예1) 아래의 경우, icmp_reply가 막혀 있어서 응답이 없습니다.
c:\>ping naver.com
 
예2) 아래의 경우엔 열려있어서 응답이 옵니다.
c:\>ping kr.yahoo.com
 
옵션을 예제로 보여드리겠습니다. 옵션 설명문은 ping /?로 알 수 있습니다.
 
예3)사용자가 ctrl-c로 멈추기 전 까지 무한정 핑을 날립니다.
c:\>ping -t kr.yahoo.com
 
예4)ip주소를 호스트이름으로 바꿔서 핑 날립니다. reverse dns가 설정되어 있는 ip만 가능합니다.
c:\>ping -a 211.115.101.150 (home.vip.krs.yahoo.com의 ip)
 
예5)핑을 10개만 날립니다.
c:\>ping -n 10 kr.yahoo.com
 
예6)보내는 버퍼 사이즈를 정합니다. 최대값은 65500입니다.
c:\>ping -l 2800 kr.yahoo.com
c:\>ping -l 65500 127.0.0.1
최대값은 주로 1hop 거리인 gateway나 루프백 테스트에서만 되는거 같습니다. 호스트마다 받아들이는 최대값이 다르게 되어있어서 그런 것이라 생각하고 있습니다.
 
-l옵션은 외부로 나가는 망이 로드밸런싱 구성이 되어 있을 때, mtu보다 큰 사이즈 (예:2800)를 보내서 정상적으로 되나 테스트 하는 용도로 많이 쓰입니다.
 
예7)보내는 패킷을 분할하지 않습니다. -l옵션과 함께 많이 쓰이는데, 보통 mtu는 1500이므로 icmp헤더 8바이트, ip헤더 20바이트를 뺀 1472이 최대값이 됩니다.
c:\>ping -l 1472 -f 127.0.0.1
 
예8)보내는 패킷의 ttl값을 변경합니다. 예제에서는 hop이 10개 이하인 경로에 대해서만 응답이 올 겁니다.
c:\>ping -i 10 ping.test.com
 
예 9)TOS값을 정합니다. ip헤더에서 tos는 4비트만 할당되어 있는데, ping 에러메세지에서는 0~255의 값을 넣으라고 하네요. +_+ 0000,1000,0100,0001등 많이 쓰이는 값을 넣고 이더리얼로 돌려봐도 특별한 변화가 없습니다. 아직 뭔지 모르겠다는 뜻입니다. ^^
c:\>ping -v 1 ping.test.com
 
예10)traceroute처럼 경로를 보여줍니다. 1부터 9까지.
c:\>ping -r 9 ping.test.com
 
예11)경로별 응답온 시간을 보여줍니다. 1부터 4까지.
c:\>ping -s 4 ping.test.com
 
예12)응답이 없을 경우, 다음 시간(밀리초)까지만 기다리고 재시도합니다.
c:\>ping -w 100 null.test.com
 
예13)각 옵션은 짬봉해서 쓸 수 있습니다. 사실 -t옵션과 -l옵션이 제일 많이 쓰이죠. ^^
c:\>ping -t -l 2500 -s 4 test.com
 
 
 
 
 
2.ipconfig
unix계열의 ifconfig와는 달리 그냥 보여주는 기능밖에 못 합니다. dns와 dhcp에 관련된 조작만 조금 할 수 있구요. ㅎㅎ
 
예1)nic별로 nic이름, ip, netmask, gateway정보를 보여줍니다.
c:\>ipconfig
 
예2)wins서버, dns서버, mac주소등 몇 가지 정보를 더 보여줍니다.
c:\>ipconfig /all
 
예3)dhcp 설정일 때, dhcp서버에게 ip 임대 기간을 갱신요청 합니다. 어댑터 미지
정시, 모든 어댑터가 대상합니다.
c:\>ipconfig /release
 
예4)dhcp 설정일 때, dhcp서버에게 ip반납 후 새롭게 요청합니다. 어댑터 미지정시, 모든 어댑터가 대상합니다.
c:\>ipconfig /renew
 
예5)dns캐시 목록을 보여줍니다.
c:\>ipconfig/displaydns
 
예6)dns캐시 목록을 지웁니다. 주로 dns관련 문제로 dns서버를 바꿨을 때, 이 명령 후 테스트합니다.
c:\>ipconfig /flushdns
 
예7)ip주소를 갱신하고 ddns에 레코드를 등록합니다.
c:\>ipconfig /registerdns
dhcp갱신은 ipconfig말고도 시작->제어판->네트워크연결->nic우클릭->사용 안 함->사용. 이런 식으로 갱신해도 됩니다.
 
 
 
 
3.nslookup
name server lookup의 약자이고, dns질의를 해 보는 udp53포트 기반 유틸리티입니다. 네트워크 문제의 상당수가 dns관련 문제이니까 dns서버 동작원리에 대해서 알아두면 많은 도움이 됩니다.
 
예1)도메인에 대한 ip를 질의합니다.
c:\>nslookup www.test.com
 
예2)ip에 대한 reverse도메인 질의를 합니다.
c:\>nslookup 192.168.0.1
 
예3)옵션을 줘서 질의합니다.
c:\>nslookup
>www.test.com
server: 168.126.63.1
address:168.126.63.1
name:www.test.com
address:192.168.0.1
>192.168.0.1
server: 168.126.63.1
address:168.126.63.1
name:www.test.com
address:192.168.0.1
>server 10.0.0.1 (기본 질의 서버를 바꿉니다)
Default Server: ns.test.com
address: 10.0.0.1
>set all
(현재 설정되어 있는 기본 질의 옵션들을 보여줍니다)
>set type=any(기본 질의 타잎을 A(호스트)에서 ANY(도메인에 해당하는 모든 정보)
로 바꿉니다)
>test.com
test.com   internet address=192.168.0.1 (루트도메인 정보입니다)
test.com   MX preference = 10, mail exchanger = mail.test.com (메일서버가 이
중화되어 있을 경우, 여러 개의 값이 나옵니다.
test.com   nameserver = ns1.test.com (1차 네임서버)
test.com   nameserver = ns2.test.com (2차 네임서버)
test.com
      primary name server = ns1.test.com
      responsible mail addr = root.test.com
      serial = 2007010101 (임의의 숫자.보통 도메인 존 수정한 날짜로 합니다. yyyymmddhh)
      refresh = 28800 (초단위.갱신주기)
      retry = 14400 (초단위.갱신 실패시 재시도 주기)
      expire = 360000 (초단위.갱신 실패시 만료일)
      default TTL = 0
test.com   text =
      "v=spf1 ip4:192.168.0.10 -all" (화이트 도메인 관련 정보입니다. 메일서버 정책에 따르겠다는 설정)
test.com   nameserver = ns1.test.com
test.com   nameserver = ns2.test.com
mail.test.com internet address=192.168.0.10
ns1.test.com internet address=192.168.0.1
ns2.test.com internet address=192.168.0.2
>set type=mx (메일서버 질의)
>test.com
test.com   MX preference = 10, mail exchanger = mail.test.com
test.com   nameserver = ns1.test.com
test.com   nameserver = ns2.test.com
mail.test.com internet address=192.168.0.10
ns1.test.com internet address=192.168.0.1
ns2.test.com internet address=192.168.0.2
>set type=A (기본값. 호스트 질의)
>test.com
server: ns1.test.com
address:192.168.0.1
name:www.test.com
address:192.168.0.1
>?
가능한 옵션들이 다 나옵니다.
 
 
 
 
4.route
현재 호스트의 라우팅 보여주기 및 경로 재설정하는 유틸입니다. 라우팅이라고 하면 의아해 하시겠지만 ip프로토콜이 탑재된 호스트는 기본적으로 라우팅 기능을 할 수 있습니다.
 
예1)현재 라우팅 목록을 보여줍니다.
c:\>route print
 
예2)192로 시작하는 목록, 100이 포함되어 있는 목록을 보여줍니다.
c:\>route print 192*
c:\>route print *100*
 
예3)10.0.0.0/16을 목록에 추가합니다.
c:\>route add 10.0.0.0 mask 255.255.0.0 192.168.0.1 metric 10
 
예4)10.0.0.0/16의 메트릭을 변경합니다.
c:\>route change 10.0.0.0 mask 255.255.0.0 192.168.0.1 metric 20
(메트릭 변경은 윈도 네트워크정보의 tcp/ip설정 고급란에서도 가능합니다)
 
예5)기본 경로를 목록에 추가합니다.
c:\>route add 0.0.0.0 mask 0.0.0.0 192.168.0.1
(메트릭을 지정하지 않으면 기본메트릭20이 적용됩니다)
(기본 경로가 2개일 경우 기본 게이트웨이 산정은 메트릭에 의존하고, 메트릭이 동
일할 경우 랜덤하게 결정됩니다^^)
 
예6)추가된 목록 10.0.0.0/16을 지웁니다.
c:\>route delete 10.0.0.0 mask 255.255.0.0 192.168.0.1 metric 20
 
예7)추가된 라우팅 정보와 기본경로를 지웁니다. 라우터가 아니라 호스트일 경우,
이 명령어 후에는 반드시 기본 경로를 지정해줘야 합니다.
c:\>route -f
 
예8)추가 라우팅 목록이 재부팅 후에도 남아있도록 합니다.
c:\>route -p add 10.0.0.0 mask 255.255.0.0 192.168.0.1 metric 10
 
 
 
5.tracert
상대방 호스트까지 가는 경로를 보여줍니다. icmp를 쓰므로, 역시 ip기반 유틸리티입니다.
원 리는 ttl(time to live)값을 1에서부터 1씩 늘려가면서 목적지에게 icmp type 8 echo request를 보내서 라우터마다 ttl값이 만료됐다는 메시지를 받음으로써, 각 hop마다의 라우터를 확인할 수 있습니다. 가끔 라우터-라우터 구간의 사설ip로도 응답이 오는 것도 이 때문입니다.
 
이것도 역시 보안상의 이유로 icmp type 0 echo reply나 icmp type 11 ttl exceeded를 비활성화 해 놓은 구간에서는 응답이 없어서 그 구간은 * 혹은 request time out으로 표시됩니다.
 
예1)www.test.com까지의 경로 확인
c:\>tracert www.test.com
 
예2)주소를 호스트이름으로 바꾸지 않는 옵션입니다. 처리속도가 엄청나게 늘어나므로 꼭 사용해주세요. ^^
c:\>tracert -d 192.168.0.1
 
예3)최대 홉 수를 10으로, 각 구간의 응답대기 시간을 500ms로 설정합니다.
c:\>tracert -h 10 -w 500 192.168.0.1
 
 
6.pathping
traceroute와 ping의 짬봉+통계치입니다. ^^ icmp를 쓰므로, 역시 ip기반 유틸리티입니다.
 
예1)이름변환 없이 진행합니다. (tracert의 -d옵션과 같음)
c:\>pathping -n 192.168.0.1
 
예2)최대 홉 수를 10으로, 각 구간의 응답대기 시간을 500ms로 설정합니다.
c:\>pathping -h 10 -w 500 192.168.0.1
 
예3)각 ping사이의 대기시간을 100ms로, 보내는 패킷의 source ip를 192.168.0.10으로 합니다
c:\>pathping -p 100 -i 192.168.0.10 192.168.0.1
 
예4)각 구간 사이의 layer-2 priority tag를 검사합니다. (802.1p QoS on the mac level)
c:\>pathping -t 192.168.0.1
 
 
 
7.arp
arp 캐시 테이블을 보여주고, 조정하는 유틸입니다.
 
예1)현재의 arp 캐시 테이블을 보여줍니다. 기본 저장기간은 5분이니까, 보여지는 목록은 5분동안의 통신된 내역입니다.
c:\>arp -a
 
예2)특정 호스트의 arp 테이블을 지우거나 전부 지웁니다.
c:\>arp -d 192.168.0.100
c:\>arp -d 192.168.*
c:\>arp -d 192.168.0.1*
c:\>arp -d *
 
예3)수동으로 arp 테이블에 호스트를 올립니다.
c:\>arp -s 192.168.0.200 aa-bb-cc-dd-ee-ff
 
 
 
8.netstat
소켓 인터페이스를 통해 연결되어진 내용을 보여줍니다. 아주 중요한 명령어 중에 하나죠.
 
예1) 주소 및 포트번호를 이름변환 없이 숫자로 보여주면서 모든 연결 및 대기 포트를 표시합니다. 제일 많이 쓰이죠. ^^
c:\>netstat -na
 
예2) 이더넷 통계를 보여줍니다. 물리계층 에러도 확인할 수 있어서 좋습니다
c:\>netstat -e
 
예3) 사용되는 프로토콜별로 통계를 보여줍니다. 보통 tcp,ip,udp,icmp를 보여줍니다.
c:\>netstat -s
 
예4) 연결을 만드는데 주관한 프로세스의 실행 프로그램을 모두 보여줍니다.
c:\>netstat -ba
예5) 모든 연결 중에 특정 프로토콜만 보여줍니다.
c:\>netstat -a -p TCP
c:\>netstat -a -p UDP
 
예6) route print와 같은 결과물을 보여줍니다.
c:\>netstat -r
 
 
 
9.nbtstat
NetBIOS인터페이스와 관련된 정보를 보여줍니다.
 
예1)Netbios 이름으로 ip와 mac정보등을 보여줍니다.
c:\>nbtstat -a 테스트서버
 
예2)ip주소로 NetBIOS이름, mac정보등을 보여줍니다.
c:\>nbtstat -A 192.168.0.1
 
예3)현재 시스템의 NetBIOS 이름 캐시와 해당IP를 보여줍니다.
c:\>nbtstat -c
 
예4)현재 시스템의 NetBIOS 이름들을 보여줍니다.
c:\>nbtstat -n
 
예5)arp -d *처럼 모든 넷바이오스 이름 캐시를 지웁니다.
c:\>nbtstat -R
 
예6)네트워크를 통한 이름처리 통계를 보여줍니다. 여기서 나오는 Name Server는 WINS서버를 뜻합니다.
c:\>nbtstat -r
 
 
 
 
10.hostname
현재 시스템의 호스트 이름을 보여줍니다. 리눅스에서는 호스트 이름도 바꾸는 기능이 있지만, 윈도에선 걍 보여주기만 합니다. ^^
예)주로 키보드 만지다가 마우스 잡기 귀찮을 때 쓰는 명령어입니다. ㅋㅋ
c:\>hostname
 
 
11.ftp
어떠한 이유에 의해서 윈도우 유틸리티를 사용 못 할 때가 있습니다. 그런 때를 대비해서 텍스트 모드의 사용법도 알아두면 요긴하게 사용됩니다. tcp20,21 포트 기반 유틸리티입니다.
 
c:\>ftp
ftp>open 192.168.0.1 (해당 호스트로 접속합니다. 불행히도 21번 포트를 제외한 다른 포트 지정은 안됩니다)
user: anonymous (익명연결의 경우)
password: 패스워드 혹은 익명일 경우 아무 문자나.
ftp>ls 혹은 dir (원격지 디렉토리 목록을 보여줍니다)
ftp>cd temp (원격지의 하위 디렉토리로 이동합니다)
ftp>get test.exe (파일을 다운로드합니다)
ftp>lcd \data (로컬 시스템의 경로를 바꿉니다)
ftp>put upload.exe (파일을 업로드합니다)
ftp>mget test1.exe test2.exe test3.exe (파일을 여러 개 다운합니다)
ftp>mput upload1.exe upload2.exe (파일을 여러 개 업로드합니다)
ftp>ascii (파일 전송 기본 모드를 ascii로 바꿉니다)
ftp>binary (파일 전송 기본 모드를 binary로 바꿉니다)
~윈도는 기본이 binary이고, 리눅스는 기본이 ascii입니다. 참고하세요~
ftp>bye (접속종료)
 
 
 
12.telnet
핑과 더불어 네트워크 엔지니어들이 제일 많이 쓰는 유틸리티라 잘 아시겠죠. ^^ 보통은 tcp25포트 기반입니다.
예1)해당 호스트에 포트 50으로 접속
c:\>telnet 192.168.0.1 50
 
예2)웹브라우저 접속을 못 하는 상황에서 해당ip의 정보 조회를 할 때
c:\>telnet ipwhois.nic.or.kr 43
엔 터후에 화면이 clear되는데, 조회하고자 하는 ip를 입력 후 엔터치면 해당 ip에 대한 정보가 화면에 나오고 텔넷접속은 종료됩니다. 웹페이지에 보여지는 내용 기준으로 <br>되기 때문에 텔넷 윈도우를 크게 키운 후 사용하시면 좋습니다.
 
13.tftp
시시한(?) ftp입니다. ^^ udp 67 기반입니다.
 
예1)해당 호스트의 test.exe파일을 binary형식으로 다운로드
c:\>tftp -i 192.168.0.1 GET test.exe
 
예2)현재 시스템의 test.exe파일을 binary형식으로 원격지에 test10.exe으로 업로드.
c:\>tftp -i 192.168.0.1 PUT test.exe test10.exe
 
 
14.getmac
rpc프로토콜을 이용하여 원격지에 있는 호스트의 mac주소를 얻어내는 명령어입니다. 해당 호스트의 계정정보가 필요합니다.
출력 결과는 mac주소와 nic의 디바이스 정보가 나오고, tcp135와 tcp2041으로 통신합니다.
 
예) 원격지 호스트가 test.com(ip나 netbios이름으로 해도 됨) 이고, id:test pw:testpw이라면,
c:\>getmac /S test.com /U test /P testpw
c:\>getmac /S 192.168.10.1 /U test /P testpw
 
 
15.ipxroute
제 pc에 ipx프로토콜도 없구, ipx쪽은 잘 모르는데 이런 명령어가 있길래 그냥 적어만 봤습니다. ^^
 
 
16.netsh
네트워크 관련 설정 등을 해 주는 유틸리티입니다. 윈2003의 RRAS와 연계된 많은 기능들이 있지만, 일반적으로는 노트북 사용자처럼 ip주소를 여러 번 변경하는 상황에 응용해서 많이 쓰입니다.
 
예1) 아래와 같이 만들고 static1.bat만 실행해주면 ip가 바뀝니다.
c:\>copy con static1.bat
netsh interface ip set address "로컬 영역 연결" static 192.168.0.10 255.255.255.0 192.168.0.1
netsh interface ip set dns name="로컬 영역 연결" source=static 168.126.63.1 register=PRIMARY
^Z
예2) 아래와 같이 만들고 dhcp.bat만 실행해주면 dhcp로 바뀝니다.
c:\>copy con dhcp.bat
netsh interface ip set address "로컬 영역 연결" source=dhcp
netsh interface ip set dns name="로컬 영역 연결" source=dhcp
^Z
 
예3)도움말 윈도 창이 뜨면서 gui환경으로 기본적인 네트워크 자가진단을 하고 결과를 알려줍니다.
c:\>netsh diag gui
 
 
17.proxycfg
웹 브라우저의 프록시 설정을 바꿔줍니다. 웹 브라우저에서 프록시 서버가 사용 가능으로 체크되어 있어야 동작합니다.
 
예1) 프록시 서버가 proxy.test.com. ip는 192.168.100.1이라면,
c:\>proxycfg -p proxy.test.com
c:\>proxycfg -p 192.168.100.1
 
예2) 웹 브라우저의 프록시 설정값대로 바꿔줍니다.
c:\>proxycfg -u


출처 : http://cafe.naver.com/neteg

XP NTLDR IS MISSING 에러를 복구 하자

출처 : 윈도우포럼

windows 7 단축키를 알아보자...

[창 관리 / 일반 단축키]

Win + ↑ 사용중인 창을 최대화
Win + ↓ 사용중인 창을 이전 크기 또는 최소화
Win + ← 사용중인 창을 스크린 왼쪽 사이드로 최대화
Win + → 사용중인 창을 스크린 오른쪽 사이드로 최대화
Win + Home 사용중인 창만 남기고 모든 창을 최소화
Win + Space 모든 창을 투명화 시켜 바탕화면을 볼 수 있음 (에어로 피크 기능)
Win + Pause/Break 시스템 속성 대화상자 표시  
Win + Tab 플립 3D (Win 키를 누른 채로 계속 탭을 눌러 창 전환)  
Win + Shift + Tab 플립 3D 역방향으로 회전
Ctrl + Win + Tab 플립 3D 고정 모드로 실행 (Esc 키로 취소)
Win + D 바탕화면 보기 / 복구
Win + E 탐색기 열기
Win + F 검색  
Win + G 가젯을 차례로 선택  
Win + M 모든 창 최소화  
Win + Shift + M 최소화 된 창 복원  
Win + P 프리젠테이션 디스플레이 모드 선택  
Win + R 실행 대화 상자 열기
Win + X 윈도우 모바일 센터 실행  
Win + = 돋보기  
Win + [+/-] 돋보기 확대/축소  
Win + Shift + ↑ 사용중인 창을 수직으로 최대화  
Win + Shift + ↓ 사용중인 창을 이전 세로 크기로 복구  
Win + Shift + ← 사용중인 창을 이전 모니터로 이동  
Win + Shift + → 사용중인 창을 다음 모니터로 이동  
Ctrl + Shift + Esc 작업 관리자 실행  
Alt + F4 사용중인 창 닫기  
Ctrl + F4 동시에 여러 문서를 열 수 있는 프로그램에서 활성 문서 닫기  
Alt + Tab 활성 프로그램 전환 (Alt 키를 누른 채로 계속 탭을 눌러 창 전환)  
Alt + Shift + Tab 활성 프로그램 역방향으로 전환  
Ctrl + Alt + Tab 활성 프로그램 전환을 고정 모드로 실행  
Alt + Esc 프로그램을 열린 순서대로 선택  
Ctrl + Esc 또는 Win 시작 메뉴 열기  

[탐색기 단축키]
Alt + ← 뒤로 이동  
Alt + → 앞으로 이동
Alt + ↑ 상위 디렉토리로 이동  
Alt + Enter 선택한 파일/폴더의 속성 대화상자 열기  
Alt + D 주소표시줄로 포커스 이동  
Alt + P 미리 보기 창 보이기 / 감추기
Ctrl + E 또는 F3 검색 상자 선택
Ctrl + N 새 창 열기
Ctrl + Shift + N 새 폴더 만들기
Ctrl + 마우스휠 보기 모드를 아주 큰 아이콘, 큰 아이콘, 보통 아이콘, 작은 아이콘, 간단히, 자세히, 나란히 보기, 내용 순으로 변경
Num Lock + * 선택한 폴더의 모든 하위 폴더를 표시
Num Lock + + 선택한 폴더의 내용 표시
Num Lock + - 선택한 폴더 축소
F2 이름 바꾸기
F4 주소표시줄 목록 표시
F5 새로 고침
F10 메뉴 도구 표시
F11 창 최대화 또는 복구


[작업표시줄 단축키]

Win + 숫자 작업표시줄에 고정된 프로그램을 활성화 또는 구동시킴 (왼쪽부터 순서대로 1,2,3..)  
Win + Alt + 숫자 작업표시줄에 고정된 프로그램의 점프리스트를 열어줌 (왼쪽부터 순서대로 1,2,3..)  
Win + Ctrl + 숫자 작업표시줄에 고정된 프로그램의 열린 창을 순서대로 보여줌 (IE 또는 워드처럼 복수의 창이 실행되는 프로그램에 적용되고 왼쪽부터 순서대로 1,2,3..)
Win + Shift + 숫자 작업표시줄에 고정된 프로그램의 새 창(인스턴스) 열기 (왼쪽부터 순서대로 1,2,3..)
Win + B 포커스를 작업표시줄 오른쪽의 시스템 알림 영역으로 이동 (이후 화살표키로 이동)
Win + T 작업표시줄의 프로그램 썸네일을 순서대로 볼 수 있음 (이후 화살표키로 이동)
Ctrl + 아이콘 클릭 작업표시줄에 고정된 프로그램의 열린 창을 순서대로 보여줌 (IE 또는 워드처럼 복수의 창이 실행되는 프로그램에 적용)
Shift + 아이콘 클릭 클릭한 프로그램의 새 창(인스턴스) 열기
아이콘 미들 클릭 클릭한 프로그램의 새 창(인스턴스) 열기
Ctrl + Shift + 아이콘 클릭 관리자 권한으로 클릭한 프로그램의 새 창(인스턴스) 열기


[윈도우 7 로그인 / 로그 아웃]

Win + → + Enter 시스템 종료
Win + → + → + R 시스템 다시 시작
Win + → + → + S 시스템 절전
Win + → + → + W 시스템 사용자 전환
Win + → + → + L 시스템 로그오프
Win + L 시스템 잠금
(시스템 잠금 단축키 외에는 모두 키보드의 키를 순서대로 눌러서 실행)

vb에서 excel 직접 다루자

회사에서 일하다 보니
직원들이 다 엑셀을 쓴다...

학교 다닐때는 한글을 주로 썼지만
회사 다니니 한글이 아니라 엑셀만 쓴다

관공서 외에는 한글 쓰는데가 1%도 없는거 같다...

라이브러리에 excel 추가 해서 사용하자..

자세한 사항은
첨부로....^^




추가 사항 (ADO로 엑셀 다루기)

펼쳐두기..



api로 mdi 창에서 최대.최소화 버튼 없애보자


[code vb]
Option Explicit
 
Private Const GWL_STYLE = (-16)
Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_SYSMENU = &H80000
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
 
 
Private Const SC_MAXIMIZE = &HF030&
Private Const SC_MINIMIZE = &HF020&
Private Const SC_SIZE = &HF000&
Private Const MF_BYCOMMAND = &H0&
Private Declare Function DeleteMenu Lib "user32" (ByVal HMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
 
 
Private Sub MDIForm_Load()
 
    Dim rtnLong As Long
    Dim HMenu As Long
    rtnLong = GetWindowLong(Me.hWnd, GWL_STYLE)
    rtnLong = rtnLong And Not WS_MAXIMIZEBOX
    rtnLong = rtnLong And Not WS_MINIMIZEBOX
    rtnLong = rtnLong And Not WS_SYSMENU           '아이콘도 사라집니다'
    SetWindowLong Me.hWnd, GWL_STYLE, rtnLong
  
    HMenu = GetSystemMenu(Me.hWnd, 0)
    DeleteMenu HMenu, SC_MAXIMIZE, MF_BYCOMMAND
    DeleteMenu HMenu, SC_MINIMIZE, MF_BYCOMMAND
    DeleteMenu HMenu, SC_SIZE, MF_BYCOMMAND
 
    DrawMenuBar Me.hWnd
End Sub
[/code]

홈페이지 이전

그동안 운영하던 개인 홈페이지를 이전 하려 한다...

회사에 몰래 사양이 않좋던 pc로 운영했으나 역시나
관리가 힘들다.
도메인 비용두 매년 아깝고...

결국 블로그로 이전!!!!

블로그가 첨인데 잘되려나 모르겠다...
머 그래도 시작해 볼까 한다..

언제 완료 될지는 알수 없다.
하나 하나 옮겨봐야겠다.