원격 데스크톱 연결 – XP3 에서 윈도우즈 키 안먹힐 때..

윈도우즈 XP SP3로 오면서 Remote Desktop Connection tool(RDP Client)인 mstsc가 Ver. 6.0.6001로 업그레이드되면서 몇 가지 변경이 있다.

1. /console 옵션 대신 /admin 옵션을 사용한다는 것
2. 원격 접속된 컴퓨터에서의 Windows-key나 Alt-key 조합이 먹지 않는 것

1 번은 그렇다쳐도 2 번은 정말 불편하다-_-

업그레이드된 버전으로 어떻게 안되나 많이 시도해보았지만 결론은 안되는 듯 하다.
이를 위해 기존 5.2 클라이언트를 사용하기로 결정하고 검색해보았더니 프리웨어로 TSplus Portable RDP 5.2 client가 있다. 이를 이용해서 사용하면 된다.

NMake – Makefile 내부의 인라인 파일

NMake를 사용할 때 Makefile 내부에 파일을 내장해서(인라인 파일) 사용할 수 있다.
형식은 다음과 같다.

<<[Filename]
파일 내용
<<[KEEP or NOKEEP]

위와 같은 내용을 Makefile 내부에 써놓으면 << 들 사이의 내용이 파일로 저장되어 사용가능하게 된다. Filename 을 적으면 해당파일명으로 파일이 생성되고 적지 않으면 임의의 이름으로 임시파일이 생성된다. 또한, Make 세션 사용 후에 파일을 남겨두고 싶다면 KEEP을, 아니라면 NOKEEP 또는 아무것도 쓰지 않으면 된다.

파일 내용 안에는 $(변수) 등을 써두면 써둔 “$(변수)”가 아닌 변수로 치환되는 내용이 그대로 들어가므로 편리하다.

참고 : http://msdn.microsoft.com/ko-kr/library/seaaew50(VS.80).aspx

Python import 경로추가, 주석, 함수선언, Dictionary, List, Tuple

파이썬 문서고

Dive into Python

wxPython Tutorial(http://zetcode.com/wxpython/)
구글의 파이썬 튜토리얼 번역

import 경로 추가

import sys;
sys.path.append(‘/mypath’)

주석(문서화에 사용)

“”” 여

줄 주석 “””

함수 선언

def functionname(parameter):
    body

Dictionary : {, } 사용, 순서라는 개념 없음

dic = { <key1>:<value1>, <key2>:<value2> }

Dictionary Data 제거

del dic[<key>]

Dictionary의 모든 element 삭제

dic.clear()

List : [, ] 사용, 인덱스 사용. Element가 중복 존재 가능

li = [ <element1>, <element2> ]

음수 인덱스 사용가능. -1이 가장 끝

li[-1]

List slice

li[1:3] 1, 2번째 인덱스의 원소의 리스트를 새로 생성
li[:] 리스트의 복사본 생성

List 원소 추가

li.append(<element>)
li.insert(<index>, <element>)
li.extend(<list>)

List 검색
list 내의 가장 첫번째 원소의 index

li.index(<element>)

list 에 있는지 검사

<element> in li

List 에서 원소 제거

li.remove(<element>)

가장 마지막 원소 제거하면서 리턴

li.pop()

+ 연산자 : 새로운 리스트를 리턴(extend는 변경)

li = <list1> + <list2>

+= 연산자는 extend와 동일

li += <list>

* 는 반복자로 작동

li = <list> * 3

Tuple : (, ) 사용. 변경 불가능, append, extend, remove, pop, index는 없음, in 으로 검사는 가능, 리스트보다 빠름

tup = ( <element1>, <element2> )

DOS/Windows 프롬프트 환경에서의 Start 명령

DOS/Windows 환경의 배치파일(.bat)에서 여러 명령을 한꺼번에 수행하고 싶을 때 start란 명령을 사용한다고 한다.
도움말에서 나오는 소개는 “지정된 프로그램이나 명령을 별도의 창에서 시작합니다.” 라고 되어 있다.

start 명령에 대한 도움말은 /? 옵션을 통해 볼 수 있다.

실행하는 형식은 다음과 같다

START [“제목”] [/D경로] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/WAIT] [/B] [명령어/프로그램]
      [매개 변수]


많이 쓰이는 것으로 보이는 몇가지 옵션을 정리하자면

/D 시작 디렉토리 지정
/B 새 창을 만들지 않고 응용 프로그램 시작

예제

start /D”D:\Source” cmd

배치 파일에서 사용하면 여러 동작을 순차적이 아닌 한번에 시작할 수 있다.

참고 : 윈도우에서 여러 프로그램을 한 번에 실행시키는 팁 – 운명과시간의신

GNU make 확장자 규칙, 패턴 규칙

GNU Make에 대해서 아주 간략하면서도 핵심적인 내용들을 적어놓은 문서가 있길래 모르거나, 쓸 때마다 헷갈렸던 내용들을 정리해 둔다.

확장자 규칙, 패턴 규칙

전통적인 형식

.c.o:

gcc -c ${CFLAGS} $<

GNU make 확장 기능
%.o: %.c
gcc -c -o $@ ${CFLAGS} $<
기호 정리

$< 입력 파일, 콜론의 오른쪽에 오는 패턴을 치환
$@ 출력 파일, 콜론의 왼쪽에 오는 패턴을 치환
$* 입력 파일에서 확장자(.c, .s 등)을 떼어낸 파일명

예제

%_dbg.o: %.c
gcc -c -g -o $@ ${CFLAG} $<

DEBUG_OBJECTS = main_dbg.o edit_dbg.o

edimh_dbg: $(DEBUG_OBJECTS)

gcc -o $@ $(DEBUG_OBJECTS)
매크로 조건
예제
ifdef XPM
LINK_DEF = -DXPM
endif

$make XPM=yes


주의사항
타겟 아래의 명령에 대해서는 하나의 행이 각각의 쉘에서 실행됨. 순차적이 아님. 순차적인 실행을 원할 때는 ‘;’ 와 ‘\’ 를 이용.
예제
target:
cd obj ; \
HOST_DIR=/hom/e ; \
mv *.o $$HOST_DIR

윈도우 공유폴더 다른계정으로 로그인하기

 [출처] 윈도우 공유폴더 다른계정으로 로그인하기|작성자 미네르바

 윈도우 공유폴더를 “암호 저장”으로 접근할 경우 다른 사용자로 로그인하기 꽤 까다로운 것 같다. 간단한 방법을 예전에 알았던 듯 한데 기억이 나질 않는다.
 암호 저장 외에 공유 폴더를 다른 도메인으로 접근하고 싶을 때도 이 방법은 유용하게 쓰일 수 있다. 방법을 살펴보자.

 1. 기존 연결 보기 및 상태 저장

net use

 2. 기존 연결 끊기

net use <공유경로(e.g.\\192.168.0.1\IPC$)> /delete

 3. 새로운 연결 만들기

net use <공유경로(e.g.\\192.168.0.1\IPC$)> * /user:<도메인을 포함한 사용자이름(e.g.DOMAIN\USER)>