목록Laboratory (1387)
SeouliteLab
파이썬에서 웹 서버와의 통신을 처리할 때 pycurl 라이브러리를 사용하면 편리합니다. pycurl은 libcurl을 파이썬에서 사용할 수 있도록 해주는 라이브러리로, HTTP 요청을 보내고 받는 데 사용됩니다. 이번에는 pycurl을 사용하여 HTTP 요청을 보내는 방법을 알아보겠습니다. 예제 1: GET 요청 보내기 import pycurl # pycurl 객체 생성 curl = pycurl.Curl() # URL 설정 curl.setopt(curl.URL, 'https://api.example.com/data') # GET 요청 설정 curl.setopt(curl.HTTPGET, True) # 요청 보내기 curl.perform() # 응답 출력 print(curl.body.decod..
파이썬에서 데이터를 암호화하고 복호화하는 기능은 매우 중요합니다. 그 중에서도 pycrypto는 파이썬에서 가장 널리 사용되는 암호화 라이브러리 중 하나입니다. 이번에는 pycrypto를 사용하여 데이터를 암호화하고 복호화하는 방법을 알아보겠습니다. 예제 1: 대칭키 암호화 from Crypto.Cipher import AES from Crypto.Random import get_random_bytes # 키 생성 key = get_random_bytes(16) # 암호화 cipher = AES.new(key, AES.MODE_EAX) plaintext = b"Hello, world!" ciphertext, tag = cipher.encrypt_and_digest(plaintext) print("암호화된..
C 언어는 시스템 프로그래밍이나 임베디드 시스템에서 많이 사용되는 언어 중 하나입니다. 이번에는 파이썬에서 C 코드를 파싱하고 분석하는 데 사용되는 pycparser 라이브러리에 대해 알아보겠습니다. pycparser는 C 언어의 파서를 파이썬으로 구현한 것으로, C 코드를 읽고 분석하여 파이썬 객체로 표현할 수 있습니다. 예제 1: C 코드 파싱하기 from pycparser import parse_file # C 파일 읽기 및 파싱 ast = parse_file('example.c') print(ast) 위 예제는 pycparser를 사용하여 C 코드를 파싱하는 간단한 예제입니다. parse_file() 함수를 사용하여 C 파일을 읽고 파싱한 후, 파싱 결과인 AST(Abstract S..
ASN.1(Abstract Syntax Notation One)은 데이터 표현을 위한 표준 형식 중 하나이며, 네트워크 통신에서 종종 사용됩니다. pyasn1-modules는 pyasn1 라이브러리의 확장 모듈로, 다양한 표준 ASN.1 스펙을 파이썬 코드로 변환하여 제공합니다. 이를 통해 ASN.1 형식의 데이터를 생성하고 분석하는 방법을 살펴보겠습니다. 예제 1: X.509 인증서 파싱하기 from pyasn1_modules import pem, rfc2459 # X.509 인증서 읽기 with open('certificate.pem', 'rb') as f: cert_data = pem.readPemFromFile(f) # 인증서 파싱 cert, _ = pem.decode..
ASN.1(Abstract Syntax Notation One)은 네트워크 상에서 데이터를 교환하기 위한 형식을 정의하는 표준입니다. 파이썬에서는 ASN.1 형식의 데이터를 다루기 위해 pyasn1 라이브러리를 사용할 수 있습니다. 이번에는 pyasn1를 사용하여 ASN.1 형식의 데이터를 생성하고 분석하는 방법을 살펴보겠습니다. 예제 1: ASN.1 데이터 정의하기 from pyasn1.type import univ # ASN.1 데이터 정의 class Person(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('name', univ.OctetString()), namedtype.NamedType(..
프로토콜 버퍼(Protocol Buffers)는 구조화된 데이터를 직렬화(serialization)하고, 다른 시스템, 언어, 플랫폼 간에 효율적으로 통신하는 데 사용되는 메커니즘입니다. 이번에는 파이썬에서 Protocol Buffers를 사용하여 데이터를 정의하고 직렬화하는 방법을 살펴보겠습니다. 예제 1: .proto 파일로 메시지 정의하기 // person.proto syntax = "proto3"; message Person { string name = 1; int32 age = 2; repeated string hobbies = 3; } 위 예제는 .proto 파일을 사용하여 Person 메시지를 정의하는 방법을 보여줍니다. 이 메시지는 이름(name), 나이(age), 취미(hobbies) 세..
Pillow는 파이썬에서 이미지 처리를 위한 강력한 라이브러리로, 이미지 생성, 수정, 저장 등 다양한 작업을 수행할 수 있습니다. 이번에는 Pillow 라이브러리를 사용하여 이미지를 다루는 방법을 살펴보겠습니다. 예제 1: 이미지 열기 및 보기 from PIL import Image # 이미지 열기 image = Image.open('example.jpg') # 이미지 정보 출력 print("이미지 포맷:", image.format) print("이미지 크기:", image.size) print("이미지 모드:", image.mode) # 이미지 보기 image.show() 위 예제는 Pillow를 사용하여 이미지를 열고 이미지의 포맷, 크기, 모드 등의 정보를 출력하는 방법을 보여줍니다..
메시지 큐(Message Queue)는 분산 시스템에서 서로 다른 컴포넌트 간의 비동기 통신을 위해 사용되는 소프트웨어 통신 기술입니다. 파이썬에서는 RabbitMQ와 같은 메시지 브로커를 다루기 위해 pika 라이브러리를 사용할 수 있습니다. 이를 통해 메시지 큐를 생성하고 메시지를 전송하고 수신하는 방법을 알아보겠습니다. 예제 1: RabbitMQ 서버에 연결하기 import pika # RabbitMQ 서버 연결 connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() # 큐 선언 channel.queue_declare(queue='hello&..
SSH(Secure Shell)는 네트워크 상에서 안전하게 통신하기 위한 프로토콜로, 원격 서버에 명령을 실행하거나 파일을 전송하는 데 사용됩니다. 파이썬에서는 paramiko 라이브러리를 사용하여 SSH 연결을 설정하고 관리할 수 있습니다. 이를 통해 SSH 통신을 구현하는 다양한 예제를 살펴보겠습니다. 예제 1: SSH로 원격 서버에 접속하기 import paramiko # SSH 클라이언트 생성 client = paramiko.SSHClient() # 호스트 키 자동으로 추가 client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 서버에 연결 client.connect(hostname='example.com', username=..
MQTT(MQ Telemetry Transport)는 경량 메시징 프로토콜로, IoT(사물인터넷) 기기 간 통신에 널리 사용됩니다. 파이썬에서는 paho-mqtt 라이브러리를 사용하여 MQTT 클라이언트를 구현할 수 있습니다. 이를 통해 MQTT 브로커와 통신하는 다양한 예제를 살펴보겠습니다. 예제 1: MQTT 메시지 발행하기 import paho.mqtt.client as mqtt # MQTT 클라이언트 생성 client = mqtt.Client() # MQTT 브로커에 연결 client.connect("test.mosquitto.org", 1883) # 메시지 발행 client.publish("topic/test", "Hello MQTT") # 연결 종료 client.disconnect() 위 예제..