프로그래밍/기타...2018. 3. 7. 09:45

참고 : https://blog.naver.com/powerms100/120008462157


자세한 설정내용은 위 블로그를 참고하셔도 좋습니다.


==========================================================================================

rem oracle backup 

@echo off

SET ORACLE_SID=ORAGEO

SET MONTH=%date:~5,2%

SET YEAR=%date:~0,4%

for %%a in (%date%) do SET day=%%a

md D:\DB백업\%YEAR%\%MONTH%\dmp

md D:\DB백업\%YEAR%\%MONTH%\log

C:\oracle\product\10.2.0\db_1\BIN\EXP 아이디/비번 file=D:\DB백업\%YEAR%\%MONTH%\dmp\%DAY%.dmp log=D:\DB백업\%YEAR%\%MONTH%\log\%DAY%backuplog.txt

rem 매일 새벽 5시에 export 받는 작업 예약하기

rem C:\> at 05:00 /every:Su,M,T,W,Th,F,S D:\bak\bat\oracle_exp.bat

==========================================================================================

사실 위와같은 내용으로 사용중에 오라클DB백업을 사용중에 있는것을 확인하였는데, 

인터넷을 검색하니 위 내용으로 예시가 올라와 있더라구요ㅎ 

배치파일은 위 내용을 포함하는 .bat 파일을 만들어 주면 됩니다. 

위 내용을 만들어진 만들어진 .bat 파일을 스케줄러에 등록해야하는데요 아래와 같이 등록을 합니다.


1. 윈도우 -> 실행 , 사진과같이 검색하여 '작업 스케줄러'를 살행




2. 실행 된 작업 스케줄러 '작업 스케줄러 라이브러리' 에 오른버튼을 이용하여 '작업만들기' 실행




3. '새 작업 만들기' 창이 뜨면 이름에 설정하고자 하는 내용을 기록



4.  트리커 탭에서 '새로 만들기' 선택



5. '새 트리가 만들기' 화면이 뜨면 '설정' 부분을 설정한다.

- 한번, 매일, 매주, 매월

- 시작 시간 설정



5. 동작 탭으로 이동하여 '새로 만들기' 선택



6. 실행 된 '새 동작 만들기' 창에서 '설정-찾아보기' 버튼을 이용하여 .bat 파일을 선택하고 '확인버튼' 선택



7. 아래와 같이 스케줄이 등록 된 것을 확인할 수 있다. 




8. 설정 된 시간에 dump 파일이 잘 생성됨을 확인 할 수 있음 . 끝~~~~~


Posted by 컴투
프로그래밍/기타...2011. 5. 17. 10:08
우분투에서 samba를 이용해서 파일공유 사용하기

파일을 공유하려는 서버에서 아래와 같이 삼바 패키지를 설치한다.
sudo apt-get install samba smbfs

이 공유에 접근할 아이디와 비밀번호를 설정한다.
sudo smbpasswd -a 아이디

접근 아이디를 지울 때는 다음과 같이 한다.
sudo smbpasswd -x system_username

삼바 서버를 설정하기 위해 문서 편집기로 설정파일을 연다.
sudo vim /etc/samba/smb.conf

그 안에 다음과 같은 내용을 입력한다.

# 기본적인 설정
[global]
# 워크그룹이름은 맘대로 정한다.
workgroup = WORKGROUP
encrypt passwords = yes
# 접근을 허락할 아이피 범위
hosts allow = 192.168.
# 문자 인코딩 설정, 우분투는 utf-8을 기본적으로 사용하고
# 이것이 윈도우즈에서도 한글이 잘 깨지지 않는다.
unix charset=utf-8
dos charset=utf-8
#공유할 디렉토리 이름, 이것은 여러개를 만들 수도 있다.
[MyDoc]
comment = My Documents
path = /공유할/디렉토리
#읽기 전용으로 접근할지 여부
read only = no
browsable = yes


삼바의 설정은 매우 다양하게 할 수 있다.
아래에 다양한 삼바 설정을 설명했다.

삼바 설정이 끝났으면, 설정이 제대로 되었는지 검사한다.
sudo testparm

문제가 없으면 삼바를 실행한다.
sudo /etc/init.d/samba restart

우분투에서 패키지로 설치된 삼바는 컴퓨터가 켜질 때마다 실행될 것이다.

우분트 클라이언트에서 공유에 접근하는 법은 두가지이다.

첫째)
위치 메뉴 > 서버에 연결 을 선택한 후,
서비스 종류는 Windows공유를 지정하고,
사용자 이름과 연결에 사용할 이름 부분만 위에서 지정한 네트워크사용자아이디를 지정하면 된다.

둘째)
mount -t cifs //삼바서버아이피/삼바공유폴더이름 /공유가/지정될/로컬폴더 -o username=네트워크사용자아이디,password=비밀번호,iocharset=utf8,file_mode=0777,dir_mode=0777
-o 이후로는 띄어쓰기를 해서는 안된다.

윈도우즈에서 삼바 서버에 접근하려면,
네트워크 환경에서 새 연결을 설정하거나,
net use o: \\삼바서버아이피\삼바공유폴더이름 비밀번호 /user:네트워크사용자아이디
로 연결하면 되고,
삭제는 net use o: /delete
로 하면 된다.


====================================================================================

그외의 다양한 삼바 설정법은 다음과 같다.

▶ 네트워크 사용자 추가/편집/삭제 하는 법

☞ 네트워크 사용자 추가하기

sudo smbpasswd -a 네트워크사용자아이디
sudo vim /etc/samba/smbusers 를 한 후에, 아래의 내용을 추가한다.

네트워크사용자아이디 = "network username"

☞ 네트워크 사용자 편집

sudo smbpasswd -a 네트워크사용자아이디

☞ 네트워크 사용자 삭제

sudo smbpasswd -x 네트워크사용자아이디

----------------------------------------------------------------------------------
▶ 읽기 전용으로 폴더 공유하기 (인증=Yes)

sudo vim /etc/samba/smb.conf 로 설정파일을 열고

아래의 내용을 찾아서
security = user

아래처럼 바꾼다
security = user
username map = /etc/samba/smbusers

아래 내용의 앞에 있는 주석 표시를 제거한다.

;[homes]
;comment = Home Directories
;browseable = no
;valid users = %S
;writable = yes

삼바설정을 확인한다.
sudo testparm

삼바를 다시 시작한다.
sudo /etc/init.d/samba restart

----------------------------------------------------------------------------------
▶ 읽기/쓰기 권한으로 폴더 공유하기 (인증=Yes)

설정파일 안의 지정된 폴더에 아래의 옵션을 넣어준다.

(보기)

[MyFolder]
path = /home/my_id/my_shared_folder
writable = yes


----------------------------------------------------------------------------------
▶ 그룹 폴더들을 읽기 전용으로 공유하기 (인증=Yes)

sudo mkdir /home/group
sudo chmod 777 /home/group/
sudo vim /etc/samba/smb.conf

설정파일에서 아래의 내용을
security = user

아래처럼 바꾸고
security = user
username map = /etc/samba/smbusers

설정파일의 끝에 아래의 내용을 추가한다.

[Group]
comment = Group Folder
path = /home/group
public = yes
writable = no
valid users = system_username1 system_username2
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup


----------------------------------------------------------------------------------
▶ 그룹 폴더를 읽기/쓰기 권한으로 공유하기 (인증=Yes)

설정파일의 끝에 추가된 그룹 설정을 아래처럼 바꾼다.

[Group]
comment = Group Folder
path = /home/group
public = yes
writable = yes
valid users = system_username1 system_username2
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup

----------------------------------------------------------------------------------
▶ 공개 폴더를 읽기 전용으로 공유하기 (인증=Yes)

[global]
security = share

[public]
comment = Public Folder
path = /home/public
public = yes
writable = no
create mask = 0777
directory mask = 0777
force user = nobody
force group = nogroup

아래처럼 nobody 계정을 만든다.

sudo smbpasswd nobody

----------------------------------------------------------------------------------
▶ 공개 폴더를 읽기/쓰기 권한으로 공유하기 (인증=Yes)

[global]
security = share

[public]
comment = Public Folder
path = /home/public
public = yes
writable = yes
create mask = 0777
directory mask = 0777
force user = nobody
force group = nogroup

----------------------------------------------------------------------------------
▶▶▶ 네트워크 프린터에서 인쇄하기

삼바 설정파일에 다음의 내용을 추가하고

printing = cups
printcap name = cups

프린터 관리 서비스를 다시 시작한다.

sudo /etc/init.d/cupsys restart


----------------------------------------------------------------------------------
▶▶▶ 웹을 통해 삼바 설정 관리하기 : SWAT : Samba Web Administration Tool

▶ INETD과 SWAT 를 설치한다.

sudo apt-get install netkit-inetd
sudo apt-get install swat


☞ inetd daemon 설정을 편집한다.

sudo vim /etc/inetd.conf

☞ 아래의 내용을 찾아서

<#off#> swat stream tcp nowait.400 root /usr/sbin/tcpd /usr/sbin/swat

☞ 아래처럼 바꾸어 준다.

swat stream tcp nowait.400 root /usr/sbin/swat swat

☞ 대몬을 재시작한다.

sudo /etc/init.d/inetd restart

☞ 만일, root비밀번호를 설정하지 않았다면, 아래처럼 설정한다.

sudo passwd root

☞ http://localhost:901 주소로 접속한다.

출처 : [기타] 인터넷 : http://ubuntuguide.org/wiki/Ubuntu:Feisty#Samba_Server

Posted by 컴투
프로그래밍/기타...2011. 4. 14. 13:49

1. 이클립스 한개 더 띄우기

menu > window > new window

2. 프로그램 실행

alt + shift + X, J

3. 컨텍스트 어시스트

(현재 컨텍스트에서 입력하던 내용을 완성하는데 필요한 코드가 팝업에 표시)

ctrl + space

 

4. 빠른 수정(Quick fix)

- 마커바에 표시된 에러중 빨간표시 옆에 전구 모양의 아이콘이 붙어 있는 경우,

  이클립스가 에러 제거를 위한 몇가지 방안을 제안

ctrl + 1

 
5. Quick Type Hierarchy

- 타입선택시 타입에 대한 상속구조, 메소드 선택시 해당메소드의 상속구조

ctrl + T

 

6. Quick Outline

- 소스코드 작성중 특정 메소드, 변수를 찾기 위해 에디터를 왔다갔다 할 필요 없이 팝업 위쪽에 입력하면 원하는 것을 찾을 수 있음

ctrl + O 또는  ctrl + F3

 

7. 메소드, 필드, 클래스의 정의를 보고 싶은 경우

- F3 을 통해 정의된 부분 이동후 alt + 왼쪽 화살표 를 눌러 현재 위치로 다시 돌아오면 된다.

- ctrl을 누른후 마우스를 가져 대면 링크로 바뀜, 링크를 클릭하면 정의로 이동

 

8. 특정 라인으로 이동

ctrl + L

 

9. 어노테이션 이동

Next annotation : ctrl + .

Previous annotation : ctrl + ,

 

10. Breadcrumb

현재의 커서에서 다른요소로 쉽게 이동(패키지 익스플로러를 사용하지 않고도 자유롭게 이동 가능)

alt + shift + b

 

11. 에디터간 이동

ctrl + F6

 

12. 뷰간 이동

ctrl + F7

 

13. 퍼스펙티브간 이동

ctrl + F8

 

14. 에디터(소스코드)로 이동

F12

 

15. 파일의 변경 내용 확인

package explore view > 파일 우클릭> 컨텍스트 메뉴 > Compare with > Local history

 

16. 파일 이전 내용으로 교체

package explore view > 파일 우클리 > 컨텍스트 메뉴 > Replace with > Local history

 

17. 파일을 복구

package explre view > Restore From local history

 

18. 소스코드 정렬(소스코드에 스타일 적용)

ctrl + shift + F(원하는 부분 블록 지정후)

 

19. 문자열 외부화

- 다국어 지원을 위한 코드 작성에 용이

에디터 > 컨텍스트 메뉴> Source> Externalize Strings

 

20. 문자열 검색

ctrl + F

 

21. 다이얼로그 안띄우고 검색

ctrl +J > 문자열 입력 후 ctrl+J

ctrl+j마다 문자열 검색, 이전위치는 ctrl +shift +j

 

22. 문자열 블록지정후 검색

ctrl + k, ctrl +shift +k

 

23. 특정 유형에 대한 검색

ctrl + H(ctrl+./ctrl+,이용해서 네비게이션)

 

24. 스크랩북 생성

java>java run/debug>scrapbook page

ctrl+shift+D 결과가 스크랩북에 표시

ctrl+shift+I 결과가 팝업에 표시

 

25. call hierarchy뷰

ctrl+alt+H

 

26. import 문정리

source> organize imports

or ctrl+shift+O

 

27. 주석 처리

주석지정

블록지정>ctrl+shift+/

or source>add block Comment

 

28. 주석해제

블로지정>ctrl+shift+\

or source > remoce block comment

 

29. //주석 지정

ctrl+/

30. //주석 해제

ctrl+/

 

31. 키어시스트

ctrl+shift+L

 

32. window look and feel

-Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel

 

33. 리팩터링

alt+shift +R

Posted by 컴투
프로그래밍/기타...2011. 2. 15. 10:19

● 프로그램 실행

alt + shift + X, J

 

● 컨텍스트 어시스트

(현재 컨텍스트에서 입력하던 내용을 완성하는데 필요한 코드가 팝업에 표시)

ctrl + space

 

● 빠른 수정(Quick fix)

- 마커바에 표시된 에러중 빨간표시 옆에 전구 모양의 아이콘이 붙어 있는 경우,

  이클립스가 에러 제거를 위한 몇가지 방안을 제안

ctrl + 1

 

● Quick Type Hierarchy

- 타입선택시 타입에 대한 상속구조, 메소드 선택시 해당메소드의 상속구조

ctrl + T

 

● Quick Outline

- 소스코드 작성중 특정 메소드, 변수를 찾기 위해 에디터를 왔다갔다 할 필요 없이 팝업 위쪽에 입력하면 원하는 것을 찾을 수 있음

ctrl + O 또는  ctrl + F3

 

● 메소드, 필드, 클래스의 정의를 보고 싶은 경우

- F3 을 통해 정의된 부분 이동후 alt + 왼쪽 화살표 를 눌러 현재 위치로 다시 돌아오면 된다.

- ctrl을 누른후 마우스를 가져 대면 링크로 바뀜, 링크를 클릭하면 정의로 이동

 

● 특정 라인으로 이동

ctrl + L

 

● 어노테이션 이동

Next annotation : ctrl + .

Previous annotation : ctrl + ,

 

● Breadcrumb

현재의 커서에서 다른요소로 쉽게 이동(패키지 익스플로러를 사용하지 않고도 자유롭게 이동 가능)

alt + shift + b

 

● Mark Occurrences

특정 변수 메소드를 블록으로 표시

 

● 에디터간 이동

ctrl + F6

 

● 뷰간 이동

ctrl + F7

 

● 퍼스펙티브간 이동

ctrl + F8

 

● 에디터(소스코드)로 이동

F12

 

● 파일의 변경 내용 확인

package explore view > 파일 우클릭> 컨텍스트 메뉴 > Compare with > Local history

 

● 파일 이전 내용으로 교체

package explore view > 파일 우클리 > 컨텍스트 메뉴 > Replace with > Local history

 

● 파일을 복구

package explre view > Restore From local history

 

● 소스코드 정렬(소스코드에 스타일 적용)

ctrl + shift + F(원하는 부분 블록 지정후)

 

● 문자열 외부화

- 다국어 지원을 위한 코드 작성에 용이

에디터 > 컨텍스트 메뉴> Source> Externalize Strings

 

● 문자열 검색

ctrl + F

 

● 다이얼로그 안띄우고 검색

ctrl +J > 문자열 입력 후 ctrl+J

ctrl+j마다 문자열 검색, 이전위치는 ctrl +shift +j

 

● 문자열 블록지정후 검색

ctrl + k, ctrl +shift +k

 

● 특정 유형에 대한 검색

ctrl + H(ctrl+./ctrl+,이용해서 네비게이션)

 

● 스크랩북 생성

java>java run/debug>scrapbook page

ctrl+shift+D 결과가 스크랩북에 표시

ctrl+shift+I 결과가 팝업에 표시

 

● call hierarchy뷰

ctrl+alt+H

 

● import 문정리

source> organize imports

or ctrl+shift+O

 

주석지정

블록지정>ctrl+shift+/

or source>add block Comment

 

● 주석해제

블로지정>ctrl+shift+\

or source > remoce block comment

 

//주석 지정

ctrl+/

//주석 해제

ctrl+/

 

● 키어시스트

ctrl+shift+L

 

● window look and feel

-Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel

 

● 리팩터링

alt+shift +R

Posted by 컴투
프로그래밍/기타...2011. 2. 9. 07:41

해상도 자료 모아모아 정리해 봤습니다.
많은참고 바랍니다.




1.스마트폰 해상도 정리

 

1.1.         해상도 개요도

 

V:H

픽셀

        

          

4:3

640*480

VGA(Video Graphic Array)

 

800*600

SVGA(Super VGA)

 

1024*768

XGA (Extended Graphic Array)

 

5:4

1280*1024

SXGA

 

2:3

320*480

HVGA (half)

아이폰3G, 옵티머스원

640*960

 

아이폰4

4:3

320*240

QVGA (Quarter VGA)

 

 

400*240

WQVGA(Wide QVGA)

 

 

432*240

FWQVGA (Full)

 

5:3

800*480

WVGA (Wide VGA)

Galaxy S, HTC (Desire, HD2, EVD 4G), Nexus One, XPERIA

16:9

854*480

FWVGA (Full Wide VGA)

DROID해상도 (숨은 1인치)

 

 

1.2 해상도 및 크기 사례

 

V:H

픽셀

종류

크기

          

5:3

800*480

WVGA

4.3”

HTC HD2, HTC EVD 4G

4.0

갤럭시S AMOLED

3.7”

HTC Desire

SAMSUNG 옴니아2 AMOLED Omnia-II

3.5”

옵티머스 Q

3.0”

갤럭시A  AMOLED PLUS

-

SonyEricsson Xperia X1

80:49

800*490

-

3.7”

PANTECH 시리우스(Sirius) AMOLED

-

854*480

-

3.7”

Motorola MOTOROI

4.0”

SonyEricsson Xperia X10

4:3

640*480

VGA

-

HTC Touch Diamond

320*240

QVGA

-

HTC Touch Dual

1024*768

XGA

9.7”

APPLE 아이패드

16:9

640*360

-

3.2”

NOKIA 5800 Express Music

3:2

480*320

HVGA

3.0”

안드로원

3.5”

Apple iPhone 3GS (애플 아이폰 3GS)

APPLE 아이팟터치

-

LG Andro-1

-

HTC G1

960*640

 

3.5”

APPLE 아이폰4G

-

1024*600

 

 

갤럭시 탭

 

주1) 밀도는 (dpi : dot per inch, density per inch,  ppi : pixel per inch)

가로, 세로 1인치 내의 점의 갯수를 말한다.

 

주2) 갤럭시 탭 AVD 생성 시

 - 스킨 사이즈 : 600*1024

 - density 240으로 설정

    - 버튼이 안 보이므로.. 단축키 사용




2.
스마트폰 해상도 주의사항

2.1 가로/세로 값 

this.getWindowManager().getDefaultDisplay().getWidth();

this.getWindowManager().getDefaultDisplay().getHeight();

context.getResources().getDisplayMetrics().widthPixels
context.getResources().getDisplayMetrics().heightPixels

context.getResources().getDisplayMetrics.density

2.2 주의 사항

. 3요소가 일치해야 한다

<uses-sdk android:minSdkVersion="8" />... .

프로젝트 만들때 Build target설정에서 Platform 2.2버젼...

스마트폰의 안드로이드 OS 버젼(2.2)...

  

. 스마트폰이나 에뮬의 버젼이 제일 최신버젼이어야 한다

스마트폰의 안드로이드 OS 버젼을

최대기준으로 볼 때 uses-sdk Build target이 적거나 같아야 한다.

 

. 결론

일반적으로 대부분의 스마트폰 해상도는 480*800아나, 위의 두 가지 조건이 맞지 않으면 320*533으로 나올 것이다예를 들어 스마트폰은 2.2버젼인데 새로나온 2.3버젼인 9API로 프로젝트를 만들면 해상도는 320*533으로 나올 것이다.

 


2.3 해상도 테스트

 

1)    AndroidManifet 상에

<supports-screens android:largeScreens = ”true” android:normalScreens = ”true”

android:smallScreens = ”true” android:anyDensity = ”true”/>

 

2)    글자의 크기는 XML상에 px가 아닌 sp로 할 것.

3)    Widget의 크기 및 padding dip로 사용할 것.

4)    LayoutLinearLayout 이나 RelativeLayout 등을 사용할 것

5)    안드로이드 에뮬레이트 안의 AVD manager Add해서 해상도를 여러 개 적용하여 테스트하면 도움이 될 것임.

 

참조) http://www.kandroid.org/guide/practices/screens_support.html#range

 


 

 

3.첨부

 

첨부1) 표준 디스플레이 해상도는 다음을 포함한다 (wikipedia자료)

  • QVGA 0.077 메가픽셀 = 320×240
  • VGA 0.3 메가픽셀 = 640×480
  • SVGA 0.5 메가픽셀 = 800×600
  • XGA 0.8 메가픽셀 = 1024×768 (XVGA라고 함)
  • WXGA 1.0 메가픽셀 = 1280×800
  • SXGA 1.3 메가픽셀 = 1280×1024
  • WXGA+ 1.3 메가픽셀 = 1440×900
  • SXGA+ 1.4 메가픽셀 = 1400×1050
  • WSXGA+1.7 메가픽셀 = 1680×1050
  • UXGA 1.9 메가픽셀 = 1600×1200
  • WUXGA 2.3 메가픽셀 = 1920×1200
  • QXGA 3.1 메가픽셀 = 2048×1536
  • WQXGA 4.1 메가픽셀 = 2560×1600
  • QSXGA 5.2 메가픽셀 = 2560×2048
  • WQSXGA 6.6 메가픽셀 = 3200×2048
  • QUXGA 7.7 메가픽셀 = 3200×2400
  • WQUXGA 9.2 메가픽셀 = 3840×2400
  • WUQSXGA 11.3 메가픽셀 = 4200×2690

 

 

그림1) http://en.wikipedia.org/wiki/Graphic_display_resolutions

 

 


 

 

 

 

 

첨부2) 국내 출시된 안도로이드 목록

 

 

 


 펌) http://blog.daum.net/miriya/15601204

그동안 변한 점을 꼽자면, 모토로라의 방수 스마트폰인 Defy가 나왔고, HTC의 대화면 스마트폰인 디자이어 HD가 출시되었으며, KT Tech가 테이크를 출시했습니다. 그 뒤로는 LG가 새 기함인 옵티머스 2x와 옵티머스 마하를 준비하고 있고, Dell의 스트릭과 베뉴가 KT를 통해 나올 예정입니다. 펜텍의 베가는 AMOLED 수급 문제로 인해 단종되었고, 대신에 베가 Xpress라는 모델이 LCD 액정을 달고 KT LG U+로 나올 예정입니다. 소니에릭슨에선 X10 mini에 키보드만 달린 pro 버전이 출시 예정이구요, 옵티머스 시크라고 옵티머스원 마이너 업데이트 버전이 저가형으로 나오네요.

 

역시나 이번에도 해상도의 절대 다수는 480x800이고, 일부 외산폰이 480x854, 저가형 기종은 320x480 해상도로 나오고 있습니다. 어플리케이션을 개발할때 염두해야 할 기종은 요 두가지 정도가 되겠네요. 이 두가지 해상도가 마켓상의 절대 다수를 점하고 있습니다. 95% 이상. 달리 말하면 240x320 해상도 사용하는 몇몇 기종 샀다간 큰일난다는 말이 됩니다. 어플리케이션들이 거의 호환되지 않을테니까요. 기왕이면 240x320 해상도의 기종은 그만좀 나왔으면 합니다.. 그리고 거기 더해 앞으로 우르르 쏟아져나올 안드로이드 태블릿을 위해 1024x600 해상도도 염두해야겠습니다. 이번 2.3 진저브레드부터는 이런 대화면 해상도를 위해 extra large screen이 추가되었고, 레티나 디스플레이 같은 초고밀도 액정을 위해 extra high density 항목이 추가되었으니 참조하시구요. 표에는 대각선 px의 수와 그에 따른 ppi, 해당되는 안드로이드 OS dpi 항목도 적어놨습니다.

 

그 외에 중요한 부분은 역시 OS 버전이죠. 2.2 버전으로 출시되었거나, 2.2 버전으로 업데이트가 완료된 폰은 노란 바탕에 검정 글씨로 확 눈에 띄게 강조했습니다. 모토로이 등 이번달 내로 업데이트 될 것이 확실한 기종은 파란 글씨로, 내년 이후에나 업데이트 될 예정인 애들은 회색 글씨로 적어놨습니다. 재미있게도 삼성과 HTC, 팬텍이 가장 빠릿하게 업데이트를 해주고 있고, 최근에 일정이 연기된 LG는 그 다음, 모토로라가 좀 늦고.. 소니 에릭슨이 제일 심각하네요. X10 2.1 업데이트가 근래에 있었으니 2.2는 언제나 될지 참 묘연하기만 합니다. 모토로라의 경우 모토믹스를 출시하면서 2.1로 끝낸다고 딱 못을 박아버리는군요. 왜 출시했는지 모르겠습니다. 사면 바로 버려진다는 뜻이죠. 공짜폰의 운명..

 

해상도별로 테스트폰을 구입하게 된다면, hdpi용으로 국내에서 가장 많이 팔리고 있는 갤럭시S, 그리고 mdpi용으로 저가형 옵티머스원이면 딱 좋겠군요. 그 외에 돈 더 된다면 TFT LCD로 나온 옵티머스 2x가 좋겠네요. 듀얼코어 테그라2 달고 나왔고 하니 성능도 굉장하고.. 갤럭시S가 워낙에 변태같이 만들어졌다보니 대조구로 넥서스원을 두면 좋겠군요. 240x320은 고려하지 않는게 좋을것 같습니다.



출처 : http://blog.naver.com/handyson?Redirect=Log&logNo=120391295

Posted by 컴투
프로그래밍/기타...2010. 12. 8. 16:47

Allman 식 이클립스 Java 코딩 스타일 프로파일

어떤 자바 코딩 스타일을 쓰시고 계신가요?

특별히 선호하는 스타일이 없으시다면 아마도 자바 코딩 규약을 따르시겠죠?

코딩 스타일이라고 하면 여러 가지가 고려할 것들이 있습니다. 들여쓰기를 어떻게 하는지, 블럭 지정은 어떻게 하는지, 언제 줄을 나눌 것인지, 띄어쓰기, 코멘트, 배열 초기화, 심지어 이름 정하는 규칙까지......

이런 여러 요소가 있지만 보통 코딩 스타일을 분류할 때에는 들여쓰기와 블럭 표현 방법을 주로 봅니다. 아마도 이 두 가지가 코딩 스타일의 외형에 가장 큰 영향을 주기 때문인 듯합니다. 몇몇 대표적인 블럭 표현 방법에는 따로 부르는 이름까지 붙어 있지요.

제가 프로그래밍을 배우기 시작할 때에는 베이식, 어셈블리, 포트란, 코볼 같은 언어들을 주로 사용했기 때문에 요즘과는 다른 코딩 스타일을 썼었습니다. 언어 구조가 좀 다르니까요. 제가 배운 베이식은 서브루틴 같은 것도 없었거든요. ^^

처음으로 배운 구조적 언어는 Pascal입니다. Apple II에서 돌아가는 UCSD Pascal이 있었는데 p-System이라는 가상 머쉰 위에서 p Code라는 중간 코드로 컴파일 되는 언어입니다. 지금 우리가 쓰는 자바 가상 머쉰과 비슷한 놈이었죠. 좀 다른 것은 JVM은 OS 위에서 돌아갔지만 p-System은 OS까지 포함하고 있습니다. 그다음에는 CP/M이라는 OS에서 Turbo Pascal로 프로그래밍을 했었고요.

좌우간 이런 이유로 Pascal처럼 블럭의 시작과 끝이 명시적인 Allman 스타일의 블럭 표현 방법을 선호하게 되었나 봅니다. K&R 스타일은 블럭의 시작 기호와 끝 기호를 신경 써서 주목하지 않으면 찾기가 힘들더라고요. 물론 요즘은 IDE를 쓰기 때문에 자동으로 찾아주기는 하지만 최근까지 VI로 개발했었기 때문에 이 스타일이 아니면 코드를 전혀 보지 못하는 지경입니다.

대표 Indent Style

말을 시작했으니 대표적인 코딩 스타일을 몇 가지 적어볼까요? 마침 위키 백과에 잘 정리가 되어 있군요.

K&R 방식

for (int i = 0; i < 10; i++) {
    s = s + i;
    if (s > 10) {
         ......
    } else {
         ......
}

자바 코딩 규약에서 사용하는 방식입니다. 우리나라에서는 이것이 가장 일반적인 듯합니다. C를 만든 커닝핸과 리치씨의 "The C Programming language"라는 책에 사용된 코딩 스타일이지요. 이 책 한 권씩 안 사본 사람이 없을 듯한데 요즘은 모르겠군요. 제가 처음으로 산 원서 같기도 하고...... 들여쓰기는 원래 8칸이지만 요즘은 4칸을 주로 씁니다.

이것의 변형으로 BSD KNF Style이 있다네요. 보통 kernel style이라고 부르는 놈입니다. 저는 이것과 K&R이 같은 것인 줄 알았는테 텝이 조금 다르군요. 하드 탭(탭문자)는 8칸으로 보이게 설정하고 소프트 탭(어이지는 공백 여러개로 탭을 표현)은 공백 4개로 설정합니다. 밑에 제 스크린샷 중 첫번째에서 Tab Policy를 Mixed로 하고 Use tabs only for leading indentations를 체크한 후에 블럭 들여쓰기 할 때에 tab을 두번 치면 비슷해질 듯 하네요.

이렇게 탭을 설정하고는 블럭을 들여쓸 때에는 하드탭으로 이어지는 줄을 들여쓸 때에는 소프트탭으로 처리한다고 합니다.

Allman 방식

for (int i = 0; i < 10; i++)
{
    s = s + i;
    if (s > 10)
    {
         ......
    }
    else
    {
         ......
    }
}

Sendmail과 많은 BSD 유틸리티들을 만든 Eric Allman의 코딩 스타일입니다. BSD Style이라고도 불렀었습니다. 원래는 들여쓰기를 공백 8칸으로 하는데 요즘은 4칸으로 합니다.

보시면 알겠지만 블럭의 시작과 끝이 명확합니다. 가독성이 높지요. 코드 한 줄씩 정확히 볼 수 있습니다. 단 한 화면에 보이는 코드 양이 많지 않아서 스크롤을 더 해야 하는 단점도 있습니다. 그래서 Cut & Paste 방식의 프로그래밍을 방해해서 저는 좋은데 다른 분들은 모르겠군요.

C에서는 가장 많이 사용하는 방식이라고 합니다.

Whitesmith 방식

for (int i = 0; i < 10; i++)
    {
    s = s + i;
    if (s > 10)
        {
         ......
        }
    else
        {
         ......
        }
    }


Whitesmith C라고 한참 잘 팔리던 C 컴파일러의 코딩 방식입니다. 저는 이 방식으로 코딩하는 사람을 한 번도 못 봤지만 Whitesmith C로 장난질을할 때에 잠깐 접해 보기는 했습니다. 어떻게 보이시나요? Allman 방식에 눈이 익어서 처음에는 적응하기 어렵지만 금방 적응이 되더군요.
이 방식 역시 원래 8칸이었지만 요즘은 4칸을 씁니다.
Allman 방식과 거의 비슷한 수준으로 많이 쓴다고 합니다.

GNU 방식

for (int i = 0; i < 10; i++)
  {
    s = s + i;
    if (s > 10)
      {
         ......
      }
    else
      {
         ......
      }
 }

GNU에서 사용하는 방식입니다. 아마도 리처드 스톨만의 방식이겠죠? Allman과 Whitesmith의 중간형으로 보입니다. 나름의 이유가 분명히 있겠지만 솔직히 전 이 방식을 별로 좋아하지 않습니다.  이렇게 작은 들여쓰기가 반복되면 가독성이 떨어지더군요. 눈이 어지럽습니다. 보통 2칸씩 두 번 들여씁니다.

위키 백과에는 pico 방식과 banner 방식도 설명하고 있는데 이것들은 그렇게 많이 쓰이지 않으므로 넘어가겠습니다.

이클립스 자바 코드 스타일 프로파일

좌우간 제가 이 글을 쓴 이유는 이런 방식 중에 제가 쓰는 allman 방식의 이클립스용 코딩 스타일 프로파일을 공개(?)하려는 것입니다.
혹시 allman 방식을 좋아하시는 분이 있다면 받아서 쓰세요. 제가 쓰던 것을 약간 손 봐서 올립니다.

allman.zip

이 파일을 내려 받아 압축을 푼 후에 이클립스의 자바 코드 스타일 프로파일로 등록 하십시오.

Window > Preferences > Java > Code Style > Formatter 에서 Import 하시면 됩니다.

설정 내용


간단히 설정 화면 갈무리한 것을 올려보겠습니다.

들여쓰기

들여쓰기는 공백 4칸입니다. 탭을 4칸으로 표시되도록 하는 방식은 다른 에디터에서 보면 다르게 보이기 때문에 탭은 8칸으로 보이게 했습니다.
저는 에디터를 고를 때에 들여쓰기를 탭 문자가 아닌 공백으로 처리할 수 있는지를 꼭 확인합니다.

대괄호

이 부분에서 Allman 방식의 대표 특징을 부여합니다.

빈 줄 삽입

널찍널찍한 코드가 가독성이 좋지요. ^^
가독성이 떨어지면 코드를 통제하기 힘들어지고 버그도 많이 생깁니다. cut & paste 해 놓고 "잘 돌아가던 코드인데 왜 안 돌아가지?" 하는 사람 많이 봤지요. 프로그래머는 코드 한 줄에 책임을 져야 하는 거라고 생각합니다. "네가 만들어 놓은 코드를 가져다 썼는데 작동 안 되니 네가 책임져"라고 말하는 프로그래머 보면 참 답답합니다. 자기가 제다이인 줄 알고 감으로 프로그래밍하죠.

줄 나누기

자바 코딩 규약과 비슷합니다. (아마도... ㅡ.ㅡ);


제어 코드

이 부분도 기본은 널찍널찍...


긴 줄 나누기

80칸에 맞춰서 긴 줄을 나누게 설정했습니다. 요즘은 화면이 넓으니 화면 가득한 크기로 에디터를 키우고 프로그래밍하는 사람들이 많습니다. 요즘 같은 시대에 누가 터미널을 쓴다고 80칸에 맞추느냐고 말하는 분들 많지요. 자바 코딩 규약에 쓰여 있는 것처럼 다양한 환경에서도 같은 모습을 유지하려면 80 칸에 맞추는 관례를 지키는 것이 좋기는 하지요.
저는 조금 다른 이유로 여전히 80칸에 맞춰서 코딩합니다. 가로로 길게 늘여 놓으면 눈에 잘 안 들어오기 때문입니다. 눈알을 이리저리 계속 굴려야 하거든요. 제가 노안이라서 그런가요? :-)
한번 해보세요. 진짜 코드에 대한 장악력이 높아집니다. 제 생각에 80칸 규칙을 에디터가 제한하도록 설정하는 것은 별로 좋은 것 같지는 않습니다. 어떤 줄은 이름이 너무 길다거나 해서 80칸을 넘는 것이 오히려 나을 수도 있으니까요. 그냥 기준선만 표시하고 프로그래머가 그런 습관을 지키도록 하는 것이 좋다고 생각되는데 일단 이 프로파일에서는 강제로 줄 나누기 하도록 했습니다.


주석 처리

이 부분은 그냥 제가 좋은 쪽으로 했는데 뭘 고쳤는지 모르겠네요.  ㅡ.ㅡ;


따~라 라~라 랄랄랄라 랄랄랄라~
따라라 라~라~ 라~
[출처] http://gyumee.egloos.com/1306012
Posted by 컴투
프로그래밍/기타...2010. 10. 18. 11:15

일단, 왜 이클립스가 계속 멈춰버렸는지에 대한 해답을 찾았다 >>

http://blog.eclipsercp.or.kr/javanese/?p=34

 

그리고 문제를 해결하는 방법 >>

http://atin.tistory.com/223

 

자바 메모리 설정의 문제였다..

eclipse 폴더에 eclipse.ini 파일에

.......... 

openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
"
-XX:MaxPermSize=128M" >> 추가

 

 

 

이렇게 하고 나니까 이클립스가 느려지거나 멈추지 않고 잘 된다 >_<!!

Posted by 컴투
프로그래밍/기타...2010. 7. 5. 14:14


구글링을 통해 다른 사용자가 만들어 놓은 Preferences파일(.epf)을 임포트 시켜 화면 설정을 적용시킬 수 있지만 그 epf파일에 화면설정 뿐 아니라 다른 설정들 까지 같이 포함되어 있어 왠지 깔끔하지 못 한 감이 있습니다.
그래서 제가 쓰고 있는 화면의 수동설정 항목들을 리스팅 합니다.

접어두기..

  1. General -> Appearance -> Colors and Fonts
    • Basic -> Text Font : 나눔고딕코딩, 10pt
  2. General -> Editors -> Text Editors
    • Current line highlight : Color - 34, 32, 32
    • Print margin : Color - 76, 76, 76
    • Find scope : Color - 25, 25, 25
    • Selection foreground color : System Default uncheck
    • Selection background color : System Default uncheck / Color - 65, 76, 59
    • Background color : System Default uncheck / Color - 25, 25, 25
    • Foreground color : System Default uncheck / Color - 128, 255, 0
  3. General -> Editors -> Text Editors -> Annotations
    • Occurrences : Color - 0, 196, 0 / Text as - Dashed Box
    • Write Occurrences : Color - 196, 0, 0 / Text as - Dashed Box
  4. General -> Editors -> Text Editors -> Quick Diff
    • Colors -> Deletions : Color - 255, 0, 0
  5. General -> Editors -> Spelling
    • Enable spell checking : uncheck
  6. Java -> Editor
    • Matching brackets highlight : Color - 0, 255, 0
    • Parameter hints background : Color - 0, 0, 0
    • Parameter hints foreground : Color - 230, 230, 230
  7. Java -> Editor -> Syntax Coloring
    • Java -> Abstract method invocations : Enable / Color - 241, 196, 56
    • Java -> Annotations : Color - 135, 19, 33
    • Java -> Brackets : Color - 255, 255, 255
    • Java -> Classes : Enable / Color - 156, 248, 40
    • Java -> Constants : Enable / Color - 156, 248, 40
    • Java -> Deprecated memebers : Color - 255, 255, 255
    • Java -> Enums : Enable / Color - 64, 128, 0
    • Java -> Fields : Color - 53, 122, 143
    • Java -> Inherited method invocations : Enable / Color - 241, 196, 56
    • Java -> Interfaces : Enable / Color - 156, 248, 40
    • Java -> Keyword 'return' : Color - 236, 108, 30
    • Java -> Keywords excluding 'return' : Color - 236, 108, 30
    • Java -> Local variable declarations : Enable / Color - 53, 122, 146
    • Java -> Local variable references : Enable / Color - 53, 122, 146
    • Java -> Method declarations : Enable / Color - 241, 196, 56
    • Java -> Methods : Color - 241, 196, 56
    • Java -> Numbers : Enable / Color - 255, 255, 0
    • Java -> Operators : Color - 255, 255, 255
    • Java -> Others : Color - 255, 255, 255
    • Java -> Parameter variables : Enable / Color - 64, 128, 0
    • Java -> Static Fields : Bold  / Color - 255, 255, 128 / Italic uncheck
    • Java -> Static method invocations : Bold  / Color - 255, 255, 255 / Italic uncheck
    • Java -> Strings : Color - 255, 64, 64
    • Java -> Type arguments : Enable / Color - 216, 176, 176
    • Java -> Type variables : Enable / Color - 216, 176, 176
    • Comments -> Multi-line comment : Color - 16, 184, 248
    • Comments -> Single-line comment : Color - 16, 184, 248
    • Comments -> Task tags : Color - 5, 142, 171
  8. Java -> Properties Files Editor
    • Arguments : Bold / Color - 128, 255, 0
    • Assignments : Color - 255, 255, 255
    • Keys : Color - 255, 200, 0
    • Values : Color - 255, 255, 255

출처 : http://bbare.tk/

Posted by 컴투
프로그래밍/기타...2010. 5. 6. 11:06

적용 대상
Microsoft Office Outlook® 2003
Microsoft Outlook® 2002

전자 메일 메시지는 모두 전자 메일 서버 (전자 메일 서버: 전자 메일 메시지를 저장하는 컴퓨터입니다.)를 통해 전자 메일 계정 (전자 메일 계정: Outlook에서 전자 메일 서비스에 연결하는 데 사용되는 서버 이름, 사용자 이름, 암호 및 전자 메일 주소입니다. 관리자 또는 ISP(인터넷 서비스 공급자)에서 제공하는 정보를 사용하여 Outlook에서 전자 메일 계정을 만듭니다.)으로 받습니다. 사용하는 전자 메일 계정 유형에 따라 전자 메일 메시지는 다음 방법 중 하나 이상을 사용하여 처리됩니다.

메일 위치

설명선 1 메시지가 서버에 남아 있습니다. Outlook이 서버에 연결되면 사용자는 메시지를 읽거나 삭제할 수 있습니다.

설명선 3 메시지 복사본이 다운로드되며 전자 메일 서버의 메시지와 동기화됩니다. Microsoft Exchange Server 계정은 로컬 오프라인 폴더 파일(.ost) (오프라인 폴더 파일: 오프라인 폴더를 포함하는 하드 디스크의 파일이며 확장명은 .ost입니다. Outlook을 설치하거나, 폴더를 처음으로 오프라인에서 사용 가능하도록 설정할 때 자동으로 오프라인 폴더 파일을 만들 수 있습니다.)을 만들어 이 기능을 제공합니다. 이 파일은 전자 메일 서버에 연결할 수 없거나 연결하지 않으려는 경우 오프라인으로 작업할 때 사용됩니다. 또한 Outlook 2003의 캐시된 Exchange 모드 기능에도 이 파일이 사용됩니다.

전자 메일 계정의 전자 메일 메시지의 저장 방식 및 전자 메일 서버와의 동기화 방식은 유형에 따라 다릅니다. 예를 들어 기본적으로 POP3 전자 메일 계정은 전자 메일 메시지를 Outlook으로 다운로드한 후 전자 메일 서버에서 메시지를 삭제합니다. 대신 전자 메일 메시지의 검색 및 저장 방식을 사용자가 지정할 수 있습니다. Exchange Server 전자 메일 계정과 같은 전자 메일 계정은 기본적으로 전자 메일 서버에 전자 메일 메시지를 모두 저장하는데, 전자 메일 메시지 복사본을 사용자 컴퓨터에 저장하도록 Exchange Server 전자 메일 계정을 구성할 수도 있습니다. 그러면 Exchange Server에 연결하지 않은 경우에도 전자 메일 메시지를 읽을 수 있습니다. 전자 메일 계정에 따라 전자 메일 메시지가 처리되는 방식에 대한 자세한 정보는 다음을 참고하십시오.

숨기기POP3 전자 메일 계정

POP3 (POP3: 인터넷 전자 메일 서버에서 전자 메일 메시지를 가져오는 데 사용되는 일반 프로토콜입니다.) 전자 메일 계정에서 전자 메일 메시지를 검색할 경우 메시지가 컴퓨터에 다운로드되면 전자 메일 서버에서 해당 메시지가 기본적으로 삭제됩니다. 대부분의 경우 이러한 기능은 매우 편리합니다.

그러나 여러 컴퓨터에서 전자 메일을 확인하려는 경우에는 전자 메일 서버에서 메시지를 삭제하지 않도록 Outlook을 구성해야 합니다. 이 시나리오는 집에서 사용하는 인터넷 서비스 공급자(ISP) (ISP(인터넷 서비스 공급자): 전자 메일, 대화방, 웹 등을 사용할 수 있도록 인터넷 액세스를 제공하는 회사입니다. ISP는 여러 위치에서 액세스를 제공하는 다국적 회사일 수도 있고, 특정 지역에서만 서비스를 제공하는 회사일 수도 있습니다.) 전자 메일 계정을 회사에서 확인하고 메시지는 집에 있는 컴퓨터의 영구 저장소에 다운로드하려는 사용자에게 가장 일반적으로 해당합니다.

메시지를 전자 메일 서버에 남겨둘 경우 여러 가지 옵션을 사용하여 메시지를 삭제할 수 있습니다. 이러한 옵션을 선택할 때는 여러 컴퓨터에서 메시지에 액세스할 수 있는 기간, 전자 메일 서버 관리자가 지정한 저장 용량 등 전자 메일 사용에 대한 여러 가지 요인을 고려해야 합니다. 저장 용량을 초과하면 새 메시지를 받을 수 없거나 추가 요금을 지불해야 할 수 있습니다. 일반적으로 컴퓨터 한 대는 전자 메일 메시지를 전자 메일 서버에 남기지 않도록 기본적으로 설정하는 것이 가장 좋습니다. 이 컴퓨터를 사용하여 전자 메일 메시지를 검색할 경우 메시지가 다운로드된 후 전자 메일 서버에서 메시지가 삭제됩니다. 이렇게 설정하지 않을 경우에는 Outlook에서 전자 메일 메시지를 전자 메일 서버에 저장하는 기간을 선택할 수 있습니다.

  1. 도구 메뉴에서 전자 메일 계정을 클릭합니다.
  2. 기존의 전자 메일 계정 보기 또는 변경을 클릭하고 다음을 클릭합니다.
  3. ISP 계정을 선택한 다음 변경을 클릭합니다.
  4. 기타 설정을 클릭합니다.
  5. 고급 탭을 클릭하고 배달에서 서버에 메시지 복사본 저장 확인란을 선택합니다.

    인터넷 전자 메일 설정 대화 상자

  6. 다음 옵션 중 하나를 선택합니다.
    • 다음 기간 후에 서버에서 제거 x   전자 메일 메시지가 컴퓨터에 다운로드되어도 지정한 기간 동안 전자 메일 서버에 남아 있습니다. 이 옵션은 회사에서 메시지를 읽고 집에 있는 컴퓨터의 영구 저장소에 다운로드하려는 사용자에게 가장 적합합니다. 필요에 맞는 가장 짧은 기간을 선택하는 것이 좋습니다. 메시지를 전자 메일 서버에 오래 저장할수록 사서함 크기 할당량을 초과할 가능성이 높아지기 때문입니다.
    • 지운 편지함에서 삭제하면 서버에서 제거   전자 메일 메시지가 컴퓨터에 다운로드되지만 Outlook에서 해당 전자 메일 메시지를 삭제하고 지운 편지함 폴더를 비울 때까지 전자 메일 서버에서 삭제되지 않습니다. 단순히 메시지를 삭제한다고 해서 전자 메일 서버에서 메시지가 제거되는 것은 아닙니다.

    두 확인란 중 하나를 선택하지 않으면 메시지가 서버에 무기한으로 저장됩니다. 이러한 경우 전자 메일 서버에서 메시지를 제거하도록 Outlook을 구성한 다른 컴퓨터에서 전자 메일 서버에 연결하지 않으면 결국 사서함 할당량이 초과됩니다.

  7. 확인을 클릭한 다음 마침을 클릭합니다.

여러 컴퓨터에서 POP3 전자 메일 계정을 사용하는 방법에 대한 자세한 내용은 이 문서의 참고 항목 섹션을 참고하십시오.

표시IMAP 전자 메일 계정

IMAP (IMAP(Internet Message Access Protocol): POP3 같은 인터넷 전자 메일 프로토콜과 달리 IMAP는 다른 컴퓨터에서 검색할 수 있도록 서버에 폴더를 만들어 메시지를 저장하고 구성합니다. 메시지 머리글만 읽을 수 있고 다운로드할 메시지를 선택할 수 있습니다.) 전자 메일 계정에 액세스할 경우 메시지가 로컬 위치에 복사됩니다. 그러나 삭제한 것으로 표시하고 "지운 편지함" 폴더 비우기 명령을 사용할 때까지 메시지가 전자 메일 서버에 남아 있습니다. IMAP 메시지 삭제에 대한 자세한 내용은 이 문서의 참고 항목 섹션을 참고하십시오.

표시HTTP 전자 메일 계정

MSN Hotmail과 같은 HTTP (HTTP(Hypertext Transfer Protocol): 인터넷에서 웹 페이지에 액세스할 때 사용되는 프로토콜입니다. Outlook에서는 HTTP를 전자 메일 프로토콜로 사용합니다.) 전자 메일 계정에 액세스할 경우 메시지를 삭제할 때까지 메시지가 전자 메일 서버에 저장됩니다.

표시Exchange Server 전자 메일 계정

Exchange Server 전자 메일 계정에 액세스할 경우 메시지를 삭제할 때까지 메시지가 전자 메일 서버에 저장됩니다.

by : http://office.microsoft.com/ko-kr/outlook/HA011507931042.aspx

Posted by 컴투
프로그래밍/기타...2010. 5. 6. 11:05

보안 메일 1탄. 이메일 인증서를 이용하여 아웃룩에서 보안 메일 주고받기

인터넷에서 자신의 신분을 확인하는 수단으로는 아이디/비밀번호로 접속하는 방식이 가장 보편적입니다. 그리고, 금융 등의 보안이 특히 요구되는 환경에서는 개인 인증서와 비밀번호를 통해 한층 더 보안을 강화합니다.

우리가 아웃룩이나 아웃룩 익스프레스를 사용하여 다른 사람들과 메일을 주고 받을 때에는 일반적으로 평문(Plain Text)으로 전송됩니다. 중간에 메일 서버 관리자나 보안 장비 등에서는 메일의 제목이나 내용을 엿볼 수 있습니다.

이러한 잠재적인 위험을 방지하려면 메일을 보낼 때에 보안 기능을 추가하여 보냅니다. 이러한 보안을 추가하는 방법은 모두 3가지가 있으며 이중 첫 번째로 개인 인증서를 사용하여 아웃룩에서 보안 메일을 주고 받는 방법에 대해 소개합니다.

이 방법은 보안 메일을 사용하고자 하는 모든 사용자들이 각자 인증서를 등록, 설치해야 합니다. 서버 단에서는 별도로 설정할 필요가 없습니다.

인증서는 서버용, 웹서버용, 그리고 개인용 등 다양한 인증서가 존재하지만, 여기에서는 개인용 이메일 인증서를 이용합니다.

이메일 인증서는 "공개 키", "개인 키", "디지털 서명" 등 세 가지로 구성됩니다. 메일을 작성할 때에는 "공개 키"와 "디지털 서명"을 추가합니다. 메일을 받는 쪽에서는 "디지털 서명"을 통해 보낸 사람을 확인하고, "개인 키"로 암호를 풀어 본문을 읽는 방식입니다.

인증서 작업을 진행하기에 앞서 아웃룩/아웃룩 익스프레스에서 전자 메일 계정을 설정해야 합니다. 설정한 이후에는 메일을 주고 받는 테스트를 해 둬야 편리합니다.

  1. 인증서 신청

    국내외에서는 개인용 인증서를 무료로 제공하는 곳이 다수 있습니다. 여기에서는 써트(http://www.thawte.co.kr)에서 제공하는 서비스를 중심으로 설명합니다

    1.1 인증서 신청: 인증서 신청은 아래 링크를 클릭합니다.

    https://www.thawte.com/cgi/enroll/personal/step1.exe

    신청서 화면에서 next 버튼을 클릭합니다.

    1.2 아래 화면에서 개인 정보를 입력합니다. 언어는 UTF-8을 선택하고 국가도 입력합니다. 그리고, next 버튼을 클릭합니다.

    1.3 사용할 메일 주소를 입력하고 next 버튼을 클릭합니다.

    1.4 사용할 언어와 문자셋을 아래와 같이 선택하고 next 버튼을 클릭합니다.

    1.5 사용할 비밀번호를 입력합니다. next 버튼을 클릭합니다.

    1.6 비밀번호 분실할 때에 사용할 질문 답변을 입력합니다. 적어도 5개 이상 입력합니다. 모두 입력하고 next 버튼을 클릭합니다.

    1.7 next 버튼을 누르면 지금까지 입력한 정보들을 일목요연하게 보여줍니다. 다시 한번 확인하고 next 버튼을 클릭합니다.

    1.8 인증서 발행을 위한 메일이 발송되었다는 안내 페이지가 나타납니다.

    1.9 아웃룩 익스프레스에서 메일을 확인하면 아래 그림과 같이 인증서 확인 코드가 포함된 메일을 볼 수 있습니다.

    1.10 메일 본문에 있는 첫 번째 링크를 클릭하여 웹 페이지를 띄우고 해당 코드 값 2가지를 정확히 입력하고, next 버튼을 클릭합니다.

    https://www.thawte.com/cgi/enroll/personal/step8.exe

    1.11 메일 계정이 정상적으로 생성되었다는 안내 화면이 나타납니다. 메일 주소를 확인하고 next 버튼을 클릭합니다.

    1.12 마지막으로 네트워크 암호 입력 창이 나타납니다. 앞서 입력했던 메일주소와 비밀번호를 입력하고 확인 버튼을 클릭합니다.

    지금까지 과정을 오류 없이 마쳤다면 일단 인증서의 요청은 성공적으로 마무리된 것입니다.

  2. 인증서 발급

    2.1 아래 링크로 접속합니다. 접속할 때에는 메일주소와 비밀번호를 다시 확인합니다.

    http://www.thawte.com/cgi/personal/cert/enroll.exe

    2.2 X.509 format Certificates 아래에 있는 request 버튼을 클릭합니다.

    2.3 Microsoft Internet Explorer, Outlook and Outlook Express 항목을 선택하고 request 버튼을 클릭합니다.

    2.3 No Employment Information Available을 선택하고 next 버튼을 클릭합니다.

    2.4 메일주소를 체크하고 next 버튼을 클릭합니다.

    2.5 복잡한 비밀번호를 사용하라는 간단한 안내 메시지가 나타납니다. Next 버튼을 클릭합니다.

    2.6 기본 설정값으로 수신합니다. Accept 버튼을 클릭합니다.

    2.7 Microsoft enhanced Cryptographic Provider v1.0 공개 키를 선택하고 Next 버튼을 클릭합니다.

    2.8 보안상 위험하다는 안내 화면이 나타납니다. 버튼을 클릭합니다.

    2.9 RSA 키를 생성하는 창이 나타납니다. 확인 버튼을 클릭합니다.

    2.10 마지막으로 Finish 버튼을 누르면 인증서 발급이 완료됩니다

  3. 인증서 설치

    3.1 아래 링크로 접속합니다. 이미 접속한 상태에는 메일주소와 비밀번호를 따로 입력하지 않아도 욉니다. http://www.thawte.com/cgi/personal/cert/contents.exe

    3.2 인증서를 요청한 기록이 있는지 확인합니다. 아래 그림처럼 view certificate status를 클릭합니다.

    3.3 발급 신청된 항목 중에 issued라고 되어 있는 부분의 MSIE를 클릭합니다.

    3.4 인증서를 설치한다는 안내 화면이 나타납니다. fetch 버튼을 클릭합니다.

    3.5 Install Your Cert 버튼을 클릭합니다.

    3.6 보안 경고 창이 나타납니다. 버튼을 클릭합니다.

    3.7 인증서 설치가 완료되었다는 대화상자가 나타납니다. 확인 버튼을 클릭합니다.

    3.8 IE의 인터넷 옵션에서 내용 탭을 클릭하고 인증서 버튼을 클릭합니다.

    3.9 아래와 같이 인증서 항목이 추가되어 있으면 성공입니다. 닫기 버튼을 클릭합니다.

  4. 아웃룩 익스프레스에서 인증서 설정

    4.1 아웃룩 익스프레스를 실행합니다.

    4.2 도구 -> 옵션 -> 보안 탭을 클릭합니다.

    4.3 보내는 모든 메시지의 내용 및 첨부파일 암호화보내는 모든 메시지에 디지털 서명에 체크합니다.

    4.4 고급 버튼을 클릭합니다. 아래 그림과 같이 비트 수를 맞추고 기타 옵션도 동일하게 설정합니다. 확인 버튼을 클릭합니다.

    4.5 이제 설정은 완료되었습니다. 메일을 작성할 때 아래와 같이 암호화디지털 서명 옵션이 체크되어 있는지 확인합니다. 체크가 안되여 있는 경우 체크합니다.

    4.6 메일을 새로 작성할 때 받는 사람이 디지털 ID가 없는 경우에는 보안 메일로 보낼 수 없습니다. 이러한 경우에는 아래와 같은 경고창이 나타나고 암호화하지 않음 버튼을 누르면 일반 메일로 발송하게 됩니다.

  5. 아웃룩 2007에서 인증서 설정

    5.1 MS 아웃룩을 실행합니다.

    5.2 도구 -> 보안 센터 -> 전자메일 보안 탭을 클릭합니다. 아래와 같이 설정합니다.

    5.2 설정 버튼을 클릭합니다. 아래와 같이 인증서가 맞는지 확인합니다. 정확하게 설정하고 확인 버튼을 클릭합니다.

    5.3 메시지를 작성할 때에 상단의 메뉴에서 서명 암호화에 체크가 되어 있는지 확인합니다. 이제 보안 메일을 발송할 수 있습니다. 오른쪽 아래에 있는 화살표 버튼을 클릭합니다.

    5.4 메시지 옵션 대화상자에서 보안 설정 버튼을 클릭합니다.

    5.5 아래와 같이 메시지 내용과 첨부 파일 암호화를 체크하고 확인 버튼을 누릅니다.


    만약 앞으로 모든 메일에 대해 보안을 적용하려면 아래 보안 설정에서 자동을 아래와 같이 바꿉니다.

    그리고 설정 변경 버튼을 누릅니다. 확인 버튼을 눌러 창을 닫습니다.

    5.5 메일을 새로 작성할 때 받는 사람이 디지털 ID가 없는 경우에는 보안 메일로 보낼 수 없습니다. 이러한 경우에는 아래와 같은 경고창이 나타나고 암호화하지 않음 버튼을 누르면 일반 메일로 발송하게 됩니다.

    사용자 삽입 이미지

    편지쓰기시 서명과 암호화 버튼 활성화




    6. 보안 메일 수신

    메라크에서 보안 메일을 수신하면 아래 이미지와 같이 메라크의 메일폴더에 메시지 파일이 저장됩니다.
    사용자 삽입 이미지

    이 파일을 문서편집기나 메모장으로 열어보면 다른 일반 메시지와 달리 메시지 본문이 base64로 인코딩되어 있지만 실제는 smime으로 암호화되어 첨부되어 있는 것을 볼 수 있습니다.

    사용자 삽입 이미지
     

    다른 메일들은 메일서버에 저장되어 있을때 일반 텍스트로 되어 있어 서버에 접속한 사람들은 메일 내용을 원문 그대로 보거나 다른 곳으로 복제할 수 있습니다. 이런 경우 메일 유출에 대한 위험성이 존재합니다만 보안메일의 경우 암호화되어 있기 때문에 서버 관리자가 파일을 복사하거나 유출하더라도 원본을 원본을 해독할 수 없어 보안상 안전한 메일이 되는 것입니다.

    수신자가 메일을 수신하면 아래와 같이 아웃룩에서 보안 메일임을 보여주고 확인 버튼을 누르면 복호화되어 메일 내용을 보여줍니다.

    사용자 삽입 이미지

    암호화된 SMIME 메일


    사용자 삽입 이미지

    복호화한 이후의 메일 내용



    지금까지 개인 인증서를 이용한 보안 메일 송수신에 대해 단계별로 설명하였습니다. 다음 편에서는 메라크 웹메일에서 개인 인증서를 이용하여 메일을 주고 받는 방법에 대해 소개할 예정이오니 많은 기대 바랍니다.


    by : http://www.softmail.co.kr

Posted by 컴투