1. 개요

MS office의 아웃룩을 사용하다 보면 가끔 아웃룩이 Splash 이미지에서 처리 중... 의 메세지를 띄운 상태에서 더 이상 진행되지 않는 경우가 생기기도 한다.

이럴 땐 아웃룩을 안전모드 로 실행했다 정상 종료한 후, 다시 실행해 보면 오류가 해결 되는 경우가 있으니 그 방법은 다음과 같다.

2. 조치방법

1. Win + R 키를 눌러 실행 창을 띄운다.

2. 열기 창에 outlook.exe /safe 라고 입력하고 확인 버튼을 클릭한다.

 

3. 자신이 사용하고 있는 프로필을 선택한 후 확인 버튼을 클릭한다.

 

4. 아웃룩이 실행되면 [파일 - 끝내기] 버튼을 클릭하여 정상 종료 한다.

출처: https://ittravelkr.tistory.com/34 [성야넷™]

find (절대경로) -name "*" -exec perl -pi -e 's/찾을 문자열/바꿀 문자열/g' {} \; 
% find ./ -name "*" -exec perl -pi -e 's/s6m/s6tmpl/g' {} \;
Can't do inplace edit: ./ is not a regular file. 

메세지는 안 좋게 뜨지만 다  변경되어 있음

'dev > Linux' 카테고리의 다른 글

알아두면 유용한 워드 단축키  (0) 2015.05.01
tar 명령어 모음  (0) 2014.08.01
linux 시스템 정보  (0) 2012.05.14
[Linux] sub directory 별로 압축할 때  (0) 2012.02.17
비슷한 기능의 Linux/DOS 명령어<펌글>  (0) 2012.01.10

알아두면 유용한 워드 단축키

  • AhnLab
  • 2015-04-21

복사하기(Ctrl + C), 저장하기(Alt + S), 오려두기(Ctrl + X), 실행취소(Ctrl + Z) 등 단축키 몇 개 정도 외워두는 것이 기본인 요즘. 윈도 단축키도 유용하지만 워드에서 문서 작업을 할 때 사용하는 단축키는 문서 편집을 보다 편리하게 할 수 있다. 여기에 몇 개의 단축키를 더 알아둔다면 그 매력에 푹 빠질지도 모른다. 문서 작성 시 요긴하게 사용할 수 있는 워드 단축키 몇 가지를 소개한다. 

 


새 문서 작업 할 때 : Ctrl + N
워드로 문서 작업 중 새로운 문서 작업을 하거나 새로운 창을 띄워야 할 때가 있다. 이 때 마우스를 사용하면 여러 번의 클릭이 필요하지만 단축키는 한 번이면 된다. Ctrl + N을 눌러주면 곧바로 새 문서가 열린다. N을 ‘New’라고 생각하면 금방 외울 수 있을 것이다.

 

문서를 불러 올 때 : Ctrl + O
이미 저장돼 있는 문서를 불러올 때 Ctrl + O를 누르면 마우스 클릭보다 훨씬 빠르다. 파일을 클릭하고 열기를 누르기까지의 과정이 단축키 하나면 한번으로 줄어든다. 

 

텍스트 정렬하기 
문서를 작업하기 전에 문서의 전체적인 틀을 맞추고 텍스트를 정렬하기도 한다. 문서 전체를 양쪽 맞춤 하려면 Ctrl + J, 제목을 가운데로 맞추려면 Ctrl + E, 텍스트를 왼쪽으로 맞추려면 Ctrl + L, 오른쪽으로 맞추려면 Ctrl + R을 사용하자.
 
글꼴 변경 : Ctrl + Shift + F, 글자 크기 조절 : Ctrl + Shift + P
문서 작업에서 글꼴 변경은 필수. 바꾸려는 글자 부분에 블록을 Shift와 우측의 방향키를 누르고 단축키 Ctrl + Shift + F를 누르면 빠르다. 단축키를 누르면 글자의 크기를 변경할 수 있는 글꼴 상자 창이 한 눈에 들어온다. 한 번에 글꼴, 크기까지 바꾸려면 왼쪽의 탭(Tab)으로 이동을 빠르게 할 수 있다(Ctrl + Shift + P를 눌러도 글꼴 상자 창이 나타난다). 여기에 글꼴 기울이기는 Ctrl + I, 굵기 조절은 Ctrl + B, 밑줄까지 넣고 싶다면 Ctrl + U를 누른다.

 

​​
 

 

글꼴 크기를 자유자재로 조정하기
: 늘일 때 Ctrl + Shift + >, 또는 Ctrl + ], 줄일 때 Ctrl + Shift + <, 또는 Ctrl + [
단축키를 쓰다 보면 글자의 크기나 글꼴을 조절할 때 은근 재미도 쏠쏠하다. 글자의 크기를 늘리려면 Ctrl + Shift + > 또는 Ctrl + ] , 줄이려면 반대로 Ctrl + Shift + < 또는 Ctrl + [를 사용하자. 사용자가 원하는 크기로 조절해주면 된다.

 

영문 대/소문자 바꾸기 : Shift + F3
영문으로 문서 편집 시 간혹 대소문자를 입력할 때 스트레스를 받는다. 그럴 땐 Shift + F3이 유용하다. 앞의 첫 글자만 대문자로 바꾸려면 Shift + F3 한번, 모두 바꾸려면 Shift + F3을 두 번, 소문자로 바꾸려면 Shift + F3을 한번 더 누르면 된다. 대문자를 입력할 때마다 귀찮게 Caps Lock을 켰다, 껐다 할 필요 없고, 대문자를 칠 때마다 왼손으로 힘주어 Shift를 누를 필요가 없어 편리하다. 아예 모두 대문자로 바꾸려면 Ctrl + Shift + A를 한번 누른다. 반대로 소문자에서 모두 대문자로 바꾸려면 Ctrl + Shift + A를 누르면 된다.
 
문서 분할하기 : Ctrl + Alt + S
업무에 따라, 문서 특성에 따라 자주 사용하는 사람이 있을 수도 있고 그렇지 않을 수도 있다. 문서를 분할해서 작성하려는 사람에게 유용한 단축키다. Ctrl + Alt + S를 누르면 마우스로 어딘가에 있을 메뉴를 찾아 헤매지 않아도 된다. 단축키 한 번이면 된다. 워드로 문서 작업을 하다가 메모가 필요할 때 메모장이나 따로 새 창을 열지 않아도 된다. 

 

하이퍼링크 삽입하기 : Ctrl + K
문서 작업 중 웹사이트의 주소를 넣을 일이 있다면 Ctrl + K를 쓰자. 마우스로 메뉴를 찾아야 하는 시간과 번거로움이 해결된다.  
 
선택하여 붙여넣기 :  Ctrl + Alt + V
Ctrl + V가 붙여넣기의 단축키라는 것을 모르는 사람은 별로 없을 것이다. 여기에 Alt를 추가로 누르면 사용자의 기호에 맞게 붙여넣기를 할 수 있다. Ctrl + Alt + V를 누르면 현재 작업 중인 문서의 형식에 얽매이지 않아 편리하다. 

 


 

 

문서를 닫을 때 :  Ctrl + W, 문서 종료 시 : Alt + F4
문서 작업을 완료했거나, 중요 문서 작업 중 자리를 비울 경우에는 일일이 마우스로 문서를 닫을 필요 없이 Ctrl + W를 눌러주자. 문서 창을 닫을 때는 반드시 Ctrl + S를 눌러 저장하자. 무심코 닫았다가는 공들여 작업한 문서를 다시 작업해야 하는 수고가 따른다.  워드 문서 작업을 마치고 종료할 때는 Alt + F4를 사용하자. 마우스로 손을 왔다 갔다 하기 전에 이 키만 누르면 퇴근할 때는 더 유용할 것이다.
 
단축키 중에는 한글과컴퓨터의 한글  Microsoft 워드(메모장), Microsoft 파워포인트에서 공통으로 사용할 수 있는 것도 있다. 잘라내기(Ctrl + X), 복사하기(Ctrl + V), 저장하기(한글과컴퓨터의 한글은 Alt + S, Ctrl + S) 모두 사용)), 실행취소(Ctrl + Z), 문서 종료(Alt + F4)는 유용하게 사용할 수 있다. @

  • AhnLab 로고

이 정보에 대한 저작권은 AhnLab에 있으며 무단 사용 및 도용을 금합니다.

단, 개인이 비상업적인 목적으로 일부 내용을 사용하는 것은 허용하고 있으나, 이 경우 반드시 출처가 AhnLab임을 밝혀야 합니다.
기업이 이 정보를 사용할 때에는 반드시 AhnLab 의 허가를 받아야 하며, 허가 없이 정보를 이용할 경우 저작권 침해로 간주되어 법적인 제재를 받을 수 있습니다. 자세한 내용은 컨텐츠 이용약관을 참고하시기 바랍니다.

정보 이용 문의 : contents@ahnlab.com

'dev > Linux' 카테고리의 다른 글

파일 내 문자 치환  (0) 2016.07.05
tar 명령어 모음  (0) 2014.08.01
linux 시스템 정보  (0) 2012.05.14
[Linux] sub directory 별로 압축할 때  (0) 2012.02.17
비슷한 기능의 Linux/DOS 명령어<펌글>  (0) 2012.01.10

남성골퍼 평균 비거리 비교표 (단위미터)

분류

클럽번호()

기준라이각

일반아마추어

상급아마추어

프로

Wood

1 (Driver)

10˚

210

220

255

(Spoon)

14˚

190

200

230

5 (Cleek)

21˚

180

190

210

Iron

3 (Mid Mashy)

20˚

170

180

195

4 (Mashy Iron)

23˚

160

170

185

5 (Mashy)

26˚

150

160

175

6 (Spade Mashy)

30˚

140

150

165

7 (Mashy Niblick)

34˚

130

140

155

8 (Pitcher)

38˚

120

130

145

9 (Niblick)

42˚

110

120

135

Wedge

(Pitching Wedge)

46˚

100

110

120

(Gap Wedge)

52˚

80

90

105

(Sand Wedge)

56˚

70

80

90

L (Lob Wedge)

60˚

50

60

70



목차

  1. tar 소개
  2. 미리 알아두면 좋을 것들
    1. 옵션주는 방법
    2.  -f와 -v옵션이 많이 쓰이는가?
    3. 가장 많이 사용되는 작업
  3. 기본 명령어 활용예
    1. 아카이브 풀기
    2. 아카이브 만들기
    3. 아카이브 내용보기
    4. 퍼미션을 유지하며 아카이브 만들기
    5. tar+gzip 압축하기
    6. tar+bzip2 압축하기
    7. gzip으로 압축된 tar 풀기
    8. bzip2로 압축된 tar 풀기
    9. 허가권(Permission) 유지하며 풀기
  4. 백업에 활용하기
    1. 아카이브에 새 파일 추가하기
    2. 아카이브에 파일 업데이트하기
    3. 아카이브에 파일 삭제하기
    4. 아카이브에서 특정 디렉토리 또는 파일만 풀기
    5. 옛버전 파일 풀기
    6. 아카이브에서 파일 비교하기
  5. 기타

모든 하위 디렉토리에 특정 소스만 묶고 싶을 때는?

TAR 명령어의 모든것

1 tar 소개

주요기능은?

아카이브를 만들거나 푼다.

아카이브란?

아카이브는 여러 파일을 한 파일로 묶은 것을 말한다. tar는 아카이브를 압축하지 않는다. 단지 하나의 파일로 묶을 뿐이다. 아카이브의 압축은 gzip이나 bzip2등을 이용한다.

아카이브를 만드는 목적

파일의 백업이나 배포에 편리하게 이용된다.

확장자

아카이브의 확장자는 .tar 이다. 일반적으로 tar로 묶인 아카이브를 gzip으로 압축하여 확장자가 .tar.gz 압축 아카이브를 많이 이용한다.

유래

원래, tar 아카이브는 마그네틱 테이프에 파일을 저장하기 위해 만들어졌다. 그래서 tar는 tape archiver에서 유래한다.

2 미리 알아두면 좋을 것들

2.1 옵션주는 방법

긴 형식 옵션

tar --create --verbose --file=afiles.tar apple angst aspic

짭은 형식 옵션

tar -c -v -f afiles.tar apple angst aspic

또는 붙여서

tar -cvf afiles.tar apple angst aspic

tar 는 반드시 옵션이 필요 해서 옵션에 - 를 붙이지 않아도 된다.

tar cvf afiles.tar apple angst aspic

2.2 왜 -f와 -v옵션이 많이 쓰이는가?

-f --file=

-f 는 아카이브 파일의 이름을 지정해 주는 옵션이다. -f 가 없으면 아카이브의 이름이 없는 샘이다. 따라서, -f 로 아카이브의 이름을 꼭 명시해야 한다. tar는 아카이브 이름이 없으면 디폴트 이름을 취한다. 원래 tar의 목적대로 (디폴트로 엑션) 테입드라이브로 아카이브를 저장하려 들지도 모른다. 요즘은, 컴퓨터에 마그네틱 테입 드라이브가 없으므로 에러가 발생할 것이다.

-v --verbose

-v 옵션이 있으면 아카이브에 추가되거나 풀리고 있는 파일의 이름을 화면에 보여준다. 진행사항을 알 수 있기 때문에 사용하는게 좋다.

"ls -l" 과 같은 형식으로 파일을 보려면 v를 두번 써준다.

tar -cvvf afiles.tar 파일들(디렉토리들)

2.3 가장 많이 사용되는 작업

--create -c 새로운 아카이브를 생성한다.

--list -t 아카이브의 내용(묶인 파일이름)을 보여준다.

--extract -x 아카이브에 묶인 파일이나 디렉토리를 풀어준다.

·  아카이브의 파일 리스트 보기

3 명령어 활용예

3.1 아카이브 풀기

 tar -xvf afiles.tar

afiles.tar 라는 아카이브 파일에 묶인 파일과 디렉토리를 현재 디렉토리에 풀어준다.

3.2 아카이브 만들기

 tar -cvf afiles.tar 묶을파일과디렉토리들

afiles.tar 라는 이름으로 파일과 디렉토리를 묶어준다.

3.3 아카이브 내용보기

 tar -tvf afiles.tar 묶을파일과디렉토리들

afiles.tar 라는 이름으로 묶인 파일과 디렉토리를 보여 준다.

3.4 퍼미션을 유지하며 아카이브 만들기

 tar -cvfp archive.tar 묶을파일과디렉토리들

afiles.tar 라는 이름으로 퍼미션을 유지하며 파일과 디렉토리를 묶어준다.

3.5 tar+gzip 압축하기

tar -czvf afiles.tar.gz 묶을파일과디렉토리들

afiles.tar.gz 라는 이름으로 파일과 디렉토리를 묶어준다.

tar -czvfp afiles.tar.gz 묶을파일과디렉토리들

afiles.tar.gz 라는 이름으로 퍼미션을 유지하며 파일과 디렉토리를 묶어준다.

3.6 tar+bzip2 압축하기

tar -cjvf afiles.tar.bz 묶을파일과디렉토리들

afiles.tar.bz 라는 이름으로 파일과 디렉토리를 묶어준다.

tar -cvjfp afiles.tar.gz 묶을파일과디렉토리들

afiles.tar.gz 라는 이름으로 퍼미션을 유지하며 파일과 디렉토리를 묶어준다.

3.7 gzip으로 압축된 tar 풀기

 tar -xvzf afiles.tar.gz

afiles.tar.gz 라는 tar 로 묶인뒤 gzip 으로 압축된 파일을 먼저 압축을 푼뒤에 묶인 파일까지 풀어준다.

3.8 bzip2로 압축된 tar 풀기

 tar -xvjf afiles.tar.bz

afiles.tar.bz 라는 tar 로 묶인뒤 bzip2로 압축된 파일을 먼저 압축을 푼뒤에 묶인 파일까지 풀어준다.

3.9 허가권(Permission) 유지하며 풀기

 tar -xpf afiles.tar

파일을 묶을 당시의 각 파일의 허가권을 유지하며 풀어준다.

4 백업에 활용하기

4.1 아카이브에 새 파일 추가하기

 tar --append --file=collection.tar rock

또는

 tar -rvf collection.tar rock

collection.tar 라는 기존 아카이브 파일에 rock라는 파일을 추가한다. 옵션은 --append (-r) 이다.

똑같은 이름의 파일이 아카이브에 추가되면 기존의 오래된 파일은 지워지지 않고 아카이브에 남아 있는다.

따라서 같은 이름의 파일을 여러번 추가하면 (append) 추가된 시간별로 여러 버전의 파일이 존재한다. 그러나, 아카이브를 풀때는 가장 최신 파일이 풀린다.

4.2 아카이브에 파일 업데이트하기

 tar -uvf collection.tar blues folk rock classical

collection.tar 라는 기존 아카이브에 blues folk rock classical등 4 개의 파일을 업데이트 한다. 업데이트는 날자와 시간을 기준으로 실행한다. 아카이브에 있는 파일과 업데이트할 파일이 수정된 날자가 같으면 아카이브에 추가하지 않는다.

만약 아카이브에 있는 파일보다 최근에 수정이 되었으면 아카아브에 추가한다. 기존의 오래된 파일은 지워지지 않고 남아 있는다.

따라서, 업데이트를 여러번 하면, 같은 이름의 파일이 수정된 시간별로 여러가지 버전이 존재할 수 있다. 그러나, 아카이브를 풀때는 가장 최신 파일이 풀린다.

아카이브를 풀때 옵션은 --update(-r)이다.

4.3 아카이브에 파일 삭제하기

 tar --delete --file=collection.tar blues

collection.tar 라는 기존 아카이브에서 blues라는 파일을 삭제한다. 주의할 것은 모든 blues파일을 삭제한다는 것이다. 모든 디렉토리내의 blues파일과 여러 버전의 blues가 모두 삭제된다. 다른 옵션과 달리 삭제 옵션인 --delete는 짧은 형식의 옵션이 없다.

3.4 아카이브에서 특정 디렉토리 또는 파일만 풀기

명시된 파일 풀기: collection.tar 라는 아카이브에서 blues라는 파일만 현재 디렉토리에 푼다.

tar --extract --file=collection.tar blues

디렉토리까지 명시: music.tar 에서 practice/folk와 practice/jazz파일만 푼다.

tar -xvf music.tar practice/folk practice/jazz

 

*** 실제 활용 예 ***

tar xzvfp /backup/20050107/20050107.tar.gz /home/ home/yc1500

tar [옵션] [아카이브파일명] [압축을풀어놓을 대상디렉터리] [압축파일내의 특정파일(폴더)]

p 옵션: 허가권 유지 옵션

 

4.5 옛버전 파일 풀기

 tar --extract --file archive.tar --occurrence=2 myfile 

archive.tar 라는 아카이브에서 2번째 버전의 myfile을 푼다.

 tar --extract --file archive.tar --occurrence 

archive.tar 라는 아카이브에서 첫번째 버전의 모든 파일을 푼다.

4.6 아카이브 파일과 실제 파일 비교하기

 tar -d -f archive.tar *.c

archive.tar라는 아카이브에 모든 c파일들과 현재 디렉토리의 c파일을 비교한다. 수정 날자와 내용을 비교하고 내용이나 날자가 다르면 화면에 보여준다.

5 기타

5.1 모든 하위 디렉토리의 특정 소스만 묶고 싶을 때는?

쉘 컴멘드와 조합하여 특정 소스를 찾아서 아카이브에 추가 할 수 있다.

먼저 아카이브를 하나 만든다.

 tar -cvf test.tar prog1.c

for 문과 find 명령을 이용해서 하위 디렉토리의 묶고 싶은 파일을 찾고, tar의 -r 옵션으로 test.tar에 하나씩 추가한다.

 for i in $(find . -name '*.c'); do tar -rvf test.tar $i; done

find 의 다양한 검색능력을 100%활용할 수 있다. 

* 출처 : http://rjh1147.tistory.com/6

'dev > Linux' 카테고리의 다른 글

파일 내 문자 치환  (0) 2016.07.05
알아두면 유용한 워드 단축키  (0) 2015.05.01
linux 시스템 정보  (0) 2012.05.14
[Linux] sub directory 별로 압축할 때  (0) 2012.02.17
비슷한 기능의 Linux/DOS 명령어<펌글>  (0) 2012.01.10

작은일에도 감동할 수 있는 순수함과 큰일에도 두려워하지 않는 대범함을 지니게 하시고

적극적이고 치밀하면서도 다정다감한 사람이 되게 하여 주옵소서.

자기의 실수를 솔직히 시인할 수 있는 용기와

남의 허물을 따뜻이 감싸줄 수 있는 포용력과

고난을 끈기있게 참을 수 있는 인내를 더욱 길러 주옵소서.

직장인 홍역의 날들을 무사히 넘기게 해주시고 

남보다 한 발 앞서감이 영원한 앞서감이 아님을 인식하게 하시고

또한, 한 걸음 뒤처짐이 영원한 뒤처짐이 아님을 알게 하여 주옵소서.

자기 반성을 위한 노력을 게을리하지 않게 하시고 

늘 창의력과 상상력이 풍부한사람이 되게 하시고

매사에 충실하여 무사안일에 빠지지 않게 해주시고

매일 보람과 즐거움으로 충만한 하루를 마감할 수 있게 하여 주옵소서.

그리하여 이 직장을 그만두는 날 또한 생을 마감하는 날에 과거는 전부 아름다웠던 것처럼 

내가 거기서 만나고 헤어지고 혹은 다투고 이야기 나눈 모든 사람들이 살며시 미소짓게 하여 주옵소서.. 

1. callback 

  • 라이브러리 에서 우리가 만든 함수를 호출하는 경우...
  • 이렇게 역방향으로 호출되는 함수를 Callback 함수라고 한다.
  • 예를 들어 라이브러리에 생일축하 노래불러주는 함수가 있다고 해보자.
  • 사랑하는 땡땡땡~ 이부분은 우리의 목소리를 넣고 싶다.
  • 그러면, 땡땡땡에 무엇을 넣어야할지를 라이브러리에 알려주기 위해,
  • 만드는 함수가 Callback 함수이다.
  • 우리는 callback 함수를 만들고 , 이 힘수의 포인터를 라이브러리에 알려주면,
  • 라이브러리는 땡땡땡이 나오는 순간, Callback 함수를 호출하여 생일축하 노래를 완성한다.,
  • 그 예로 표준함수중, 데이터를 정렬하는 기능을 수행하는 qsort()가 있다.
  • 퀵소트 함수인데.
  • 데이터타입은 개발자가 정할 수 있다.
  • 그래서 데이터를 비교하는 기능은 개발자가 Callback 함수로 만들어 라이브러리에 제공하도록 하였다.
  • 정렬시 어떤 데이터가 앞으로, 어떤 데이터가 뒤로 갈지를 라이브러리에서 결정하는 것이 아니라, 개발자가 정한다.
  • 이렇게 하면 기본 데이터 타입 뿐 아니라 , 개발자가 정의 한 구조체에 대해서도 정렬을 할 수 있고, 오름 차순인지, 내림차순정렬인지 등을 개발자 마음대로 변경할 수 있어 유연성이 엄청나게 증가한다.


#include <stdio.h>
#include <stdlib.h>

#define  NUM 10

int ascending(const void*a , const void*b)
{
    if (*(int*) a > *(int*) b)
        return 1;      
    else if (*(int*) a < *(int*) b)
        return -1;           
    else           
        return 0;                 
}

int descending(const void*a , const void*b)
{
    if (*(int*) a < *(int*) b)
        return 1;       
    else if (*(int*) a > *(int*) b)
        return -1;           
    else           
        return 0;                 
}

void output(int *data, int size)
{
    for (int i=0; i<size; i++) 
        printf("%d ", data[i]);
    puts(""); 
}

void main()
{
    int data[NUM]= { 10,20,30,40,9023,1231,2345,343,123,532 };
    qsort(data, NUM, sizeof(int) , ascending);
    output(data, NUM);
    qsort(data, NUM, sizeof(int) , descending);
    output(data, NUM);       
}


#include <stdio.h>
void test_func(void (*func)(int aa,int bb), int a, int b)
{
    printf("I am Test Function\n");

    //callback function call
    func(a, b);
}

void call_back_func_1(int a, int b)
{
    printf("I am CallBack Function1 -- a=%d,b=%d\n", a,b);
}

void call_back_func_2(int a,int b)
{
    printf("I am CallBack Function2 -- a=%d,b=%d\n", a,b);
}

int main(int argc, char **argv)
{
        int answer1;
        int answer2;

        if (argc != 3) {
                printf("err argc = %d\n",argc);
                return -1;
        }
    answer1 = atoi(*(argv + 1));
    answer2 = atoi(*(argv + 2));
        switch (answer1)
        {
        case 1:
                 test_func(call_back_func_1, answer1,answer2);
                 break;
        case 2:
                 test_func(call_back_func_2, answer1,answer2);
                 break;
        }
        return 0;
}


'dev > C' 카테고리의 다른 글

가변 인자 함수(va_list, va_start, va_arg, va_end)  (0) 2013.02.19
시간 측정을 위한 gettimeofday 사용예제  (0) 2012.12.19
[C언어] assert()  (0) 2010.11.09
문자열 처리 함수  (0) 2010.11.05

IMSI (International Mobile Station Identity) 국제 이동국 식별 번호

 GSM 서비스 가입 시에 이동 단말기에 할당되는 고유 15자리 식별 번호. 이 번호는 이동 국가 코드, 이동 네트워크 코드, 이동 가입자 식별 번호 및 국가 이동 가입자 식별 번호로 구성된다. IMSI는 다음과 같은 구조를 지닌다.



MCC (Mobile Conuntry Code) 

MNC (Mobile Network Code) 

MSIN (Mobile Subscriber Identifier Number)


  MCC+MNC는 이동전화 가입자의 Home Network를 전세계 어떠한 망에서든지 유일하게 식별한다. 다시말해, IMSI는 Visited Network(로밍 서비스를 제공하는 타 Network)가 최대 처음 6자리를 분석해서 Home Network를 조회할 수 있는 구조로 되어 있다.  MSIN은 MCC와 MNC가 주어진 경우, 이동전화 단말기를 유일하게 식별한다. 


TMSI (Temporary Mobile Subscriber Identity), 임시 이동 가입자 식별 번호 

이동 통신 시스템에서 이동국을 식별하는 임시 식별 번호. 임시 식별 번호는 홈 위치 레지스터(HLR)의 인증 센터(AC/Auc)에 의해 부여되며, 이동국과 이동 전화 교환국(MSC) 사이에서 보안상 국제 이동국 식별 번호(IMSI: International Mobile Station Identity) 대신 사용된다. 이는 Air 인터페이스 상에 IMSI 노출을 최소화하기 위하여 최초 위치 등록시 IMSI 대신에 TMSI를 가입자별로 핟당한다. 

가입자 식별을 보호하기 위해 인증과 암호화를 거쳐 이동국에 전송되며, 이동국 통신권 내에서 유효하고 통신권 외에서는 추가적으로 위치 영역 식별(LAI: Location Area Identification)이 필요하다. 


MIN (Mobile Identification Number), 이동국 식별 번호 

이동국(이동 전화 단말기)에 할당된 10자리 전화번호를 디지털로 표시하는 34비트의 숫자. 단말기의 지정 번호(일명 전화번호)로서 MIN 1과 MIN 2가 있다. MIN 1은 단말기에 할당된 7개 디짓의 전화번호로 24개 비트로 구성되며, MIN 2는 3개 디짓의 지역 번호로 10개의 비트로 구성된다. 011-YYY-XXXX에서 MIN 1은 YYY-XXXX이고 MIN 2는 011이다. 

[참고] MIN은 원래 북미의 이동전화 단말기를 식별하기 위한 것이었다. 10자리의 MIN은 국제 로밍을 제공하기 위해 필요한 추가정보를 포함할 수 없다는 점 때문에 IMSI 체계가 필요하게 되었다. IMSI 는 GSM 표준에서 사용된다. 


(ITU-T) MSISDN (Mobile Station International ISDN Number), 이동국 국제 ISDN 번호 

WCDMA IMT-2000에서는 가입자에게 두 가지 번호를 부여한다. USIM 카드에 IMSI와 단말기에 MSISDN이라는 것이 부여되는데, 이번에 정부에서 010X로 부여한 것이 바로 MSISDN이고 이 MSISDN에는 실제로는 국가코드(우리나라 = 82)가 들어가 있는 상태이다. 따라서 가입자는 상대방이 어디에 있는지 전혀 예상하지 않고서도 별도의 다이얼링 없이 전화를 걸어 상대방이 다른 국가에 있다는 것을 알 수 있다. 

하나의 IMSI에 4개의 MSISDN을 가질 수 있다. GSM 네트웍에서의 전화번호란 MSISDN(Mobile Station Integrated System Digital Network)을 뜻하며 국가코드(Country Code), 네트웍코드(NetworkCode) 그리고 디렉토리번호(Directory Number)로 구성되어 있다. 

반면에 IS-41C 네트웍에서의 전화번호란 휴대폰의 MIN(Mobile Identification Number)를 뜻하며 지역번호(Area Code)와 전화번호(Phone Number)로 구성되어 있고 (NPA) Nxx-xxxx 형태를 갖고 있다. MDN (Mobile Directory Number)와 동일한 것으로, 가입자 전화번호를 의미한다. 


IMEI (International Mobile Equipment Identity), 국제 이동 단말기 식별 번호 

GSM 표준에서 제조업체에 의해서 단말의 하드웨어 제작시 할당되는 최대 15자리 하드웨어 번호를 말하며, 이 번호는 형식 승인 코드, 최종 조합 코드 및 일련 번호를 포함하여 15자리로 구성된다. 이를 통해 GSM 이동 단말기가 서로를 고유하게 식별할 수 있다. 

-- while list : 정상적인 사용이 가능한 단말들의 분류 

-- black list : 호를 금지시켜야 하는 단말들의 분류 

-- gray list : 호를 금지하지는 않지만, 추적이 필요한 단말들의 분류 


PIN (Personal Identification Number), 개인 식별 번호 

특정 기능이나 정보의 접근을 위해 모든 GSM 기반 전화기에서 사용되는 코드로, PIN은 가입과 동시에 제공한다.

'dev > 통신' 카테고리의 다른 글

SIP 응답 코드  (0) 2013.04.03
IMSI(International Mobile Subscriber Identity)  (0) 2012.09.06

1xx = 정보용 응답

100 시도 중

180 전화 벨 울림

181 통화 전달 중

182 대기 중

183 세션 진행


2xx = 성공 응답

200 확인

202 수락: 참조용으로 사용


3xx = 경로 변경 응답

300 복수 선택

301 영구 이동

302 임시 이동

305 프록시 사용

380 대체 서비스


4xx = 요청 실패

400 잘못된 요청

401 권한 없음: 등록기관만 사용 가능. 프록시는 프록시 인증 407을 사용해야 합니다.

402 요금 청구됨(향후 사용을 위해 예약)

403 금지

404 찾을 수 없음: 사용자를 찾을 수 없음

405 메소드가 허용되지 않음

406 수락할 수 없음

407 프록시 인증 필요

408 요청 시간 종료: 시간 내에 사용자를 찾을 수 없음

410 없음: 사용자가 일시 존재하였으나 더 이상 사용할 수 없음.

413 요청 엔티티가 너무 큼

414 요구-URI가 너무 김

415 지원되지 않은 매체 유형

416 지원되지 않는 URI 체계

420 잘못된 확장자: 잘못된 SIP 프로토콜 확장자가 사용됨, 서버가 인식하지 못함

421 확장자 필요

423 간격이 너무 짧음

480 일시적인 사용 불능

481 통화/트랜젝션이 존재하지 않음

482 루프가 검출됨

483 홉이 너무 많음

484 불완전한 주소

485 모호함

486 사용 중

487 요청이 종료됨

488 여기서 수락할 수 없음

491 요청 보류 중

493 복호화할 수 없음: S/MIME본문 부분의 암호를 풀 수 없음


5xx = 서버 오류

500 서버 내부 오류

501 구현되지 않음: SIP 요청 메소드가 구현되지 않음

502 잘못된 게이트웨이

503 서비스를 사용할 수 없음

504 서버 시간 종료

505 지원되지 않은 버전: 서버가 이 버전의 SIP 프로토콜을 지원하지 않음

513 메시지가 너무 큼


6xx = 전체 실패

600 모두 사용 중

603 거부

604 어디에도 존재하지 않음

606 수락할 수 없음

1. 급여통장(급여 수령, 고정 지출 관리)

 급여통장은 급여를 받고 고정 지출을 관리하기 위한 통장이다.

대출 원리금 , 아파트 관리비, 각종 공과금, 자녀학원비, 보장성 보험료 등의 고정 지출의 자동납부를 위한 목적으로만 사용한다. 

이때 모든 자동납부일은 급여일 직후부터 월말(또는 특정일) 사이로 지정하고, 각종 고정 지출의 자동납부가 종결되는 다음 날에 일정한 금액으로 돈이 소비 통장으로 자동 이체될 수 있도록 설정한다.

 

2.소비통장(변동지출 관리)

소비통장은 변동 지출, 즉 매월 씀씀이에 따라 지출액이 크게 변동될 수도 있는 생활비용을 관리하기 위한 통장이다. 

따라서 일정 금액을 넣어두고 식비, 교통비, 여가비 등을 지출할 때만 사용한다.

변동 지출도 우리가 삶을 유지하는데 반드시 필요한 지출이기 때문에 아무리 절약을 해도 지출액을 줄이는 데 한계가 있다. 

따라서 변동 지출 관리를 하기 위해서는 매월 일정한 금액 내에서 소비하는 습관을 기르는게 훨씬 더 중요하다.

 

3.예비통장

예비통장은 예비자금을 관리하기 위한 통장이다. 따라서 충분한 예비자금을 넣어두고 특별한 경우에만 사용한다. 

특별한 경우란 예상치 못한 일로 고액의 지출을 해야 하는 때나 재산세, 자동차보험료, 휴가비, 명절비 등 계절성 지출을 해야 하는 때를 말한다. 

이외에도 부득이 생활비용을 평소보다 많이 지출하게 되어 소비 통장의 잔액이 부족한 경우에도 사용할 수 있다.

예비자금은 월평균 지출액 (고정지출+ 변동지출)의 3배 이상을 유지할 것을 권한다. 만약 이것이 어렵더라도 어느 정도의 금액은 확보하고 관리해야 한다. 

그리고 예비자금을 지출한 후에는 지출한 돈만큼 다시 보충해서 채워야 한다.

예비 통장으로 이용할 금융상품은 언제든지 입출금이 가능하면서도 하루만 맡겨도 이자를 지급하는 MMF나 CMA 가 적합다.

 

4.투자통장의 활용(투자관리)

투자 통장은 투자를 관리하기 위한 통장이다. 따라서 적금, 펀드, 변액연금보험 등 투자 목적의 금융상품에 자동이체하기 이한 목적으로만 사용한다. 

이때 모든 금융상품의 자동이체일은 가급적 같은 날로 정하거나 비슷한 날짜에 이체될 수 있도록 하는게 관리하기에 편리하다.

급여 통장에서 각종 고정지출을 자동납부하고 소비통장으로의 생활비 자동이체가 끝나면 남은 돈을 전부 투자 통장으로 이체한다.



중고로 괜찮게 구입한 TISSOT 시계에 난데없이 습기가....ㅡㅡ;;

이런 적이 없었는데 검색해보니 가장 의심되는 것이 배터리 교환시 잘못하면 그럴 수 있다고 한다. 얼마 전에 분당에 출장 갔을 때 교환했었는데......(지정 대리점에서 교환하면 금액이 참 거지같다.)

 마침 종로 근처에 출장 나온 김에 세운스퀘어의 수정사란 곳을 찾아갔다. 분해하면서 살펴 보시더니 배터리 교환이랑 습기는 상관없는데, 교환시 잘못 닫아서 그런듯하다고......

 방수 기능을 해주는 고무(?)에 기름칠하고 닫아야 틀어지지 않는데 그냥 닫은 듯하다고 하신다. 근데, 그것만 보는 것이 아니라 안쪽 코일(?)까지 분해해서 다 살펴보신다. 용어를 몰라서 무엇인지는 모르지만 암튼 저렇게까지 봐야 하나 할 정도로 꼼꼼히도 보시네......

 마치 방망이 깎던 노인을 바라보던 윤오영의 시선을 느꼈다고 해야 하나? ㅎ 수리 완료~! 

또 습기가 차면 가져 오라는 자신있는 말도 함께. 우왕굳ㅋ 


PC를 깔끔하게 사용하는 12가지 방법

저자: 『Degunking Windows』 저자 졸리 밸루

 

핵심이라 하면, 열 손가락 내에서 끝나야 한다. 그런데 `12가지` 핵심 이라니… 이렇게 긴 핵심 리스트가 어딨냐고 당장에 따지고 싶겠지만, 잠시 흥분을 가라 앉히고 필자의 변을 들어주길 바란다. 필자와 제프(Jeff Duntemann)는 『Degunking Windows』란 책을 집필하면서 직접 우리의 PC를 정리하기 시작했다. 그러면서 최대한 줄이고 줄인 것이 이 `12가지`이다. 결코 긴 것이 아니라는 점을 미리 양해해 주기 바란다. 또한 우리는 이 12가지가 핵심 사항이란 점을 확실히 정의 하기 위해 책 첫 페이지에 이것만을 따로 정리해두기까지 했다.

 

예전보다 빨라진 컴퓨터 속도, 부팅 및 시스템 종료의 신속성, 순식간에 이루어지는 백업, 보안 강화, 파일을 손쉽게 찾을 수 있게 된 것 등등 필자는 PC에서 하는 모든 작업을 아주 순조롭게 해낼 수 있었다. 이와 같은 개선 사항들은 필자가 『Degunking Windows』를 집필하면서 직접 체험한 것이다. 이제 윈도우에 문제가 발생했음을 알려주는 블루 스크린 혹은 응답하지 않는 프로그램으로 더 이상 골머리를 앓을 필요가 없다. 포토샵과 무비 메이커 2도 예전보다 확실히 빨리 열릴 테니 말이다.

 

이와 같은 놀라운 변화를 여러분도 함께 해보길 바라는 심정으로 필자는 본 기사를 작성하게 되었다. 물론 이 기사의 내용은 우리가 책에서 다룬 내용을 아주 간략히 정리한 것에 불과하다.

 

디정킹(Degunking)에 대하여…

 

우리는 디정킹(Degunking)이란 용어를 다음과 같은 경우에 한해서만 사용한다. `처음 PC를 샀을 때처럼 모든 실행이 순조롭게 진행되도록 PC를 정리하는 일련의 과정. 단, PC를 다시 포맷 한다거나 다른 제품의 추가 혹은 새것으로 교체하는 등의 물리적 변화는 배제함.` 이와 같은 과정을 더 잘 파악하기 위해, 반대로 PC가 어떻게 말썽을 일으켜 실행이 정지되는지부터 알아보도록 하자. 원인을 알아내는 것은 그리 어려운 일이 아니다. 잠깐만 생각해보면 된다. 아무 생각 없이 저장한 그림, 음악, 영화, 첨부파일. 그리고 설치만 해놓고 한 번도 사용한 적 없는 프로그램들… 또, 뭐가 있더라… 지금 PC에 파일이 어떤식으로 파일이 저장되어 있는지 등등 이미 원인은 밝혀져 있다.

 

임시 저장된 파일을 삭제하기 위해 디스크 정리(Disk Cleanup)나 디스크 조각모음(defragment)을 정기적으로 해주고, 매일 백신 프로그램(anti-virus software)을 업데이트 시키고, 윈도우 업데이트(Windows Updates)를 거르지 않고 받는 것, 시스템 백업 등 이와 같은 유지 작업은 PC가 최상의 상태를 유지하는 데 하나도 빼놓을 수 없는 중요한 작업이다. 하지만 이 모든 것들을 염두에 두고 모두 실행에 옮긴다는 것은 말처럼 쉬운 일이 아니다.

 

프로그램이 열리길 혹은 부팅이 되길 기다리면서 커피타기와 같은 잡무를 처리해도 될 정도로 PC가 느려지고 나서야 위와 같은 유지작업의 중요성을 깨닫게 되었다면 이미 때는 늦었다. 사태가 그 정도까지 진전되었다면 이미 끝장났다고 보면 된다.

 

그래서 필자는 PC 디정킹 뿐만 아니라 최적화된 상태로 오랫동안 아무 탈없이 PC를 사용할 수 있게 해주는 핵심 사항을 아래와 같이 12가지로 정리했다.

 

필요 없는 파일 삭제

 

필요 없는 프로그램 삭제

 

파일 및 폴더 정리

 

바탕화면 및 시작 메뉴 정리

 

스팸 메일 줄이기, 아웃룩 메일 정리하기

 

레지스트리 조정 및 정리

 

하드 드라이브 최적화

 

최신 업그레이드 설치

 

PC 정리와 효율적 운영을 위해 Power Toys를 비롯한 쉐어웨어 활용

 

방화벽 설치로 보안 수준 강화

 

정기적으로 시스템 백업 하기

 

PC를 교체기에 이르러 취해야 할 현명한 조치들

 

이제부터는 위의 내용을 하나하나 자세히 살펴보도록 하겠다. 되도록이면 위에서 열거한 12가지 방법을 순서대로 하나씩 따라주기 바란다. 소홀히 하거나 생략하고 그냥 지나쳐버릴 항목은 절대 없음을 미리 알려두는 바이다.

 

1. 필요 없는 파일 삭제

 

대부분의 사람들이 필요없는 파일까지도 과다하게 PC에 저장해두는 경향이 있다. 각종 데이터 파일, 그림, 음악, 영화 등등 개인적 용도의 파일이 PC의 상당부분을 차지하고 있다. 필자의 경우만 하더라도, 딸 아이의 밴드 공연을 녹화해둔 비디오 파일을 PC에 저장해두고 있는데 그게 용량이 자그마치 3GB나 된다.

 

하드 드라이브의 용량이 한 80GB 정도 된다면 불필요한 파일 삭제와 같은 작업을 굳이 해주지 않아도 되지 않을까? 천만의 말씀이다. 아무리 용량이 큰 하드를 가지고 있다해도 더 이상 필요하지 않는 파일은 반드시 삭제해줘야 한다. XP의 경우, 파일을 검색할 때 하드디스크에 있는 모든 파일을 일일이 다 검색하기 때문에 하드 디스크에 저장된 것이 많다는 것은 곧 검색 대상이 그만큼 많다는 것을 의미하고 이는 파일 검색에 그만큼 많은 시간이 소요된다는 뜻이다(PC의 속도와 관련된 문제). 특히 `디스크 공간 부족`과 같은 위협조의 에러 메시지를 받은 적이 있다면 불필요한 파일 삭제는 거의 필수 사항이라고 할 수 있겠다. 이쯤되면 필요없는 파일이 어디에 숨어있는지 직접 확인해보기 위해 디폴트 폴더(내 문서, 내 그림, 내 음악, 내 비디오)를 비롯하여 내 웹, 공유 폴더, 루트 디렉토리, `압축하지 않은` 폴더를 살펴보고 싶을 것이다. 임시 저장 파일을 찾아내 삭제하는 작업은 직접 폴더를 찾아다니면서 할 수도 있겠지만 디스크 정리 유틸리티를 이용하면 보다 손 쉽게 이 문제를 해결할 수 있다. 어떤 방법을 사용하든지 간에 삭제할 파일은 항상 있게 마련이다.

 

2. 필요 없는 프로그램 삭제

 

필요 없는 문서, 임시 파일, 그림, 영화, 음악을 PC에서 모두 삭제했다면 디정킹을 위한 다음 조치는 사용하지 않는 프로그램 및 관련 파일을 제거하는 일이다. 이때는 사용하지 않는 프로그램 제거 뿐만 아니라 사용할 수 없는 프로그램까지도 함께 제거하도록 한다. 웹 캠과 함께 설치된 프로그램, 연결되어 있지도 않는 프린터의 응용 프로그램, 예전에 좀 쓰다가 지금은 처분해버린 구형 디지털 카메라 혹은 스캐너와 관련된 프로그램들이 좋은 예가 될 것이다.

 

윈도우는 MSN 익스플로러나 게임처럼 필요 없는 컴포넌트까지도 자동으로 설치하기 때문에 이와 같이 쓸데없는 컴포넌트가 PC에 이미 설치되었을 가능성이 얼마든지 있다. 대표적인 예로 윈도우 팩스 서비스를 들 수 있다. 만약 전용 팩스기를 두고 이를 잘 쓰고 있다면, 윈도우 XP에 팩스 응용 프로그램이 자동으로 딸려 온다 해도 전혀 소용이 없을 것이다. 이런 프로그램은 없어도 된다. 이제 팩스 컴포넌트는 제거하자. 이런 식으로 실제 필요한 프로그램과 그렇지 않은 프로그램을 따져보기 시작하면, 아마 삭제해도 무방한 컴포넌트가 상당수 있다는 사실에 놀라움을 금치 못할 것이다.

 

3. 파일 및 폴더 정리

 

파일을 정리하는 가장 간단한 방법은 디폴트 폴더 내에 개인 폴더를 만들어 정리하는 것이다. 내 문서, 내 그림, 내 음악, 내 비디오와 같은 디폴트 폴더에 하위 폴더를 만들어 자료를 해당 폴더로 이동시키자. 디폴트 폴더는 충분한 저장 공간을 가지고 있으므로 회계 자료에서 동물원 사진에 이르기까지 여러분이 갖고 있는 자료 파일들을 깔끔하게 정리할 수 있을 것이다.

 

4. 바탕화면 및 시작 메뉴 정리

 

바탕화면, 작업 표시줄, 시작 메뉴를 정리 등과 같이 XP를 개인적 용도에 맞게 정리하는 일이 대수롭지 않게 생각될 수도 있겠지만 실제로는 아주 중요한 작업의 일부라 할 수 있다. PC 사용자는 작업 표시줄과 시작 메뉴가 보여지는 방식, 바탕 화면에 보이는 내용, 폴더 옵션 설정 등과 같은 정보가 상호 작용하는 방식을 직접 설정할 수 있다. 이와 같이 윈도우 XP를 본인의 용도에 맞게 설정해서 사용하면 그렇지 않았을 경우보다 PC가 더 빠르게 작동할 뿐만 아니라 작업도 훨씬 더 효율적으로 수행할 수 있게 된다. 프로그램 바로가기, 파일 배치 등과 같은 작업을 한 번의 클릭으로 가능하도록 바탕화면이나 작업 표시줄, 시작 메뉴 등과 같은 곳에 적절하게 배치할 수 있다. 이런 재미도 볼 수 있다니… 디정킹도 해 볼만 하다고 생각되지 않는가?

 

5. 스팸 메일 줄이기, 아웃룩 메일 정리하기

 

여러분은 다양한 방법으로 아웃룩 익스프레스의 성능을 향상시킬 수 있다. 물론 스팸 메일을 최소화하고, 받은 편지함의 이메일을 분류하는 것이 이메일 디정킹의 대부분을 차지하는 작업이지만 말이다.

 

약간의 상식을 동원한 예방 관리 조치로도 스팸을 최소화 할 수 있다. 일단은 앞서 말했듯, 스팸을 최대한 받지 않게 한 후, 스팸 이외의 받은 이메일들을 관리하고, 스팸을 완전히 제거하거나 줄이는 계획을 모색하는 것이 좋다. 특이한 이메일 주소를 만들어 사용하거나, 이메일 주소를 공개하지 않는 것, 수시로 이메일 계정을 바꾸는 것, `이메일 수신 허용` 버튼에 체크하지 않는 것, 스팸 방지 소프트웨어 설치 등 스팸을 최소화 하는 조치에는 여러 가지가 있다.

 

이와 같이 이메일을 정리해나가다 보면 아웃룩과 아웃룩 익스프레스 모두 폴더 및 하위폴더 생성이 생각보다 어렵지 않고, 메시지도 쉽게 이동시킬 수 있다는 걸 알게 될 것이다. 보낸 편지함에 있는 편지들 중에 일부를 삭제할 수도 있으며, 첨부 파일은 더욱 신경을 써서 봐두어야 하고, 지운 편지함에 있는 메일도 관리를 소홀히 해서는 안된다. 얼마나 많은 사람들이 보낸 편지함까지도 관리하고 있을까? 아마 보낸 편지함을 한 번도 비운적이 없는 사람들도 상상외로 아주 많을 것이다.

 

6. 레지스트리 조정 및 정리

 

레지스트리도 쉽게 정크가 쌓일 수 있는 장소 중 하나이다. 윈도우 응용프로그램은 레지스트리에 데이터를 저장하곤 하지만 항상 깔끔히 정리되지는 않기 때문에 갑자기 응용 프로그램이 돌아가지 않거나 삭제되어 버리는 경우가 생긴다. 앞서 설명한 곤란한 상황에 처하지 않기 위해 레지스트리 백업, 시스템 재설치(System Restore), 레지스트리 정리, 서드-파티 레지스트리 체커(third-party Registry checkers) 등 다양한 조취를 취할 수 있다. 필자도 처음으로 Registry Checker, Registry First Aid와 같은 레지스트리 프로그램을 실행했을 때, 4,000여 개나 되는 에러가 발견되었다. 그 모든 에러를 해결한 후 컴퓨터가 얼마나 빨라졌는지는 말하지 않더라도 충분히 짐작하고도 남을 것이다.

 

7. 하드 드라이브 최적화

 

많은 파일을 삭제했고, 한 파티션에서 다른 파티션으로 이리저리 파일들을 이동시켰으며, 각종 프로그램과 응용 프로그램을 상당수 제거했고 휴지통까지 비운 상태라면 이것 하나 만큼은 염두에 두어야 한다. 그와 같은 엄청난 작업을 모두 다 했다면 분명 여러분의 하드 드라이브는 지금 `엉망진창`인 상태일 것이다. 여기서 필자가 말하는 `엉망진창`이란 우리가 평소에 말하는 말 그대로의 엉망을 뜻하는 것이 아니다. 내 말은 실제 하드 드라이브 상에 존재하는 파일들이 조각난 상태로 있거나 윈도우 표준에 따라 구성되어 있지 않다는 말이다. 파일 혹은 파일의 일부가 연속적으로 모여있지 않고 여기 저기 흩어져서 저장되어 있다는 말이다. 이는 문제를 발생시킬 뿐만 아니라 하드 드라이브의 성능을 저하시킨다. 이와 같은 문제는 윈도우 디스크 조각모음(Windows Disk Defragmenter)를 사용해 하드 드라이브를 최적화 해줌으로써 해결할 수 있다. 이밖에도 시동(Setup) 폴더를 정리하거나 부팅할 때마다 실행되는 구성요소(서드-파티 혹은 XP가 사용하는 필요없는 서비스)를 비활성화 시키는 방법이 있다.

 

8. 최신 업그레이드 설치

 

수행능력 향상, 보안 수준 강화, 향상된 미디어 기능 등등… 이제 여러분도 PC에 대해 많은 것을 알고 있다. 그 결과 깔끔하게 PC를 정리하는 것을 비롯하여 일상적인 유지 작업, 필요없는 프로그램이나 서비스를 제거하는 것 등 여러분도 이제 원하는 대로 XP 시스템을 손보는 경지까지 이르게 되었다. 이것으로 끝인가? 아니다. 이것 말고도 소프트웨어를 업그레이드 하는 방법이 있다. 특정 컴포넌트를 업그레이드 하면 무비 메이커나 윈도우 미디어 플레이어의 기능을 더 추가할 수 있을 뿐만 아니라 수행능력까지도 향상시켜 준다. 게다가 윈도우 업데이트를 최신 상태로 유지하면 보안 수준이 향상된다. 따라서 아예 자동으로 윈도우 업데이트를 받게 환경설정을 해두는 것이 좋다. 이처럼 업데이트를 받을 수 있는 소프트웨어가 꽤 있다. 게다가 이러한 업데이트는 무료인 경우가 많으니 꿩 먹고, 알 먹고가 아닌가! 시스템을 항상 최고의 상태로 유지하고 싶은가? 그렇다면 업데이트야말로 필수이다.

 

9. PC 정리와 효율적 운영을 위해 Power Toys를 비롯한 쉐어웨어 활용

 

키보드 자판 커스터마이징, 인터넷 익스플로러 툴 바에 커스텀 백그라운드 환경설정, 수 백 가지 추가 설정 변경을 위해 Group Policy Editor에서 단축키 사용 등등 Power Toys를 사용하면 XP의 성능을 한층 더 강화시킬 수 있다. 특히 TweakUI PowerToy는 쉽게 구할 수 있을 뿐만 아니라 찾기 힘들거나 환경설정하기 힘든 옵션을 변경하는데 그것도 아니면 단순하게 사용할 수 없는 옵션을 변경하는데 아주 유용하게 사용된다. 여러분은 TweakUI PowerToy를 사용해 (그룹이 설정된 경우) 작업 표시줄에 어떤 순서로 그룹 구성요소가 나열되어야 하는지, 바탕 화면에 어떤 구성요소(내 문서 혹은 내 컴퓨터)를 맨 상위 요소로 끄집어내는지, 윈도우 XP 시작 메뉴의 자주 사용하는 프로그램에 어떤 것을 추가하고 어떤 것을 삭제해야 하는지와 같은 사항을 직접 설정할 수 있다. 이러한 방법으로 컴퓨터를 자기가 사용하기에 편리하도록 맞추어 놓으면 업무 능력이 신장될 뿐만 아니라 좀더 효율적으로 일할 수 있게 된다.

 

이 외에도 한 번의 클릭으로 이미지 사이즈를 조절하거나 자유롭게 프로그램을 전환할 수 있게 해주는 기능들이 있다. 이러한 옵션 사항을 이것 저것 찾아보는 것만으로도 충분히 도움이 많이 될 것이다(Power Toys 다운로드 사이트).

 

10. 방화벽 설치로 보안 수준 강화

 

방화벽은 마치 대문의 빗장이 외부 침입자들로부터 집을 안전하게 보호하는 것처럼 인터넷 위협 요소로부터 컴퓨터와 네트워크를 보호한다. 따라서 자물쇠와 보안 시스템을 사용해 집을 안전하게 지키는 것처럼 방화벽과 백신 소프트웨어를 사용해 컴퓨터와 네트워크를 안전하게 보호할 수 있다.

최하급의 방화벽이라 하더라도 방화벽이란 자체로 수많은 외부 침입을 막아 낼 수 있으며 안전하고 보호 받고 있다는 확신을 더 갖게 해줄 수 있다. 형태와 크기에 따라 다양한 방화벽이 있지만 해커들은 마음만 먹으면 방화벽의 크기나 형태에 관계없이 침입할 수 있으므로, 이와 상관없이 얼마나 완벽하게 컴퓨터를 보호할 수 있느냐가 튼튼한 방화벽의 관건이 된다. 방화벽을 설치할 때에는, 침입자들이 개인 데이터에 접근하는 것을 가능한 한 어렵게 해서 함부로 시스템에 출입할 수 없게 해야 한다. 인터넷 익스플로러에서 보안 구역을 설정하거나, 다른 사용자가 여러분의 컴퓨터에 접근해야 할 경우 게스트 계정을 사용하도록 하거나, 모든 컴퓨터 사용자에게 유효한 로컬 보안 정책을 설정하거나, 실패로 끝난 로그온 기록을 감사하는 것 등 보안 수준을 강화하는 데에는 여러 가지 방법을 사용할 수 있다.

 

11. 정기적으로 시스템 백업 하기

 

데이터 백업의 중요성은 시간이 갈수록 더욱 부각되고 있다. 요즘들어 우리는 중요 문서, 팩스, 결정적인 기록들, 가족 비디오 촬영, 그림, 음악 등과 같이 거의 모든 것들을 하드 드라이브 하나에 모조리 저장해둔다. 하드 드라이브에 이상이 생겼다는 것은 집에 불이 나거나 홍수를 입은 것에 버금가는 재해이다. 그동안 저장해둔 온갖 잡다하면서도 중요한 자료들을 통째로 잃게 되었다는 것과 일맥상통하기 때문이다. 따라서 중요한 자료들이 너무 많이 쌓이기 전에 정기적인 백업 스케줄에 따라 자료를 정리해 두는 것은 이러한 재해를 미리 방지하는데 필수적인 작업이라 할 수 있다.

 

일주일에 한 두번 친구들에게 안부 메일을 보내는 정도로 컴퓨터를 쓴다면 보통 2~3주 마다 한번씩 백업을 해주면 되고 전체 백업은 일년에 두 번 정도면 충분하다. 그렇지만 거의 매일 컴퓨터를 사용해서 일을 하고, 디지털 미디어를 자주 쓴다면 하루 한번 작업 종료시마다 백업을 해주고 전체 백업을 일주일에 한번 정도 해주어야 한다.

 

다행스럽게도 윈도우 XP 백업 유틸리티는 여러분들이 정기적으로 데이터를 쉽게 백업할 수 있도록 사용방법이 편리하게 되어있다. 특별한 장치가 필요한 것도 아니고 단지 데이터를 저장할 장소만 있으면 된다. 메인 하드 드라이버 외에 다른 하드 드라이버 혹은 Zip 디스크와 같은 백업 디바이스 장치 그것도 아니면 지금 사용하고 있는 하드 드라이를 그대로 사용할 수도 있는데 이때는 CD 버너를 사용해 백업한 자료를 CD에 따로 보관해야 한다.

 

12. PC를 교체기에 이르러 취해야 할 현명한 조치들

 

지금까지 말한 모든 것들을 다 해봤는데도 PC가 잘 돌아가지 않는다면? 그때는 PC 성능 향상을 아예 포기해버리든가, 다시 포맷을 하던가, 새로운 PC를 사야 할 때가 온 것이다. 이런 상황에서는 우왕좌왕 하지말고, 더욱 현명하게 처신해야 한다. 데이터를 완전히 다 못쓰게 될 정도로 상황을 악화시켜서는 안된다. 일단 가지고 있는 데이터는 백업을 해두고, 시스템 재설치가 올바르게 작동하도록 신경을 쓰자. 한계에 다다르면 윈도우 XP 파일 및 설정 전송 마법사 등과 같은 적절한 도구를 사용하자. 이때는 불필요한 정크가 새 컴퓨터로 옮아오지 않도록 주의해서 자료를 이동시키도록 한다.

 

결론

지금까지 말한 내용을 간단하게 줄여보도록 하겠다. 여러분이 가지고 있는 컴퓨터는 진짜 끝내주게 좋다. 80GB 하드 드라이브에 512MB RAM을 장착하고 있다. 고성능 컴퓨터임에도 속도는 너무 너무 느리다. 왜냐하면 무심결에 저장한 첨부 파일을 비롯해 그림, 영화, 음악 파일 등과 같은 정크가 넘쳐자고 있으며, 그나마 저장한 자료들도 엉뚱한 곳에 저장되어 있기 때문이다. 영화 폴더에 음악이 저장되어 있고, 사진 파일명은 깔끔한 숫자가 아니라 사진을 설명하고 있는 텍스트로 조잡하게 되어 있고, 더 이상 있지도 않은 하드웨어와 관련된 응용 프로그램들이 아직도 제거되지 않은 채로 남아 있으며, 디스크 조각 모음은 컴퓨터를 사고 한 번도 해준 적이 없다. 이제 슬슬 손봐주어야 할 시간이다. 지금 당장 이 12가지 핵심 리스트를 시작해보는 것이 어떨까?

 

졸리 발루는 델라스에서 네트워크 컨설턴트, 기술 트레이너, 전문 기고가로 활동하고있다. 이 외에도 마이크로소프트 Windows Expert Zone의 칼럼리스트로 정기적으로 기사를 쓰고 있다.

'사는 지혜&상식' 카테고리의 다른 글

[경제] 네 개의 통장  (0) 2013.03.28
시계 수리  (0) 2013.03.26
솔직한 게 진실된 거라 생각하는 착각...  (0) 2012.06.27
노자 - 도덕경 中  (0) 2012.04.25
뇌 불균형·ADHD  (0) 2011.10.07

가변 인자 함수 : 함수의 전달값(파라미터)(인수) 의 개수가 변경될수있는 함수.

ex) printf, scanf


예제

#include <stdio.h>
#include <stdarg.h>

void va_fct(int nFix, ...); //가변 인자 함수 선언

int main(void)
{
    va_fct(3, 1, 2, 3);
    return 0;
}

void va_fct (int nFix, ...);
{
    int i;
    va_list    list; //list 포인터

    va_start (list, nFix); //list 포인터 초기화

    for (i=0 ; i<nFix ; i++) {
        printf ("%d ", va_arg(list, int));
    }
    printf("\n");

    va_end(list); //list reset
}

 1 2 3


  •  va_list : 전달된 인수들은 스택에 저장되고 함수는 스택에서 인수를 꺼내쓴다.  va_list 타입은 char*형으로 정의되어 있고 가변인수를 읽기 위한 포인터 변수다.
  • va_start(list, 마지막고정인수) :  list 포인터 변수가 첫번째 가변인수를 가리키도록 초기화한다. 마지막 고정인수의 번지에 길이를 더해서 가변인수가 시작되는 번지를 계산한다.
  • va_arg(list, 인수타입) : 가변인수를 실제로 읽는 명령어, list 위치에서 인수타입에 맞는 값을 읽고 리턴하여 list를  다음 가변인수의 위치로 옮겨준다. va_arg는 매크로 함수이기 때문에 타입명이 내부적으로 sizeof 연산자와 캐스트연산자로 전달되어 인수로 받을 수 있다.
  • va_end(list) 가변인수를 다 읽은후 reset.


가변 인자 함수의 조건

  • 반드시 하나이상의 고정인수를 가져야한다. 가변인수를 읽기위해 포인터 list를 초기화하기위해 마지막 고정 인수의 번지를 알아야하기때문이다. 고정인수가 없으면 vs_start매크로가 동작하지않는다.
  • 함수 내부에서 자신에게 전달된 가변인수의 개수를 알수있어야한다. 인수의 개수에는 제한이없고 컴파일러가 인수의 개수를 점검하지않으므로 함수가 인수의 개수를 파악할수있게 정보를 제공해야한다.
  • 함수 내부에서 각각의 가변인수타입을 알 수 있어야한다. va_arg매크로가 list번지에서 가변 인수를 읽을때 얼만큼 어떤 타입으로 해석할지를 알아야하기때문이다. 하나의 고정인수를 통해서 모든 가변인수의 타입을 알수있게하는 방식이 가장 좋다.


'dev > C' 카테고리의 다른 글

callback  (0) 2013.05.29
시간 측정을 위한 gettimeofday 사용예제  (0) 2012.12.19
[C언어] assert()  (0) 2010.11.09
문자열 처리 함수  (0) 2010.11.05

MySql을 실제로 사용 중 mysql_num_rows() 을 통해 값을 가져와서

그 크기 만큼 vector size나 메모리 alloc을 해야 하는 경우가 있었다.

그런데 실제 쿼리로는 되는데  mysql_num_rows() 는 0으로 나오는 현상이 간혹 생겨서 검색해보니

아래와 같은 내용이 있었다.

 

1. mysql_num_rows는 용도가 insert문 이나 update문 delete문을 사용한 후 적용된 rows갯수를 구하는 것입니다. select문에서 사용하신것이 아닌가 생각이 됩니다.

 

2. mysql은 실제 적용된 로우의 개수를 리턴한다고 합니다. 그래서, 해당 로우가 있는데도 0으로 나오는 경우가 발생하기도 하구요. mysql 접속할때 CLIENT_FOUND_ROWS 옵션 주고 해보시면 원하는 결과가 나올것 같습니다

 

관련 링크 : 

http://database.sarang.net/?inc=read&aid=25543&criteria=mysql&subcrit=&id=&limit=20&keyword=procedure&page=3

 

select 문에서 두루 사용되고 mysql_store_result()문 후에 사용했었던 터라

-mysql_num_rows()은 mysql_store_result()후에 사용하는 것으로 나와있다.- 

2.번이 해결책이 될 듯 싶었으나.........

 

같은 현상이 일어나는 듯....

 

select 가 문제가 아니라, 기전 insert에서 auto commit 옵션을 off 후, insert & commit 진행, auto commit on 변경 후

아직까진 문제가 없다.

 

auto commit인 경우 아무래도 insert data가 좀 많아서 실제 쿼리 돌려보면 되는데, api로  select 하게 되면 api 단에서 문제가 있는 것이 아닐까 하는 생각을 해본다.

 

 

 

#include <sys/time.h>
#include <unistd.h>
struct timeval
{
    long tv_sec;       // 초
    long tv_usec;      // 마이크로초
}
int gettimeofday(struct timeval *tv, struct timezone *tz);


long gettimeofday_d(void)
{
    struct timeval tv;
    gettimeofday(&tv, NULL);
    return (tv.tv_sec*1e6) + tv.tv_usec;
}


long getTimeGap(struct timeval *s_t, struct timeval *e_t)
{
    struct timeval rt;
    long et = 0L;

    rt.tv_sec = e_t->tv_sec - s_t->tv_sec;
    rt.tv_usec = e_t->tv_usec - s_t->tv_usec;

    if(rt.tv_usec < 0)
    {
        rt.tv_sec--;
        rt.tv_usec += 1000000L;
    }
    et = (rt.tv_sec*1000000L) + rt.tv_usec;
    return et;
}


'dev > C' 카테고리의 다른 글

callback  (0) 2013.05.29
가변 인자 함수(va_list, va_start, va_arg, va_end)  (0) 2013.02.19
[C언어] assert()  (0) 2010.11.09
문자열 처리 함수  (0) 2010.11.05

IMSI는 가입자 식별번호 즉, 전화번호를 의미한다.
IMSI는 WCDMA, LTE 망에서 사용을 하며, 총 15자의 digit으로 구성되어 있다.

구조는 "MCC + MNC + 전화번호"이다.
MCC(Mobile Country Code, http://en.wikipedia.org/wiki/Mobile_country_code)
MNC(Mobile Network Code, http://en.wikipedia.org/wiki/Mobile_Network_Code)

대한민국의 MCC는 '450'이며 SKT의 MNC는 '05', KT의 MNC는 '04', '08'이고 LGU+는 '06'이다.

즉, 전화번호가 010-1234-1234인 경우에 각 이통사의 IMSI는 다음과 같다.

 SKT IMSI

 450051012341234
 KT IMSI  450041012341234 | 450081012341234

 LGU+ IMSI

 450061012341234



아래는 IMSI가 실제 UICC에 저장될때의 형식이다.


1st byte는 Length of IMSI로써 0x08로 고정값을 가진다.
2nd ~ 9th byte에 IMSI값이 저장이 되는데 그냥 저장되는 것은 아니고 다음과 같은 변환 규칙을 따라 저장이 된다.
변환전 IMSI: 450091012341234
변환후 IMSI: 4905900121432143
즉, '4' 다음에 '9'가 고정으로 들어가고 이후는 nibble 단위로 자리를 switching한다.

최종적으로 EF IMSI에 저장되는 IMSI의 physical value는 084905900121432143가 된다.


PS. IMSI와 동일한 개념으로 CSIM에서는 IMSI_M이라는 것이 존재한다.


펌글

'dev > 통신' 카테고리의 다른 글

이동통신 각종 식별번호 개념잡기(IMSI, MSISDN, MIN 등)  (0) 2013.04.11
SIP 응답 코드  (0) 2013.04.03
솔직한 게 진실된 거라 생각하는 착각...

 

변명이나 핑계를 위해 사람은 얼마든지 솔직할 수 있다.

 

진실과 별개로...

 

- 웹툰 '미생' 대사중... -

'사는 지혜&상식' 카테고리의 다른 글

시계 수리  (0) 2013.03.26
[PC] PC를 깔끔하게 사용하는 12가지 방법 [펌]  (0) 2013.03.13
노자 - 도덕경 中  (0) 2012.04.25
뇌 불균형·ADHD  (0) 2011.10.07
법륜스님의 성경 이야기(펌)  (0) 2011.10.06

Linux 시스템에 대한 정보

/proc 디렉토리 아래 파일을 출력해 봄으로써 간단한 정보를 알수있습니다.

* 몇가지 소개를 합니다. /proc/cpuinfo : cpu 정보 

/proc/pci : pci 정보 

/proc/interrupts : 사용중인 irq 정보 

/proc/dma : 사용중인 dma 채널

/proc/ioports : 사용중인 i/o 포트 정보 

/proc/filesystems : 현재 사용가능한 화일 시스템 

/proc/meminfo : 현재 사용중인 메로리 

/proc/partitions : 현재 사용중인 파티션 

/proc/swaps : 현재 사용중인 스왑 파티션 정보 

/proc/version : 현재 사용중인 커널 버전 

/proc/devices : 현재 사용중인 드라이버

/proc/cmdline : 현재 사용중인 부트 이미지

'dev > Linux' 카테고리의 다른 글

파일 내 문자 치환  (0) 2016.07.05
알아두면 유용한 워드 단축키  (0) 2015.05.01
tar 명령어 모음  (0) 2014.08.01
[Linux] sub directory 별로 압축할 때  (0) 2012.02.17
비슷한 기능의 Linux/DOS 명령어<펌글>  (0) 2012.01.10

"강과 바다가 산에서 흘러내리는 수많은 냇물의 존경을 받는 이유는 낮은데 있기 때문이다.

 

낮은데 있음으로해서 수많은 냇물을 거느릴 수 있다.

 

현자는 사람들 아래에 섬으로써 사람들 위에 있고 사람들 뒤에 섬으로써 그 앞에 서게된다.

 

그리하면 사람들 위에 있더라도 무겁다 여기지않고 앞에 선다해서 무례하다 여기지 않는다."

 

 

노자 - 도덕경 中

 

#include <stdio.h>
tar cvf test.tar ./test   묶기
tar xvf test.tar            풀기
tar cvfz test.tar ./test    zip압축
tar xvfz test.tar             zip압축 풀기
tar tvf test.tar               목록보기
tar xvf test.tar | grep aaa      test.tar내의 aaa만 풀기

--exclude 특정 디렉토리, 파일 제외


'dev > etc' 카테고리의 다른 글

우분투 타이틀바 옮기기  (0) 2012.02.03
정규표현식의 기본 문법  (0) 2010.11.09
안철수 님의 말(펌)  (0) 2010.11.09
glib  (0) 2010.11.09
[VirtualBox] Linux에서 게스트 확장 설치  (0) 2010.11.09

+ Recent posts