반응형

Python 11

비동기 처리 정복 - 파이썬으로 배우는 async/await

비동기 처리?간단하게 설명하면: 한 작업이 끝날 때까지 기다리지 않고, 다른 작업을 동시에 진행하는 것■ 현실 예시로 이해하기카페에서 커피 주문하는 상황동기 방식 (기다리는 방식)아메리카노 주문 → 5분 기다림 → 완성라떼 주문 → 5분 기다림 → 완성프라푸치노 주문 → 5분 기다림 → 완성 → 총 15분 소요비동기 방식 (동시에 하는 방식)아메리카노, 라떼, 프라푸치노 동시 주문바리스타 3명이 동시에 제조각각 5분 후 동시에 완성 → 총 5분 소요왜 비동기를 써야 할까?프로그래밍에서는 "대기 시간"이 많다.. # 동기 방식 - 순차적으로 처리def 동기_처리(): 사용자정보 = 데이터베이스에서_가져오기() # 100ms 대기 주문내역 = 데이터베이스에서_가져오기() # 150m..

Python 2025.05.23

Python 프레임워크 및 라이브러리 선택 기준 정리

1. Python 프레임워크 선택 시 고려사항성능 및 확장성FastAPI는 비동기 처리를 지원하여 높은 처리량과 낮은 지연 시간을 제공Django는 대규모 애플리케이션에 적합하며 자체 ORM이 포함Flask는 가볍고 확장 가능한 구조로 중소규모 프로젝트에 적합커뮤니티 및 생태계활발한 GitHub 활동(이슈 해결 속도, PR 병합 빈도)Stack Overflow 등 질의응답 플랫폼의 활성도정기적인 업데이트 및 보안 패치 빈도학습 곡선 및 개발 속도FastAPI는 직관적인 API와 자동 문서화 기능으로 빠른 개발이 가능Django는 "배터리 포함" 철학으로 많은 기능이 내장되어 있어 초기 학습에 시간이 필요Flask는 최소한의 코어에 필요한 기능을 추가하는 방식으로 학습이 용이문서화 품질공식 문서의 완성도예..

Python 2025.05.16

비밀번호 암호화에 passlib와 hashlib 비교 (python)

Python에서 비밀번호 암호화에 passlib와 hashlib 중 무엇이 더 나은지는 사용 목적과 요구사항에 따라 다르다. 두 라이브러리는 서로 다른 목적으로 설계되었기 때문에, 상황에 맞는 선택이 중요합니다.아래에서 두 라이브러리의 특징과 비밀번호 암호화에 대한 적합성을 비교해 보겠습니다.1. hashlib설명: Python 표준 라이브러리로, MD5, SHA-1, SHA-256 등 다양한 해시 알고리즘을 제공합니다.특징:단방향 해시 함수를 구현하며, 주로 데이터 무결성 확인이나 간단한 해싱에 사용됩니다.솔트(salt)나 작업 부하(work factor)를 자체적으로 지원하지 않으므로, 비밀번호 저장용으로 사용하려면 직접 구현해야 합니다.빠르고 가볍지만, 비밀번호 암호화에는 최적화되어 있지 않습니다...

Python 2025.03.06

fastapi - Event loop is closed 에러

fastapi에서 mongoDB를 연결해서 토큰을 생성해오는 작업중. 연결했다고 좋아하고 있었는데 두번째는 무조건 에러가 발생했다. 이벤트 루프가 닫혔다는 것.  File "C:\Users\kimaa\AppData\Local\Programs\Python\Python313\Lib\asyncio\base_events.py", line 556, in _check_closed raise RuntimeError('Event loop is closed')RuntimeError: Event loop is closed  그래서 몽고db가 중간에 끊겼나 싶었는데 그런것도 아니었다. 엄청난 삽질끝에 내가 controller에서 사용하던  인증정보를 불러오는 이 문구가 문제였다. auth_data = asyncio.r..

Python 2025.03.04

fastapi - bcrypt 오류

bcrypt 를 붙이려고했더니 이런 에러가 났다.  bcrypt.py:622 - (trapped) error reading bcrypt versionAttributeError: module 'bcrypt' has no attribute '__about__'bcrypt.py:625 - detected 'bcrypt' backend, version ''bcrypt.py:406 - 'bcrypt' backend lacks $2$ support, enabling workaround 찾아보니 bcrypt  버전을 낮추래서 낮추기도 하고 다시 올리기도하고 pip 버전도 올리고 별 쑈를 했는데도 안됨.  이래저래 찾은 방법은 대신 hashlib 을 사용하면 된다.  `hashlib` 모듈은 파이썬 표준 라이브러리의 ..

Python 2025.02.27
728x90
반응형