Computer Engineering/Python 3

Github Workflow에서 Python 패키지 설치 시간 단축하기

GitHub에 설정된 다양한 Workflow들의 파이썬 패키지 설치 과정은 파이썬 개발자들에게는 지루한 기다림의 시간입니다. 특히, 배포를 위해 Test Job이 통과하기를 기다리는 것은 Python을 사용하는 개발자들에게 익숙한 상황 중 하나입니다. 이 과정에서 CI(Test, Linter)가 언제 끝나는지 기다리는 시간은 개발 작업의 흐름을 방해하고, 프로젝트의 배포 및 유지 관리를 느리게 만들 수 있습니다. 이 포스팅에서는 GitHub Actions의 Workflow 내에서 Python 패키지 설치 시간을 단축하는 방법을 소개하려고 합니다. 이 방법들은 GitHub에 종속되는 방법뿐만 아니라 독립적으로 사용할 수 있는 방법들도 포함되어 있습니다. 이 글에서는 총 3가지 방법을 소개하며, 이러한 방법..

파이썬 SMTP Gmail app password 설정하기

오랜만에 간단하게Gmail Email Client코드를 작성하려는데 예전에 해놓은 설정이 곧 있으면 지원하지 않는 것을 발견했다. 보안 수준이 낮은 앱의 액세스를 2022년 5월 30일부터 막아서, 2-Step auth를 켜고 App password를 사용해야 Python smtp client로 이메일을 보낼 수 있게된다. (기업용 Google workspace는 계속 지원한다고 한다. 개인 메일만 해당된다.) 이전 설정 그 전에 해놓은 설정은 크게 두 가지 였다. 1) Gmail settings -> Forwarding and POP/IMAP 에서 다른 client들에서 IMAP을 이용해서 메일을 보낼 수 있도록 IMAP을 홝성화. 2) 보안 수준이 낮은 앱을 액세스할 수 있도록 설정. Account의..

파이썬은 얼마나 똑똑한가?

Python은 얼마나 똑똑한가? 제목만 보면 먼가 AI와 관련된 글 같지만 사실 이 글은 파이썬의 데이터 모델에 대한 철학에 대한 이야기입니다... (여기까지 속아서 들어왔으니 끝까지 읽어보시는 게 어떠실까요?..) 이 글에서 2개의 class를 정의하고 이를 통해서 파이썬이 얼마나 똑똑한지 증명해보려고 합니다. 아래와 같이 Foo 라는 class가 있고, 이 Foo라는 clsss는 __getitem__() 이라는 메서드 하나만 구현되어 있습니다. class Foo: def __getitem__(self, position): return range(0,30,10)[position] f = Foo() # output이 어떻게 나올거라고 예상하시나요 for i in f: print(i) 아마 결과가 0 10..

반응형