728x90 밍글링글링399 [Python] 17. [Network] threading module, 채팅 서버/클라이언트 제작 01. threading module- thread란 하나의 프로세스내에서 진행되는 하나의 실행단위를 뜻하며, 하나의 프로세스에서 여러 실행단위가 실행되는것을 멀티스레드라고 한다. 프로세스와 스레드는 모두 프로그램을 수행된다는 공통점을 가지고 있지만, 프로세스는 윈도우에서 여러 응용프로그램을 각각 실행시키는것처럼 독립적으로 실행되어 독립된 메모리공간을 사용하지만, 멀티스레드는 하나의 프로세스내에서 여러 스레드들이 프로세스공간의 메모리를 공유하여 사용할수 있다. 파이썬에서는 threading이라는 멀티스레드 기능을 지원하는 모듈을 제공한다. threading모듈에서 자주 사용되는 객체를 살펴보고, 간단한 예제를 통해 threading모듈을 알아보자 1. Thread 객체 - 스레드를 사용하기 위해서는 일반.. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 16. [Network] socketserver 네트워크 프레임워크, Echo Server 2, 파일 송수신 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 2017. 8. 2. [Python] 15. [Network] Network(네트워크), Socket, Echo Server 1 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 2017. 8. 2. [Python] 14. [IO] 데이터 파일을 읽어 성적, 연봉, 단풍 여행 처리 시스템을 작성하세요. 01. 데이터 파일을 읽어 성적처리하는 클래스를 작성하세요.- split(): 하나의 문자열을 주어진 문자열(regex)을 기준으로 분할하여 문자열 배열을 리턴합니다.예) array_values = line.split(",");- 문자열을 정수로 변환: price = int("2500"); - 파일 입출력 모드 r: 읽기 모드 (디폴트) r+: 읽기 + 쓰기 모드 w: 쓰기 모드 a: 쓰기 + 이어쓰기 모드 t: 텍스트 모드 (디폴트) b: 바이너리 모드 1. 데이터 파일[실행 화면] 왕눈이 직원의 성적을 처리했습니다. 아로미 직원의 성적을 처리했습니다. 홍길동 직원의 성적을 처리했습니다. 가길순 직원의 성적을 처리했습니다. 나길순 직원의 성적을 처리했습니다. ▷ C:/홈 폴더/io/sungjuk.txt.. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 13. [IO] IO(입출력), File 클래스 다루기, 파일 이동, 디렉토리 조작, 파일 목록, 파일 복사 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 2017. 8. 2. [Python] 12. 예외처리(Excetption), try, except ~ else ~ finally 실습 01. 예외처리(Exception)1) 이클립스상에서 개발시에 Python script(클래스)가 안정적으로 컴파일된 후 운영중에 발생하는 에러를 "예외"라고 한다. 예외는 코드상에서 발생하는 에러하고는 다르며 컴파일시에는 예외가 발생하지 않음. 마치 손상된 USB를 읽어오는 프로그램이 있다면 USB는 인식이되나 읽어 올 수 없음으로 경고창이 발생하는 경우.예) 네트웍 장애, IO, DBMS 서버 다운, 저장 장치의 용량이 없는 경우. 2) 예외가 발생하면 프로그램이 메시지 출력후 종료되어 심각한 문제가 발생할 수 있으나 예외 처리를 하면, 예외가 발생되서 프로그램이 끝나는 것이아니라 나머지 루틴이 정상적으로 실행됨으로 안정적인 프로그램이됨. 3) try: 예외 발생 예상 코드 except Excepti.. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 11. 상속(ingeritance), 부모클래스의 생성자호출, 생성자/메소드 오버로딩, 다중 상속 01. 상속(Ingeritance) - 부모 클래스의 메소드와 변수등이 자식 클래스로 자동으로 전달된다. - 클래스들이 공통적으로 사용하는 기능을 부모 클래스에 저장 한 후 상속받아 사용하면 개발 속도를 향상 시킬 수 있다. - 소스 재사용으로 인한 개발자의 개발 부담이 감소된다. - Python은 C++ 처럼 다중 상속을 지원한다.- 개발시에 상속을 권장하지 않는데 그 이유는 2개 이상의 클래스가 서로 결합되어 객체지향이라는 독립성을 위배하기 때문에 사용을 추천하지 않습니다. 예) 부모 클래스와 자식 클래스가 서로 관련되어 자식 클래스가 독립적으로기능을 실행할 수 없습니다. 소스 변경시 예상하지 못한 다른곳에서 에러 발생- 형식: class 자식 클래스(부모 클래스): class 자식 클래스(부모 클래.. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 10. Class 선언, 클래스 멤버, 메소드, 인스턴스 멤버, 메소드의 실습, 생성자, 소멸자, 모듈 분리 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 입.. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 09. 모듈과 패키지의 사용, import의 사용, Template 01. Template 1. Eclipse ▶ Window ▶ Preferences 2. utf-8 형식의 한글 인코딩 방식을 지정합니다. - Java, C언어처럼 시작할 main 함수가 없음을 파이썬이 실행시 '_name_' 시스템 변수의 값을 비교하여 '_main_'이면 블럭안의 코드를 실행합니다. - pass: 추후 블럭을 구현한다는 표시 ------------------------------------------------------------------------------------- # -*- coding: utf-8 -*- if __name__ == '__main__': pass --------------------------------------------------------------.. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 08. 함수 다루기, 함수의 인자, 지역 변수와 전역 변수, 리턴값, 디버깅 01. 함수 다루기, 함수의 인자, 지역 변수와 전역 변수, 리턴값 - 함수는 1개이상의 명령어를 그룹으로 묶어 반복 처리가 가능합니다. - 데이터(변수)를 사칙연산(+, -, *, /, %)을 이용하여 처리하는 역할을 합니다. - 데이터를 입출력하는 경우 사용합니다. - 한번 만든 함수는 계속적으로 호출(재사용) 할 수 있습니다. - SW 컴포넌트의 가장 작은 단위라고 할 수 있습니다. - 함수는 소괄호 '()'를 선언해야합니다. - 함수로 전달하는 데이터를 Parameter, 전달받는 쪽을 Argument라고 부릅니다. - 파이썬은 Method Overroding을 지원하지 않습니다. 하지만 가변 인수로 어느정도 비슷한 기능을 구현 할 수 있습니다. - 형식: def 함수이름(인자1, 이자2...);.. 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 07. 제어문 - 반복문(while, for문), for 문 실습 01. 제어문 - 반복문 While, for 문 1. While문 - '참'일동안 실행합니다. - 조건을 만족하지 않으면 한번도 실행을 하지 않습니다. - 순환 횟수를 정확히 지정할 수 없을 경우 사용합니다. 1) 1씩 증가시키는 누적 알고리즘 su = su + 1 2) 1부터 5까지 출력 - 무한 루틴을 이용하는 경우: while(true){... - while문에 조건을 명시한 경우: while(index 빅데이터 프로그래밍/Python 2017. 8. 2. [Python] 06. 제어문 - 분기문(if) - 다양한 if문, if문 실습, Template 01. 제어문 - 분기문 if - 조건에 따라 판단을 하여 코드를 실행합니다. - 조건에 따라 분기를 할 수 있습니다. if 조건식: 참일 경우 실행 else: 거짓일 경우 실행 - 중괄호 블럭안은 경계를 위해 들여쓰기를 2칸(2~4칸)정도 해야합니다. - 가장 바깥쪽의 코드를 들여쓰기를 하지 않습니다. - 콜론 다음 라인부터 시작하는 실행코드는 들여쓰기 간격이 모두 동일해야합니다. 저장 위치: Eclipse Setting: name: control 1. if문의 기본 형태 - 참일 경우만 실행하는 단순 if문 - 참과 거짓일 경우 각각 다르게 실행되는 if문 - 여러개의 if조건을 나열하고 해당하는 조건에 참인 if문을 실행하고 if문 전체를 종료합니다. - if문은 if문을 포함할 수 있습니다. - .. 빅데이터 프로그래밍/Python 2017. 8. 2. 이전 1 ··· 29 30 31 32 33 34 다음 728x90