2009년 9월 5일 토요일

영문 논문 읽는 법

물리학/수학의 현재 대세는 미국이다. 미국이 좋건 싫건, 연구비 가장 많이 퍼주고 가장 많이 연구하는데가 미국이라는 거다. 따라서 연구하는 언어의 대세 역시 미국이다. 한국이 대세로 올라서기 전 까지는 좋은 논문은 전부 영어로 쓰여질 것이다.
그런 의미에서, 영어로 된 논문을 읽는 방법을 적어둔다. 물론 이건 그냥 내가 논문을 읽으면서 느낀 점들이다.

1. 일단 제목과 Abstract(요약)을 읽는다.
제목이나 제목에 쓰인 단어가 뭔지 모르겠다면, 안읽어도 된다. 교수님이 읽으라고 시켰으면 읽어야겠지만...;
기본적으로 논문을 읽으려면 최소한 학부(undergraduate school) 수준의 지식은 있어야 한다. 안그러면 안습...
제목이 뭔지 이해했으면, Abstract도 읽어본다. Abstract은 논문을 다 읽을 시간이 없을 때 급히 읽을 수 있는 수준의 아주 간단한 요약이다. 대강 어떤 단어들이 논문에서 등장할지 생각해보고, 내가 그 단어들의 개념을 알고 있는지 점검한다. 이렇게 점검하면, 적어도 본문을 읽으면서 받게 될 심리적 압박이랑 충격은 좀 덜하다. 다 읽었는데 하나도 모르겠어도, 단어가 어려워서 못 이해했다는 핑계가 나오기 때문이다. 이 부분은 뒤에 다시 설명해보도록 하겠다.

2. Introduction을 가장 자세하게 읽어야 한다.
논문 전체를 자세하게 읽는건 당연하겠지만, 그중 가장 중요한 것은 역시 처음의 Introduction이랑 마지막의 Conclusion and Discussion이다. 이 부분들은 논문에서 주장하는 것을 명확하게 하는 부분(Introduction)과 뭘 주장했는지 요약하는 부분 (Conclusion and DIscussion)이기 때문에 정확하고 상세하게 이해할 필요가 있다.

3. 나머지 부분은 대충 읽어보자.
물론 논문을 대충 읽으라는 소리는 아니다. 소개와 결론을 대강 알고 있다면 중간 부분을 훑어보면서 저자의 아이디어가 뭔지 대강 감을 잡는 거다.
여기까지 읽었으면 적어도 논문에서 주장하는게 무슨 얘기이고 대강 어떤 논리와 아이디어를 썼는지 짐작할 수 있다. 그런 후에 전체를 정확하게 읽는 거다.

4. Definition을 정확하게 알아두자.
우리말로는 "힘"에 해당하는 force와 power는 물리학에서는 그 정의(Definition)가 다르다. 제대로 알아두지 않으면 무진장 헷갈리는 단어가 엄청 많을 것이다. 그리고 물리학에서의 power는 일률을 말하지만 수학에서 power는 지수를 뜻한다. 또, 지수를 뜻하는 말은 exponent가 있다. 더군다나 우리말로는 둘 다 지수이지만 실제 사용은 power와 exponent가 살짝 다르다. 따라서 그 논문에서 이야기하고 있는 정의를 정확하게 알고 이해하자.

5. "간단한 계산을 해보면..."에 속지 말자.
정말 간단한 계산도 많지만, 가끔가다가 수십~수백장의 적분을 해야 유도되는 결론을 "이 결과는 적절한 적분으로부터 간단히 유도된다"고 주장하는 사람도 있다. 이런 계산 따라가다보면 초 난감하다. 수학이라면 다 검증하는 것도 의미가 있겠지만, 물리학이라면 일단 받아들이고 넘어가주자. 물론 일단 받아들이고 넘어갔는데 그 결과가 틀린 것으로 판명났을 때 몰아치는 후폭풍은 전부 자신의 몫이다. 시간이 없다면 조금 대충 넘어가는 것도 좋다. 그러나 시간이 있다면 귀찮더라도 제대로 계산을 따라가 주는게 좋다.

6. 정말정말 모르겠으면 저자에게 연락해본다.
봐도, 봐도, 봐도, 봐도 모르겠다면 논문에 적혀있는 저자의 이메일로 연락을 취해본다. 물론 한국인이 아니라면 영어로 편지를 써야 할 것이고, 주변 사람들에게 물어봐서 정중한 표현이 어떤건지 알아봐야 할 것이다.
하루에 질문을 수십개씩 받는 초 유명 과학자가 아니라면 대부분의 경우 친절하게 설명을 해 주거나 적어도 어떤 논문을 더 참고해야 하는지 정도는 알려줄 것이다.

7. 이해했다고 생각이 되면, 다른 사람에게 설명해본다.
논문을 둘이 같이 읽고서 이해할 정도가 되었다면, 논문을 정말 이해했다고 봐도 좋다. 적어도 다른 사람과 토론하다보면 이해가 깊어지는 일이 있으므로 꼭 토론을 해 보도록 하자.

8. 겁내지 마라.
가장 중요한 건데, 논문이 길거나, 단어가 어렵다고 겁내면 안된다. 과학, 수학에서 어려운 단어는 대부분 명사다. 따라서 주어이거나 목적어이거나 보어일 뿐이다. 게다가 과학/수학에 사용되는 명사는 대부분 그냥 그런 이름으로 불리워 지는 어떤 개념인 경우가 많다. 따라서 그냥 그런게 있나보다 하고 넘어가면 된다.
문장이 엄청나게 길어지는 경우가 가끔 있다(한 문장이 5~6줄 정도?). 이 경우는 일단 주어-동사 관계만 전부 찾아서 해석하고나서 나머지를 이해하면 된다.

출처: 멜로토피아

논문 쓸 때 몇가지 자주 쓰는 구절들...

수년간의 노력 끝에 나는 드디어 과학계의 전문용어들을 익혔다.
다음의 인용문과 그 실제의 뜻에 대한 해설은 과학/의학분야에서 사용하는 신비한 언어들에 대한 이해에 도움을 줄 것이다.

▶IT HAS LONG BEEN KNOWN = I didn't look up the original reference.
오래전부터 알려져 왔던 대로 = 원전을 찾아보지 않았다.

▶A DEFINITE TREND IS EVIDENT = These data are practically meaningless.
뚜렷한 경향이 드러나듯이 = 이 데이터는 아무 의미없다.

▶WHILE IT HAS NOT BEEN POSSIBLE TO PROVIDE DEFINITE ANSWERS TO THE QUESTIONS = An unsuccessful experiment, but I still hope to get it published.
이런 의문점들에 대한 명확한 해답을 구한다는 것에 어려움이 따르지만 = 실험은 실패했지만 그래도 논문으로 내야겠다.

▶THREE OF THE SAMPLES WERE CHOOSEN FOR DETAILED STUDY = The other results didn't make any sense.
샘플 중에서 세 개를 선택하여 분석하였습니다 = 나머지 샘플은 해석이 불가능했다.

▶TYPICAL RESULTS ARE SHOWN = This is the prettiest graph.
대표적인 결과값들을 표시하였습니다 = 이 그래프가 제일 이쁘죠.

▶THESE RESULTS WILL BE IN A SUBSEQUENT REPORT = I might get around to this sometime, if pushed/funded.
그것에 대한 결과는 차후의 논문에서 다루어질 것이며 = 연구비 제대로 받으면 언젠가 쓸 생각입니다.

▶THE MOST RELIABLE RESULTS ARE OBTAINED BY JONES = He was my graduate student, his grade depended on this.
가장 신뢰할만한 결과는 Jones의 실험에서 얻어진 것으로 = 그는 내 밑에 있는 대학원생이었고, 학점을 받으려면 그 실험을 할 수밖에 없었다.

▶IN MY EXPERINCE = once
제 경험에 따르면 = 한번.

▶IN CASE AFTER CASE = Twice
여러 사례를 보면 = 두 번.

▶IN A SERIES OF CASES = Thrice
일련의 사례들을 보면 = 세 번.

▶IT IS BELIEVED THAT = I think.
…라고 추정되어지며 = 내 생각에는.

▶IT IS GENERALLY BELIEVED THAT = A couple of other guys think so too.
일반적으로 받아들여지듯이 = 나 말고도 몇 명 더 그렇게 생각한다.

▶CORRECT WITHIN AN ORDER OF MAGNITUDE = Wrong.
오차를 허용하는 범위 내에서 참이며 = 틀렸다.

▶ACCORDING TO STATISTICAL ANALYSIS = Rumorhas it.
통계학적 분석에 따르면 = 소문에 따르면,

▶A STATISTICALLY ORIENTED PROJETION OF THE SIGNIFICANCE OF THESE FINDINGS = A wild guess.
이 실험결과를 통계학적 관점에 따라 해석해 보면 = 적당히 때려맞춰 보면.

▶A CAREFUL ANALYSIS OF OBTAINABLE DATA = Three pages of notes were obliterated when I knocked over a glass of beer.
데이터 중에서 입수 가능한 것들을 조심스럽게 분석해 보면 = 맥주를 엎지르는 바람에 데이터를 적은 노트 3장을 날려먹었다.

▶ITIS CLEAR THAT MUCH ADDITIONAL WORK WILL BE REQUIRED BEFORE A COMPLETE UNDERSTANDING OF THIS PHENOMENON OCCURS = I don't understand it.
이 현상에 대한 완벽한 이해가 이루어지기 위해서는 후속적인 연구 작업이 이루어져야 할 것이라고 생각되는 바이며 = 이해할 수 없었다.

▶AFTER ADDITIONAL STUDY BY MY COLLEAGUES = They don't understand it either.
동료 학자들에 의한 추가적 연구가 이루어진 다음에 = 그들도 역시 이해하지 못했다.

▶THANKS ARE DUE TO JOE BLOTZ FOR ASSISTANCE WITH THE EXPERIMENT AND TO ANDREA SCHAEFFER FOR VALUABLE DISCUSSIONS = Mr. Blotz did the work and Ms. Shaeffer explained to me what it meant.
실험에 도움을 준 Joe Blotz와 의미있는 토론에 동참해 준 Andrea Schaeffer에게 감사드립니다 = 실험은 Blotz군이 다 했고, 그 실험이 도대체 뭐하는 건지 Schaeffer 양이 모두 설명해 주었다.

▶A HIGHLY SIGNIFICANT AREA FOR EXPLORATORY STUDY = A totally useless topic selected by my committee.
탐구할만한 가치를 갖는 매우 의미있는 분야라고 생각되며 = 학회에서 정해준, 아무짝에도 쓸모없는 연구주제.

▶IT IS HOPED THAT THIS STUDY WILL STIMULATE FURTHER INVESTIGATION IN THIS FIELD = I quit.
저의 논문이 이 분야에 있어서의 추가적 연구들에 자극이 되기를 바랍니다 = 저는 그만둘래요.

출처: 불명~

2009년 9월 2일 수요일

Appliance Creator을 이용하여 ThinCrust를 빌드하기

Appliance Builder로 여러가지가 존재하지만 rPath를 일단 유료고 오픈소스가 아니기 때문에 오픈소스이면서 무료인 ThinCrust에 대하여 알아보는 시간을 가졌다.

일단은 Appliance Creator을 이용하여 ThinCrust를 빌드하는 과정에 대하여 간단히 알아보도록 하자.

Appliance Creator Tool와 kickstart 파일을 이용하여 AOS(Appliance Operating System)이나 custom appliance들을 빌드 해낼 수가 있다.

이것을 진행하기 위하여 appliance-tools 패키지와 virt tools를 설치하여 가상화된 appliance들을 실행할 수 있어야 한다. 하지만 실제 환경구축시에는 F-10및 spin-sickstart를 설치할것을 권장한다.

1. virt tools를 yum을 이용하여 설치한다.
# yum install qemu kvm libvirt libvirt-python python-virtinst virt-manager virt-viewer

2. 최신 spin-kickstart를 설치한다.
# yum install spin-kickstarts

3. 최신 appliance-tools를 설치한다.
# yum install appliance-tools

4. 공식사이트에서 제공중인 kickstart 파일을 이용하여 appliance를 빌드한다.
# appliance-creator -n thincrust --config /usr/share/spin-kickstarts/fedora-aos.ks

5. libvirt를 이용하여 image를 런칭한다.
# virt-image thincrust.xml

6. 실제 image가 실행 중인지를 파악하기 위하여 virsh list를 실행해본다.
7. 직접 appliance에 접속하여 정확히 작동하는지 시도 해본다.
# virt-viewer IDNUM

출처: http://thincrust.org/

2009년 8월 25일 화요일

WINS 서버 구축 및 설정

인터넷 연결을 공유하기 위하여 집에서 두대의 컴퓨터로 인트라넷을 구성하거나 전 세게적으로 퍼져있는 인터넷을 이용하기 위해서는 두 가지의 기본적인 문제를 해결해야 한다. 첫번째 문제는 네트워크에 참여하는 모든 시스템에는 고유한 IP주소와 기본 라우터 주소와 도메인 이름, 가장 가까운 DNS 서버의 위치등을 알 수 있도록 도움이 필요하다는 것이다. 그리고 두번째 문제는 네트워크를 통해서 경로를 찾을 수 있도록 도움이 필요하다는 것이다.

TCP/IP 기반의 Microsoft OS 기반 네트워크는 DHCP, WINS의 세 가지 기술을 이용하여 IP주소를 구성하고 이름을 관리한다.

이 글에서는 주로 WINS만 간략히 소개하고 그 설정법에 대하여 알아보는것이므로 DHCP나 DNS관련 자료를 다른 곳에서 찾아보길 바란다.

사실 WINS와 NetBIOS, DNS, Winsock등은 모두 이름 풀이에 사용이 되어지는 개념이다.

ping server.dpnm.com
net use * \\server\mainshr

ping 명령어에서는 이 서버를 server.dpnm.com이라고 하고, net use 명령어에서는 같은 서버를 server로 부르고 있다. 이 차이점을 잘 새겨둬야 한다.

ping은 Winsock이라는 인터넷 지향적인 프로그래밍 인터페이스에 의존한다. 그리고 ping을 실행하는 프로그램은 일반적으로 ping명령어를 실행하기 위해서 DNS 서버에 엑세스해야 한다.

net use는 NetBIOS라는 전통적인 Microsoft 네트워크 지향 프로그래밍 인터페이스에 의존한다. 그리고 net use를 실행하는 프로그램은 일반적으로 net use 명령어를 실행하기 위해 WINS 서버에 엑세스해야 한다.

정의된 이름 풀이
NetBIOS와 Winsock의 공통점은 사용하기 쉬운 컴퓨터 이름을 지원한다는 것이다. 인터넷과 사실상 모든 Server 2003 네트워크 들은 고유한 IP 주소를 가지고 있지만 아무도 서버를 확인할 때 IP주소를 사용하는 것을 원하지 않는다. 또한 아이피로만 서버를 명명하는것이 유일성을 보장하는데는 좋을지 몰라도 사람들한테 기억이 잘 안되어지고 그러인하여 여러가지 문제점들을 노출시킬 수도 있다.

NetBIOS의 종류
B 노드: 이 방식은 다소 간단한 얷으로 단지 브로드캐스트를 하는 것이다. NetBIOS 이름을 IP주소로 풀기 위해 브로드캐스트를 사용하는 컴퓨터를 REC에서는 B노드라고 한다. 따라서 server을 찾으려고 하는 PC가 B노드를 사용한다면 단지 server라는 이름을 가진 컴퓨터만 조회하게 된다.

P 노드: 어떤 형태의 이름 서버를 만들고 이를 이용하는 것이다. 그렇게 되면 컴퓨터가 다른 컴퓨터의 일므을 해석할 필요가 있다면 이름 서버 소프트웨어가 운영중인 컴퓨터로 지점간 메시지를 보내기만 하면 된다. 지점간 메시지는 라우터 너머로 재전송되므로 이러한 두번째 방법은 라우터가 잇는 네트워크 환경에서도 사용할 수 있다.

M 노드: TCP/IP에서 NetBIOS 이름 풀이를 하는  것이다. 이것은 브로드캐스트와 NBNS로 연결되는 지점간 통신을 함께 사용한다. M노드에서는 최초에 브로드캐스팅(B노드)으로 이름 풀이를 하고 실패하면 그 다음에 NBNS로 직접 통신한다.

H 노드: H노드에서는 최조에 NBNS에 연결을 시도하고, 실패하면 브로드캐스트를 한다.

WINS서버 설치하기

1. 제어판을 연다(시작/제어판/프로그램 추가/제거)
2. windows 구성 요소 추가/제거를 클릭하고 Windows 구성 요소 마법사가 시작할 때까지 잠시 기다린다.
3. 네트워킹 서비스를 클릭하고 자세히 버튼을 누른다.



4. WINS(윈도우 인터넷 이름 서비스) 옆의 체크박스를 클릭한다.



5. 확인을 클릭하여 서비스를 설치한다.
6. 다음을 클릭하여 서비스를 설치한다.
7. 마침을 클릭하여 마법사 창을 닫는다.
8. 닫기를 클릭하여 windows 구성요소 추가/제거를 닫는다.



설치가 완료되면 시작/관리 도구에서 WINS를 제어할 수 있는 새로운 스냅인을 볼 수 있을 것이다.


2009년 8월 24일 월요일

Useful WebSite of Cloud Computing

Following Links are for useful WebSite which is related to Cloud Computing Field.

Cloud Computing Interoperability Forum (CCIF)
http://groups.google.com/group/cloudforum/

Cloud Computing Manifesto(OCM)
http://www.opencloudmanifesto.org/

Open Cloud Manifesto General Discussion Group
http://groups.google.com/group/opencloud/

Open Cloud Manifesto LinkedIn Group
http://www.linkedin.com/groupInvitation?gid=1864064&sharedKey=

List of Standards Organizations Working on Cloud Computing
http://cloud-standards.org/

Cloud Security Alliance(CSA)
http://www.cloudsecurityalliance.org/

Distributed Management Task Force(DMTF)
http://www.dmtf.org/

The European Telecommunications Standards Institute (ETSI)
http://www.etsi.org/

National Institute of Standards and Technology (NIST)
http://csrc.nist.gov/groups/SNS/cloud-computing/index.html

Open Grid Forum (OGF)
http://www.ogf.org/

Open Cloud Computing Interface (OCCI) Working Group
http://www.occi-wg.org/

Object Management Group (OMG)
http://www.omg.org/

Storage Networking Industry Association (SNIA)
http://www.snia.org/home

Open Cloud Consortium (OCC)
http://www.opencloudconsortium.org/

Organization for the Advancement of Structured Information Standards (OASIS)
http://www.oasis-open.org/

Rest of websites URL would be added later...

2009년 8월 16일 일요일

Ubuntu 9.04에 테마 설치하기

1. 소프트웨어 소스 주소를 업데이트 한다.

sudo gedit /etc/apt/sources.list

아래 내용을 추가한다.

deb http://ppa.launchpad.net/bisigi/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/bisigi/ppa/ubuntu jaunty main

2. GPG키를 추가한다.

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 1781bd45c4c3275a34bb6aec6e871c4a881574de

3. 소스 서버에서 새로운 소프트웨어를 업데이트 한다.

sudo apt-get update

4. 모든 테마를 한방에 설치한다.

sudo apt-get install zgegblog-themes

테마 전체를 설치하고 싶지 않으면 아래 명령어를 통하여 개별 설치도 가능하다.

sudo apt-get install showtime-theme
sudo apt-get install balanzan-theme
sudo apt-get install infinity-theme
sudo apt-get install wild-shine-theme
sudo apt-get install exotic-theme
sudo apt-get install tropical-theme
sudo apt-get install bamboo-zen-theme
sudo apt-get install ubuntu-sunrise-theme
sudo apt-get install  aquadreams-theme

테마 프리뷰

Showtime


Balanzan


Bamboo Zen


Exotic


Aqua Dreams


Infinity


Tropical


Ubuntu sunrise


Wild shine

2009년 7월 28일 화요일

Teamcity 설치

지속적인 통합에 대한 필요성이 증가하면서 최근에 많은 지속적 통합 툴이 등장하고 있다. 오픈 소스 기반으로 개발되는 지속적 통합 툴은 CruiseControl과 Hudson이 가장 많이 사용되고 있다. 최근에 등장한 Hudson도 설치와 설정이 편리하고 다양한 플러그인을 지원하여 많은 개발자들이 사용하고 있다. 상용 지속적 통합 툴로는 Atlassian에서 개발한 Bamboo와 JetBrains에서 개발한 Teamcity가 가장 많이 사용되고 있다. 오픈 소스로 개발하는 CruiseControl과 Hudson도 좋은 툴이지만 여기서는 Teamcity를 이용하여 지속적 통합을 하는것을 예로 보여주겠다. Teamcity는 무료로 20명의 사용자까지 무료로 사용할 수 있으며, 설치와 설정이 쉽고 피드백 기능을 다양하게 지원하고 있어 여러모로 많이 편리하다.

Teamcity 다운로드
Teamcity 무료버전은 아래 주소로 가서 다운로드 받으면 되겠다.
http://www.jetbrains.com/teamcity/download
위주소로 가서 Free Professional Edition을 다운로드 받으면 된다.

Teamcity 설치하기
다운로드 받은 Teamcity 바이너리 설치파일을 더블 클릭하여 설치한다.

Teamcity 설치 환영 화면에서 'Next'버튼을 누른다.



Teamcity 라이선스 정책에 동의하는 화면에서 'I Agree' 버튼을 누른다.



Teamcity 서버를 설치할 경로를 선택한 다음 'Next' 버튼을 누른다.



윈도우 서비스에 Teamcity Build Agent와 Teamcity 서버를 등록할지의 여부를 결정한다. 기본은 Build Agent와 서버를 모두 서비스에 등록할 수 있게 체크된 상태이다.'Next' 버튼을 눌러 다음 화면으로 이동한다. 여기서 주의할점은 Teamcity WAS 서버가 기본으로 TOMCAT 서버를 사용함으로 만약 기존에 TOMCAT이 서버에 깔린 상태라면 충돌이 일어날수 있다. 충돌이 일어나지 않도록 기존에 톰캣 Listening포트를 변경하는것이 필요하겠다.




Teamcity에서 관리할 프로젝트와 각 프로젝트별 설정 정보를 관리하는 디렉토리를 선택한다. 디렉토리를 선택한 다음 'Next' 버튼을 누르면 설치가 시작된다.
마지막으로 Teamcity 서버가 사용할 포트를 설정한다. 기본값으로 설정된 7000을 그냥 사용하여 보자.

이로써 Teamcity 설치가 완료된다. 설치완료후 기본 정보 설정이 필요한데 원하는 정보를 기입하고 저장한다. 기본으로 Admin계정을 생성하여야 할것이다.

참고문헌: 자바 프로젝트 필수 유틸리티

2009년 7월 21일 화요일

Trac 설치 및 기본 플러그인 설치와 설정

Trac은 미국항공우주국의 분사추진 연구소에서 사용할 정도로 전 세계적으로 널리 사용되고 있다. Trac은 아래와 같은 특점이 있음으로 하여 많은 프로젝트를 진행하는 개발자들이 애용한다.

  1. 오픈 소스로 작성되었기 때문에 언제든지 사용자가 소스를 수정하여 사용할 수있다. 참고로 Trac은 Python이라고 불리우는 언어로 만들어졌다.
  2. Trac은 문서, SVN, WBS 등 모든것을 웹 기반으로 관리할 수 있다. 웹 브라우저로 프로젝트 정보에 언제 어디서든 접근할 수 있으며, 누구라도 수정할 수 있다. 히스토리 관리가 가능하기 때문에 변경사항을 추적하기 쉽다.
  3. SVN, VSS, CVS 등 여러 버전 관리 시스템과 연동할 수 있다.

Trac의 설치
Trac은 Python으로 만들어져 있기 때문에 Python언어를 잘 모르는 개발자들한테는 아주 생소한 존재일지도 모른다. Trac을 설치하려면 Apache, Python, mod_python, pysqlite 와 같이 여러 개의 소프트웨어를 함께 설치해야 하기에 좀 번거롭다.

1. 아파치 서버 설치
Apache 웹 서버 설치는 가장 무난하므로 여기서는 생략 하겠다. 단 집고 넘어갈 점이라면 Apache 서버 설치경로 인데 나의 경우 D 드라이버로 정했다.

2. Python 설치
Trac은 Python으로 개발했으므로 Python을 설치해야 한다.
  • 사이트: http://www.python.org
  • 다운로드: http://www.python.org/download/
  • 다운로드 할 파일: Python 2.5.4 Windows installer (Windows binary -- does not include source)
  • 설치 파일: python-2.5.4.msi
Python 설치 파일을 클릭하면 Python 프로그램의 사용자를 지정하는 화면이 나타난다. 모든 사용자가 사용할 수 있게 Install for all users를 선택한 다음 'Next' 버튼을 눌러 다음 화면으로 이동한다.



Python을 설치할 디렉토리를 지정하는 화면에서 C:\Python25를 선택한 다음 'Next'버튼을 누른다.



설치 할 Python의 구성 요소를 선택하는 화면이다. 기본 설정을 그대로 사용한다. 기본값으로 Register Extensions, Tcl/Tk, Documentation, Utility Scripts, Test suite 등을 그대로 설치한다. 'Next' 버튼을 누르면 Python설치가 진행된다. 몇초간 걸리므로 내심하게 기다려주면 되겠다.



오케이, 아래와 같은 창이 뜨면 설치가 성공한것이다. 잊지 말것은 이것은 Windows, DOS용 Python이다. Linux용은 다른 방식으로 설치가 될것이다.(시간나면 Linux용 설치방법까지 업데이트 할 계획이다.) 'Finish'를 기분좋게 클릭하고 설치를 완료하자.



3. mod_python 설치
Apache에서 Python코드를 실행하는 방법은 CGI방식과 Apache 모듈 방식이 있다. (이점은 PHP와 흡사하다, PHP와 Apache를 연동하였던 분이라면 쉽게 무난하게 이해가 가능할 것이다.) 그러나 CGI방식은 속도가 느리므로 크게 권장하지 않고 일반적으로 mod_python Apache모듈을 설치해 모듈 방식으로 Python 코드를 실행한다. 그러기 위헤서는 mod_python을 설치하는 과정이 필요하다. 결국 이 과정자체가 설치이면서 Python과 Apache를 연동하는 과정이기도 하다.
  • 사이트: http://www.modpython.org
  • 다운로드: http://httpd.apache.org/modules/python-download.cgi
  • 설치 파일: mod_python-3.3.1.win32-py2.5-Apache2.2.exe
위에 링크에는 Apache 2.2.용 mod python을 명시했는데 사실상 Apache버전에 마추어 적당한 mod python을 다운로드 받어야 한다.

mod_python 설치 파일을 실행하면 설치 화면이 나타난다. 다음을 눌러 이동한다.



Python이 설치되어 있다면 Python이 설치된 디렉토리 경로를 확인할 수 있다. 레지스터리에 Python설치관련 정보가 남아있으므로 무난히 찾을수가 있겠다. 모듈이 설치 될 기본 경로는 Python Installation Path/Lib/site-packages 이다.



설치 준비 화면이다. 다음을 누르면 설치가 진행된다.



mod_python을 설치하는 중 Apache가 설치된 경로를 지정하는 다이얼로그박스가 뜰것이다. 앞에서 Apache를 설치한 디렉토리를 정해주고 '마침' 버튼을 누르면 모든 설치가 무난히 완료 될것이다.
mod_python을 설치한 후 Apache 설정 파일에 mod_python.so 모듈을 추가해야 한다. Apache를 동적 모듈 로드 모드로 설치를 했으면 이 부분도 무난히 진행이 될것이다. 아파치 설치 디렉토리/conf/httpd.conf 파일을 메모장을 열고 다음과 같이 mod_python.so 파일을 설정한다. httpd.conf 파일을 보면 이미 Dynamic Shared Object(DSO)파일이 설정이 되어진것을 확인 할 수가 있겠다. 그 아래에 우리가 넣은 라이브러리만 추가해주면 된다.



Apache 서비스를 재시작해주고 Apache 서비스가 정상적으로 시작되면 mod_python이 성공적으로 설치가 되었음을 의미한다.

4. Genshi 설치
Genshi는 PHP진영에서 사용되는 smarty나 JAVA진영에서 사용되는 Velocity와 같은 템플릿 엔진이다. 단 Genshi는 Python언어 용이라는 점이다. 우리가 설치할 Trac의 버전(0.11) Genshi는 디자인 템플릿 엔진으로 사용함으로 Trac을 돌리기 위해서는 필수로 설치를 해줘야만 한다.
  • 사이트: http://genshi.edgewall.org/
  • 다운로드: http://genshi.edgewall.org/wiki/Download
  • 설치 파일: Genshi-0.5.1.win32-py2.5.exe
Genshi 설치 파일을 클릭하면 Genshi 설치 화면이 나타난다. '다음' 버튼을 눌러 이동한다.



mod python을 설치했을 때 처럼 python경로를 설정해주는 창이 뜰것인데 기본으로 설정된 사항을 묵인하고 '다음' 버튼을 누른다. 그다음도 몇몇 창이 뜰것인데 모두 묵인으로 '다음' 버튼을 클릭하여 설치를 진행한다.



5. pysqlite 설치
Trac은 sqlite DBMS를 사용한다. pysqlite는 Python언어환경에서 sqlite DBMS접근을 지원하도록 만들어진 라이브러리이다. JAVA에서 놓고보면 sqlite용 jdbc driver인 셈이다. Trac을 사용하려면 필수적으로 pysqlite를 설치해야만 한다. (참 필요로 하는 라이브러리가 참 많네...)
  • 사이트: http://trac.edgewall.org/wiki/PySqlite
  • 다운로드: http://oss.itsystementwicklung.de/trac/pysqlite/wiki#Downloads
  • 설치 파일: pysqlite-2.5.5.win32-py2.5.exe
pysqlite 설치 파일을 클릭하면 pysqlite 설치 화면이 나타난다. '다음' 버튼을 눌러 이동한다.



mod python을 설치했을 때 처럼 python경로를 설정해주는 창이 뜰것인데 기본으로 설정된 사항을 묵인하고 '다음' 버튼을 누른다. 그다음도 몇몇 창이 뜰것인데 모두 묵인으로 '다음' 버튼을 클릭하여 설치를 진행한다.



6. setuptools 설치
setuptools는 Python언어로 만들어진 툴인데 Python으로 만들어진 프로그램들을 자동으로 다운로드 + 설치 해준다. setuptools는 Trac관련 plugins를 설치할 때 "아주" 유용함으로 필히 설치를 해두도록 하자.
  • 사이트: http://peak.telecommunity.com/DevCenter/setuptools
  • 다운로드: http://peak.telecommunity.com/dist/ez_setup.py
  • 설치 파일: ez_setup.py
다운로드 받은 파일에서부터 알수 있다 싶이 이 프로그램은 python으로 만들어진 프로그램이라 확장자가 py로 되어있다. 이렇게 py확장자를 가진 파일들은 python 을 이용하여 실행해야 한다. Python설치 디렉토리의 bin폴더에 가서
python.exe ez_setup.py
하면 되겠다. 만약 python 기본디렉토리를 path에 잡아 놓은 상태라면 구지 python설치경로/bin까지 가지 않아도 되겠다. 아래 그림에서처럼 메시지가 뜨면 설치가 성공한것이다.



7. Trac 설치
지금까지 설치한것은 이번에 설치하게 될 Trac을 설치하기 위하 초기작업이라고 보면 되겠다.(Trac이라는 녀석 참 까탈스럽기도 하다.ㅡㅡ;) 본격적으로 Trac 설치를 해보자~
  • 사이트: http://trac.edgewall.org
  • 다운로드: http://trac.edgewall.org/wiki/TracDownload
  • 설치 파일: Trac-0.11.4.win32.exe
Trac 설치 파일을 실행하면 Trac 설치 화면이 나타난다. '다음' 버튼을 눌러 설치를 진행한다.



mod python을 설치했을 때 처럼 python경로를 설정해주는 창이 뜰것인데 기본으로 설정된 사항을 묵인하고 '다음' 버튼을 누른다. 그다음도 몇몇 창이 뜰것인데 모두 묵인으로 '다음' 버튼을 클릭하여 설치를 진행한다.



8. 새 프로젝트 생성
샘플용으로 새 프로젝트를 생성해 보자. 새로 생성할 프로젝트명을 sample로 정하고 생성을 시도하겠다. Trac에서 새로운 프로젝트를 생성하려면 PYTHON_설치디렉토리\Scripts\trac-admin.exe 프로제트_REPOSITORY initenv 명령어를 실행한다. 우선 먼저 Trac 프로젝트를 관리하는 디렉토리를 생성한다. 나의 경우는 sample이라는 이름으로 E:\Trac\sample 이라는 경로에 빈 폴더를 만들고 Trac 프로젝트를 관리하겠다. 디렉토리를 생성한 후 sample 프로젝트는 trac-admin.exe의 initenv 명령을 실행하여 생성한다. 명령 프롬프트에서 아래 명령을 실행하여 sample 프로젝트를 생성한다.
PYTHON_설치디렉토리\Scripts\trac-admin.exe E:\Tracsample initenv
위 명령어를 실행하면 다음과 같은 과정으로 sample프로젝트가 생성된다.



연결할 데이터베이스를 설정한다. 기본 설정을 사용하므로 엔터를 누른다.



사용할 버전 관리 시스템의 종류를 설정한다. 나의 경우는 SVN을 사용할 것이기 때문에 그냥 엔터를 치고 넘어간다.



버전 관리 시스템의 저장소를 설정한다. sample 프로젝트의 저장소는 E:\Repository\sample로 설정한다. 버전 관리 시스템의 저장소로 설정한 E:\Repository\sample 디렉토리는 자동으로 생성되지 않는다. 이 디렉토리는 SVN 저장소를 다룰 때 생성한다.



위 네가지 설정을 완료하면 Trac에서 사용할 sample 프로젝트가 생성된다. sample 프로젝트가 정상적으로 생성되면 E:\Trac\sample 디렉토리 아래에 여러가지 Trac에 관련된 디렉토리와 파일들이 생성되겠다.

Apache에 VirtualHost 추가하기
sample 프로젝트를 생성한 다음에 설정할 부분은 Apache에서 sample 프로젝트를 인식할 수 있게 VirtualHost를 추가하는 것이다. Trac으로 생성하는 모든 프로젝트를 관리하려면 VirtualHost를 추가해야 한다. Apache 서버의 httpd-vhosts.conf 파일에 다음 설정을 추가한다.

<VirtualHost *:80>
    <Location /trac>
        SetHandler mod_python
        PythonHandler trac.web.modpython_frontend
        PythonOption TracEnvParentDir E:\Trac
        PythonOption TracUriRoot /trac
    </Location>
    <LocationMatch "/trac/[^/]+/login">
        AuthType Basic
        AuthName "Trac"
        AuthUserFile E:\Repository\htpasswd
        Require valid-user
    </LocationMatch>
</VirtualHost>

위 Apache 설정을 보면 첫 번째 <Location /trac> 엘리먼트는 /trac URL로 접근할 때 앞에서 설치한 mod_python 모듈을 사용했으며, E:\Trac 디렉토리를 기본 디렉토리로 설정하였다.

두번째 <LocationMatch "/trac/[^/]+/login"> 엘리먼트는 /trac/sample/login 과 같은 URL에 대한 요청은 인증이 필요하다고 설정한다. E:\Repository\htpasswd 파일은 인증할 때 사용할 파일로 설정하였다. htpasswd를 생성하는 방법은 아래에 언급할것이니 내심하게 쭉 내려보기 바란다.

그리고 httpd.conf파일중에서 httpd-vhosts.conf 파일 로드 해주는 라인중 앞 주석문을 제거한다. 제거후 형태는 아래와 같이 되겠다.

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

Apache 설정을 완료한 다음 Apache Service를 다시 시작한다.

참고문헌: 자바 프로젝트 필수 유틸리티

2009년 7월 16일 목요일

Eclipse(MyEclipse) 언어팩 다운로드 주소

Eclipse (MyEclipse) 언어팩 다운로드 주소...

Eclipse 3.4 ganymede LP 업데이트 주소
http://download.eclipse.org/technology/babel/update-site/ganymede/

Eclipse 3.5 galileo LP 업데이트 주소
http://download.eclipse.org/technology/babel/update-site/galileo/


2009년 6월 8일 월요일

리눅스에서 노트북 내장 스피커가 나오지 않을 때

VAIO FZ-26L에서 현재 우분투를 사용중인데 이어폰을 꽂았는데도 내장스피커와 이어폰에서 동시에 소리가 나오는 경우와 아니면 아예 어떤 소리도 나오지 않는 경우는 모두 두가지이다.

이 문제는 Intel onboard HDA (High Definition Audio)에서 발생하는데 sound stack (각 output의 배열)을 제대로 찾지 못해 발생하는 문제라고 한다.

일반적으로 /etc/modprobe.d/alsa-base.conf 의 가장 아랫 줄에

options snd-hda-intel model=3stack 이나 options snd-hda-intel model=6stack

를 추가함으로써 문제를 해결할 수 있었다.
하지만 HDA 사운드카드의 경우 그 종류에 따라 이 문제의 해결에 영향을 미치는 요소가 다양하기 때문에 해결이 쉽지 않다.

우선

cat /proc/asound/card0/codec#* | grep Codec  이나  aplay -l

을 통해서 카드나 칩의 종류를 파악한다.

ex)
Codec
Codec: Realtek ALC880
Codec: Generic 11c1 Si3054

그 다음 아래 첨부된 리스트에서 해당하는 부분을 참조한다.
위에 보인 예시를 이용해 보면 ALC880을 아래 목록에서 찾고

그 다음 자기 컴퓨터에 맞는 모델이름을 사용하는 것이다. 만약 LG 노트북일 경우( 아래 lg가 있다. )

options snd-hda-intel model=lg 를 /etc/modprobe.d/alsa-base  

가장 아랫 줄에 추가해 주면 된다.

만약 작동하지 않는다면 ALC880  아래의 다른 줄의 모델 이름들을 사용해 본다.

options snd-hda-intel model=uniwill
options snd-hda-intel model=fujitsu
options snd-hda-intel model=tcl

물론 이 과정을 되풀이 하면서 사운드설정에서 음소거가 되어 있는지 확인해 볼 필요가 있다.

나의 경우는 options snd-hda-intel model=vaio 하니까 정확히 내장 및 이어폰 연결시 모두 소리가 정확히 출력 되었다.

2009년 6월 7일 일요일

Windows 새로 설치후 Ubuntu 부팅기능 복구 하기

우분투를 사용하다가 다른 파티션에 윈도우를 설치하면 기존에 깔린 우분트 부트 로더가 지워지는 사태가 발생한다.
특히나 요즘 매일이다 싶이 새로운 Windows 7 빌드가 출시되고 있는데 그때마다 우분투를 새로 설치하기는 여간 짜증나는 일이 아닐 수 없다. 그래서 별도로 Boot loader(System Commander)을 설치하고 사용 중인데 3사 부트 로더를 사용하는 상황에서 지워진 우분트 부트로더를 설치하는 방법을 소개할가 한다.

1. Live CD로 새로 부팅한다.
2. 터미널을 열고 ROOT권한을 획득한다. sudo -i
3. grub를 입력한다.
4. find /boot/grub/stage1를 입력하여 루트 파티션이 설치된 상황을 알아본다. 나의 컴퓨터에서는 (hd0, 3)이 리턴 되고 있다.
5. root (hd0, 3)
6. 다음 setup(hd0, 3)를 입력하여 부트로더를 MBR이 아닌 Linux 루트 파티션에 재설치한다.
7. quit
8. shutdown -r now 재부팅...

2009년 5월 19일 화요일

Ubuntu에 Nvidia 180 Graphic Driver 설치기

현재 사용중인 노트북은 VAIO FZ-26L이고 독립 그래픽 카드를 내장하고 있다. 그래픽 카드는 nVidia 8400M GT (결함이 있는 카드. 흑~)인데 우분투를 깔면 그래픽 카드가 제대로 잡히지 않는다. 기본으로 제공되는 173을 깔아서 써보다가 2D 화면에서 버벅댐이 계속되어 결국 사용을 포기하고 공식사이트에 가보니 이미 180이 나온상태이다.(쿨럭~)

구글링을 해본 결과 180에서 180이전 드라이버에서 존재하고 있던 버그들을 수정하고 또한 그래픽 가속을 지원하여 HD영상물 관람시 적은 CPU사용량을 자랑하고 있음을 알았다. 무조건 최신을 추구하는 나로써는 일단 새로운 그래픽 드라이버설치가 상당히 매혹적이였다. 일단 공식사이트에가서 Linux 64용 180.51 그래픽 카드를 다운로드 받는다. 확장명은 .run이다.

그래픽 카드를 설치하기 위하여서는 컴파일시 필요한 툴들을 설치해야 한다.
먼저 커널버젼부터 알아보자.

uname -a

무난히 커널 버젼번호를 확인 할 수 있다. 여기서 출력된 버젼번호를 종이장에 잘 적어놓자. 잠시후에 사용할것이므로 그때가서 이건 머지 하고 딴소리 할래기 없다.ㅎㅎ

그래픽 카드를 설치하기 위하여 컴파일러와 커널 헤더를 설치해보자.

sudo aptitude install build-essential linux-headers-x.x.xx-xx-generic
(여기다 아까 uname으로 확인한 커널정보를 적는다.)

Alt + Ctrl + F1을 살짝 누르고 GNOME(그놈...ㅡㅡ;)모드에서 벗어나온다.
까만 콘솔창이 뜨고 사용자 로그인을 해라고 커서가 눈을 껌벅일거다...

임의의 계정으로 로그인하고 sudo -i 를 이용하여 root 모드로 진입하자.

/etc/init.d/gdm stop

GNOME 서비스를 내린다.

아까 nVidia그래픽 카드를 다운로드 받은 폴더로 이동하여

sh ./NVIDIA-Linux-x86-180.51-pkg2.run

실행하고 드라이버 설치를 시도한다. 설치시 한번정도 워닝이 뜰것이다. 무시하고 그냥 넘어간다...

shutdown reboot -n (아니면 shutdown -r now) 로 재시작한다.

부팅 완료후 sudo nvidia-settings를 이용하여 적절히 값들을 세팅한다.

2009년 5월 17일 일요일

윈도우 7 작업표시줄 윈도우 탐색기 특정된 폴더로 지정

윈도우 7 작업표시줄 윈도우 탐색기 특정된 폴더로 지정

윈도우 7에서 탐색기 아이콘중 탐색기를 클릭하면 내 컴퓨터로 이동하는것이 아니라 라이브러리로 가버린다. 이것을 특정된 폴더로 가게끔 설정을 하려면 어떻게 할가?

구글링하여 그 해답을 찾을 수 있었다.
모든 윈도우 탐색창을 꺼버린후 탐색기 아이콘에 마우스를 대고 Shift + 오른쪽 마우스 클릭을 하고서 속성을 클릭한다.

속성창이 뜨면 아래와 같이 대상에 입력이 되어있을건데 이것을 다른 값으로 바꾸어 준다.



대상부분을 아래와 같이 수정한다.

%windir%\explorer.exe /e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

다른 폴더를 설정하려면 아래 값을 참조하면 된다.

My Computer
%SystemRoot%\explorer.exe /E,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

My Documents
%SystemRoot%\explorer.exe /N,::{450D8FBA-AD25-11D0-98A8-0800361B1103}

Recycle Bin
%SystemRoot%\explorer.exe /N,::{645FF040-5081-101B-9F08-00AA002F954E}

Network Neighborhood
%SystemRoot%\explorer.exe /N,::{208D2C60-3AEA-1069-A2D7-08002B30309D}

Default Web Browser or Navigator (IE, Firefox, Safari, Google Chrome)
%SystemRoot%\explorer.exe /N,::{871C5380-42A0-1069-A2EA-08002B30309D}

Computer Search Results Folder
%SystemRoot%\explorer.exe /N,::{1F4DE370-D627-11D1-BA4F-00A0C91EEDBA}

Network Search Results Folder
%SystemRoot%\explorer.exe /N,::{E17D4FC0-5564-11D1-83F2-00A0C90DC849}

Web Folders
%SystemRoot%\explorer.exe /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{BDEADF00-C265-11D0-BCED-00A0C90AB50F}

Control Panel
%SystemRoot%\explorer.exe /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}

Printers and Faxes
%SystemRoot%\explorer.exe /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{2227A280-3AEA-1069-A2DE-08002B30309D}

Scanners and Cameras
%SystemRoot%\explorer.exe /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{E211B736-43FD-11D1-9EFB-0000F8757FCD}

Fonts
%SystemRoot%\explorer.exe /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{D20EA4E1-3957-11d2-A40B-0C5020524152}

Network Connections or My Network Place
%SystemRoot%\explorer.exe /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{7007ACC7-3202-11D1-AAD2-00805FC1270E}

Administrative Tools
%SystemRoot%\explorer.exe /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{D20EA4E1-3957-11d2-A40B-0C5020524153}

Tasks Scheduler
%SystemRoot%\explorer.exe /N,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}\::{D6277990-4C6A-11CF-8D87-00AA0060F5BF}

2009년 5월 16일 토요일

Office 2010 설치기

Office 2010 Technical Preview 1 설치기

Office 2010 Technical Preview 가 유출되어 설치를 해보았다. 빌드버젼은 번호는 14.0.4006.1010인데 Access 2010, Excel 2010, InfoPath 2010, OneNote 2010, Outlook 2010, PowerPoint 2010, Project 2010, Publisher 2010, SharePoint Designer 2010, SharePoint Workspace 2010, Visio 2010 및Word 2010 등 제품들을 포함하고 있다. 용량 또한 어마어마 하다. 무려 1.5G나 되는데 RTM버젼은 아무래도 2G이상은 되지 않을가 생각해본다.

일단은 스샷만 첨부하도록 하겠다. 사용기는 며칠간 사용해보고 천천히 쓸가 한다.





Technical Preview 라이선스의 동의!



Office 2007과 설치과정이 동일하다.



많은 설치항목들이 보인다. 필요한것들만 체크하여 선택했다.



커피한잔 마시고 오면 설치가 완료 된다.

Access 2010 Technical Preview


Excel 2010 Technical Preview



OneNote 2010 Technical Preview



Outlook 2010 Technical Preview



PowerPoint 2010 Technical Preview



Project 2010 Technical Preview



Visio 2010 Technical Preview



Word 2010 Technical Preview