반응형
지난번 만든 자동으로 일기쓰는 아이폰 단축어로 매일 같이 자동 일기가 써지고 있다. 아주 좋다. 확실히 하루하루가 기록되니까 시간 가는 것이 덜 아쉽다. 신용카드 내역보고 그날 뭔일 있었지? 싶을 때 일기들 찾아보면 다 기억난다. 소람님 아이폰 단축어를 내가 원하는 기능으로 바꿨고, X(트위터) API로 그날 트윗을 가져오는 것도 추가했다. 이번에는 윗 그림의 완성을 위해 Strava API로 그날의 운동기록을 추가해보자. Strava API가 생소하기도 하고, 운동기록이 좀 복잡하기도 하니 다음 단계로 진행한다. (이것이 바로 CoT, Chain of Thought)Strava API 작동 방식 이해 그날의 운동기록을 가져오는 파이썬 스크립트 작성파이썬 스크립트를 아이폰 단축어로 변경 자동일기 단축..
재밌고 유용한 파이썬 프로그래밍! 파이썬으로 뭔가 의미있는 걸 만들고 나면, 이걸 잘 쓸 수 있도록 포장하고 배포하는 일 역시 중요하다. 실행에 필요한 라이브러리들이 잘 포함되도록 하고, 유닉스 명령행 앱 스타일로 다양한 옵션을 처리할 수 있도록 만들면 그럴 듯하게 써먹을 수 있다. 이를 위해선 파이썬 패키지 관리 pip, pipx 등이 필요하고, venv, pyenv 등 가상환경, argparse와 같은 명령행 파싱 모듈이 떠오른다. 하지만 막상 해보려 하면 생각치 못한 많은 이유로 쉽지 않다. 특히 파이썬을 macOS에서 쓰려면, 시스템에 설치된 것을 써야 할지, homebrew로 설치된 것을 쓸지, pyenv를 쓸지에 따라 여러 실행버전들을 혼동하게 되고, 거기에 패키지 관리 pip, pip3, c..
지난 파이썬 반복자(iterator)와 발생자(generator) 편에서 발생자란 무엇인지, 어떻게 쓰는 것인지 기초를 알아봤다. 발생자는 함수와 유사하지만 특정 시점에 멈춘 후, 필요할 때마다 다음 단계를 진입하여 쓸 수 있다는 특징 때문에, 일반 무한루프를 대신하여 동시성(concurrency) 및 이벤트 기반 프로그래밍에 편리하게 사용된다. 이번 글에서는 발생자의 추가 기능을 더 알아보고, 동시성이 중요한 "코루틴(coroutine)"으로 활용하는 법을 소개한다. 앞편 글에서 봤듯이, 발생자는 함수 안에서 yield 구문을 통해 값을 하나씩 반환하면서 실행을 멈췄다가 다시 시작할 수 있다. def simple_generator(): print("시작!") yield 1 print..
파이썬은 현재 가장 널리 쓰이는 프로그래밍 언어이지만, 그러다보니 제대로 알지 못하고 쓰는 기능들이 많다. 특히 데이터 분석 주로 하는 동료들 보면, 데이터 흐름에만 신경 쓰다보니, 정리되지 않은 코드, 잘 모르고 쓰는 기능들이 많이 보인다. 앞으로 알면 유용한 파이썬 기능들을 하나씩 써보고자 한다. 오늘은 반복자(iterator)와 발생자(generator)에 대한 것. Subscriptable 과 iterable 에 대한 설명 먼저 한다. 파이썬에선 모든 것이 객체다. 객체 가운데 특별한 성질을 갖는 것들이 있는데 subscriptable (몇번째 요소를 가져올 수 있는) 객체가 있고, iterable (반복할 수 있는) 객체가 있다. 다음 예제를 보자. >>> astr = "Hello world!..