반응형

Python/Utils 59

파이썬 redis 함수 정리 및 예제

Python에서 redis를 활용할 때 사용할 수 있는 대표적인 함수들을 정리해보고,간단한 예제를 통하여 사용 방법을 이해해보도록 하겠습니다.  참고: redis 데이터 저장 방식redis에서는 두 가지 방법을 통하여 데이터를 저장할 수 있습니다. I. key - value 방식딕셔너리에서 key - value를 저장하는 방식과 동일하며,"name" -> "jimmy" 와 같은 매칭 관계를 의미합니다.  II. hash - key - value 방식key - value 쌍을 hash 값을 기준으로 추가 매칭하는 관계를 의미합니다.예를 들면,"7월방문자" -> "name" -> "jimmy"처럼처음에 "7월방문자"라는 hash 정보가 위의 방식의 앞 부분에 추가로 포함됩니다.  이제 대표적인 함수들의 사용..

Python/Utils 2024.07.16

파이썬 unique id(고유 식별자) 생성 방법: uuid

Python에서 많은 갯수의 unique id 목록을 생성해야 하는 경우,전 세계에서 표준으로 많이 활용되는 uuid를 생성하는 방법을살펴보도록 하겠습니다.  uuid란?uuid는 총 32개의 16진수(0~9와 a~f) 문자를 포함하는 문자열로,겹치는 값이 나올 확률이 매우 희박하여 표준 고유 식별자로 많이 사용합니다. 양식은 하이픈('-') 4개가 중간에 들어가며,8글자-4글자-4글자-4글자-12글자의 양식이 많이 사용됩니다.예시) cea9a4a2-cb6d-4014-aaf0-81ca56345a91  파이썬에서 uuid 생성 방법Python에서는 별도의 설치가 필요 없는 표준 라이브러리인 uuid 모듈로쉽게 uuid를 생성해볼 수 있습니다. uuid1, uuid3, uuid4, uuid5 등 다양한 메소..

Python/Utils 2024.07.05

파이썬 XML 데이터 파싱 예제

Python에서 xml 형식으로 된 파일의 데이터에서 원하는 정보를 추출하는 방법을예시를 통하여 간략하게 정리해보도록 하겠습니다.  기본 예제다음과 같은 XML 파일이 sample.xml 파일로 저장되어 있다고 가정해보도록 하겠습니다. data1 data2  이 파일에서 각 값들을 추출하는 파이썬 코드 예시는 다음과 같습니다.import xml.etree.ElementTree as ETtree = ET.parse('sample.xml')root = tree.getroot()print(f'Root element: {root.tag}')for child in root: print(f'Child element: {child.tag}') for su..

Python/Utils 2024.06.25

파이썬 데이터 유효성 검증 모듈 pydantic 사용법 정리

Python은 기본적으로 변수를 정의할 때, 데이터 타입 및 조건 검증 과정을 거치지 않는데요.따라서, 데이터를 정의하는 과정에서 타입 등 유효성 조건이 맞는지 확인하는 과정이 필요하다면별도의 검증 과정을 따로 구현해야 합니다. 이 과정에서 pydantic 모듈을 활용하면 검증 단계를 매우 쉽게 진행할 수 있는데요.이번 글에서는 해당 라이브러리의 사용 방법을 간략하게 예제로 정리해보도록 하겠습니다.  모듈 설치 방법pydantic 모듈은 !pip install pydantic 명령어로 쉽게 설치가 가능합니다.  BaseModel 정의데이터의 타입을 특정 종류로 지정하기 위해서는 BaseModel을 불러와클래스에 상속시켜주는 과정이 필요합니다. 코드의 예시는 다음과 같습니다.from pydantic imp..

Python/Utils 2024.06.05

파이썬에서 값 암호화 해싱 및 검증 방법(bcrypt 모듈)

유저의 비밀번호 등의 중요 정보를 데이터베이스에 저장하기 위해서는 반드시값 암호화 해싱을 해야하는데요. Python의 경우에 편하게 활용이 가능한bcrypt 모듈의 기능에 대하여 간단한 예제를 통해서 살펴보도록 하겠습니다. 해당 모듈 설치는 다음 명령어로 진행해주시면 됩니다.pip install bcrypt  유저의 비밀번호 해싱 방법유저의 비밀번호를 input으로 받아 해싱된 결과를 반환받는 함수는 다음과 같습니다.참고로 gensalt()로 실행 시 같은 값을 해싱하더라도매번 다른 값이 출력되도록 만들기에 보안 상 이점이 큽니다.import bcryptdef hash_password(user_pw: str) -> str: hashed_pw: bytes = bcrypt.hashpw(user_pw.e..

Python/Utils 2024.05.02

파이썬 redis 유효 시간 ttl 설정 방법 예제

Python에서 redis 데이터베이스를 활용할 때, 특정 key에 대한 유효 시간인 ttl을 설정하는 방법을 간략한 예제를 통하여 다루어보도록 하겠습니다. 다음 예시는 redis 데이터베이스의 유효 시간을 1분으로 설정하는 예시입니다. import redis # redis 데이터베이스 연결 r = redis.Redis(host='localhost', port=6379, db=0) r.set('my_key', 'my_value') # my_key - my_value를 쌍으로 가지는 데이터 저장 r.expire('my_key', 60) # 키 'my_key'의 TTL을 1분으로 설정(초 단위) 위의 예제처럼 데이터베이스의 expire 메소드를 통하여 해당 key에 대해서 원하는 유효 시간을 초 단위로 설정..

Python/Utils 2024.04.16

파이썬 가상 환경 도구 poetry 특징 및 명령어 정리

파이썬 프로젝트마다 별도의 환경이 필요하고, conda 환경으로 관리하는 경우가 많지만, poetry로 가상 환경을 다루는 것도 큰 이점을 가져다주는 경우가 많습니다. 이번 글에서는 간단하고 명료하게 poetry의 특징과 장점 및 기본적인 명령어 예시를 정리해보도록 하겠습니다. Poetry 특징 및 장점 디렉토리마다 가상 환경을 별도로 두는 것이 특징입니다. 이 특징은 pipenv와도 유사합니다. 모듈의 버전 간 종속성을 자동으로 해결하고 관리해주는 것이 가장 큰 장점입니다. 예를 들어, 모듈 설치 시 기존 모듈의 버전과 호환이 되지 않으면 이를 해결할 수 있도록 안내해주며, 기존 모듈들끼리 호환이 되는 범위 내에서 버전을 자동으로 골라줍니다. 개발용 버전에서만 필요한 의존성을 별도로 두고 관리할 수 있..

Python/Utils 2024.04.04

파이썬 API 호출 동시에 여러 번 수행 방법(aiohttp 비동기 호출 응용)

Python에서 API를 수십 번 이상 동시 호출된 결과를 한 번에 모아서 실제로 1~2번 호출에 가까운 시간에 전체 결과를 받을 수 있는 방법에 대하여 간략하게 정리해보도록 하겠습니다. 여기서는 aiohttp 모듈의 비동기 호출을 사용하게 되는데요. 이에 대한 기본적인 내용은 아래 링크의 이전 포스팅을 참고하시면 도움이 됩니다. 파이썬 requests 비동기로 요청하기(aiohttp 및 asyncio 활용) Python에서 requests 모듈로 get, post 등의 요청을 진행하는 경우가 종종 있는데요. 이번 글에서는 이러한 종류의 요청을 aiohttp 모듈을 통하여 async로 처리하는 방법을 간략하게 정리해보도록 하겠습 jimmy-ai.tistory.com 비동기 API 호출 결과 모으기 예제 ..

Python/Utils 2024.03.19

파이썬 코드 포맷터 black 사용하는 이유 / 사용 방법

Python의 대표 Code Formatter인 black에 대하여 사용하면 좋은 점과 간단한 사용법 예시를 정리해보도록 하겠습니다. black 사용 장점/이유 개발자 간에 협업을 할 때, 코드 스타일이 다를 수 있는데 다른 스타일의 코드가 뒤죽박죽 섞이게 되면 가독성이 떨어져 코드 리뷰, 디버깅 등의 과정에서 어려움을 겪을 수 있습니다. 따라서, 코드 스타일을 통일하기 위하여 이를 중재해주는 코드 포맷터가 큰 프로젝트일수록 더 중요한 역할을 하게 되고, Python에서는 black이 대표 포맷터 종류로 자리잡은 것입니다. 예시로, black에서 중재해주는 코드 스타일 양식의 예시는 다음과 같습니다. ### 포맷팅 전 ### def some_function(arg1,arg2):return arg1+arg..

Python/Utils 2024.03.13

파이썬 구글 이메일(Gmail) 보내기 SMTP 예제(파일 및 이미지 첨부 포함)

안녕하세요. 이번 글에서는 Python에서 이메일을 SMTP로 보내는 예제를 다루어보겠습니다. 가장 흔히 쓰는 메일 사이트 중 하나인 지메일을 예시로 들 것이며, 기본 텍스트 이메일부터 첨부 파일 및 본문 이미지가 포함된 심화 예시까지 전부 다루어보며 전반적인 과정에 대하여 이해를 해보도록 하겠습니다. 필요조건: 구글 보안 및 Gmail 설정 구글 이메일에서 smtp 프로토콜로 이메일 보내기 기능을 활용하려면, 구글 보안 및 Gmail에서 일부 설정 과정이 필요합니다. 이는 다음과 같습니다. 1. 구글 계정 페이지에서 앱 비밀번호를 검색합니다. (단, 메일을 보내려는 해당 계정에 2단계 인증이 활성화되어 있어야 합니다.) 2. 원하는 앱 비밀번호의 이름을 적고, 만들기를 진행합니다. 3. Gmail 페이..

Python/Utils 2024.03.06
반응형