[Python] 비동기 프로그래밍(asyncio)
파이썬(python)2025. 3. 4. 16:33[Python] 비동기 프로그래밍(asyncio)

1. 파이썬 비동기 프로그래밍1.1. 기본 개념 및 이벤트 루프비동기 프로그래밍은 I/O 작업 등 시간이 소요되는 작업을 다른 작업과 병렬로 처리하여 전체 프로그램의 응답성을 높이는 방식입니다. 파이썬에서는 asyncio 모듈을 사용하여 비동기 작업을 구현합니다.coroutine: async def로 정의하며, 내부에서 await를 사용하여 다른 코루틴의 완료를 기다립니다.event loop: 비동기 작업을 스케줄링하고 실행하는 중심 메커니즘입니다.1.2. 간단한 비동기 함수 예제import asyncio # asyncio 임포트async def say(message, delay): print(f"'{message}' 출력 대기 중 ({delay}초)") await asyncio.sleep(d..

[Python] Typing 이란?
파이썬(python)2025. 1. 28. 16:53[Python] Typing 이란?

Python Typing이란?Python의 Typing은 변수, 함수, 클래스 등에 데이터 타입을 명시적으로 지정하는 기능임. Python은 기본적으로 동적 타이핑(dynamic typing) 언어이지만, 정적 타이핑(static typing)처럼 타입을 지정할 수 있도록 typing 모듈을 제공함.1. Python의 동적 타이핑 vs 정적 타이핑동적 타이핑 (Dynamic Typing)Python은 변수에 타입을 명시하지 않아도 자동으로 타입이 결정됨런타임(실행 중)에 변수 타입이 변경될 수 있음예제:x = 10 # intx = "hello" # str (동적으로 타입 변경 가능)정적 타이핑 (Static Typing, Type Hinting 활용)typing 모듈을 사용하여 변수 및 함수..

[Python] JWT 구현
파이썬(python)2025. 1. 28. 16:36[Python] JWT 구현

Python으로 JWT 인증 서비스 구현하기JWT(Json Web Token)는 웹 애플리케이션에서 인증(Authentication)과 권한 부여(Authorization)를 위해 널리 사용되는 토큰 기반 인증 방식임. Python을 사용하여 JWT를 생성하고 검증하는 간단한 AuthenticationService 클래스를 구현하는 방법을 소개함. 이 코드는 Django 프로젝트 환경을 가정하며 PyJWT 라이브러리를 사용함.JWT란?JWT는 JSON 형식의 데이터를 Base64로 인코딩한 문자열로, 안전한 정보 교환을 위해 주로 사용됨. JWT는 크게 세 가지 부분으로 구성됨:Header: 토큰 유형과 알고리즘 정보Payload: 사용자 정보 및 클레임(Claims)Signature: 토큰 무결성을 보..

[Python] Linked List
파이썬(python)2025. 1. 17. 15:53[Python] Linked List

파이썬으로 단일 연결 리스트(Linked List) 구현하기연결 리스트(Linked List)는 데이터 구조의 기본 중 하나로, 각 요소(Node)가 데이터와 다음 노드의 주소(참조)를 포함하는 방식으로 연결된 자료 구조임. 파이썬으로 단일 연결 리스트를 구현하는 방법을 예제 코드와 함께 설명함코드: LinkedList 클래스 구현아래는 Node 클래스와 LinkedList 클래스를 정의하여 연결 리스트의 기본 동작(추가, 조회, 삭제 등)을 구현한 코드임class Node: def __init__(self, data): self.data = data self.next = Noneclass LinkedList: def __init__(self, value): ..

파이썬(python)2025. 1. 16. 00:29[Python] 클로저(Closure)

파이썬 일급 함수와 클로저 기초 이해파이썬은 일급 함수(First-Class Function)를 지원하는 언어로, 함수를 마치 하나의 객체처럼 다룰 수 있음.이에 따라 클로저(Closure)라는 개념도 자연스럽게 등장함.클로저는 함수가 종료된 후에도 함수의 자유 변수(free variable)를 기억하고 사용할 수 있게 하는 강력한 기능을 제공함.일급 함수란?파이썬의 함수는 다음과 같은 조건을 만족하며 일급 객체로 취급됨:함수를 변수에 할당할 수 있음함수의 인수로 다른 함수를 전달할 수 있음함수의 반환값으로 다른 함수를 반환할 수 있음클로저(Closure)란?클로저는 함수가 반환된 이후에도 반환 당시의 환경을 기억하고 있는 함수임. 특히, 클로저는 외부 함수의 변수와 상태를 저장하여 이후에도 이를 참조하..

[Python] 해시 테이블(Hash Table) 활용: Dict, Set
파이썬(python)2025. 1. 12. 22:03[Python] 해시 테이블(Hash Table) 활용: Dict, Set

Python의 해시테이블(Hashtable) 활용: Dict와 SetPython에서 해시테이블은 적은 리소스로 대량의 데이터를 효율적으로 관리할 수 있는 핵심 구조임 특히 Dict와 Set은 데이터 중복을 허용하지 않고 빠른 검색을 가능하게 하여, 다양한 프로그래밍 문제에서 중요한 역할을 함1. Dictionary와 Set의 기본 특징Dictionary (Dict)키-값 쌍으로 데이터를 관리Key는 중복 불가, Value는 중복 허용삽입 순서를 유지Set데이터의 중복을 허용하지 않음순서가 없으며, 해싱을 기반으로 빠른 연산 가능추가적으로 frozenset을 통해 불변(immutable)한 집합을 생성 가능2. 불변 Dictionary (Immutable Dict)Python의 MappingProxyTyp..

[Python] 해시 테이블(Hash Table)
파이썬(python)2025. 1. 12. 21:48[Python] 해시 테이블(Hash Table)

해시 테이블 (Hash Table)란?해시 테이블은 Key-Value 형태로 데이터를 저장하는 자료구조로, Key 값을 해싱 함수(Hashing Function)를 통해 계산된 해시 주소에 매핑하여 데이터에 빠르게 접근할 수 있도록 함. Python에서는 dict와 set이 대표적으로 해시 테이블을 기반으로 구현된 자료구조임.파이썬 dict의 특징해시 값을 기반으로 한 접근성키 값의 해싱 결과에 따라 특정 메모리 주소로 바로 접근이 가능하므로 검색 속도가 매우 빠름.Mutable, Dynamicdict는 가변적이며, 필요한 만큼 동적으로 확장할 수 있음.Key의 조건 Key는 해시 가능(immutable)해야 함. 해시 가능 여부는 hash() 함수로 확인 가능.예를 들어, 튜플은 요소가 모두 immu..

[Python] sort, sorted
파이썬(python)2025. 1. 12. 16:17[Python] sort, sorted

Python 정렬 메서드 비교: sort와 sorted1. 차이점sorted새로운 객체 반환: 기존 리스트를 변경하지 않고, 정렬된 새로운 리스트를 반환함.사용 방식: sorted(iterable, *, key=None, reverse=False)원본 데이터는 변경되지 않음.sort원본 리스트 직접 변경: 리스트 객체에서 메서드로 호출하며, 리스트를 제자리에서 정렬함.사용 방식: list.sort(*, key=None, reverse=False)반환값: None (작업 후 리스트를 반환하지 않음).2. 예제 코드# 리스트 데이터 준비f_list = ['orange', 'apple', 'mango', 'papaya', 'lemon', 'strawberry', 'coconut']# sorted 예제print..

image