본문 바로가기

분류 전체보기

[파이썬] Thread(스레드) 스레드란? 스레드(Thread)는 프로그램이 동작할 때, 동시에 여러 작업을 수행할 수 있게 해주는 중요한 개념입니다. 이는 파이썬뿐만 아니라 모든 프로그래밍 언어에서 중요한 개념으로 사용됩니다. 프로세스와 스레드 프로세스는 운영체제 상에서 실행 중인 하나의 프로그램을 나타냅니다. 각 프로세스는 독립적으로 실행되며, 각각이 별도의 메모리 공간을 가집니다. 이와 달리, 스레드는 프로세스 내에서 동작하며, 같은 프로세스 내의 스레드들은 메모리를 공유합니다. 이를 통해 작업을 빠르게 처리할 수 있습니다. import threading def function1(): for i in range(50000 + 1): print("function1: ", i) def function2(): for i in range.. 더보기
[파이썬] Socket(소켓) 소켓이란? 소켓은 프로그램과 운영 체제 간의 인터페이스 역할을 합니다. 프로그램에서 소켓 작업을 요청하면, 운영 체제는 그 요청을 받아들여 새로운 소켓을 생성합니다. 이 소켓을 통해서만 외부 네트워크와 통신할 수 있습니다. 비유로 설명하자면, 소켓은 프로그램 내부에서 "창구" 역할을 하며, 실제 통신은 소켓들 간에 이루어집니다. 예를 들어, 채팅 프로그램에서 우리가 메시지를 보내면, 실제로는 소켓을 통해 상대방에게 전달되고, 그 소켓을 통해 메시지가 받아지게 됩니다. 채팅 프로그램 자체는 외부 네트워크와 직접 통신하지 않습니다. 또한, 소켓은 양쪽 프로그램 간의 통신을 중개하는 역할을 합니다. 예를 들어, 소켓 A는 프로그램 1과 통신하고, 소켓 B는 프로그램 2와 통신하며, 소켓 A와 B는 서로 메시지.. 더보기
[파이썬] 원격 database(MariaDB)와 연동 MariaDB는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)으로, Python에서 이를 활용하여 데이터베이스 작업을 수행할 수 있습니다. 이번 포스팅에서는 Python에서 MariaDB와 연동하고, 데이터베이스 작업을 수행하는 예제 코드를 다뤄보겠습니다. 1. 라이브러리 설치 먼저, Python에서 MariaDB를 활용하기 위해 MySQLdb 라이브러리를 설치합니다. 아래 명령을 사용하여 설치할 수 있습니다. pip install mysqlclient 2.데이터베이스 연결설정 import MySQLdb config = { 'host':'127.0.0.1', 'user':'사용자', 'password':'패스워드', 'database':'사용하는 데이터베이스명', 'port':3306, 'cha.. 더보기
[파이썬] Pickle 활용방법 pickle이란? pickle은 파이썬에서 사용하는 딕셔너리, 리스트, 클래스 등의 자료형을 변환 없이 그대로 파일로 저장하고 이를 불러올 때 사용하는 모듈입니다. ▶ 즉, 단순한 텍스트를 저장하는 것이 아니라 규칙이 있는 데이터를 파일로 저장할 때는 데이터 형식을 유지할 수 있어야 하는데, 파이썬에서 형식을 유지하면서 데이터를 저장하는 가장 쉬운 방법은 pickle 모듈을 사용하는 것입니다. # '피클링(일반 객체 및 복합 객체 file i/o) - object type으로 저장' 출력 print('피클링(일반 객체 및 복합 객체 file i/o) - object type으로 저장') # pickle 모듈을 임포트합니다. import pickle try: dictData = {'tom': '111-11.. 더보기
[파이썬] File I/O 1. 파일 열기 (open()) - open() 함수를 사용하여 파일을 엽니다. 이 함수는 파일 객체를 반환합니다. # file 입출력 import os print(os.getcwd()) # 현재 작업하고 있는 모듈의 경로명 반환 # mode='r(read)','w(write)','a(append)','b(binary)','t(text)' # 파일을 읽기 모드로 열기 file = open("파일 경로", "r") # 파일을 쓰기 모드로 열기 file = open("파일 경로", "w") # 파일을 추가 모드로 열기 file = open("파일 경로", "a") "r": 읽기 모드 (기본값) "w": 쓰기 모드 "a": 추가 모드 (파일 끝에 내용을 추가) 2. 파일 읽기 (read()) read() 함수.. 더보기
[파이썬] 에러의 종류 파이썬에서 에러의 종류 1. Syntax Error (문법 오류) 코드의 문법적인 구조가 잘못되어 발생하는 오류입니다. 2. Logic Error (논리 오류) 프로그램 실행 중에 발생하는 오류로, 프로그램이 비정상적으로 종료되는 오류입니다. 주로 프로그램의 논리나 알고리즘이 잘못된 경우에 발생합니다. 3. Exception Error (예외 오류) 코드를 실행하는 중에 발생하는 에러입니다. try ~ except 문을 사용하여 예외를 처리할 수 있습니다. try: # 예외가 발생할 수 있는 코드 except SpecificExceptionType as e: # 구체적인 예외 처리 except AnotherSpecificExceptionType as e: # 다른 특정 예외 처리 except Except.. 더보기
[파이썬] Singleton Pattern 싱글톤 패턴(Singleton Pattern)class SingletonClass: inst = None def __new__(cls): if cls.inst is None: cls.inst = object.__new__(cls) return cls.inst def aa(self): print('난 메소드야')위 코드에서 SingletonClass는 싱글톤 패턴을 구현한 클래스입니다. 이 클래스는 inst라는 클래스 레벨 변수를 가지고 있습니다. __new__ 메서드를 오버라이드하여 이미 인스턴스가 존재하는지 확인하고, 존재하지 않는 경우에만 새로운 인스턴스를 생성합니다. +) cls는 파이썬에서  "클.. 더보기
[파이썬] 클래스 상속 클래스에서 상속을 사용하면 코드를 재사용하고 확장할 수 있기에 클래스의 상속은 기존 클래스의 특성과 동작을 다른 클래스에서 사용할 수 있게 해주는 중요한 개념입니다. 클래스 상속의 특성 클래스들간의 특성공유 코드 수정시 부모 클래스만 수정하면, 자식 클래스들이 자동적으로 업데이트 class 부모클래스: # 부모클래스의 속성과 메서드 정의 class 자식클래스(부모클래스): # 자식클래스에만 해당하는 추가적인 속성과 메서드 정의 파이썬에서 클래스 상속을 구현하는 기본적인 방법 부모클래스는 상속될 클래스를 의미하고, 자식클래스는 상속받는 클래스를 의미합니다. 자식클래스는 부모클래스의 모든 속성과 메서드를 상속받습니다. 클래스 상속 예시1) 학생 정보 출력하기 # student 클래스 정의 class stud.. 더보기