본문 바로가기
반응형

분류 전체보기855

Python - Boto3 S3 대량 데이터 가져오기, paginator Boto3 라이브러리는 Python에서 AWS 리소스를 사용하기 위해 가장 많이 사용되는 라이브러리로 여기에서 최근 알게된 팁을 하나 정리해 본다. 아마 가장 많이 사용하는 기본적인 코드 방식은 다음과 같을 것이다. import boto3 client = boto3.client('s3') my_bucket = s3.Bucket('bucket_name') for file in my_bucket.objects.all(): print(file.key) 위 코드를 통해 기본적으로 쿼리를 진행하면 한번에 최대 1000개의 데이터만 가져올 수 있다. 하지만 기업에서 사용하는 데이터를 보통 더 많은 데이터를 보관하고 있기 때문에 1000개의 제한을 해결할 수 있는 방식을 추가로 제공하는데, ListObjectV2를 .. 2024. 3. 3.
Python - 코드 네이밍 스타일 (snake_case, camel_case, upper_case) 코드 네이밍은 서로 몇가지 규칙을 개발자들 사이에서 코드 가독성과 공유시 보다 이해가 쉽도록 하는데 있다. 필수도 지킬 필요는 없지만, 동일한 규칙을 사용하게 되면, 서로 다른 개발자가 개발한 코드라도 이해도가 높아지고 코드의 완성도가 높아지기 때문에 되도록이면 규칙을 정해서 사용하는 것이 좋다. 오늘은 Python 의 Linting highlights syntactical and stylistic problems와 Code Quality 로 활용할 수 있는 Linting 기능을 이용하면 Snake_case Name 경고를 볼 수 있는데, Python에서 추천하는 Code Naming인 Snake Case와 그외 많이 사용하는 Camel Case, 그리고 Upper Case에 대해서 정리해 보겠다. Sn.. 2024. 3. 3.
Python - reverse/reversed 리스트 역순으로 뒤집기 프로그램을 실행하다보면, list을 뒤에서 부터 실행해야하는 경우가 종종 발생한다. 이때 유용한 명령이 reverse/reversed 이다. 이 둘의 결과를 반환 유무의 차이가 있다. reverse 지정한 list를 역순으로 뒤집는다. test = [1,2,3,4,5] test.reverse() print(test) [5,4,3,2,1] reversed 지정한 list의 역순으로 뒤집은 결과를 반환한다. test = [1,2,3,4,5] print(list(reversed(test))) [5, 4, 3, 2, 1] for i in reversed(test): print(i) 2024. 3. 3.
Python - Pylint Error Code 테이블 전체 예외할 때 에러 코드 기준으로 해야 해서 여기에 정리해 본다. Ctrl + F 키로 에러 이름을 이용해 검색해서 보기를 권장한다. GitHub - janjur/readable-pylint-messages: List of pylint human readable message ids and dev readable codes 에러 비활성화 방법은 아래를 참고하기 바란다. 에러 코드를 확인하는 방법은 에러 이름을 통해 확인하고 코드를 기입하면 비활성화가 가능하다. Blogger 이메일 또는 휴대전화 accounts.google.com 2024. 3. 3.
Python - Pylint Error Code 테이블 전체 예외할 때 에러 코드 기준으로 해야 해서 여기에 정리해 본다. Ctrl + F 키로 에러 이름을 이용해 검색해서 보기를 권장한다. GitHub - janjur/readable-pylint-messages: List of pylint human readable message ids and dev readable codes 에러 비활성화 방법은 아래를 참고하기 바란다. 에러 코드를 확인하는 방법은 에러 이름을 통해 확인하고 코드를 기입하면 비활성화가 가능하다. 2024. 3. 3.
Python - 함수 주석 설명 팁 프로그램이 길어지고 호출해야 하는 함수가 다양한 파일에 존재한다면, 함수 호출을 위해 도움을 줄 수 있는 설명을 달아주는 것이 효율적이다. 여기서는 함수 설명을 어떻게 달 수 있는지와 알아두면 좋은 3가지 항목에 대해서 설명해 보도록 하겠다. 아래와 같이 test 함수가 있다고 치자. 여기에 설명을 달고자 한다면, 쌍따옴표 3개를 이용해서 감싸고 원하는 설명을 넣으면 된다. def test(a = 'a', b = 1, c = None): """ test 함수입니다. a (str): a value b (int): b value c (str): c value """ pass 이때, 함수에서 사용되는 인자값(아규먼트, 파라메터)도 함께 기입을 해주면 보다 각 인자값들이 어떻게 사용되는지 쉽게 알 수 있기 때문.. 2024. 3. 3.
Python - Workday 공휴일, 날짜 인지 확인 업무일자에만 실행해야 하는 경우 어떻게 만들 수 있을까? 필자의 경우 알람을 개발하는데, 공휴일에 알람이 온다면 알람을 받는 사람도 괴롭고, 실제 알람의 효과도 없을 것으로 이를 개선하기 위해서 비즈니스(업무일자)에만 알람을 전달하는 기능을 개발하기 위해서 추가한 코드를 정리해 보았다. 요약해 보면, Python의 Numpy의 is_busday를 사용하면 쉽게 구현이 가능하다. 코드는 다음과 같다. import numpy import datetime now = datetime.datetime.utcnow() now = now + datetime.timedelta(hours=9) workday = now.today().strftime("%Y-%m-%d") numpy.is_busday(workday) Tru.. 2024. 3. 3.
Python - smtplib 기본 라이브러리를 이용한 text/html 메일 보내기 대부분 프로그래밍에서는 메일 전달과 관련된 기본 라이브러리 및 예제 코드를 제공하고 있다. 오늘은 Python 부분에 대해서 메일 전송 방안에 대해 정리해 보고자 한다. 여기에서는 기본 라이브러리를 활용한 방안에 대해서 정리해 보도록 하겠다. MailSender 함수 만들기 메일에 내용이나 본문이 변경될 수 있기 때문에 아래와 같이 함수를 선언하여 사용하는 것을 추천한다. 아래 코드에서 유심있게 봐야하는 부분은 보내야 하는 대상 즉 To가 여러명일 경우, sendmail 에서의 To 데이터와 Message["To"]에 들어가는 데이터 형식이 다르다는 것이다. smtplib 의 sendmail 에서는 []를 이용한 리스트 형태로 들어가야 한다. 하지만 message["To"] 에서는 string으로 들어가.. 2024. 3. 3.
스타레일 - 로빈 인게임 유출 내용 정리 마지막 업데이트 240302 스타레일 2.0 업데이트를 통해서 메인 개척 임무를 진행하였다면 로빈을 모를 수 없을 것이다. 이러한 로빈은 곧 2.2에 플레이어블 캐릭터로 합류할 예정인데, 최근 로빈 관련 유출내용이 있어 정리한다. 최근 중국 Tieba 포럼에서 공유된 Honkai: Star Rail 내용은 로빈이 궁극기를 사용하여 아군을 버프하고 전투 상태에 들어가는 것을 보여주는 게임 내 영상을 공개되었다. 이를 통해 플레이어는 캐릭터의 디자인을 볼 수 있었는데, 그녀가 흰색 드레스와 보라색 신발을 착용하고 있음을 확인할 수 있었다. 또한 로빈이 지원 히로인임을 암시하고 그녀가 출혈 효과를 중심으로 하는 기술 세트를 가지고 있다고 한다. 즉 물리 속성을 가진 캐릭터일 것이다. 물리 기반 화합(풍요) 캐.. 2024. 3. 2.
반응형