2. Python에서의 UDP

 

self.serverSock = socket(AF_INET, SOCK_DGRAM) #Tcp/IpSOCK_STREAM

self.serverSock.bind(("", 7070)) #로컬호스트에 7070포트로 바인딩

*bind(): 프로세스에서 특정 포트를 명시적으로 쥐고 있기 위해 사용.

나 지금부터 7070포트 사용할거야

 

self.clientSock = socket(AF_INET, SOCK_DGRAM)

self.clientSock.sendto(msg.encode('utf-8'), (“192.168.120.170", 7070)) # 대상 서버, 목적지 포트

*sendto(): 자동으로 포트 할당

 

self.serverSock.sendto(message.encode('utf-8'), addr) #ip, port = addr

data, addr = self.serverSock.recvfrom(1024) #buffer size

*sendto(), recvfrom() 호출할 때마다 소켓&커널 열어서 데이터 주고 받음.

(connect()로 항상 open가능)

 

3. 계정 정보 연동

파이썬 코드만으로 윈도우 UI설정 불가

cmd명령어 실행과 파일 처리로 가능

 

파일(.inf) 추출 -> 파일 수정 -> 파일 변환(.sdb)&적용

os.system(“secedit /export /cfg account.inf) #파일 추출

os.system(“secedit /configure /db account.sdb /cfg account.inf) #파일 변환 & 적용

 

<account.inf>

[System Access] - 계정 정책

[Event Audit] - 감사 정책

[Registry Values] - 보안 옵션

[Privilege Rights] - 사용자 권한 할당

 

4. Python과 파일 인코딩

* (파이썬 기본)Utf-8 (메모장 기본)ANSI

Utf-16 Unicode

 

* UTF(Unicode Transformation Format): 컴퓨터에게 Unicode를 인식할 수 있도록 도와주는 방법(인코딩)

* 유니코드: 문자열을 숫자로 표현하기 위하여, 문자 하나와 숫자 하나를 각각 매핑한 것.

 

file = open('account.inf', 'rb' )

dataLine = file.read().decode('utf-16').split(u"\r\n")

file.write(lines.encode('utf-16'))

 

 

 

 

 

 

'개발 > Python' 카테고리의 다른 글

업무를 통해 알아본 Python  (0) 2020.03.31
3. Python으로 무엇을 할 수 있을까  (0) 2020.03.30
2. Python이 인기 많은 이유  (0) 2020.03.30
About Python ...  (0) 2020.03.30

1. Pyqt(Qt Designer) 후기

2. Python에서의 UDP

3. 계정 정보 연동

4. Python과 파일 인코딩

 

1. Pyqt(Qt Designer) 후기

Pyqt: UI프로그래밍 패키지. Qt Designer툴 지원

Pyqt는 다른 UI프로그래밍과 별차이X

* Qt Designer 장점

- 진입장벽이 낮다. (겉모습() c#윈도우폼이나 MFC와 비슷)

- UI배치가 쉽다.

- 간단한 이벤트 연결이 쉽다.

 

<위젯 편집 상태(F3)>

 

<시그널/슬롯 편집 상태(F4)>

시그널: 프로그램에서 사용자가 작동시켜서 발생하는 신호 (클릭, 드래그, 이벤트)

슬롯: 신호에 따라 일어나는 이벤트

 

* Qt Designer 단점

- 코딩 불가능

- Ui 배치 완료 시 수정 불가능

- 실행파일까지의 변환이 복잡하다. (.ui .py .exe)

**.ui .py

  • pyuic4 -x prac_1.ui -o prac_1.py

**.py .exe

  • pyinstaller prac_1.py

dist폴더에 있음(build가 아니라)

1) Django(장고)

- 웹사이트를 개발할 수 있는 웹 프레임워크

- 도메인 네임입력 후 웹 서버에 요청이 오면 장고로 전달

 

2) PyQT

- Python QT

 

 

 

3) Buildbot

- CI(Continuous Integration) 시스템

- 소프트웨어 빌드, 테스트 및 릴리스 프로세스를 자동화하기 위한 오픈 소스 프레임 워크

- 작업 스케줄링 시스템

 

 

- 버전 제어 계층, 빌드 계층, 알림 계층

- Master: 소스 코드 저장소에서 변경 사항을 모니터링, slave의 활동을 조정, 결과를 사용자 및 개발자에게 보고

'개발 > Python' 카테고리의 다른 글

Python에서의 UDP, 계정 정보 연동, Python과 파일 인코딩  (0) 2020.03.31
업무를 통해 알아본 Python  (0) 2020.03.31
2. Python이 인기 많은 이유  (0) 2020.03.30
About Python ...  (0) 2020.03.30

2. Python이 인기 많은 이유

1) 인간친화적 문법

- 교육용 언어인 만큼 간결한 문법으로 초보자도 이해하기 쉽다.

- 유지 보수와 관리에도 용이

Ex)>>> if 4 in [1,2,3,4]: print(“4가 있습니다”)

 

2) 라이브러리

- 서드파티 라이브러리(패키지): 다른 프로그래머들이 개발한 라이브러리. 무료이다.

- PyPI(Python Package Index): 파이썬 관련 패키지들이 모여있는 저장소

 

3) glue language (풀 언어)

사실 파이썬은

엄청난 횟수의 반복과 연산을 필요로 하는 프로그램,

대단히 빠른 속도를 요구하거나

시스템 프로그래밍이나 하드웨어를 직접 건드려야 하는 프로그램

에는 어울리지 않는다.

이에 대비해, 다른 언어로 쓰인 모듈들을 파이썬 프로그램에 붙이는 glue language의 성격을 갖는다.

 

4) 오픈 소스

- 파이썬은 오픈 소스로 언어에 대한 개발 비용은 무료이다.

 

5) 다양한 분야에서 활용 가능

- 웹 개발, GUI 개발, 데이터 처리 등을 위한 다양한 분야의 패키지들이 있다.

 

About Python

1. Python이란

2. Python이 인기 많은 이유

3. Python으로 무엇을 할 수 있을까

 

1. Python이란

1) 창시자

귀도 로섬

ABC언어 프로젝트 종료 -> 분산시스템연구 진행 -> 새로운 언어 필요

“새로운 분산환경 시스템에 맞으면서 C와 셀에서 부족한 부분을 채워주는 새로운 하이레벨 언어를 개발하고 싶었다

-> 2001 파이썬의 버전을 출시하면서 기업들의 도입 시작

 

2) 인터프리터식 언어

인터프리터: 고급언어를 pc가 이해할 수 있는 언어로 변환하는 장치.

명령어를 한 줄 한 줄씩 해석하고 실행하는 방식.

  • 입력하자마자 결과를 볼 수 있지만 전체 실행 속도는 느려질 수 있다.

 

3) 동적 타이핑

동적 타이핑: 특정 객체의 데이터형을 런타임 시에 파악하는 것.

  • 라스트 안에 여러 데이터 형을 함께 사용할 수 있다.

  • 타입 선언이 필요 없는 간결한 문법..

  • 변수의 타입을 변경할 수 있는 제약이 적어 변경이 용이.

     

4) 멀티패러다임 프로그래밍

: 절차적, 함수형, 객체지향 프로그래밍

  • 특정 프로그래밍 방식을 강제하지 않고 다양한 방식을 골고루 지원

 

5) 플랫폼

윈도우, 매킨토시, 유닉스, 리눅스 (안드로이드, ios X)

+ Recent posts