'전체'에 해당되는 글 24건

  1. psycopg2 설치
  2. DispatcherServlet
  3. ubuntu sqldeveloper 한글 문제 (1)
  4. 마크다운 (5)
  5. 테스트
  6. 자바 유용한 툴 정리
  7. java 에서 inputstream을 string 으로...
  8. GAE coffee shop 예제 CRUD
  9. GAE 데이터스토어 연결
  10. GAE 테스트, nose 설치
  11. GAE 스켈레톤 준비
  12. Google App Engine 설치
  13. Pydev 에서 Django 실행
  14. 윈도우 7 Django 설치 (1)
  15. 윈도우7 파이썬 설치
  16. subversive 설치
  17. MySQL 한글 입력 문제 (2)
  18. mysql utf-8로 변경
  19. eclipse를 사용해서 subversion에 소스 올리기
  20. Subversion 설치
  21. ubuntu vsftpd 설치
  22. Visual Studio 2005 error C2664
  23. Visual Studio 2005에서 winmm.lib 링크
  24. 시작하는 글

psycopg2 설치

psycopg2 설치 http://stackoverflow.com/questions/11583714/psycopg2-on-ubuntu
claztec@claztec:~/Downloads/psycopg2-2.5$ sudo apt-get install python-psycopg2
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  libcrypto++9 libmaven-archiver-java libmaven-clean-plugin-java libmaven-compiler-plugin-java libmaven-dependency-tree-java
  libmaven-filtering-java libmaven-install-plugin-java libmaven-jar-plugin-java libmaven-resources-plugin-java
  libmaven-shade-plugin-java libplexus-compiler-api-java libplexus-compiler-java libplexus-compiler-javac-java
  libplexus-compiler-manager-java libplexus-digest-java
Use 'apt-get autoremove' to remove them.
다음 패키지를 더 설치할 것입니다:
  python-egenix-mxdatetime python-egenix-mxtools
제안하는 패키지:
  python-egenix-mxdatetime-dbg python-egenix-mxdatetime-doc python-egenix-mxtools-dbg python-egenix-mxtools-doc
  python-psycopg2-doc
다음 새 패키지를 설치할 것입니다:
  python-egenix-mxdatetime python-egenix-mxtools python-psycopg2
0개 업그레이드, 3개 새로 설치, 0개 제거 및 81개 업그레이드 안 함.
322 k바이트 아카이브를 받아야 합니다.
이 작업 후 1,447 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까 [Y/n]? y
받기:1 http://ftp.daum.net/ubuntu/ saucy/main python-egenix-mxtools amd64 3.2.5-1 [89.3 kB]
받기:2 http://ftp.daum.net/ubuntu/ saucy/main python-egenix-mxdatetime amd64 3.2.5-1 [79.5 kB]
받기:3 http://ftp.daum.net/ubuntu/ saucy/main python-psycopg2 amd64 2.4.5-1build3 [153 kB]
내려받기 322 k바이트, 소요시간 0초 (1,244 k바이트/초)
Selecting previously unselected package python-egenix-mxtools.
(데이터베이스 읽는중 ...현재 195224개의 파일과 디렉터리가 설치되어 있습니다.)
python-egenix-mxtools 패키지를 푸는 중입니다 (.../python-egenix-mxtools_3.2.5-1_amd64.deb에서) ...
Selecting previously unselected package python-egenix-mxdatetime.
python-egenix-mxdatetime 패키지를 푸는 중입니다 (.../python-egenix-mxdatetime_3.2.5-1_amd64.deb에서) ...
Selecting previously unselected package python-psycopg2.
python-psycopg2 패키지를 푸는 중입니다 (.../python-psycopg2_2.4.5-1build3_amd64.deb에서) ...
python-egenix-mxtools (3.2.5-1) 설정하는 중입니다 ...
python-egenix-mxdatetime (3.2.5-1) 설정하는 중입니다 ...
python-psycopg2 (2.4.5-1build3) 설정하는 중입니다 ...
claztec@claztec:~/Downloads/psycopg2-2.5$ ll

DispatcherServlet



claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib$ ll

합계 66620

drwxr-xr-x 18 root root     4096 10월 18 19:06 ./

drwxr-xr-x  7 root root     4096 10월 18 19:06 ../

-rw-r--r--  1 root root   123459 10월 18 19:06 alt-rt.jar

-rw-r--r--  1 root root    42042 10월 18 19:06 alt-string.jar

drwxr-xr-x  8 root root     4096 10월 18 19:06 amd64/

drwxr-xr-x  2 root root     4096 10월 18 19:06 applet/

drwxr-xr-x  2 root root     4096 10월 18 19:06 audio/

-rw-r--r--  1 root root     1200 10월 18 19:06 calendars.properties

-rw-r--r--  1 root root  6773677 10월 18 19:06 charsets.jar

-rw-r--r--  1 root root    80589 10월 18 19:06 classlist

drwxr-xr-x  2 root root     4096 10월 18 19:06 cmm/

-rw-r--r--  1 root root     5869 10월 18 19:06 content-types.properties

drwxr-xr-x  2 root root     4096 10월 18 19:06 deploy/

-rw-r--r--  1 root root  3551785 10월 18 19:06 deploy.jar

drwxr-xr-x  5 root root     4096 10월 18 19:06 desktop/

drwxr-xr-x  2 root root     4096 10월 18 19:06 ext/

-rw-r--r--  1 root root     3847 10월 18 19:06 flavormap.properties

-r--r--r--  1 root root     5438 10월 18 19:06 fontconfig.RedHat.2.1.bfc

-rw-r--r--  1 root root     9024 10월 18 19:06 fontconfig.RedHat.2.1.properties.src

-r--r--r--  1 root root     5760 10월 18 19:06 fontconfig.RedHat.3.bfc

-rw-r--r--  1 root root    11006 10월 18 19:06 fontconfig.RedHat.3.properties.src

-r--r--r--  1 root root     4494 10월 18 19:06 fontconfig.RedHat.4.bfc

-rw-r--r--  1 root root     8782 10월 18 19:06 fontconfig.RedHat.4.properties.src

-r--r--r--  1 root root     4250 10월 18 19:06 fontconfig.RedHat.6.bfc

-rw-r--r--  1 root root     8735 10월 18 19:06 fontconfig.RedHat.6.properties.src

-r--r--r--  1 root root     4532 10월 18 19:06 fontconfig.RedHat.bfc

-rw-r--r--  1 root root     8845 10월 18 19:06 fontconfig.RedHat.properties.src

-r--r--r--  1 root root     6478 10월 18 19:06 fontconfig.SuSE.11.bfc

-rw-r--r--  1 root root    16150 10월 18 19:06 fontconfig.SuSE.11.properties.src

-r--r--r--  1 root root     6702 10월 18 19:06 fontconfig.SuSE.bfc

-rw-r--r--  1 root root    16298 10월 18 19:06 fontconfig.SuSE.properties.src

-r--r--r--  1 root root     4644 10월 18 19:06 fontconfig.Sun.bfc

-rw-r--r--  1 root root     8650 10월 18 19:06 fontconfig.Sun.properties.src

-r--r--r--  1 root root     4668 10월 18 19:06 fontconfig.Turbo.bfc

-rw-r--r--  1 root root     9202 10월 18 19:06 fontconfig.Turbo.properties.src

-r--r--r--  1 root root     6040 10월 18 19:06 fontconfig.Ubuntu.bfc

-rw-r--r--  1 root root    11327 10월 18 19:06 fontconfig.Ubuntu.properties.src

-r--r--r--  1 root root     1678 10월 18 19:06 fontconfig.bfc

-rw-r--r--  1 root root     1948 10월 18 19:06 fontconfig.properties.src

drwxr-xr-x  2 root root     4096 10월 18 19:06 fonts/

drwxr-xr-x  2 root root     4096 10월 18 19:06 im/

drwxr-xr-x  4 root root     4096 10월 18 19:06 images/

-rwxr-xr-x  1 root root       91 10월 18 19:06 jar.binfmt*

-rw-r--r--  1 root root   918971 10월 18 19:06 javaws.jar

-rw-r--r--  1 root root    88238 10월 18 19:06 jce.jar

-rwxr-xr-x  1 root root    16851 10월 18 19:06 jexec*

-rw-r--r--  1 root root   640447 10월 18 19:06 jsse.jar

-rw-r--r--  1 root root     2784 10월 18 19:06 jvm.hprof.txt

drwxr-xr-x 15 root root     4096 10월 18 19:06 locale/

-rw-r--r--  1 root root     2245 10월 18 19:06 logging.properties

drwxr-xr-x  2 root root     4096 10월 18 19:06 management/

-rw-r--r--  1 root root      382 10월 18 19:06 management-agent.jar

-rw-r--r--  1 root root     2246 10월 18 19:06 meta-index

-rw-r--r--  1 root root     3070 10월 18 19:06 net.properties

drwxr-xr-x  2 root root     4096 10월 18 19:06 oblique-fonts/

-rw-r--r--  1 root root  1872228 10월 18 19:06 plugin.jar

-rw-r--r--  1 root root     3040 10월 18 19:06 psfont.properties.ja

-rw-r--r--  1 root root    10639 10월 18 19:06 psfontj2d.properties

-rw-r--r--  1 root root  1163732 10월 18 19:06 resources.jar

-rw-r--r--  1 root root 52558009 10월 18 19:06 rt.jar

drwxr-xr-x  2 root root     4096 10월 18 19:06 security/

drwxr-xr-x  2 root root     4096 10월 18 19:06 servicetag/

-rw-r--r--  1 root root     1210 10월 18 19:06 sound.properties

drwxr-xr-x 13 root root     4096 10월 18 19:06 zi/

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib$ 

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib$ 

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib$ 

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib$ cp fontconfig.Ubuntu.bfc fontconfig.bfc 

cp: 일반 파일 `fontconfig.bfc'을(를) 생성할 수 없음: 허가 거부

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib$ sudo cp fontconfig.Ubuntu.bfc fontconfig.bfc 

[sudo] password for claztec: 

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib$ sudo cp fontconfig.Ubuntu.properties.src fontconfig.properties.src 

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib$ cd fonts/

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts$ mkdir fallback

mkdir: `fallback' 디렉토리를 만들 수 없습니다: 허가 거부

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts$ sudo mkdir fallback

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts$ cd fallback/

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts/fallback$ cp /usr/share/fonts/truetype/nanum/Nanum

NanumGothic.ttf        NanumGothicBold.ttf    NanumMyeongjo.ttf      NanumMyeongjoBold.ttf  

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts/fallback$ cp /usr/share/fonts/truetype/nanum/Nanum

NanumGothic.ttf        NanumGothicBold.ttf    NanumMyeongjo.ttf      NanumMyeongjoBold.ttf  

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts/fallback$ cp /usr/share/fonts/truetype/nanum/* .

cp: 일반 파일 `./NanumGothic.ttf'을(를) 생성할 수 없음: 허가 거부

cp: 일반 파일 `./NanumGothicBold.ttf'을(를) 생성할 수 없음: 허가 거부

cp: 일반 파일 `./NanumMyeongjo.ttf'을(를) 생성할 수 없음: 허가 거부

cp: 일반 파일 `./NanumMyeongjoBold.ttf'을(를) 생성할 수 없음: 허가 거부

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts/fallback$ sudo cp /usr/share/fonts/truetype/nanum/* .

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts/fallback$ ll

합계 16692

drwxr-xr-x 2 root root    4096 10월 21 13:43 ./

drwxr-xr-x 3 root root    4096 10월 21 13:43 ../

-rw-r--r-- 1 root root 4343844 10월 21 13:43 NanumGothic.ttf

-rw-r--r-- 1 root root 4288380 10월 21 13:43 NanumGothicBold.ttf

-rw-r--r-- 1 root root 3808496 10월 21 13:43 NanumMyeongjo.ttf

-rw-r--r-- 1 root root 4638736 10월 21 13:43 NanumMyeongjoBold.ttf

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts/fallback$ 

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts/fallback$ 

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts/fallback$ 

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts/fallback$ 

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts/fallback$ 

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts/fallback$ mkfontdir

./fonts.dir: fopen(w): Permission denied

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts/fallback$ sudo mkfontdir

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts/fallback$ sudo mkfontscale

claztec@claztec:/usr/lib/jvm/java-6-oracle/jre/lib/fonts/fallback$ 



마크다운


## 마크다운을 이용한 테스트
마크 다운이 좋은데 티스토리에서는 잘 안된다.
* 무엇이 문제일까?

### 해결점
잘 모르겠다

### 코드
```
#!/usr/bin/python
# -*- coding: UTF-8 -*-

from time import time

def f(n):
    if n == 0:
        return 1
    else:
        return n * f(n-1)


def binary_search(data, target, low, high):
    if low > high:
        return False
    else:
        mid = (low + high)/2 
        if target == data[mid]:
            return True
        elif target < data[mid]:
            return binary_search(data, target, low, mid - 1)
        else:
            return binary_search(data, target, mid + 1, high)

def reverse(S, start, stop):
    if start < stop -1:
        temp1 = S[start]
        temp2 = S[stop-1]
        S[start] = temp2
        S[stop-1] = temp1
        reverse(S, start+1, stop-1)
        

def linear_sum(S, n):
    if n == 0:
        return 0
    else:
        return linear_sum(S, n-1) + S[n-1]

if __name__ == "__main__":
    print "hello"
    start_time = time()
    
    list = [2,4,5,7,8,9,12,14,17,19,22,25,27,28,33,37]
#     result = f(3)
#     result = binary_search(list, 23, 0, 15)
#     result= linear_sum(list, 15)
#     print ("find:%s" % result)
    print list
    reverse(list, 0, len(list))
    print list
    
    end_time = time()
    elapsed = end_time - start_time
    print elapsed
    print "end"
```

테스트

마크다운을 이용한 테스트

마크 다운이 좋은데 티스토리에서는 잘 안된다.

  • 무엇이 문제일까?

해결점

잘 모르겠다

코드

#!/usr/bin/python
# -*- coding: UTF-8 -*-

from time import time

def f(n):
    if n == 0:
        return 1
    else:
        return n * f(n-1)


def binary_search(data, target, low, high):
    if low > high:
        return False
    else:
        mid = (low + high)/2 
        if target == data[mid]:
            return True
        elif target < data[mid]:
            return binary_search(data, target, low, mid - 1)
        else:
            return binary_search(data, target, mid + 1, high)

def reverse(S, start, stop):
    if start < stop -1:
        temp1 = S[start]
        temp2 = S[stop-1]
        S[start] = temp2
        S[stop-1] = temp1
        reverse(S, start+1, stop-1)


def linear_sum(S, n):
    if n == 0:
        return 0
    else:
        return linear_sum(S, n-1) + S[n-1]

if __name__ == "__main__":
    print "hello"
    start_time = time()

    list = [2,4,5,7,8,9,12,14,17,19,22,25,27,28,33,37]
#     result = f(3)
#     result = binary_search(list, 23, 0, 15)
#     result= linear_sum(list, 15)
#     print ("find:%s" % result)
    print list
    reverse(list, 0, len(list))
    print list

    end_time = time()
    elapsed = end_time - start_time
    print elapsed
    print "end"

자바 유용한 툴 정리

java 유용한 툴




도움이 될것 같아 스크랩


http://javarevisited.blogspot.kr/2012/08/convert-inputstream-to-string-java-example-tutorial.html

GAE coffee shop 예제 CRUD

구글앱엔진시작하기
카테고리 컴퓨터/IT > 프로그래밍/언어 > JAVA > JAVA일반
지은이 박상엽 (인사이트, 2010년)
상세보기

coffee shop 예제.
CRUD 의 예제를 보여주어 좋았다. 구글 맵을 연동하는 것도 재미있었다.



1. Google Map API
구글 맵 API version 3 이 나왔다. 3은 key 가 필요 없다. API 도 한글로 잘 되어 있어 쉽게 사용할 수 있었다.
http://code.google.com/intl/ko-KR/apis/maps/documentation/javascript/
하는 김에 API 사이트에 예제로 나와있는 현재 위치를 가져오는 코드를 넣었다. IP로 위치를 가져오는 크롬에서는 알아서 현재 위치를 찾아준다.

2. jQuery
jQuery는 구글 jsapi 를 사용하지 않고 바로 링크걸어 사용하였다. 1.5 버전이 나왔다. jQuery가 하는일은 그리 없다. 페이지 로드시 스크립트가 실행되는 정도.
http://code.jquery.com/jquery-1.5.min.js

3. mudule import
예제에 shop > model > coffeeuser.py 이런식으로 model 디렉토리를 만들어 사용하는데 __init__.py 파일이 있어야 모듈로 인식한다. 간단하지만 이걸로 고생했다.

4. 오타
책 예제에 오타가 있다. 그래서 예제를 그대로 타이핑 하면 고생한다. 샘플 예제 파일을 보면서 따라하는게 편하다.

예제를 따라해보니 어떤 식으로 구성이 되는지 감이 온다. django와 appengine의 함수들이 자세한 설명이 없어 이 부분은 따로 익혀야 될 것 같다.

구글앱엔진시작하기
카테고리 컴퓨터/IT > 프로그래밍/언어 > JAVA > JAVA일반
지은이 박상엽 (인사이트, 2010년)
상세보기

6장 데이터스토어 실습한 내용을 정리하였다.

로컬 환경에서 데이터베이스를 사용하기 위해서는 데이터스토어 위치를 꼭 정해줘야 할 것 같다. 데이터스토어 위치를 설정하지 않고 왜 안되지를 고민했다.

1. --gee-datestore 설정
nose를 돌릴때 콘솔에서 아래와 같이 --gae-datastore 옵션을 주어 data 파일을 생성한다. data는 이름이니 마음데로 정하면 된다.

nosetests -v --with-gae --gae-lib-root="C:\Program Files\Google\google_appengine" --gae-datastore="d:\workspace\coffee-shop\data"

2. Launcher 설정
여기서 개발 서버를 실행할 때 데이터저장소는 테스트 케이스와 같은 경로를 사용해야 함을 기억해야 합니다. dev_appserver.py를 실행할 때 --datastore_path 옵션을 이용해 경로를 지정합니다.
datastore를 지정해 주고 나서 이 말의 뜻을 이해할 수 있었다.
런처에 --datestore_path로 앞서 생성한 data 파일 경로를 입력하였다.

3. 확인
서버를 띄우고 http://localhost:port/_ah/admin 로 확인 (port 에는 8080 과 같은 포트 번호를 입력한다.)

이제 책에서 설명한 내용이 보인다.

GAE 테스트, nose 설치

구글앱엔진시작하기
카테고리 컴퓨터/IT > 프로그래밍/언어 > JAVA > JAVA일반
지은이 박상엽 (인사이트, 2010년)
상세보기

windows 7에서 nose를 설치하였다.
책에서는 리눅스 환경에서 설치하는 방법이라 간단하지만 윈도우에서는 한참 해맸다.

1. setuptools 설치
http://pypi.python.org/pypi/setuptools
Google App Engine을 위한것이라 setuptools-0.6c11.win32-py2.5.exe 를 설치하였다.
setuptools를 설치해야 나머지 것들을 설치할 수 있다.




2. NoseGAE 설치
http://pypi.python.org/pypi/NoseGAE/
압축을 풀고 setup.py가 있는 위치에서 python setup.py install 을 실행한다.

3. WebTest 설치
http://pypi.python.org/pypi/WebTest/


4. Nose 설치
nosetests 명령이 되지 않아 nose도 설치하였다. 명령이 실행되지 않는것은 환경변수 문제였기 때문에 설치를 안해도 될듯하다. 일단 설치는 하였다.
http://code.google.com/p/python-nose/downloads/list

5. 환경변수 설정

PYTHON_HOME을 만들어 파이썬이 설치된 경로를 추가하였다. C:\Python25
그리고 시스템 변수 Path를 편집해 아래의 경로를 추가하였다. 핵심은 scripts를 추가하는 것이다.
%PYTHON_HOME%;%PYTHON_HOME%\scripts;

6. 테스트
GAE 어플리케이션이 설치된 경로에서 nosetests를 실행한다.
이클립스에서 등록한 후 실행하는게 편할 것 같다.
뒤에 --gae-lib-root는 sdk가 설치된 경로.
nosetests -v --with-gae --gae-lib-root="C:\Program Files\Google\google_appengine"


드디어 OK. 성공이다.


GAE 스켈레톤 준비

구글앱엔진시작하기
카테고리 컴퓨터/IT > 프로그래밍/언어 > JAVA > JAVA일반
지은이 박상엽 (인사이트, 2010년)
상세보기

1. 프로젝트 구성
Pydev > Pydev Project 로 프로젝트 구성

코드 어시스트를 위해 라이브러리 설정.



2. 프로젝트 스켈레톤
책 예제 4장까지..
오타 주의 !!! 스크립트 언어라 오타가 나도 실행이 되기 때문에 오타에 주의해야 한다.

Google App Engine 설치

구글앱엔진시작하기
카테고리 컴퓨터/IT > 프로그래밍/언어 > JAVA > JAVA일반
지은이 박상엽 (인사이트, 2010년)
상세보기

구글 앱 엔진 시작하기를 보고 구글 앱 엔진을 설치하고, 샘플 코드를 실행하였다.

Pydev에서 구글 앱 엔진 프로젝트를 만들고 바로 구글 앱 엔진으로 올려서 확인해 보았지만 책에 나온데로 차근 차근 따라 해보면서 정리하려고 한다.

환경은 Windows 7 이고 32비트 이다.

1. python 2.5 버전 다운로드
구글 앱 엔진은 파이썬 2.5 버전을 지원하기 때문에 2.5를 다운로드 해야 한다. 현재 (2011.01) 은 2.7 버전과 3.2 버전이 최신이다.
윈도우는 msi 파일을 다운받아 설치하면 된다. 2.5.5가 2.5 버전대에 최신 릴리즈 인데 msi 파일은 찾을 수 없어서 2.5.4를 설치했다.

2. SDK 다운로드
Google App Engine SDK 를 다운로드 한 후에 설치한다. SDK에는 Launcher도 있어 콘솔에서 app_devserver.py 를 실행할 필요 없이 GUI 프로그램으로 손 쉽게 어플리케이션을 실행할 수 있다.

파이썬 2.5 버전이 설치된 후에 설치하면 문제가 없으나 더 높은 버전을 설치 한 후에 SDK를 설치하면 문제가 생기는 것 같다. 
파이썬 2.6 버전이 설치된 상황에서 SDK를 설치하고 Launcher를 실행하니 ConfigParser.NoOptionError: No option 'name' in section: '1' 같은 에러가 발생했다.

ConfigParser.NoOptionError: No option 'name' in section: '1' 에러는 C:\Users\재만\Google\google_appengine_launcher.ini 파일에 [1] 이 있을때 발생하는 것으로 [1]을 삭제하면 정상적으로 동작한다.

C:\Users\재만\Google 경로는 윈도우 탐색기에서 로컬디스크(C) > 사용자 > 계정 > Google 이다. 이 경로를 찾지 못해 한참 고생했다. 아에 google_appengine_launcher.ini 파일을 검색하는게 더 빠를것 같다.

3. Pydev를 이용해 샘플 코드 작성
Pydev 설치는 이전에 설치한 것 참조.

아래와 같이 Pydev Project 를 만든다.

파일은 app.yaml 파일과 helloworld_01.py를 만든다.
간단한 cgi 를 이용한 파일이다.
helloworld_01.py
print 'Content-type: text/plain; charset=utf-8'
print ''
print '안녕, 구글 애플리케이션 엔진1'
application: helloworld
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: helloworld_01.py

4. Google App Engine Launcher 실행
File > Existing Application 에서 프로젝트 파일을 선택한다.
그런 뒤 run을 실행시키면 8080 포트로 어플리케이션이 실행된다.

5. 결과 확인


Pydev 에서 Django 실행


Pydev를 설치한 이클립스에서 Django 프로젝트 만들기

이클립스 실행.

Ctrl + N 이나 메뉴에 File > New > Other 를 통해 Pydev Django Project 를 선택한다.

프로젝트 이름과 파이썬 인터프리터 등을 설정한다.

레퍼런스 프로젝트를 가져올수 있는데 지금은 패스..

사용할 데이터베이스를 선택해 준다. 세팅된 값은 이후 settings.py에서 확인할 수 있다.

마치면 프로젝트가 생성된다.

프로젝트 명에서 오른쪽 클릭 Run As > Pydev Django 를 클릭하면 내장 서버가 동작한다.

서버가 돌아가는 것 확인

브라우저에서 확인

Pydev에서 제공하는 Django를 사용해 쉽게 프로젝트를 만들수 있는데 내가 설치한 장고를 쓰는건지 장고를 설치하지 않아도 Pydev에 내장되어 있는 건지는 확인하지 못했다.

분명한 사실은 Django를 설치한 이후 이클립스에서 Pydev를 이용해 프로젝트를 했을때 만들어 진다는 것이다.

윈도우 7 Django 설치

파이썬 설치
장고는 아직 파이썬 3.x 를 지원하지 않음. 파이썬 2.5 이상을 설치한다.
설치 정리 : http://dev.claztec.net/76

장고 설치 및 확인
1.1.1 버전을 다운로드


다운로드한 파일을 압축을 푼 후에 Django-1.1.1 로 옮긴다.
이후 python setup.py install 명령 실행


C:\Django-1.1.1\django\bin에 django-admin.py 가 생겼다.

앞으로 장고 프로젝트를 C:\django에 만들 것이므로 django-admin.py 파일을 C:\django에 옮긴다.
이후 C:\Django1.1.1 디렉토리는 지워도 된다.

콘솔에서 장고가 제대로 설치되었는지 확인한다.

sample 이란 이름의 프로젝트를 생성한다.
python django-admin.py startproject sample

C:\django 에 sample 프로젝트가 만들어 졌다.

장고 내장 서버를 실행시킨다.
python manage.py runserver 로 실행하면 된다.

http://127.0.0.1:8000 으로 접속하면 정상적으로 프로젝트가 만들어 진것을 확인할 수 있다.


윈도우7 파이썬 설치

윈도우 7에서 파이썬 설치 방법 정리. 2.x 와 3.x 모두 동일하다.

파이썬 다운로드
http://www.python.org/download/

원하는 버전을 다운로드 한다. 윈도우 32비트를 사용하므로 Python 2.6.5 Windows Installer  다운로드.


파이썬 설치
다운로드한 파일을 실행시킨다.
설치하면 C:\Python26 에 파이썬이 설치된다.

* 이미 파이썬이 설치되어 있으면 이렇게 나온다.



파이썬 환경설정
어디서든 파이썬이 실행되게 환경변수에 등록한다.

고급 시스템 설정에서 환경변수를 클릭하고 시스템 변수에 Path 항목을 편집한다.
Path에 파이썬이 설치된 위치인 C:\Python26; 를 추가한다.




확인


subversive 설치

이클립스에 subversive 설치한것 정리.

설치환경
eclipse: galileo
OS: Ubuntu

Help에 Software Updates 에서 플러그인을 설치한다.

Location: http://download.eclipse.org/technology/subversive/0.7/update-site/


다른건 설치하지 않고 plugin만 설치한다. (어떤것을 설치해야 되는지 인터넷에서 검색한것 마다 다 맨아래 Subversive SVN team Provider Plugin 만 설치해도 잘 된다.)

설치가 끝나고 이클립스를 restart하게 된다. 이후 SVN을 사용하게 되면 Subversive Connector를 선택한다.
2가지 종류가 있는데 사용하는 os가 리눅스이기 때문에 선택의 여지없이 SVN Kit를 설치한다. java6를 사용하므로 SVN Kit 1.3.0 설치.


이상 Subversive 플러그인 설정 끝..

MySQL 한글 입력 문제

MySQL에 한글을 입력하면 ?? 로 표시되는 문제가 발생하였다.
결국 인코딩 문제 때문이었고, MySQL의 character를 변경해 주면 해결된다.

사용한 OS은 Ubuntu 9.04로 우분투는 기본적으로 시스템이 utf-8 을 갖는다.

MySQL설치는 시냅틱 패키지 관리자에서 MySQL server를 선택해서 설치하였다. 이렇게 설치하다보니 기본 언어설정을 못하고 지나치게 되었다. 그래서 characterset이 latin1으로 세팅이 되어 있었구 utf-8형태로 한글을 쓰다보니 한글이 깨져서 입력이 되었다.

1. characterset를 utf-8으로 변경
characterset을 바꾸기 위해서는 my.cnf 수정해야 한다. my.cnf 파일은 우분투에서 시냅틱 패키지 관리자로 설치하면 /etc/mysql 에 존재한다. my.cnf 수정은 http://ikinox.tistory.com/entry/mysql-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%84%A4%EC%B9%98utf-8-%EC%84%A4%EC%A0%95 에서 참조하였다.
참고로 설정파일도 함께 올렸다.

설정을 바꾸고 나서 MySQL을 재시작 해줘야 한다.
$sudo /etc/init.d/mysql restart

2. MySQL에 접속해서 characterset이 바뀌었는지 확인
설정이 적용이 되었다면 utf8로 변경이 된다. 내 경우에는 DB characterset은 latin1으로 계속해서 남아있었다. 그래도 결국 한글이 깨지진 않는다.

3. 테이블 생성
테이블을 생성해 줄때 character 설정을 utf8로 설정해 준다. 이부분이 가장 중요하다. 기존에 character 설정을 해주지 않고 테이블을 만들었다면 테이터가 한번 입력된 이후 테이블의 character 설정을 utf8로 변경을 해도 한글이 깨져서 입력될 가능성이 매우 높다. 이럴땐 과감히 drop 테이블을 하고 새롭게 만드는게 나은것 같다.
테이블을 만들때 MySQL Query Browser 와 같은 GUI 프로그램을 사용하면 편하게 설정해서 테이블을 만들 수 있다.



추가로 아래는 한글 입력이 깨지는 테이블과 깨지지 않는 테이블이다. MySQL Query Browser에서 Copy SQL to ClipBoard 을 통해 테이블을 create 한 쿼리를 보면 깨지는 테이블은 attribute에 character set이 latin1으로 되어 있는것을 확인할 수 있고 이때문에 한글이 입력되면 모두 latin1에 매칭되는 utf8 타입의 한글이 없어 ?로 입력되었던 것 같다.

<깨지는 테이블>
CREATE TABLE  `claztec`.`GUESTBOOK` (
  `guestbook_id` int(11) NOT NULL auto_increment,
  `register` datetime NOT NULL,
  `name` varchar(20) character set latin1 NOT NULL,
  `email` varchar(80) character set latin1 NOT NULL,
  `password` varchar(10) character set latin1 default NULL,
  `content` mediumtext character set latin1 NOT NULL,
  PRIMARY KEY  (`guestbook_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

<깨지지 않는 테이블>
CREATE TABLE  `claztec`.`GUESTBOOK` (
  `guestbook_id` int(11) NOT NULL auto_increment,
  `register` datetime NOT NULL,
  `name` varchar(20) NOT NULL,
  `email` varchar(80) NOT NULL,
  `password` varchar(10) default NULL,
  `content` mediumtext NOT NULL,
  PRIMARY KEY  (`guestbook_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8

4. 한글 입력
터미널에서 mysql을 실행해서 한글 입력테스트를 해본다. 이때 터미널 역시 인코딩이 UTF-8로 되어야 한다.


※ MEMBER 테이블에 깨진 문자가 입력된 이유는 my.cnf를 utf8로 변경하지 않고 insert를 해서 깨졌다.

5. 웹에서 입력
모든 character 설정 부분을 utf8로 한 후에 입력한다.
GUESTBOOK 테이블에 입력이 되는 프로그램이다. 최범균의 JSP 2.0 프로그래밍 방명록 예제 프로그램이다.

6. 데이터 베이스확인
실제 입력된 한글이 깨졌는지 확인한다.


할때 마다 생각하는 거지만 환경설정이 제일 힘들다. 환경설정에 기력을 쏟고 나면 정작 개발할 시간과 체력은 남지 않는것 같다.

끝으로 한글 인코딩에 관해서 참조한 글 http://cafe.naver.com/javacircle/34047

mysql utf-8로 변경

http://netbird.tistory.com/50?srchid=BR1http%3A%2F%2Fnetbird.tistory.com%2F50

http://lvsin.tistory.com/176?srchid=BR1http%3A%2F%2Flvsin.tistory.com%2F176

http://ikinox.tistory.com/entry/mysql-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%84%A4%EC%B9%98utf-8-%EC%84%A4%EC%A0%95
로컬에 있는 eclipse의 프로젝트를 subversion으로 올리기.

프로젝트 오른쪽 클릭 > Team > Share Project 선택


svn은 이클립스에 플러그인을 설치해야 나타난다.


새로운 저장소 생성


기본으로 프로젝트명을 불러온다.


끝..


사용자 설정..

svn 설정하기. 막상 해보니 참 쉽다.


Subversion 설치

Linux(ubuntu)에서 Subversion 설치하고 사용하기

설치
$ sudo apt-get install subversion

서버설정
$ svnadmin create ~/svnrepo
$ vi ~/svnrepo/conf/svnserve.conf

svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository

passwd
[user]
userid = userpassword

authz
[groups]
[/]
userid = rw
* =
그룹은 지정하지 않고 userid계정에서는 read/write, 나머지는 아무런 권한을 주지 않는다.

서버 시작
$ svnserver -d -r ~/svnrepo/ 오타 svnserver가 아닌 svnserve 이다.
$ svnserve -d -r ~/svnrepo/

http://localhost:3690에 접속해서 확인

주의할점

앞에 공백이 있어서는 eclipse에서 project를 share할때 에러가 발생한다.

대략 아래와 같은 에러다.

    svn: /home/claztec/svnrepo/conf/svnserve.conf:12: Option expected
    svn: /home/claztec/svnrepo/conf/svnserve.conf:12: Option expected
mkdir --parents -m "Initial import." svn://localhost/trunk/ajaxTest
    svn: /home/claztec/svnrepo/conf/svnserve.conf:12: Option expected
    svn: /home/claztec/svnrepo/conf/svnserve.conf:12: Option expected
    svn: URL 'svn://localhost/trunk/ajaxTest' non-existent in that revision
    svn: URL 'svn://localhost/trunk/ajaxTest' non-existent in that revision
mkdir --parents -m "Initial import." svn://localhost/trunk/ajaxTest



ubuntu vsftpd 설치

우분투에서 ftp로 vsftpd를 선택한 다음 설치하는 방법이다.

sudo apt-get install vsftpd로 쉽게 설치가 된다.
그러면 기본적으로 anonymous밖에 접근되지 않게 된다

우분투 한국 사용자 모임(ubuntu.or.kr)에서 찾은 내용인데
/etc/vsftpd.conf 에서
anonymous_enable=NO
local_enable=YES
write_enable=YES
로 변경해 주고 vsftpd를 재실행 하면 된다.

sudo /etc/init.d/vsftpd restart 명령을 하면 재실행 된다.

원하는 계정만 접근하는 방법은
/etc/vsftpd.ftpusers 파일을 생성하고 계정을 넣어주면 된다.
이때 보안상 root는 지양해야 한다고 한다.

Visual Studio 2005에서 윈도우즈 응용 프로그램을 만들다 보면 생기는 문제가 있다.

문자열을 다룰때 생기는 문제다.

예를 들어 MessageBox("Hello world"); 를 추가한다고 했을 때

error C2664: .... 'const char []' 에서  'LPCTSTR'로 바꿀 수 없다는 에러가 나온다.

Character Set이 vc 6.0이나 2003에서는 Use Multi-Byte Character Set인데, 2005에서는

Use Unicode Character Set이라 발생하는 문제라고 한다.

그래서 프로젝트 -> 속성 -> 구성속성 -> 프로젝트 기본값(문자 집합)에서

해당 값을 유니코드 문자 집합 사용에서 멀티바이트 문자 집합 사용으로 체크해 주면 된다.

그럼 유니코드를 사용하려면 어떻게 해 줘야하는지 모르겠다.

더불어 언제나 이렇게 문자열에 관한 속성을 세팅해 준 다음에 사용을 해야 되는 것인가?


사용자 삽입 이미지

찰스 페졸드의 Programming Windows 5th Edition 공부하다가...

3장. 윈도우즈와 메시지를 보면 WM_CREATE에서 Playsound 함수를 불러온다.

winmm.lib(windows multimedia를 의미) 라이브러리를 추가해 주어야 한다.

디폴트 프로젝트에 멀티미디어 라이브러리가 자동으로 포함되지 않기 때문이다.

책에서는 visual studio 6를 기준으로 설명되어 있다.

visual studio 2005에서는

프로젝트(P) -> 속성(P) (alt+F7) -> 구성 속성 -> 링커 -> 입력 -> 추가 종속성 에

winmm.lib를 추가해 주면 된다

시작하는 글

블로그 시작.

컴퓨터, 프로그래밍에 관한 것들을 공부하고 정리해 놓는 공간.