iOS 12 단축어 앱 만들기 #마트쉬는날

iOS12에 ‘단축어’라는 재밌는 기능이 하나 생겼다. 사실 기존에 있었던 기능(?)이지만, 아마 iOS업데이트를 통해 siri와 연동이 추가된거 같다.

쉽게 말해 모바일 혹은 원격 PC(?)를 통해 실행가능한 특정 행동을 매크로(?) 처럼 실행 할 수 있도록 해주는  기능이다. 사실 iOS는 사용자의 커스텀이 상당히 제한적인 운영체제인데, 이 앱을 통해 여러가지 재밌는 시도를 해볼 수 있는 환경이 구현되었다.

그래서 연습문제(?)로 만들어본게 동네 #마트_쉬는_날 을 체크해주는 단축어.

방법은 간단하다. 이마트 휴점일 안내 페이지 에서 동네 이마트 지점의 쉬는날 일정을 읽어오는 방식.

자세한 구현 로직은 아래와 같다.

  1. 이마트 쉬는날 공지 페이지로 이동한다.
  2. 해당 URL에서 콘텐츠를 가져온다.
  3. 콘텐츠 중에 텍스트만 읽는다.
  4. 정규표현식을 사용하여 엔터 등을 사용한 한줄 띄기 등의 양식은 삭제 (ex, /n)
  5. 역시 정규표현식을 사용하여 동네 이마트 지점 정보만 찾는다.
  6. 해당 텍스트를 siri가 읽게한다.

실제 siri를 활용한 구현 영상은 아래와 같다.

개인적으로 이번 기능은 여러가지 관점에서 의미가 있었다.

일단, 특정 언어로 코딩을 하지 않아도 누구나 간단한 매크로를 만들어 볼 수 있다. 아이들이 접근 가능한 ‘스크래치’와 유사한 부분이 있다.  물론, 자바스크립트 등으로 코딩을 할줄 알면 더 다양한 시도가 가능할 걸로 보이긴 한다. 사실 코딩을 하다보면 가장 짜증나거나 시간이 오래걸리는 부분 중 하나가 환경을 설정하고, 문법을 이해하는 부분인데, 여긴 확실히 그런 부분에 대한 장벽이 낮아 비교적 바로바로 실행해 볼 수 있다.

둘째, siri와의 연동이 흥미롭게 다가왔다. 사실 개인적으론 음성으로 명령을 내리는 부분이 영 익숙해지지 않았는데, 이번 기회를 통해 이런 환경이 더 쉽게 익숙해질 수도 있겠다는 생각이 들었다. 실제로 음성으로 명령을 내리면, 더 쉽게(!) 구동 된다.

다른 기능으로 무엇을 만들지 아직은 선뜻 떠오르진 않지만, 확실히 생활의 편의성이 더 높아질 수 있을 거 같다. 그리고 siri를 쓰니 뭔가 더 스마트해진 기분이다(…)

가계부 슬랙앱 만들기(1)

간만에 블로깅 ㅜ.ㅠ 드디어 간만에 무언가 만들었다는 이야기다.

나는 주로 신용카드를 사용하여 소비를 하는편이다. 사용 중 한 가지 아쉬웠던 점은 매번 카드값이 나오기 직전이 되어야  한 달에 얼마나 썼는지 감이 온다는 사실이었다.

물론 문자로 매번 결제할 때마다 얼마를 썼는지와 누적 금액이 찍히긴 하지만 내가 어느 정도 속도로 쓰고 있는지 감이 잘 없었다.

예를들어 내가 카드 정산 후 10일쯤 지난 상황에서 30만원을 썼다면 지난달에 비해 빨리 쓰고 있는건가? 그럼 이번달 카드값는 90만원 정도 나오는건가? 그보다 10일쯤 지난상황이란 사실을 계산하려면 11일 기준으로 +10일을 한 후 21일이라는 사실부터 깨달아야 했다 (…)

이런 불편함을 개선하고자 간단한(?) 시각화 작업을 시도해 보았다.

요는 매일 매일 쓰는 카드값을 누적하여 최근 몇달의 트랜드를 그래프로 그리면 대략적으로 현재 소비 트랜드에 대한 감을 잡기 훨씬 쉽겠다라는 생각을 했다. 아래 그림처럼 말이다.

그런데 이를 매일매일 내가 그리고 있을 수는 없으니 자동화 하는 작업이 필요했다.

일단 간단히 떠오른 생각은 내 문자를 읽어오는 방법. 사용하는 폰이 아이폰이다보니 쉽지않다 -,- 통신사 쪽도 확인해 보았지만 최소한 내 지식으로는 접근이 어려웠다.

결국 내 카드값 사용 문자를 하루에 한번 메일로 보내고, 하루에 한번씩 해당 메일을 읽어오는 방법을 사용했다.

사실 이전에 카드값 문자를 매일 자동으로 포워딩 하는법을 찾아보았는데 아이폰이다보니 방법을 찾을 수가 없었다 (…) 현재로선 아래 그림처럼 하루에 한번 자기 전에 문자를 내 메일로 보내는 방식을 사용하고 있다 (…) #수동

그러면 다음날 아침 AWS에 올려놓은 R이 스케쥴링을 통해 메일로 전달 받은 값을 가져 오는 방식이다. 메일은 gmail을 사용하고 있고, gmail API는 gmailr라는 패키지를 사용하고 있다.

여튼 최대한 자동화 하기 위해 여러가지 방법을 찾아보고 있다. 현대카드를 사용 중인데 이후 찾아보니 매일 내 카드 사용 금액을 메일로 받아볼 수 있는 서비스가 있다. 문제는 매일 날아오는게  암호가 걸린 html파일이라는 점 (…)

결국 방법은 AWS내에 rselenium을 사용, 브라우저를 띄워 직접 내가 암호를 입력하는 방식을 따라하게 하는 방법을 시도해야 할 걸로 보인다. (이쯤되면 배보다 배꼽이 더 크지 않나…? 난 그냥 얼마 썼는지만 알면 된다고 orz) 방법들은 구글링을 해놨는데 실제로 잘 될지는 (…) 여튼 이번 연휴에는 이 내용을 알아볼 예정.

사실 처음에는 수집된 데이터로 내 소비 성향을 여러 관점에서 분석/ 예측해보는 부분까지 목표를 삼았았는데 (…) 데이터의 수집 자체에서 시간을 엄청 허비하고 있다 ㅋㅋㅋㅋ ㅠ

덕분에 잊고 있던 데이터 수집 자체의 어려움을 몸소 느끼는 중 ㅜㅜ