Tasker

Tasker 덕분에 내 삶의 질이 좋아진 썰을 써봐야겠다.

Tasker는 안드로이드 앱이다. 이벤트를 등록해놓으면은 그 조건에 따라서 실행되는 이름만으로는 단순한 앱이다. 난 이 앱을 반값할인 할 때 구입했다. 반값 할인해도 몇천원해서 고민고민하다가 샀다.  (아직 앱의 가격에 대한 거부감이 조금은 있다. 천원에 풀린 좋은 앱들을 많이 얻다보니..) 그리고 스팀에서 게임을 구입한 사람마냥 앱을 거들떠도 보지않았었다. 그러나 회사 출퇴근을 하게 된 후로 반복된 생활을 자동화시켜보고 싶었다. 이럴 때, 손으로 까먹지않고 해주면 얼마나 좋을까? 같은 생각을 계속했다. 그래서 다시 이 앱을 다운로드 받게 되었다.

회사를 출퇴근할때는 보장되었으면 것들이 있었다.

1. 잠 시간에는 진동을 울리지 말거라

2. 출근길에는 소리가아니라 진동. 무음도 안되고 진동

3. 사내에는 무음으로

내가 필요한 것들은 그렇게 머리를 쓰는 작업을 요하지 않았으므로 튜토리얼을 보면서 둑딱뚝딱 만들었다. 사람들이 ‘테스커 어렵다’라고 말하는 것은 프로그래밍을 안 해본 사람이 아닐까 라고 생각해본다. 내 주변에는 테스커를 누가 쓸까 싶지만.. 어쨌든 간에 설정을 정리해보면

1. 12시부터는 무음으로 해줘

2. 출근길(시간)에는 진동으로 바꾸고

3. 9시부터 일과 시작이니 무음으로 해놓자

정도가 되었다. 하나를 더 추가하여서 

4. 회사 반경 3키로미터로 떨어지면 진동으로 바꾸자

총 4가지로 가닥을 잡았다.  1-3번은 같은 것을 반복하면 되니깐 식은 죽 먹듯이 후루륵 처리했다. 하지만 4번이 조금 애매했다. 패턴이 다른데 1-3번에서 보지 못한 것이 었기 때문이다. 무엇보다 4번은 지도를 활용해야 할 것 같았기 때문이다.

예제로 4번을 첨부하였다. 어휴 어찌나 큰지..

컴터하는 사람은 다른 사람들에 비해 쉽게쉽게 적응할 느낌이었다.  지도에서 지점을 찍어놓고 할 행동은 진동 if 로케이션이 Set하지 않을 때로 설정하였다. 폰이 슬립모드일 때나, 네트워크 상의 위치를 따지느라 꽤나 멀리 있을 때 작동할 때도 있고, 작동안 할 때도 있다;; 슬립모드시에 씹히는 문제는 네이버 Tasker카페를 슬쩍 훑어보니 관련 이슈에대한 질문 글을 보아서, 처리할 수 있을 듯 하다. 어쨌든 ‘이렇게 한다-‘로 알면 괜찮을 듯하다.

이제 다음 목표는 주말은 작동안하게 하고, 좀더 세밀하게 점심시간도 핸들링해야겠다. 안드로이드의 특징이라서 너무 좋다. 개발자는 이거 하나 깔고 좀 더 자신의 삶을 윤택하게 하면 좋지 않을까도 생각해본다. :) 가격은 4500원 정도한다. 비싸다면 비싸다고 할 수 있지만, 개인적으로는 충분히 살만한 가치가 있다고 평가한다.ㅎㅎ

선배의 한 마디가 나에게는 큰 힘이 된다.
난 뭣도 없는데..

선배의 한 마디가 나에게는 큰 힘이 된다.

난 뭣도 없는데..

애자일 이야기 : 나는 앞으로 뭐 해먹고 사나

우리는 이 “좋아하는가” 질문을 너무 빨리 묻는 실수를 하기도 합니다. 제대로 해보지도 않고 싫어한다고 판단해 버리는 것이죠. 그래서 이 질문에 긍정이건 부정이건 대답을 하려면 한 번 최선을 다해서 달려볼 필요가 있습니다.

페이스북과 멀어지기

내 일상에서 Facebook을 분리시키는 일을 하고있다.

아직도 많은 사람들이 Facebook을 즐겨하지만 나는 점점 피로감이 쌓인다.

분리하는 일에서 걸리는 것은 두가지이다.

  1. 각종 페이스북 그룹
  2. 페이스북 메신저

두 가지를 어떻게 해결할 수 있는 뾰족한 방법이 없으므로 (예를 들면 멘토님이랑 같이 꾸려진 그룹이나 대규모 그룹에 발만 담가둔 상황 등등) 내 주변 사람들을 조금씩 옮기기로 하였다.

고려 사항도 두가지 였다.

  1. 파일 보관이 가능해야한다.
  2. 파일 보관이나 대화 둘 다 푸시 알림이 잘 와야한다.

페이스북 메신저는 군인이나 멘토님 외에는 활용도가 떨어지므로 생각보다 이동이 쉬웠다. 그 전에 이동한 라인도 있고, IRC도 있다. 다같이 떠들어야하는 것은 라인에서 떠들고 누군가 들어주길 바라는 내용은 IRC가서 떠들기로 나누었다. 세상이 좋아져서 IRC도 멘션하면 폰에서 알람이 잘 울려서 언제라도 대화할 수 있게 되었다. 라인은 개인/ 그룹에 모든 알림이 오고.

그리고 이제 공부용 페이스북 그룹을 대체할 것은 드랍박스카카오아지트였다. 아지트에 쓰레드(글이나 파일 둘 다)가 올라올때마다 그에 대한 푸시가 즉시 온다. 드랍박스는 그렇지 않다. 컴퓨터를 하고 있을 때는 제외하면. 그래서 이 둘을 어떻게 섞었냐면, 회의가 짙은 그룹은 아지트에서 이야기 + 댓글을 이용했고 자료가 중심이며 이 자료를 모두 쉽게 접근해야한다면 드랍박스를 이용하였다.

묶어보면 라인 + 드랍박스 / 카카오아지트 묶음으로 쓰는게 최선이라고 생각했다. IRC는 대규모 대화이므로 프로젝트 용은 아닌 것 같고…

이게 잘 돌아가면 그에 관한 글을 한 번더 써야겠다.

+ 2013.04.24

카카오아지트는 일정용량 이상이 업로드되면 기간 제한이 있다. 17메가인데도 안되는 걸 보면 꽤나 작은편이라 추측.

공유하고 싶은 트윗.

내 주변에서 흔히 딴거 하고싶어하는 사람들이 관심있어하는 과목은

심리학, 디자인, 패션

이 세 가지 이다. 셋 다 동네북인 것 같다.

이런 사람들이 많았기에 이 외의 다른 것이 하고싶다고 나오면 어느정도 수긍 할 것만 같다.

이유는 모르겠다. 다들 자신만의 시간을 오래 갖게되면 위 세가지 일을 하고싶어지나보다.

에뛰드 웹사이트 가입 후기

에뛰드가 30-50% 할인을 하는 중이라서 가입을 시도하였다.

ㅂㅅㅅ형의 본인 인증 문제 때문에 내가 대신 해주기로 하였다.

역시나 포스팅할만한 가치가 있었다.

windows가면 이 문제가 해결되는지 모르겠지만 에뛰드 매장찾기부터 삐그덕 거리기 시작했다.

문제는 

Uncaught TypeError: Cannot read property ‘storeBox’ of undefined

오류 난 코드를 찾아가 보니 생 javascript로 열심히 접근해서 쓰려다가 실패한 모습이었다.

보니 jQuery도 불러와있던데 쉽게 쉽게 쓰려고 jQuery불렀으면서 정작 코드에는 써먹지 않은 걸 보니 이해가 조금 가지 않았다.

그렇다고 성능최적화를 하려고 시도한 흔적도 보이지 않는다..;

어쨌든 오픈되어있는 코드를 살짝 수정하여서 작동하도록 하였다.

image

그게 위 모습인데

이러면 끝일 줄알고 진짜 기분좋게 마침표를 찍었다.

그런데 또 에러가 났다!!!!!!!!!!!!

정말 정신나갔나보다. 다른 사람들은 어떻게 잘 가입했는지 모르겠다..

어쨌든 이번에는 오류가 매장찾기 저 팝업에서 나오는 에러다.

저 팝업은 iframe으로 absolute로 배치되어있는 모습이다.

에러문 옆에 에러 추적 기능으로 딱히 어디인지 문맥을 보지는 않았으나, 더블클릭해서 코드수정은 되지않았다.

그렇다고 포기할 순 없었다 -________-

크롬 개발자도구는 정말 유용한 도구이기 때문에 에러 전에 브레이크 포인트를 걸어서 디버깅을 했다 ㅡㅡ.

에러가 true문 체크하는 포문에서 에러가 나기 시작했다.

어쨌든 문제가 cd.궁시렁[i].value를 찾는 데 궁시렁이 없었다.

cd를 출력해보니 저위에 나오는 매장리스트 인풋들의 배열이었다.

내가 코드를 바꿀 수는 없어서 브레이크 포인트에서

cd.궁시렁 = cd;로 해주었다.

일딴은 해결했다.

계속 진행해보니 비슷한 다른 에러도 여럿있어서 ef.궁시렁 = ef;로 해주는걸 

2번인가 더 반복하니 회원가입이 되었다.

image

회원가입은 했다만, 나같이 깨짝거리는 사람(부터 고수까지)을 제외한 일반인들은 어떻게 회원가입했는지 궁금하다;

그리고 정말 겉은 이쁜데 속이 썩어들어가는 웹사이트를 보며 저렇게 코딩하는데도 돈벌어먹고 사는사람이 있다는 것에 난 아직 기회가 많구나..를 느꼈다ㅎㅎㅎㅎㅎ

또한 역시 외주는.. :)

내가 진짜 노력 하는 것 중 하나.

굳이 안 써도되는 것 까지. 영어를 쓰지 않기..

일부러 모르는 단어를 써서 말하면 대단해보이는 것 같아서.. 그렇게 쓰는 것 같다..

내가 가르쳐주는 걸 좋아해서인지는 몰라도, 남들이 잘 들을 수 있는 언어로 대화하는 것이 의미있는 대화가 아닐까 생각한다.

CasperJS를 잠깐 만진 후기.

CasperJSPhantomJS를 기반으로 한 네비게이션 스크립트 & 테스트 유틸리티이다. JS를 보면 알 수 있듯이 자바스크립트로 작동한다.

-

내가 쓴 용도는 조금 애매해서 여기에 적기가 뭐시기하다.. 간단한 사용법을 보면

casper.start('http://google.fr/', function() {
    // search for 'casperjs' from google form
    this.fill('form[action="/search"]', { q: 'casperjs' }, true);
});

주소를 넣고 동작시킬 내용들을 적는다. 

casper.fill하면 selector, object value, submit 여부이다.

클릭같은건 독스보면 다 나와있으니 패스하고

casper.run(function() {
    // echo results in some pretty fashion
    this.echo(links.length + ' links found:');
    this.echo(' - ' + links.join('\n - ')).exit();
});

마지막에는 런을 돌려줘야한다. 그리고 casper.exit()를 해주는 것도 잊으면 안된다.

런을 하는순간 위에 start와 then들이 돌아가기 시작한다.

-

했던 것이 submit하고 그 다음 페이지에서 Alert문을 받는 것 이었다.

보통사람들이면 casper.fill(~,~, true)로 하겠다고 말하지만 문제가 있다.  다음 페이지로 넘어가질 않는다. getCurrentUrl()을 해보면 알 수 있을 것이다. 이럴 떄는 .click(selector)을 하는 것이 정석이(란)다.

문법이 nodejs와 유사해서 .on으로 각종 event들을 등록한뒤에 핸들링 할 수 있다. 그렇지만 nodejs에서 casperjs를 핸들링하는 드라이버는 단 1개뿐인 것 같다.

-

이 외에도 캡처도 할 수 있다.

피곤해서 무언가 더 진척이 있으면 그 때 더 써야겠다.

어떤것은 그냥 Get, Post질 해도 되지만, 이게 훨씬 편하다.

(재미로) 사용할 곳을 몇 몇 개 쓰자면,

  1. 네이버 체크아웃 
  2. 플러스존 (이건 플래시라 잘 모르겠다)
  3. 각종 쇼핑몰 적립금…ㅋㅋ

PS1 수정기

facebook그 룹중에 ‘9x개발자 그룹’이라는 곳이 있다.

터미널 폰트에 대한 글이 있었는데, 그 글에서 제공하는 터미널 폰트를 깔고 설정하니, 이번엔 콘솔 프롬프트를 고쳐보고 싶었다.

image

바꾸기 전의 모습이다.

원래는 [ user@host ] pwd :$ 이런 느낌으로 하려고 했는데, 하나보니 정보도 얻고 조금 마음이 바뀌었다.

[history] pwd :$ 로 마음을 먹었다.

설정법 여기에 줄줄이 쓰고는 싶지만 나보다 더 잘 설명해준 분들이 많기에 블로그로 대체를 한다.

사실 명령어 몇 개 때리면 되긴하다만, 영어문서들을 처음 봤을 때 색깔은 무슨소린지 하나도 못 알아 들었었다. 그것도 다 위 블로그에 적혀있다.

핵심은 \e[숫자m 이고 마지막에는 \e[m으로 마무리해주면 된다.

원하는 색깔은 위키피디아가서 보면 된다. 콤마로 이루어진 것은 3개 연속으로 쓰니깐 되는 것 같았다.

그래서 바꾼것이 아래다.

image

미적 감각이 있으면 더 예쁘게 꾸몄겠지만, 뭐 그럭저럭..ㅎㅎ

설정은 .bashrc 가서하거나 .bash_profile가서 해도 될 것 같다.

source .bash~~~로 적용하면 된다.

추가1. 라인이 overlap되는 문제.

http://askubuntu.com/questions/111840/ps1-problem-messing-up-cli