반응형

프로그래밍 언어 63

파이썬 Tk의 option_readfile('optionDB')

[목차] 1. PMW 설치하기 2. PMW 위젯을 사용하는 방법 3. PMW 메가 위젯을 빌드하는 방법 4. 파이썬 Tk의 option_readfile('optionDB') Tcl/Tk를 만져볼 줄은 몰랐지만, 역시 블로그에 적힌 질문에 답으로 글을 남깁니다. 질문을 하면 최대한 모르는 것도 찾아서 답변해주는 소혼입니다. (정말 모르는 것은 답변해드릴 수 없습니다.) from Tkinter import * root = Tk() root.option_readfile('optionDB') 먼저 위 코드를 파이썬에서 실행하면 아래 그림과 같이 에러가 발생합니다. 에러 메시지에 적혀있는 것처럼 optionDB를 읽어들일 수 없다고 나옵니다. option_readfile이란 option 정보를 파일로부터 읽어들이..

PMW 위젯을 사용하는 방법(How to use Pmw megawidgets)

[목차] 1. PMW 설치하기 2. PMW 위젯을 사용하는 방법 3. PMW 메가 위젯을 빌드하는 방법 4. Tk의 option_readfile('optionDB') 참고 : http://pmw.sourceforge.net/doc/howtouse.html 아래 글은 위 URL의 내용을 일부 번역하면서 하나씩 수행해본 내용입니다. 자세한 내용은 윗 글을 확인하세요 소개 이 문서는 Pmw megawidget toolkit 의 특징과 사용법을 간략히 기술한다. ... 시작하며 Pmw의 초기화 먼저 Pmw 라이브러리(Pmw 폴더)가 sys.path에 있어야 한다. (역자: 이전의 Pmw 설치 문서를 참고한다) 다음 두줄은 앞으로의 예제들 이전에 수행되어야 한다. Pmw.initialise()에 대해 더 자세한 ..

파이썬 PMW 위젯 설치하기

[목차] 1. PMW 설치하기 2. PMW 위젯을 사용하는 방법 3. PMW 메가 위젯을 빌드하는 방법 4. Tk의 option_readfile('optionDB') 방명록에 적어주신 글 읽고 PMW 위젯을 설치해보았습니다. 같이 적혀있는 http://blog.naver.com/pjfile/50002757300 참고하였습니다. windows XP에서 수행하였습니다. P 1. 먼저 다운로드를 받습니다. http://pmw.sourceforge.net/ 위 URL로 접속 후, "Downloadthe latest version of Pmw as tar.gz file (with full documentation)" 링크를 클릭하면 아래 그림이 나옵니다. 2. 압축을 해제합니다. 일단 아무 폴더에나 압축을 해제합..

파이썬 기초 문법 간략 정리

이미 여러 언어를 알고 있는 입장에서 기초부터 다 정리하긴 버겁고 꼭 필요한 것만 추려서 정리해보고자 합니다. 파이썬은 옛날부터 필요할 때마다 조금씩 썼는데 이번엔 안드로이드 앱을 만들면서 파일을 합쳐야 하는 문제와 안드로이드가 리소스 파일명에 제약을 두고 있어서 파일명을 변경해야 하는 문제를 위해 사용했습니다. 어쨌든 이 글은 아주 기초적인 파이썬 사용법을 C 언어 또는 다른 언어를 이미 어느정도 알고 계신 분들을 위한 요약 글입니다. 1. input, print, string - 이름을 입력받고 출력하기 name = input("what's your name?") print("your name is " + name) print("YOUR NAME IS " + name.upper()) print(you..

[SQLite] 리눅스에서 스크립트 백업 & 복구

안드로이드는 데이터베이스로 SQLite3를 사용한다. sqlite3 은 가볍게 사용할 수 있어 임베디드에서 많이 사용하는 오픈소스 데이터베이스 엔진이다. 프로젝트에서 DB가 필요한데 sqlite 에 직접 insert하기 귀찮아 스크립트로 sql을 생성했더니 sqlite3에 넣을 방법이 필요했다. 노가다로 붙여넣기 신공을 사용하려 했으나 아주 간단하게 처리가 가능했다. linux만을 전제한다. 1) sql 명령어 set으로 backup받는 경우 echo ".dump" | sqlite3 mydb.db > backup.script 2) sql 명령어 집합으로 db 파일 만들기 sqlite3 < backup.script (backup.script는 SQL로 이루어진 text 파일이다) 허접한 글이지만, 도움이 ..

[팁] File 읽어서 파싱하기

1. File을 new line 단위로 읽기 InputStream fis = myResources.openRawResource(resource 명) InputStreamReader isr = new InputStreamReader(fis); BufferedReader br = new BufferedReader(isr); try { String line = br.readLine(); Log.w("ENGLISH1", line); } catch (IOException e) { e.printStackTrace(); } 2. 특정 delimeter 단위로 읽기 InputStream fis = myResources.openRawResource(R.raw.myfile); // 안드로이드 코드 Scanner scn =..

Header안에 static 변수

C++에서 static을 다소 헷갈리게 만드는 요소가 있긴 하지만, header에서 static 변수를 선언해서는 안된다. static : 지역 변수임을 알려주는 키워드 (C++ 클래스 내부의 static과 다른 의미이다.) 헤더에서 static을 선언하면 어떤 일이 일어날까? 간단한 예제를 만들어보았다. (컴파일 없이 손코딩했음) common.h static int gvalue = 10; main.c #include #include "common.h" #include "b.h" int main () { printf("%d\n", gvalue); call_b(); printf("%d\n", gvalue); return 0; } b.h void call_b(); b.c #include "common.h" ..

디버깅하는 법 - 툴 - ltrace

디버깅이란 말 그대로 버그를 잡는다는 뜻이다. 코딩을 잘하는 사람이 대체로 디버깅도 잘하는 법이지만, 아무래도 디버깅을 유별나게 잘하는 사람들이 있다. 또, 디버깅 실력은 사람의 실력도 중요하지만 그가 사용하는 툴의 능력도 결코 무시할 수 없는 것 같다. Visual C++이나, Eclipse같은 툴을 쓸 수 있다면야 참 좋겠지만, 아무래도 임베디드 환경에서 이런 호사는 기대하기 힘들고 심지어 gdb마저도 쓰기 힘든 경우가 많다. 이럴 때 strace, ltrace를 사용해보는 것도 좋을 듯 싶다. 지금까지 gdb없으면 디버깅 못한다고 짧은 생각을 해왔는데 ltrace를 보니 때론gdb보다 뛰어나다는 생각마저 든다. ltrace 는 라이브러리상에 호출되는 symbol들의 이름을 출력해준다. 콜 스택을 보..

unresolved symbol 에 관하여

컴파일(정확히는 링크)을 할 때 아래와 같은 에러를 종종 보곤 한다. unresolved symbol이라는 에러는 말 그대로 해당 심볼명을 찾을 수 없다는 에러이다. 이런 에러가 났을 때, 우리가 해야 할 일은 [ 내가 만든 함수인 경우 ] 1. unresolved symbol이 뜬 곳에서 함수명, 인자의 타입, 개수, 반환값등을 확인한다. 2. 해당 함수를 포함한 파일이 컴파일 되는지 확인한다. 매크로등에 의해 컴파일에 포함되지 않을 수도 있기 때문이다. 쉽게 확인하는 방법의 하나는 해당 함수에 #error를 넣고 컴파일해보는 것이다. 컴파일 에러가 아니라, unresolved symbol이 또 뜬다면, 그 함수는 컴파일에 포함되지 않은것이다. 3. C함수인지 C++함수인지 확인한다. C++로 컴파일 ..

반응형