달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2020. 3. 11. 10:56

원격 데스크톱 연결 문제 Work/Etc2020. 3. 11. 10:56

Windows 10 에서 원격 데스크톱 연결시 로그인 성공 후, 검은 화면만 보이고 다른 반응이 없는 경우 발생.

해결은 그룹정책편집기(gpedit.msc) 를 실행 후 옵션을 조정하는 것으로 해결

 

환경

    A computer -> B computer 연결, A가 Client, B가 Host

 

해결

[RDP에서 TCP 프로토콜 강제하기]

* Client에서 설정 (A 에서 gpedit.msc)

    > 컴퓨터 구성 관리 템플릿 Windows 구성 요소 터미널 서비스 원격 데스크톱 연결 클라이언트  Turn Off UDP On Client (클라이언트에서 UDP 사용 안 함) 을 "사용" 으로 선택.

    > reboot

* Host에서 설정 (B에서 gpedit.msc)

    > 컴퓨터 구성 관리 템플릿 Windows 구성 요소 터미널 서비스 원격 데스크톱 세션 호스트 → 연결 Select RDP transport protocols(RDP 전송 프로토콜 선택) 을 "사용" 으로 선택 "전송 유형 선택" 하단의 "Use only TCP(TCP만 사용)" 를 선택.

    > reboot

 

[디스플레이 드라이버 관련]

* Host에서 설정 (B에서 gpedit.msc)

    > 로컬 컴퓨터 정책 → 컴퓨터 구성 → 관리 템플릿 → Windows 구성 요소 → 터미널 서비스 → 원격 데스크톱 세션 호스트 → 원격 세션 환경  원격 데스크톱 연결에 대해 WDDM 그래픽 디스플레이 드라이버 사용 을 "사용 안함" 으로 선택.

    > reboot

 

:
Posted by Elick
2011. 6. 10. 15:26

기술사 관련 link Work/Etc2011. 6. 10. 15:26

정보처리 기술사 관련 자료 사이트
 
독학하시는분 자료 정리 중
 
skc&C 기술사 공부방법
 
정보관리 기술사 공부방
 
정보관리 기술사 관련 컨설팅 페이지( 현 동향 이나 향후 방향등 설명 잘 되어있음)
 
기술사 관련 자료 사이트(합격방법 및 해설지...)
 
기술사 관련 자료 사이트(합격방법 및 해설지...)

출처
http://criuce.tistory.com/4242 
:
Posted by Elick
2011. 6. 9. 16:20

vi command Work/Etc2011. 6. 9. 16:20

vi 명령어
vi 에디터
 
1. 터미널의 타입 설정
% setenv TERM vt100     <= C 쉘의 경우
$ export TERM=vt100      <= Bourne 쉘 또는 Korn 쉘의 경우
 
2. 사용모드
vi 사용모드는 크게 입력모드(Insert mode)외 명령모드(command mode)로 나뉜다.
 
3. 입력모드
i : i 명령어를 이용하여 입력모드로 전환하게 되면 현재 커서가 있는 위치에서부터 문자입력을 시작할 수 있다.
a : a 명령어를 이용하면 현재 커서의 다음 위치에서 문자입력을 시작 할 수 있다.
o : o를 이용하면 현재 커서의 다음라인에 새로 한줄이 추가되면서 문자입력을 할 수 있다.
O : O의 경우에는 현재 커서의 윗라인에 새로 한줄이 추가되면서 문자입력을 할 수 있다.
 
4. 명령모드
입력모드에서 명령모드로 다시 전환하려면 'esc'키를 눌러주면 된다.
 
- 커서 이동 명령
h : 커서가 왼쪽으로 한 글자 이동
l : 커서가 오른쪽으로 한글자 이동
j : 커서가 다음 라인으로 이동
k : 커서가 위의 라인으로 이동
Ctrl-f : 컨트롤키와 f 키를 누르면 커서가 다음(아래) 화면으로 이동
Ctrl-b : 커서가 이전(위) 화면으로 이동
Ctrl-d : 커서가 화면의 반만큼 다음으로 이동
Ctrl-u : 커서가 화면의 반만큼 위로 이동
 
- 텍스트 삭제 명령
x : 현재 커서의 다음 글자를 하나 삭제
dd : 커서가 위치한 라인을 삭제
dw : 커서가 위치한 단어를 삭제
u : 마지막에 실행했던 명령을 취소
 
- 텍스트 추가 수정
r : 커서의 문자를 다른 문자로 변환할 수 있도록 만듦
s : 하나의 문자를 수정할 수 있도록 해주는데 입력모드로 모드가 변경됨
cw : 커서의 단어를 다른 단어로 변환할 수 있도록 해줌
cc : 커서의 전체 행을 다른 내용으로 변환할 수 있도록 해줌
J : 커서의 라인과 다음 라인을 합칠 떄 사용
 
- 텍스트 복사(copy) 붙여넣기(paste)
yy : 커서가 위치한 라인 전체 copy
숫자yy : 커서 아래로 숫자만큼의 라인 수 copy
yw : 커서가 있는 단어 copy
y$ : 커서부터 라인 끝까지 copy
y^ : 커서부터 라인 처음까지 copy
p : copy한 내용을 커서 다음 라인에 붙여넣기 (paste)
 
- 텍스트 문자열 검색
/ : 명령모드에서 / 를 치게되면 화면에서 제일 마지막 줄에 커서가 위치하게 되는데 이때 검색어를 넣고 Enter 키를 치면됨
그리고 나면 검색어와 동일한 문자나 문자열이 있는 곳에 커서가 위치하게 된다.
만일 더 검색하고자 하면 n이나 N 키워드를 이용하면 된다. n은 커서의 아래로 검색, N은 커서 위로 검색됨
 
5. 콜론모드
명령모드 상에서 콜론(:)을 누르게 되면 화면 제일 하단에 커서가 위치하면서 명령어를 입력받는 모드로 변하게 됨
 
:w :지금까지 편집한 내용을 파일로 저장하게 됨. w 뒤에 파일명을 입력하면 해당 파일에 저장 됨
:q : vi가 종료된다. 만일 저장되지 않은 내용이 있으면 저장되지 않았다고 경고 메시지기가 나오며, 저장상태와 상관없이 종료하기를 원하면 :q! 를 사용하면 된다.
:wq : 편집한 내용을 저장하고 종료한다
:e filename : 편집하고자 하는 파일을 불러온다
:f filename : 해당 파일의 내용이 삽입된다.
 
- 콜론 모드 상에서 쉘 명령어 실행
일반 명령 모드에서 콜론을 눌러 콜론 모드로 진입한 다음 !명령어 또는 !sh 를 사용하면 된다.
이렇게 하면 vi를 종료하지 않고도 원하는 명령을 실행시킬 수 있다.
이 때 :!명령어 를 사용한 경우에는 명령이 실행된 다음 엔터키를 누르면 vi 에디터를 다시 사용할 수 있다.
:!sh 를 사용하게 되면, vi 에디터에서 빠져나와 쉘 프롬프트가 나타나게 된다. 이 상태에서 원하는 명령어들을 실행시키면 된다. 원하는 작업을 수행한다음 exit 명령을 실행시키면 이전 vi 화면으로 복귀된다.
 
- 콜론모드에서 문자열 변환 방법
만일 파일 속에 있는 모든 abcde 문자열을 fghij로 바꾸고 싶으면 다음과 같다
:1,$/abcde/fghij/g
위의 문장에서 1,$는 문서의 시작과 끝을 명시한 것이고 s 는 변환을 의미하는 키워드이며 abcde 는 원래의 문자열을 그리고 fghij는 새롭게 바꾸고자 하는 문자열을 의미한다. 마지막 g 키워드는 한 행에 abcde가 여러개 있을 때 모든 것을 fghij로 바꾸라는 것을 지정한 것이다.
 
- 콜론모드에서 vi 에디터 환경 설정
:set number <= 또는 :set nu  : 에디터에 라인넘버가 왼쪽에 오게 만든다
:set nonumber <= 또는 : set nonu :에디터에 라인넘버가 사라진다
:set all : vi 에디터의 환경변수들을 모두 본다
 
- vi 에디터 환경 변수들
autowrite(aw) : 쉘로 빠져나간다든지 할 때 파일을 저장시킨다.
autoident(ai) : 탭으로 들여쓰기를 할 때 그 범위등을 지정한다.
showmatch(sm) : 괄호가 닫히는 곳에 커서가 위치하면 괄호가 시작되는 곳을 알려준다.
ignorecase(ic) : 문자열을 검색하거나 할 때 대소문자를 구분하지 않도록 한다.
:
Posted by Elick
2011. 3. 25. 17:23

Windows7 BCDEDIT Work/Etc2011. 3. 25. 17:23

- BCDEDIT의 기본
bcdedit의 기본은 역시 관리자 권한입니다. 관리자 권한으로 명령 프롬프트를 실행해야 bcdedit을 사용할 수 있습니다. 그리고 뒤에 /? 붙이시면 도움말이 나오니 궁금한 점이 있으시면 도움말을 잘 활용해보세요.


- 비스타, 세븐 부팅메뉴 추가하기
기존 항목을 복사한 다음 일부만 수정해주는 방법이 있고, 완전 새로 만드는 방법이 있습니다. 또한 윈도우 7에서는 Bcdboot 명령어를 이용해 간단히 처리할 수도 있습니다. 하지만 여기서는 수동으로 만드는 방법에 대해 설명드리겠습니다. bcdedit 사용법에 대해 설명드리는 글이니까요. 추가할 윈도우 7은 E 드라이브에 존재한다고 가정하겠습니다.

bcdedit /create /application OSLOADER /d "Windows 7 Ultimate K x64"

위 예처럼 /create /application OSLOADER 를 이용하면 윈도우 부팅 로더를 하나 만들 수 있습니다. /d 뒤에는 메뉴 이름을 적어주시면 됩니다. 이렇게 명령어를 넣으면 {132b80fe-790a-11df-b168-a80a0ebf9332} 처럼 생긴 {GUID}가 반환되는데 (이름은 랜덤으로 생성) 아래 명렁어부터는 이 부분을 {GUID} 라고 적겠습니다. 실제로 작업하실 때는 {GUID} 부분에 {132b80fe-790a-11df-b168-a80a0ebf9332} 처럼 직접 입력하셔야 합니다.

bcdedit /set {GUID} device partition=E:
bcdedit /set {GUID} osdevice partition=E:
bcdedit /set {GUID} path \Windows\system32\winload.exe
bcdedit /set {GUID} locale ko-KR
bcdedit /set {GUID} inherit {bootloadersettings}
bcdedit /set {GUID} recoverysequence {메롱}
bcdedit /set {GUID} recoveryenabled Yes
bcdedit /set {GUID} systemroot \Windows
bcdedit /set {GUID} nx OptIn
bcdedit /displayorder {GUID} /addlast

이렇게 하시면 E 드라이브에 있는 윈도우 7이 부팅 메뉴에 등록됩니다. 파란색 부분은 F8 복구모드에 관한 내용인데 일단 생략하세요. 뒤쪽에 가서 다루겠습니다.


- 윈도우 XP 부팅메뉴 추가하기
XP는 메뉴만 추가한다고 되는게 아니고 NTLDR, NTDETECT.COM, BOOT.INI 파일도 시스템 파티션에 복사를 해와야 합니다. 이건 여기서 다루지 않고 예전에 포스팅했던 글로 대체하겠습니다.



- VHD 파일 부팅메뉴 추가하기
VHD 파일도 처음에 설명드렸던 방법과 비슷합니다. E 드라이브 VHD 폴더 안에 win7.vhd 파일이 존재한다고 가정하고 진행하겠습니다.

bcdedit /create /application OSLOADER /d "Windows 7 VHD Boot"

bcdedit /set {GUID} device vhd=[E:]\vhd\win7.vhd
bcdedit /set {GUID} osdevice vhd=[E:]\vhd\win7.vhd
bcdedit /set {GUID} path \Windows\system32\winload.exe
bcdedit /set {GUID} locale ko-KR
bcdedit /set {GUID} inherit {bootloadersettings}
bcdedit /set {GUID} systemroot \Windows
bcdedit /set {GUID} nx OptIn
bcdedit /set {GUID} detecthal Yes
bcdedit /displayorder {GUID} /addlast

여기서는 F8 복구모드 항목을 빼버렸습니다. 그 이유는 나중에 설명드리겠습니다. detecthal Yes 정도만 추가되었다고 보시면 되겠네요.


- 항목 복사하기
제가 위에서 기존 항목을 복사한 다음 일부만 수정해주는 방법이 있다고 했는데 윈도우 7이 설치된 상태에서 윈도우 비스타를 추가하려는 경우 앞에서 설명드린 방법처럼 수동으로 일일이 만들어도 되겠지만 그냥 윈도우 7의 항목을 그대로 복사한 다음 경로만 수정해주셔도 별 문제는 없습니다.

bcdedit /copy {복사해올 항목의 GUID} /d "Windows Vista Ultimate K x64"

bcdedit /set {GUID} device partition=E:
bcdedit /set {GUID} osdevice partition=E:

이런 식으로 현재 C 드라이브에서 구동중인 윈도우 7 부팅항목을 그대로 하나 복사한 다음 E 드라이브에 존재하는 비스타를 위해 위치만 변경해주는 식으로 해도 됩니다.


- 이름 바꾸기
description 항목을 변경하시면 됩니다. 예를 들어 Windows 7 이라는 기본 영문 이름이 마음에 들지 않는다면

bcdedit /set {GUID} description "윈도우 7"


- 기본으로 부팅될 항목 설정
뭐 이런건 msconfig에서 하셔도 되겠지만...

bcdedit /default {GUID}


- 멀티부팅 시간 정하기

bcdedit /timeout 3


- 메뉴 순서 변경하기

bcdedit /displayorder {GUID1} {GUID2} {GUID3} {GUID4}

특정 항목만 지정해서 처음으로, 끝으로 보내려면 /addfirst, /addlast 등을 붙이면 됩니다.


- 메뉴 삭제하기

bcdedit /delete {GUID} /cleanup /f


- /enum all
중급자 분들은 이거 하나만 해보셔도 그동안 궁금해했던 부분들이 다 풀릴 것입니다. 여기에 모든 비밀이 다 숨겨져 있습니다.


- inherit
정확히는 잘 모르겠습니다. 상속이라고 하니 지정한 항목에서 속성을 물려받는다는 말 같은데... 별 필요는 없다고 봅니다.


- resumeobject
최대절전모드를 지정합니다. 여기에 나와있는 {GUID}의 내용을 직접 확인해보시려면

bcdedit /enum {GUID}

아래는 VMware에 설치된 윈도우 7의 resumeobject 항목의 예입니다.

최대 절전 모드에서 다시 시작
---------------------
identifier              {132b80fa-790a-11df-b168-a80a0ebf9332}
device                  partition=C:
path                    \Windows\system32\winresume.exe
description             Windows Resume Application
locale                  ko-KR
inherit                 {resumeloadersettings}
filedevice              partition=C:
filepath                \hiberfil.sys
pae                     Yes
debugoptionenabled      No

만약 최대절전모드를 사용하지 않는다면 resumeobject 항목은 필요가 없는 것이고 만약 필요한데 항목이 없다면 직접 위 예처럼 하나 만들어 주시면 되겠지요.

bcdedit /create /application RESUME /d "Windows Resume Application"

bcdedit /set {GUID} device partition=C:
bcdedit /set {GUID} path \Windows\system32\winresume.exe
bcdedit /set {GUID} locale ko-KR
bcdedit /set {GUID} inherit {resumeloadersettings}
bcdedit /set {GUID} filedevice partition=C:
bcdedit /set {GUID} filepath \hiberfil.sys
bcdedit /set {GUID} pae Yes
bcdedit /set {GUID} debugoptionenabled No

만약에 다른 RESUME 항목이 있다면 /copy 로 복사하거나 그놈을 직접 resumeobject 의 {GUID}로 지정해버려도 되겠습니다. 저는 최대절전모드를 사용하지 않으니 대충 이정도만 설명드리겠습니다.


- nx OptIn
DEP 설정입니다. OptIn이 기본값입니다. AlwaysOff 하시면 DEP를 끕니다.


- F8 복구모드 이야기
일반적으로 F8 복구모드는 있어야 정상인데 없는 경우 수동으로 등록시켜주시면 됩니다. 사실 이것도 알고 보니 별거 없었습니다. 아래 예는 VMware에 설치한 순수 윈도우 7 기준입니다.

Windows 부팅 로더
-------------------
identifier              {132b80fc-790a-11df-b168-a80a0ebf9332}
device                  ramdisk=[C:]\Recovery\132b80fc-790a-11df-b168-a80a0ebf93
32\Winre.wim,{132b80fd-790a-11df-b168-a80a0ebf9332}
path                    \windows\system32\winload.exe
description             Windows Recovery Environment
inherit                 {bootloadersettings}
osdevice                ramdisk=[C:]\Recovery\132b80fc-790a-11df-b168-a80a0ebf93
32\Winre.wim,{132b80fd-790a-11df-b168-a80a0ebf9332}
systemroot              \windows
nx                      OptIn
winpe                   Yes

장치 옵션
--------------
identifier              {132b80fd-790a-11df-b168-a80a0ebf9332}
description             Ramdisk Options
ramdisksdidevice        partition=C:
ramdisksdipath          \Recovery\132b80fc-790a-11df-b168-a80a0ebf9332\boot.sdi

결국 Recovery 폴더에 들어있는 Winre.wim 파일을 램디스크 옵션을 사용해 PE 부팅 시키는거죠.
만약 F8 복구모드가 없는 경우라면 아래 두 글을 참조하시면 해결될겁니다.

2010/03/03 - [Windows 7] - 윈도우 7 F8 컴퓨터 복구 모드가 없는 경우
2010/03/05 - [Windows 7] - 윈도우 7 F8 컴퓨터 복구 모드가 없는 경우 2탄

제가 VHD 부팅에서는 F8 복구모드 부분을 빼버렸다고 했습니다. 왜냐하면 VHD 안에 boot.sdi 파일이 들어있기 때문에 사실상 VHD에선 F8 복구모드를 이용할 수 없는게 정상이기 때문입니다. 굳이 이용하려면 boot.sdi 파일을 VHD 외부에 두고 램디스크 옵션을 만든 다음 VHD 안에 있는 WinRE.wim 파일을 로딩해야 합니다. 아니면 아예 둘다 바깥에 빼버리든가, F8 복구모드 따위 필요없고 직접 boot.wim 파일을 멀티부팅 메뉴에 등록해두는게 더 편하겠지요.


- BCD 새로 생성하기
BCD가 존재하지 않는 비어있는 파티션에 BCD를 생성하는 명령어입니다. 일단 보기좋게 BOOT 폴더를 하나 만드는게 좋겠죠. 저는 E 드라이브에 BOOT 폴더를 만들어 거기에 생성해보겠습니다.

md e:\boot
bcdedit /createstore e:\boot\bcd
bcdedit /store e:\boot\bcd /create {bootmgr} /d "Windows Boot Manager"
bcdedit /store e:\boot\bcd /set {bootmgr} device partition=E:
bcdedit /store e:\boot\bcd /set {bootmgr} locale ko-KR

딱 이정도만 해주시면 되는데 파일이 2개 필요합니다. 일단 bootmgr 파일이 E 드라이브 루트에 있어야겠지요? 또한 로케일을 ko-KR로 지정했다면 (메뉴 한글로 나오라고) bootmgr.exe.mui 파일을 e:\boot\ko-KR 폴더를 만들어 그 안에 복사해야 합니다. bootmgr.exe.mui 파일은 C:\Windows\Boot\PCAT\ko-KR 폴더 안에 들어있습니다.

그런데 윈도우 7 설치시 자동으로 만들어주는 BCD와 이렇게 수동으로 만든 BCD는 차이가 매우 큽니다. 자동으로 만들때는 잡다한 {memdiag}, {emssettings}, {dbgsettings}, {badmemory}, {globalsettings}, {bootloadersettings}, {hypervisorsettings}, {resumeloadersettings} 등이 생성되는데 수동으로 이렇게 만들면 그게 없으니까요. 하지만 제 생각에 이것들은 없어도 그만으로 보입니다.


- BCD 위치 지정
바로 위에서 설명드린 BCD 생성하기를 보면 /store 옵션이 있습니다. 현재 부팅해서 사용중인 윈도우의 BCD가 아니라 새로 생성하거나 백업해두었거나 DVD 부팅용 메뉴를 편집하려 한다면 /store 옵션을 붙여서 직접 BCD의 위치를 지정해서 편집하시면 됩니다.


- BCD 백업과 복원
마지막으로 BCD 설정을 파일로 백업하거나, 파일로부터 설정을 복구하는 방법입니다.

bcdedit /export e:\bcdbackup\bcd

물론 위 경우라면 E 드라이브에 backupbcd 폴더는 먼저 만들어놔야 합니다. 이렇게 하시면 현재 BCD 설정이 저 파일에 백업됩니다. 이게 단순히 BCD 파일을 복사하는 것과 차이가 있는지는 잘 모르겠습니다.

bcdedit /import e:\bcdbackup\bcd

위 백업파일로부터 BCD를 가져옵니다. 이때 기존 설정은 다 날아가고 새로 가져온 설정만 남게 됩니다.

원문 :  http://snoopybox.co.kr/1353
:
Posted by Elick
2011. 3. 11. 11:47

함수 비교 (substr, substring) Work/Etc2011. 3. 11. 11:47

처리해야 될 작업발생 :  mdb(ms access)로 되어 있는 Query들을 Oracle로 이관.

LEFT, RIGHT 함수에 대해서 Oracle에서 지원을 하지 않는다!!


http://www.techonthenet.com/oracle/functions/substr.php


위 링크에서 확인할 수 있듯이 substr 함수는 

    substr( string, start_position, [ length ] )

위와 같이 사용하면 되는데... 이 때 start_position 에 음수/양수 사용으로 방향이 결정.

양수를 사용하면 처음부터 시작해서 길이만큼 세고, 음수를 사용하면 뒤부터 시작해서 거꾸로 길이만큼 센다.

이 기능이면 충분히 LEFT, RIGHT 를 대체가능!!



[DB마다 비교]


SQL Server 질의 : 결과

SELECT SUBSTRING('123456789', 0, 3) : 12

SELECT SUBSTRING('123456789', -3, 5) : 1


Oracle 질의 : 결과

SELECT SUBSTR('123456789', 0, 3) : 123 -- Oracle은 start_position 1과 0을 같은 것으로 간주합니다.

SELECT SUBSTR('123456789', -3, 5) : 789 -- 뒤에서 3번째 글자 부터 5글자 이므로...


PostgreSQL 질의 : 결과

SELECT SUBSTRING('123456789', 0, 3) : 12

SELECT SUBSTRING('123456789', -3, 5) : 1


:
Posted by Elick
cmd 에서 service를 시작 / 중지 등을 하고 싶은 경우가 있다.

서비스 시작 : net start [서비스 이름]
서비스 중지 : net stop [서비스 이름]

별거 아니지만 찾으려니까 없었다.. ㅠㅠ

File bacup 시 xcopy 를 사용하는데 주로 사용하는 option 은 아래와 같다.
/D : 지정된 날짜 이후에 바뀐 파일만 복사합니다. 날짜가 지정되지 않으면, 대상 파일보다 새로운 원본 파일만 복사합니다.
/S : 비어 있지 않은 디렉터리와 하위 디렉터리를 복사합니다.
/F : 복사하는 동안 원본과 대상 파일의 전체 경로 를 표시합니다.
/Y : 이미 있는 대상 파일을 덮어쓸지를 확인하기 위해 묻는 것을 금합니다.
:
Posted by Elick
6분정도... 짧지만, 괜찮은 강의였습니다.

동영상 보기

세상은 갑, 을... 이것이 소프트웨어 엔지니어의 가장 큰 문제다.
을을 기술로 안보고 노동으로 보는 문화.
잘못된 롤모델 : 스티브잡스, 빌게이츠... 소프트웨어 엔지니어를 이들같은 천재로 본다.

문제
FDD (Faith-Driven Development) : 신념에 기반한 개발 -> 걸레같은 소스를 만들고 에러가 없어야 한다고 기도한다.
관성화된 야근. 
준비되지 않은 팀장. 

해결
회사에 자산을 남겨야 한다.(소스, 문서)
나중에는 아키텍트가 될수 있게 준비해야 한다.
Test-Driven Development 를 해야 한다.
우리가 만든 소스를 반드시 다시 읽어봐야 한다.
한국은 도구 사용률 최하.
성실한 시간관리
자기 포트폴리오 확인. -> 어제 못했지만 오늘 할 수 있게 된 일을 확인하라
인간에 대한 이해 : 인문학 공부
공부를 열심히 : 죽도록 공부해도 죽지 않는다.

목표
작품이 아니라 제품을 만들어야한다. 인간이 이해할 수 있는 것이 시장에 팔린다.

목표달성을 위한 세가지
인간/기술의 융합, 개인의 창의력, 그리고 갑이되어도 을을 잊지 않는 협동.
:
Posted by Elick
2011. 1. 17. 18:09

MAME Work/Etc2011. 1. 17. 18:09

Overview
MAME(Multiple Arcade Machine Emulator, 다중 아케이드 기계 에뮬레이터)는 아케이드 게임 에뮬레이터로써 아케이드 게임 시스템의 하드웨어를 소프트웨어로 구현하고 있다.  이는 고전게임을 보존하자는 의도에서 시작된 프로젝트이다. 한국에서는 MAME를 “마메”라고 잘못 표기하는 경우가 있으나, 영어로 MAME 프로젝트의 발음을 (pronounced 'Maim' in English)라고 공식적으로 밝히고 있는 것과 같이 한국어의 표기로는 “마임”이라고 읽고 표기해야 한다. 한국에서는 온라인을 통해 공식적으로 PC통신인 나우누리의 PGF(순수 게임 사랑) 동호회를 통해 처음 소개되었고, 이후 PGF(순수 게임 사랑) 동호회 내의 ELF(Emul Love Forum)을 통해 널리 알려지게 되었다.

1997년 2월 5일, 니콜라 살모리아(Nicola Salmoria)가 최초의 MAME를 공개했으며 버전은 0.1이었다. 
2009년 6월 8일 현재 버전은 0.132로 4191개의 게임과 8099개의 롬 이미지를 지원하며, 지원되는 게임은 계속 늘어나고 있다. 
그러나 배포된 모든 롬이 실행 가능한 것은 아니다. 가령 0.131 버전에서는 1141개의 롬이 동작하지 않는 것으로 나오며, 45개는 게임이 아닌 BIOS롬이다. 이 프로젝트는 현재 아론 길레스(Aaron Giles)가 지휘하고 있다.

법적인 문제
에뮬레이터를 제작하고 배포하는 것은 원칙적으로 가능하다. 몇몇 회사(가령 소니)들이 이를 금지하고 소송을 걸려고 노력하였으나, 궁극적으로는 실패했다. 그러나 게임 이미지, 즉 게임 롬 파일을 배포하는 것은 문제가 있을 수 있다. 게임들이 제작되고 판매된지 시간이 지났고, 지금은 게임센터에서 찾을 수 없는 게임이거나 판매되지 않는 게임이라 할지라도 저작권이 소멸하지 않은 경우가 많다. 몇몇 게임 회사는 시간이 지난 게임 롬 파일을 비상업적인 용도에 한정하여 공개하는 경우도 있고 이 경우에는 MAME 프로젝트 홈페이지에서 직접 다운받을 수도 있다.

MAME 라이센스
MAME는 소스코드까지 포함해 무료로 제공되고 있지만, 상업적 사용과 재배포는 제한되어 있어서 자유 소프트웨어는 아니다.  즉, 공개 소스 정의의 조건을 만족하지 않고 있으며, 자유 소프트웨어 재단에서 정의한 "자유 소프트웨어"에도 맞지 않는다. 사실, MAME는 수정되었든 수정되지 않았든, 소스 형식이든 바이너리 형식이든 상관없이 배포가 가능하다.  단, 재배포판을 팔아서는 안되고 상업적인 상품이나 활동에 포함되어서도 안된다.

사용법
MamePlus, MamePlusPlus 등등 어떠한 형태로든 Emulator의 압축을 해제하고 바로 실행하면 된다.
네트워크 게임을 위해서는 카일레라 라는 서버 프로그램을 설치하여 구동하면 된다.
역시 설치 및 구동은 복사->압축해제 이다.
kailleraclient.dll, kaillerasrv.exe, kaillerasrv.conf 등을 적절한 경로에 복사한 후 Emulator console에서 [Start kaillera Server] 를 선택하기만 하면 된다.
kaillerasrv.conf 역시 적절히 편집해 주어야 한다.
적절한 경로의 예)
{MameHome}\kailleraclient.dll
{MameHome}\kaillera\kaillerasrv.exe
{MameHome}\kaillera\kaillerasrv.conf

kaillerasrv.conf 를 열어보면 편집을 어떻게 해야 하는지 잘 설명되어 있다.

자세한 설치 및 구동은 Internet에 널리고 널렸으므로 생략한다.

Reference
Mame Project : http://mamedev.org/
정리가 잘되어 있는 한국 개인 Blog : http://mamegame.tistory.com/102
:
Posted by Elick