[Python] 21. [DBMS] Sqlite3 + Python 연동 실습
·
빅데이터 프로그래밍/Python
[01] Sqlite3 + Python 연동 실습1. database 생성 방법1) sqlite3.exe test.db를 통한 생성2) Python 소스를 통한 생성 2. Python 소스를 이용한 데이터베이스 파일과 테이블 자동 생성- Python 소스가 있는 폴더에 생성됩니다. ▷ /sqlite3/create_table.py ------------------------------------------------------------------------------------- # -*- coding: utf-8 -*- import sqlite3 # python.db 파일이 존재하지 않아도 정상 실행됨. conn = sqlite3.connect('python.db') cursor = conn.curso..
[Python] 20. [DBMS] 데이터베이스 개론, SQLite3 사용
·
빅데이터 프로그래밍/Python
01. 데이터베이스시스템 개론(DBMS) - 우리가 일상 업무나 생활에서 발생하는 데이터를 컴퓨터 기반의 데이터 저장소를 만들고 저장, 조회, 수정, 삭제, 통계를 제공하는 컴퓨터 시스템(SW). 1. 데이터를 저장하기위한 테이블(엔티티)의 구조 - 데이터베이스의 구성요소이며 하나 이상이 존재 할 수 있습니다. - 2차원 배열의 표 형태를 가지고 있습니다. - Record는 Column의 집합입니다. - Table(entity)은 Record의 집합입니다. - Database는 계정과 테이블의 집합입니다. - 엑셀과 같은 구조임으로 엑셀을 사용하는 기업은 쉽게 정보화를 추진할 수 있습니다. - 하나의 Excel 파일은 하나의 Database 파일과 대응합니다. 엑셀파일안의 sheet는 하나의 table과..
[Python] 19. [GUI] wxPython 그래픽 사용자 인터페이스, 다양한 Widget, Menu
·
빅데이터 프로그래밍/Python
01. 다양한 Widget1 wx.MenuBar, wx.Menu, wx.MenuItem 위젯을 통한 메뉴의 출력- wx.MenuBar: 화면 상/하단위 메뉴바- wx.Menu: 메뉴바에 붙이는 메뉴 그룹 한 열- wx.MenuItem: 메뉴열에 붙이는 하나의 메뉴 항목- wx.MenuBar(): 메뉴들의 구성- fileNewMenu = fileMenu.Append(wx.ID_ANY, "새 파일"): 메뉴 항목 추가- fileMenu.AppendSeparator(): 메뉴 구분자- self.menuBar.Append(fileMenu, "&File"): 메뉴바에 메뉴 붙이기 - self.Bind(wx.EVT_MENU, self.OnNew, fileNewMenu): 이벤트 등록 ▷ /wxexam/Menu.py..
[Python] 18. [GUI] wxPython 그래픽 사용자 인터페이스, 기본 Widget, Sizer
·
빅데이터 프로그래밍/Python
01. wxPython 그래픽 사용자 인터페이스- https://www.wxwidgets.org- Python에 내장된 Tkinter UI toolkit에 비하여 더욱 향상된 GUI 환경 지원- 1992년부터 개발되어온 wxWidget을 파이썬 개발 환경에서 사용가능 하도록 변경한 버전으로 C#, Perl, Java도 지원함. 1. pip를 이용한 라이브러리 설치- 관련 library를 다운로드 받아 자동으로 설치해줌.- 공식 지원은 Python 2.7을 지원하나 개발 버전으로 Python 3.0을 지원하는 피닉스(Phoenix)라고하는 프로젝트를 제공함.1) https://wxpython.org/Phoenix/snapshot-builds/ 접속- whl: wheel 파일, pip를 이용하여 파이썬 설치..
[Python] 17. [Network] threading module, 채팅 서버/클라이언트 제작
·
빅데이터 프로그래밍/Python
01. threading module- thread란 하나의 프로세스내에서 진행되는 하나의 실행단위를 뜻하며, 하나의 프로세스에서 여러 실행단위가 실행되는것을 멀티스레드라고 한다. 프로세스와 스레드는 모두 프로그램을 수행된다는 공통점을 가지고 있지만, 프로세스는 윈도우에서 여러 응용프로그램을 각각 실행시키는것처럼 독립적으로 실행되어 독립된 메모리공간을 사용하지만, 멀티스레드는 하나의 프로세스내에서 여러 스레드들이 프로세스공간의 메모리를 공유하여 사용할수 있다. 파이썬에서는 threading이라는 멀티스레드 기능을 지원하는 모듈을 제공한다. threading모듈에서 자주 사용되는 객체를 살펴보고, 간단한 예제를 통해 threading모듈을 알아보자 1. Thread 객체 - 스레드를 사용하기 위해서는 일반..
[Python] 16. [Network] socketserver 네트워크 프레임워크, Echo Server 2, 파일 송수신
·
빅데이터 프로그래밍/Python
1. 계속 실행되는 Echo 서버의 제작 - socketserver.BaseRequestHandler class를 상속받아 구현 [실행 화면] /ws_python/oop/network>python EchoServer2.py ▷ network.EchoServer2.py ----------------------------------------------------------------------------------- # -*- coding: utf-8 -*- import socketserver HOST = '' PORT = 9009 # 0 ~ 65535, 일반적으로 1000번이상 사용하면 충돌이 없음. # socketserver.BaseRequestHandler 상속받아 구현 class MyTcpHandl..
[Python] 15. [Network] Network(네트워크), Socket, Echo Server 1
·
빅데이터 프로그래밍/Python
01. 네트워크 개론 1. IP and Port의 이해 - TCP/IP 프로토콜은 IP와 PORT 정보를 이용하여 사용됩니다.- 프로토콜은 인간의 언어 처럼 2대 이상의 컴퓨터가 서로 데이터를 주고받는 하드웨어적, 소프트웨어적 규칙(규격)을 말합니다. - IP 하나당 사용 가능한 포트 : 0 ~ 65535 (2Byte) - 알려진 개발자가 사용할 수 없는 포트(Well known port) 20, 21 : FTP, 파일 전송 22 : Secure Shell 접속, SSH, 서버 콘트롤, 원격 서버 조작. 23 : Telnet, 원격 접속, 서버 콘트롤, 보안성이 없음. 25 : SMTP, 메일 전송 80 : HTTP, Apache, IIS등 웹서버, 인터넷 웹 페이지 서비스110: POP3 , 메일 수신..
[Python] 14. [IO] 데이터 파일을 읽어 성적, 연봉, 단풍 여행 처리 시스템을 작성하세요.
·
빅데이터 프로그래밍/Python
01. 데이터 파일을 읽어 성적처리하는 클래스를 작성하세요.- split(): 하나의 문자열을 주어진 문자열(regex)을 기준으로 분할하여 문자열 배열을 리턴합니다.예) array_values = line.split(",");- 문자열을 정수로 변환: price = int("2500"); - 파일 입출력 모드 r: 읽기 모드 (디폴트) r+: 읽기 + 쓰기 모드 w: 쓰기 모드 a: 쓰기 + 이어쓰기 모드 t: 텍스트 모드 (디폴트) b: 바이너리 모드 1. 데이터 파일[실행 화면] 왕눈이 직원의 성적을 처리했습니다. 아로미 직원의 성적을 처리했습니다. 홍길동 직원의 성적을 처리했습니다. 가길순 직원의 성적을 처리했습니다. 나길순 직원의 성적을 처리했습니다. ▷ C:/홈 폴더/io/sungjuk.txt..
[Python] 13. [IO] IO(입출력), File 클래스 다루기, 파일 이동, 디렉토리 조작, 파일 목록, 파일 복사
·
빅데이터 프로그래밍/Python
01. IO(Input Output) Stream - 프로그램이 가지고 있는 또는 가지고 있지 않은 데이터를 외부(다른 프로그램)로 보내거나 가져오는 동작을 말합니다. - Program에서 출력 ---------------> 모니터, 디스크 장치, 네트워크, USB, Bluetooth, 출력 스트림, System File, Socket File - 키보드, 디스크 장치, 네트워크, USB, Bluetooth ---------------> Program, 입력, File, Socket File, 입력 스트림 - 입출력 Stream은 FIFO(First In First Out, 지하철 표를내고 들어가는 출입구와 비슷한 구조입니다.(Queue 구조) - 스트림은 단방향 구조입니다. 따라서 오로지 출발지와 목적..
[Python] 12. 예외처리(Excetption), try, except ~ else ~ finally 실습
·
빅데이터 프로그래밍/Python
01. 예외처리(Exception)1) 이클립스상에서 개발시에 Python script(클래스)가 안정적으로 컴파일된 후 운영중에 발생하는 에러를 "예외"라고 한다. 예외는 코드상에서 발생하는 에러하고는 다르며 컴파일시에는 예외가 발생하지 않음. 마치 손상된 USB를 읽어오는 프로그램이 있다면 USB는 인식이되나 읽어 올 수 없음으로 경고창이 발생하는 경우.예) 네트웍 장애, IO, DBMS 서버 다운, 저장 장치의 용량이 없는 경우. 2) 예외가 발생하면 프로그램이 메시지 출력후 종료되어 심각한 문제가 발생할 수 있으나 예외 처리를 하면, 예외가 발생되서 프로그램이 끝나는 것이아니라 나머지 루틴이 정상적으로 실행됨으로 안정적인 프로그램이됨. 3) try: 예외 발생 예상 코드 except Excepti..
[Python] 11. 상속(ingeritance), 부모클래스의 생성자호출, 생성자/메소드 오버로딩, 다중 상속
·
빅데이터 프로그래밍/Python
01. 상속(Ingeritance) - 부모 클래스의 메소드와 변수등이 자식 클래스로 자동으로 전달된다. - 클래스들이 공통적으로 사용하는 기능을 부모 클래스에 저장 한 후 상속받아 사용하면 개발 속도를 향상 시킬 수 있다. - 소스 재사용으로 인한 개발자의 개발 부담이 감소된다. - Python은 C++ 처럼 다중 상속을 지원한다.- 개발시에 상속을 권장하지 않는데 그 이유는 2개 이상의 클래스가 서로 결합되어 객체지향이라는 독립성을 위배하기 때문에 사용을 추천하지 않습니다. 예) 부모 클래스와 자식 클래스가 서로 관련되어 자식 클래스가 독립적으로기능을 실행할 수 없습니다. 소스 변경시 예상하지 못한 다른곳에서 에러 발생- 형식: class 자식 클래스(부모 클래스): class 자식 클래스(부모 클래..
[Python] 10. Class 선언, 클래스 멤버, 메소드, 인스턴스 멤버, 메소드의 실습, 생성자, 소멸자, 모듈 분리
·
빅데이터 프로그래밍/Python
01. 클래스(Class: 반, 학급, 그룹) - 데이터 표현 방법의 변화 .OOP 이전 시대: 문자 숫자 기반의 단순한 데이터 처리 예) String 성명, String, 기술력, String 프로젝트, int 경력, String 자격증, int salary, int tax C언어의 구조체는 데이터를 묶어서 처리 지원 .OOP 이후 시대: 의미 있는 데이터의 집합, 개발자가 새로운 데이터 타입을 생성하는 구조 예) 개발자(String 성명, String 기술력, String 프로젝트, int 경력, String 자격증) 노트북{String brand, float cpu, int hdd, float lcd, boolean wifi, boolean bluetooth} 리조트{String 객실, Date 입..