2014년 1월 30일 목요일
[FlAsK] 플라스크 개발 환경 구성
1. python 다운로드 및 설치
URL : http://www.python.org/download/releases/2.7.5/
각자의 운영체제에 맞는 것을 선택 하여 다운로드 받아 설치 한다.
참고 : 2.7.6 에서 문제가 발생 하여 2.7.5 를 선택 하였다.
2. easy_install 를 설치 하기 위한 distribute_setup.py 다운로드
pip 라는 패키지 관리자를 사용 하기 위해서는 easy_install 이라는 것을 먼저 설치 해야
하는데, easy_install 을 사용 하기 위해서 distribute_setup.py 를 다운로드 받아야 한다.
URL : http://python-distribute.org/distribute_setup.py
파일을 다운로드 받아, python 설치 디렉토리(python.exe 가 있는 디렉토리) 에 복사 하여
넣는다.
3. esqy_install 의 설치를 위한 distribute_setup.py 의 실행
DOS 창을 열고 python.exe 이 설치된 디렉토리로 이동 하여 다음의 명령어를 실행 한다.
D:\devel\devel-tools\Python27>python distribute_setup.py
python 이 설치된 디렉토리 아래 Scripts 디렉토리에 easy_install 파일이 있는지 확인
한다.
4. PATH 에 등록
python 설치 디렉토리 아래 Scripts 를 PATH 에 등록 한다.
5. easy_install 을 이용하여 pip 설치
DOS 창을 열고 다음의 명령어를 실행 한다.
D:\> easy_install pip
python 이 설치된 디렉토리 아래 Scripts 디렉토리에 pip 파일이 있는지 확인 한다.
* PATH 에 등록 하였으므로 아무 위치에서나 easy_install 명령을 실행 하여도 된다.
6. pip 를 이용한 virtualenv 의 설치
virtualenv 는 하나의 컴퓨터에서 여러가지 버젼의 파이썬을 개별적으로 실행 할 수
있도록 해주는 일종의 가상 환경 이라고 한다.
설치 하기 위해서 다음의 명령어를 실행 한다.
D:\> pip install virtualenv
python 이 설치된 디렉토리 아래 Scripts 디렉토리에 virtualenv 파일이 있는지 확인 한다.
* PATH 에 등록 하였으므로 아무 위치에서나 pip 명령을 실행 하여도 된다.
7. 가상환경 생성
나중에 플라스크를 설치한 가상 환경에서 개발을 진행 하기 위한 단계.
D:\test-project 라는 디렉토리를 만들고 이동 한다.
D:\> mkdir test-project
D:\> cd test-project
D:\test-project>virtualenv venv
New python executable in venv\Scripts\python.exe
Installing setuptools, pip...done.
D:\test-project> cd venv\Scripts
D:\test-project\venv\Scripts> dir
D 드라이브의 볼륨: 새 볼륨
볼륨 일련 번호: C817-DD74
D:\test-project\venv\Scripts 디렉터리
2014-01-30 오전 02:36 <DIR> .
2014-01-30 오전 02:36 <DIR> ..
2014-01-30 오전 02:36 2,271 activate
2014-01-30 오전 02:36 538 activate.bat
2014-01-30 오전 02:36 8,252 activate.ps1
2014-01-30 오전 02:36 1,129 activate_this.py
2014-01-30 오전 02:36 348 deactivate.bat
2014-01-30 오전 02:36 95,084 easy_install-2.7.exe
2014-01-30 오전 02:36 95,084 easy_install.exe
2014-01-30 오전 02:36 95,056 pip.exe
2014-01-30 오전 02:36 95,056 pip2.7.exe
2014-01-30 오전 02:36 95,056 pip2.exe
2014-01-30 오전 02:36 27,136 python.exe
2014-01-30 오전 02:36 27,648 pythonw.exe
12개 파일 542,658 바이트
2개 디렉터리 565,885,050,880 바이트 남음
D:\test-project\venv\Scripts> activate.bat
(venv) d:\test-project\venv\Scripts>
8. flask, sqlalchemy, wtforms 설치 설치
플라스크 설치를 위해 아래의 명령어를 실행 한다.
(venv) d:\test-project\venv\Scripts> pip install Flask
(venv) d:\test-project\venv\Scripts> pip install sqlalchemy
(venv) d:\test-project\venv\Scripts> pip install wtforms
9. eclipse 실행을 위한 jdk 설치
이 부분은 건너뜀
10. eclipse 다운로드
URL : http://www.eclipse.org/downloads/
Eclipse Standard 4.3 를 각자의 운영체제에 맞는 것을 다운로드 받는다.
적당한 디렉토리에 두고 압축을 해제 하는 것으로 끝나기 때문에 다음 과정은 생략.
11. eclipse 로 편하게 코딩을 하기 위한 PyDev 의 설치
이클립스 실행후 상단 메뉴에서 "Help -> Eclipse Marketplace..." 메뉴 선택 한다.
나타나는 창에서 'PyDev' 검색 후 'PyDev - Python IDE for Eclipse' 를 설치 한다.
12. Eclipse 에 flask 가상환경 설정
"Window -> Preferences -> PyDev -> Interpreters -> Python Interpreter" 선택 한다.
New 버튼을 클릭 하고, 이전 7,8 단계에서 생성한 가상 환경의 경로에서 python.exe
가 있는 곳을 선택 한다.
13. eclipse 에 html 에디터 설치
Help -> Install new software... ->
'Kepler - http://download.eclipse.org/releases/kepler' 선택 ->
Web, XML, Java EE and OSGI Enterprise Development ->
Eclipse Web Developer Tools
Eclipse XML Editors and Tools
JavaScript Development Tools
2014년 1월 22일 수요일
[EtC] 사업자등록번호
사업자 등록 번호 형식 : 000 - 00 - 00000
첫번째 필드 3자리 숫자(000 - 00 - 00000)
서울,경기청 100
중구청 200
대전청 300
광주청 400
대구청 500
부산청 600
두번째 필드 2자리 숫자(000 - 00 - 00000)
01~80 개인사업자
81 영리법인
82 비영리법인
83 학교법인,지자체
84 외국법인
85 지점법인
86 서울경기의 영리법인
90~99 개인면세사업(쌀, 고기,어물,치과, 의원등)
세번째 필드 5자리 숫자(000 - 00 - 00000)
등록 일련번호
2014년 1월 13일 월요일
[AnDrOiD] 앱의 설치 위치
AndroidManifest.xml 에 아래와 같이 installLocation 을 추가 한다.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.freecatz.test" android:versionCode="3" android:versionName="1.6" android:installLocation="preferExternal" >
auto : 자동으로 내장메모리에 우선 설치 하나 공간이 없는 경우 외장메모리에 설치.
internalOnly : 내장 메모리에 설치.
preferExternal : 외장메모리에 설치를 우선으로 하나 공간이 없는 경우 내장메모리에 설치.
2014년 1월 10일 금요일
2014년 1월 7일 화요일
[EtC] JavaScript Event 목록
onAbort | 이미지를 읽다가 중단시켰을 때 발생 |
onActivate | 개체가 활성활 될 때 발생 |
onAfterPrint | 문서가 출력되거나 혹은 출력하기 위해 출력미리보기를 한후에 발생 |
onAfterUpdate | 데이터영역 개체에서 발생하는 이벤트로 데이터 소스 오브젝트내의 데이터가 업데이트 되었을 때 발생 |
onBeforeActivate | 개체가 활성화 상태로 되기 바로 직전에 발생 |
onBeforeCopy | 선택 영역이 시스템의 클립보드로 복사되기 바로 직전에 발생 |
onBeforeCut | 선택 영역이 지워지기 바로 직전에 발생 |
onBeforedeActivate | 현재 개체에서 다른 개체로 activeElement가 바뀌기 직전에 발생 |
onBeforeEditFocus | 편집가능한 개체 내부에 포함된 개체가 편집활성화 된 상태가 되거나 혹은 편집가능한 개체가 제어를 위해 선택될 때 발생 |
onBeforePaste | 시스템의 클립보드에서 문서로 붙여넣기 될때 대상 개체에서 발생 |
onBeforePrint | 문서가 출력되거나 혹은 출력하기 위해 출력미리보기 직전에 발생 |
onBeforeunload | 페이지가 언로드되기 직전에 발생 |
onBeforeUpdate | 데이터영역 개체에서 발생하는 이벤트로 데이터 소스 오브젝트내의 데이터가 업데이트 되기전에 발생 |
onBlur | 포커스가 다른 곳으로 이동했을 때 발생 |
onBounce | 마퀴태그에서 alernate상태에서 스크롤이 양 사이드에서 바운드 될때 발생 |
onCellChange | 데이터제공 개체에서 데이터가 변화할때 발생 |
onChange | 수정등과 같은 작업에 의해서 값이나 포커스를 잃을 경우 발생되는 이벤트 핸들러 |
onClick | 마우스로 클릭했을 때 발생 |
onContextMenu | 클라이언트 영역에서 사용자가 마우스 오른쪽 버튼을 눌러 콘텍스트 메뉴를 열때 발생 |
onControlSelect | 사용자가 개체의 제어 영역을 만들때 발생 |
onCopy | 시스템의 클립보드에 선택영역 혹은 개체를 복사할 때 소스 개체로부터 발생 |
onCut | 시스템의 클립보드에 선택영역 혹은 개체를 잘라낼때 소스 개체로부터 발생 |
onDataAvailable | 비정기적으로 데이터를 전달하는 데이터 소스 개체로부터 데이터가 도착할 때 마다 정기적으로 발생 |
onDatasetChanged | 데이터 소스개체의 변화에 의해 데이터가 노출된 상태로 될때 발생 |
onDatasetComplete | 데이터 소스 개체로부터 모든 데이터가 유용한 상태로 표시될때 발생 |
onDbClick | 마우스를 더블클릭 했을 때 발생 |
onDeactivate | 현재 개체에서 다른 개체로 activeElement가 바뀔때 발생 |
onDragEnd | 드래그 상태가 끝날때 소스 객체로 부터 발생 |
onDragEnter | 사용자가 개체를 드래그 하여 드롭가능 위치로 지정된 영역으로 이동할때 타겟 개체에서 발생 |
onDragLeave | 사용자가 개체를 드래그 하여 드롭가능 위치로 지정된 영역을 떠날때 타겟 개체에서 발생 |
onDragOver | 사용자가 개체를 드래그 하여 드롭가능 위치로 지정된 영역내에서 드래그할 때 계속적으로 타겟 개체에서 발생 |
onDragStart | 선택된 개체 혹은 텍스트 영역에서 사용자가 드래그를 시작할 때 발생 |
onDrag | 드래그 상태가 지속되는 동안 소스 객체로 부터 발생 |
onDrop | 드래그앤드롭 작용에서 상태가 진행되는 동안 개체가 타겟 개체에 드롭되었을 때 타겟 개체어서 발생 |
onErrorUpdate | 데이터 소스 개체 내에 데이터가 업데이트 되는 동안 에러가 발생할 때 데이터 영역 개체에서 발생 |
onError | 문서나 이미지를 읽다가 에러가 발생했을 때 발생 |
onFilterChange | 비주얼 필터의 상태가 바뀌거나 트랜지션이 완료되었을 때 발생 |
onFinish | 마퀴개체의 loop가 완료되었을 때 발생 |
onFocusin | 개체에 포커스가 셋팅되기 바로 직전 개체에 대해 발생 |
onFocusout | 포커스가 다른 개체로 이동한 후에 포커스를 가고 있는 현재 개체에서 발생 |
onFocus | 포커스가 들어왔을 때 발생 |
onHelp | 브라우저가 활성화 되어 있는 동안 F1키를 눌렀을 때 발생 |
onKeyDown | 키를 입력했을 때 발생 |
onKeypress | 키를 눌렀을 때 발생 |
onKeyup | 키를 눌렀다 놓았을 때 발생 |
onLayoutComplete | 소스 문서로 부터 콘텐드를 가지는 객체가 미리보기나 출력을 할때 현재 LayoutRect개체를 모두 채우는 것이 끝났을 때 발생 |
onLoad | 브라우저에서 문서가 읽혀졌을 때 발생 |
onLoseCapture | 개체가 마우스 캡쳐를 잃었을 때 발생 |
onMouseDown | 마우스 버튼을 눌렀을 때 발생 |
onMouseEnter | 개체 안으로 마우스 포인터가 들어올때 발생 |
onMouseleave | 개체의 경계밖으로 마우스 포인터가 이동할 때 발생 |
onMouseMove | 마우스를 움직였을 때 발생 |
onMouseout | 마우스 커서가 특정 영역 또는 링크에서 벗어날 때 발생 |
onMouseOver | 마우스가 객체 위에 놓여졌을 때 발생 |
onMouseup | 마우스버튼을 눌렀다 놓았을 때 발생 |
onMousewheel | 마우스 휠이 돌아갈때 발생 |
onMoveEnd | 개체가 움직임이 끝날 때 발생 |
onMoveStart | 개체가 움직이기 시작할 때 발생 |
onMove | 윈도우나 프레임을 움직였을 때 발생 |
onPaste | 문서에 클립보드로 부터 데이터가 전송될때 타겟 개체에서 발생 |
onPropertyChange | 개체의 속성이 바뀔대 발생 |
onReadystateChange | 개체의 상태가 변화할때 발생 |
onReset | 입력양식에서 리셋시켰을 때 발생 |
onResizeEnd | 제어영역에서 개체의 크기가 사용자에 의해 변화가 끝날때 발생 |
onResizeStart | 제어영역에서 개체의 크기가 사용자에 의해 변화되기 시작할때 발생 |
onResize | 윈도우나 프레임의 크기를 바꾸었을 때 발생 |
onRowenter | 데이터 소스내에서 현재 열이 변화되거나 개체에 새로운 유용한 데이터가 입력될때 발생 |
onRowExit | 데이터 소스 콘트롤이 개체내의 현재 열을 변화시킬 때 발생 |
onRowsDelete | 레코드셋에서 열이 삭제될때 발생 |
onRowsInserted | 현재 레코드셋에 새로운 열이 추가된후에 발생(데이터 개체에서)하는 이벤트 핸들러 |
onScroll | 사용자가 개체내의 스크롤 바를 스크롤 할때 발생 |
onSelectionChange | 문서의 선택 영역의 상태가 바뀔때 발생 |
onSelectStart | 개체가 선택되기 시작할때 발생 |
onSelect | 입력양식의 한 필드를 선택했을 때 발생 |
onStart | 마퀴개체에서 매 루프가 시작될때 발생 |
onStop | 사용자가 stop버튼을 눌렀을 경우 혹은 페이지를 떠날때 발생 |
onSubmit | 입력양식을 서버로 보낼 때 발생 |
onUnload | 문서를 닫고자 할 때, 또는 다른 페이지로 이동하고자 할 때 발생 |
2014년 1월 3일 금요일
[DaTaBaSe] Oracle Procedure IF-ELSIF-ELSE
IF 상태1 THEN
DBMS_OUTPUT.put_line('상태1 에 따른 처리');
ELSIF 상태2 THEN
DBMS_OUTPUT.put_line('상태2 에 따른 처리');
ELSIF 상태n THEN
DBMS_OUTPUT.put_line('상태n 에 따른 처리');
ELSE THEN
DBMS_OUTPUT.put_line('그 외에 처리');
END IF;
참고 : ELSEIF 가 아니라 ELSIF 가 맞다. 매번 까먹거나 헷갈리거나...
피드 구독하기:
글
(Atom)