프로그래밍9 파이썬 스레드 (Thread) 스레드란 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드라고 한다. 코드 작성방법을 살펴보자 import threading #스레드 임포트 import time def f1(num): for i in range(1, 21): print('th'+num+':', i) time.sleep(0.3) #실행중인 현재 쓰레드를 초만큼 잠재움, 딜레이 #인자값에 따라서 제어가능 def f2(): s = 'abcdefghijklmnopqrstuvwxyz' for i in s: print('th4 : ', i) time.sleep(0.3) de.. 2020. 12. 17. 계산기 프로그램 TKinter tkinter 라이브러리를 활용한 GUI 환경의 계산기 프로그램을 만들어 보았다. 소스를 살펴보자 import tkinter as tk class Calc: def __init__(self, root): self.num1 = None self.num2 = None self.op = None self.result = None self.root = root self.uiInit() def uiInit(self): self.root.title('계산기') #숫자가 표기될 레이블 생성 및 셋팅 self.label = tk.Label(self.root, width=25) self.label.grid(row=0, column=0, columnspan=4) # 각 버튼을 셋팅한다. self.b1 = tk.Button.. 2020. 12. 17. GUI 멀티 채팅 프로그램 (TKinter, Thread, Socket) 수업시간에 배운 내용들을 토대로 하여 작은 프로그램을 하나 만들어 보았다. 프로그램은 GUI 멀티 채팅 프로그램이며, Tkinter와 스레드, 소켓 라이브러리를 활용하여 구현했다. 위 세 라이브러리를 실제로 사용한 것은 이번이 처음이지만, 프로그램을 완성시키기 위해 이것 저것 검색해보고 분석하다보니 금방 적응할 수 있었다. 소스를 살펴보자~! import socket, threading class Room: # 채팅방 클래스. def __init__(self): self.clients = [] self.allChat=None def addClient(self, c): # c: 텔레마케터 . 클라이언트 1명씩 전담하는 쓰레드 self.clients.append(c) def delClient(self, c).. 2020. 12. 17. TKinter 기본 (파이썬 GUI) #라이브러리 임포트 import tkinter as tk #윈도우 객체 생성 window = tk.Tk() #윈도우창의 타이틀 설정 root.title('타이틀') #윈도우 창의 크기와 위치를 지정,(가로x세로+좌표(x,y)) window .geometry('300x200+100+100') #크기 제어를 못하도록 막아둠 root.resizable(False, False) # 뷰 위젯의 하나인 레이블객체 생성 (hello world 출력) # 옵션으로 width, heigth text 등이 있음 label = tk.Label(window, text='hello wolrd') # pack을 이용해서 위젯(레이블,버튼 등...)을 윈도우 창에 배치를 함 label.pack() label.pack(side ='.. 2020. 12. 17. 파이썬 소켓(TCP) TCP에서 사용하는 소켓에 대해서 알아보자. 소켓은 전송계층과 응용계층을 이어주는 역할을 하며, 응용프로그램은 소켓을 통하여 통신망에 데이터를 송,수신 할 수가 있다. 네트워크는 서버와, 클라이언트가 연결된 상태로 구성되어있으며, 그 연결 과정으로는 다음과 같다 1. (서버, 클라이언트)소켓 객체 생성 2. (서버) 호스트 및 포트 바인드 3. (서버) 클라이언트의 접속을 허용(listen) 4. (서버) accept : 클라이언트의 연결을 기다림, 클라이언트가 접속하면 소켓을 리턴한다 5. (클라이언트) connect : accept상태의 서버에 접속 socket.sendall(data) : data를 연결된 소켓으로 전송한다 socket.recv(bufferSize) : 연결된 소켓으로부터 buffe.. 2020. 12. 15. 1. 자바 설치 (이 글은 내용을 추가하여 보완할 예정입니다) 자바 다운로드 1. jdk 다운로드 - 검색창에 jdk 1.8 버젼을 검색 - oracle사이트에 들어가서 회원가입을 한 뒤 아래 파일을 다운로드 합니다. - 설치파일을 실행하여 설치합니다. (설치는 전부 next) 이 때 설치한 폴더의 경로를 잘 확인해주세요!! 2. 환경변수 설정 내컴퓨터 우클릭 - 속성 - 왼쪽메뉴의 '고급 시스템 설정' - '고급' 탭 - 환경변수 JAVA_HOME 추가 (자바의 홈 디렉토리라는 것을 알려줌) 위에서 jdk를 설치한 폴더 경로입니다. - program files\java\jdk1.8.0_211 필자는 자바를 예전에 설치했기때문에 버전이 다르다 CLASSPATH 추가 - ,;C:\Program Files\Java\jdk1.. 2020. 11. 16. 이전 1 2 다음 반응형