반응형
지난번 만든 자동으로 일기쓰는 아이폰 단축어로 매일 같이 자동 일기가 써지고 있다. 아주 좋다. 확실히 하루하루가 기록되니까 시간 가는 것이 덜 아쉽다. 신용카드 내역보고 그날 뭔일 있었지? 싶을 때 일기들 찾아보면 다 기억난다. 소람님 아이폰 단축어를 내가 원하는 기능으로 바꿨고, 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..
몇몇 프로그래밍 팁들을 블로그 주제로 써보려고 구상중이다. 실감나는 포스팅을 하려니 아무래도 터미널 녹화가 필수다. 정적인 스크린샷 만으로는 해당 팁이 잘 전해지지 않을 것이다. 그렇다고 전체를 녹화하자니 내가 유튜버도 아니고(지금) 적당히 터미널에서 코딩하는 모습을 간단한 동영상 혹은 애니메이션 gif로 만드는 것이 좋을 것 같다. 하여, macOS에서 어떻게 녹화하는 것이 좋을까 알아봤다. 나는 본격 macOS 개발환경 구축하기 글 보고 터미널 기본 설정했다(강추!). 맥 기본 터미널 대신 iTerm2에 homebrew로 각종 오픈소스 프로그램들을 설치하고 사용한다. oh-my-zsh의 spaceship 테마를 좋아하고, tmux를 터미널 멀티플렉서로, nvim을 편집기로 사용한다. 그럼, 위와..
파이썬은 현재 가장 널리 쓰이는 프로그래밍 언어이지만, 그러다보니 제대로 알지 못하고 쓰는 기능들이 많다. 특히 데이터 분석 주로 하는 동료들 보면, 데이터 흐름에만 신경 쓰다보니, 정리되지 않은 코드, 잘 모르고 쓰는 기능들이 많이 보인다. 앞으로 알면 유용한 파이썬 기능들을 하나씩 써보고자 한다. 오늘은 반복자(iterator)와 발생자(generator)에 대한 것. Subscriptable 과 iterable 에 대한 설명 먼저 한다. 파이썬에선 모든 것이 객체다. 객체 가운데 특별한 성질을 갖는 것들이 있는데 subscriptable (몇번째 요소를 가져올 수 있는) 객체가 있고, iterable (반복할 수 있는) 객체가 있다. 다음 예제를 보자. >>> astr = "Hello world!..
기록은 시간을 느리게 가게 한다. 기록을 시간으로 나누면 (미분? dr/dt?) 회고과 다짐이 남고, 더 나은 삶을 누릴 것이다. 하루 단위의 "일기"가 있다면, 순간의 기록 "Moment"도 있다. 항상 옆에 있는 스마트폰으로 회고의 타이밍, 바로 기록하는 습관은 아주 중요하다. 순간 떠오르는 것을 바로 기록하지 않으면 날아가 버린다. “ 잠깐만요, 다니엘. 조금만 천천히 불러줘요.“ 그럴 순 없다네, 존. 시간이 없다면 대강 받아적게. ….그 인상만 남도록 말야. - 그런 다음에 나중에 채워 넣으면 돼. 영감은 순간이라네. 그걸 놓치고 문장을 완성해봤자 공허할 뿐이야. 우리가 할 일은 그저 그 스쳐가는 찰나는 놓치지 않는 것 뿐이지.” 내가 좋아하는 류기정님의 단편소설 "우리가 쏜 화살은 어떻게 되..
기록을 생활화하자는 2025년 새해 목표에 맞춰, 나의 순간 순간 하루 하루를 기록으로 남기려는 노력을 구체화하고 있다. 그 가운데, 꼭 포함하고 싶었던 것이 X(구 트위터)의 작성 글들을 따로 저장하는 것이다. 이것의 큰 이유 중 하나는 찰나의 순간을 트윗에 남겼는데 검색이 안돼서 헤맸던 경험이 많았기 때문이다. 나의 순간 순간 기록의 주 소스는 내가 사용하는 아이폰이 가장 클 것이다. 하여, 날짜마다 특별한 기록을 남긴다는 목표 아래 아이폰 단축어로 "오늘 내 트윗들을 가져오는 기능"을 만들기로 했다. 아이폰 단축어는 가히 프로그래밍이라 할만한 기능을 갖추고 있는데, 어떻게 써야하는지 도통 잘 모르겠더라는. 이번 기회에 하나하나 써보며, 내 삶의 기록에 대한 보다 자동화한 정리를 시도하였다. 만들..