두번째 타이타늄 티타임 모임 후기

오늘도 어김없이 2주에 한번씩 열리는 티타임 모임에서 오갔던 이야기들을 정리해보려한다.
적어놓지를 않아서 기억나는대로 정리해본다.

1. Mylyn과 Bitbucket 이슈트랙커

연동이 계속 안되서 커넥터를 살펴봤는데, 종은님이 작성하신 포스트에 커넥터 링크가 잘못되어 있었다. 그래서 제대로된 커넥터를 설치하고 연동했더니 매우 잘 된다. Gooooo:D 종은님 땡큐~

2. Alloy 최신(unstable)버전 설치

타이타늄에 새롭게 추가된 ListView의 예제를 부일님이 돌리고 싶어하셔서, 확인해보니 Alloy 1.2.0+ 이상에서만 예제가 동작한다고 해서 Alloy 1.2.0 버전 설치에 대한 이야기를 했다. Alloy 설치 방법은 npm으로 설치하는 방법과 Git레파지토리에서 소스를 직접 받아서 설치하는 방법이 있다. npm 버전은 안정버전인 1.1.x 버전이므로 당연히 레파지토리에 있는 최신 소스를 다운로드 받아서 설치해야1.2.0 버전이 깔린다. 설치방법은 여기를 참고..

git clone https://github.com/appcelerator/alloy.git
cd alloy
[sudo] npm install -g .

3. 타이타늄 가이드 번역

부일님이 다시 타이타늄 가이드 번역을 시작하셨다. 번역하시는 페이지는 아마도 ListView 쪽인듯.. 맞나? 나도 틈틈히 다시 번역을 해야겠다. 번역하실 분들은 여기를 참고~!!

4. 이것은 백본 버그인가본가?

동구밭 앱에서 발생하는 문제였는데,.. 상황은 이렇다. 테이블 뷰에 Row컨트롤을 만들고 Row안에 그려지는 View에 Model이 변경되면 동작하도록 change 이벤트를 바인딩했다. 당연히 모델이 변경되면 View에 바인딩된 핸들러가 실행되어야하는데,.. 테이블이 reset되어 다시 뷰를 그리면 모델 change 이벤트를 받지 못한다. 여러가지 가정을 해보며 종은님과 내가 테스트를 해봤지만,.. 결론은 백본(현재 Alloy의 백본 버전은 0.9.2버전이다.)버그가 아닌가? 를 매우 강력하게 의심하고 있다. 나중에 Alloy 업그레이드 되면서 백본 버전도 바뀌면 해결이 되려나?
아무튼, 결론… 테이블의 Row들이 reset 되어 모델 이벤트를 받지 못하는 상황인 경우엔,.. Row에 모델 이벤트를 바인딩하지 않고, 테이블에 콜렉션 change 이벤트를 바인딩한다. 그리고 콜렉션의 모델 id를 찾아서 해당 Row 컨트롤러의 메소드를 실행하는 방법으로 해결~.. 이글 읽는 사람은 이게 뭔소린지 이해가 되려나? -_-;;

5. 모델.destroy()와 콜렉션.remove()

앞의 백본 문제와 더불어 나를 힘들게 했던 문제는 콜렉션에서 모델을 지울때, 가령 10개의 모델중에 5개의 모델을 한꺼번에 지워야하는 상황이 있다. 이때 모델이 삭제되면 destroy 이벤트를 받아서 테이블을 다시 그리려고 했는데.. 모델이 5개가 지워지면 destroy 이벤트도 5번 발생하게 되고, 고로 테이블도 5번 다시 그려야되는 비효율적인 문제가 발생. 그래서 한꺼번에 5번 발생하는 이벤트를 맨마지막에 한번만 발생하게 하고 싶었다. 그래서 silent:true 옵션을 destroy 할때 넣었는데,.. 도무지 싸일렌트가 먹질 않는다…
그런데!!!! 백본 도큐먼트를 유심히 살펴보니,.. 모델.destroy에는 silent 옵션이 없다는 사실!! 뚜둥~ 대신 이 옵션은 콜렉션 remove에 있었다. 그래서 나의 해결책은,.. destroy 이벤트를 받지 않고, 그냥 콜렉션에서 모델을 지운뒤에 새롭게 콜렉션을 fetch 해버렸다.

6. 이것이 열정이다.

티타임 모임에 새얼굴이 왔다. 현재 2명의 구성원으로 사이트를 구축하신 분인데, 한분은 디자이너이므로 혼자서 개발하셨단다. 전공도 경영학인데 프로그래밍이라니.. 덜덜덜~~ 아무튼 그동안 모바일웹으로 사이트를 구축했다가 성능 문제로 인해 네이티브로 갈아타기로 결정한 것!,.. 하지만 네이티브 경험이 전무한 관계로 타이타늄을 선택하고 모임에 나오셨다.
마치 영석님이 센차터치 성능에 실망하고 타이타늄을 갈아타셨다는 얘기와 오버랩이 되면서.. 앞으로도 모바일 웹으로 가닥을 잡았다가 성능에 데이신 분들이 타이타늄을 많이 찾지 않을까 생각해본다. 뒤늦게 오시는 그 분들을 위해서라도 우리 타이타늄 커뮤니티가 더 활성화 되어야한다.
이상 끝~ 또 뭐 있었떠라….??? 아무튼 열정적인 사람들을 보게 되면 나도 덩달아 동기부여가 되는 것 같다.

PS…
HTML5 웹앱으로 유명세를 탔던 Linkedin 앱도 결국 네이티브로 가기로 결정.. Fackbook이어 Linkedin도 결국 GG인가?
http://venturebeat.com/2013/04/17/linkedin-mobile-web-breakup/

요약,
왜 바꿨냐?
1. 성능이 결정적인 이유는 아니지만 여전히 큰 이슈다. 새버전에서는 더 많은 애니메이션을 넣었다.
2. HTML5 앱은 레퍼런스가 너무 적다. 네이티브는 강력한 도구와 레퍼런스가 널려있어서 우리 개발자들이 덜 고생한다.
3. 사용자들의 인입 경로를 보면 브라우저보다는 앱이 월등히 많다.(웹은 8~10% 나머지는 앱이다.) 우리도 이런 상황을 예상치 못했다. 그래서 둘다 지원하려고 모바일웹을 만들고 이것을 기반으로 웹앱을 만들었지만, 이제는 보다 앱에 집중하려고 한다. 주 사용자가 앱으로 접근하니 보다 네이티브에 집중하는 것은 당연한게 아닐까?

나보다 더 열정적인 사람을 만나다.

오늘 나보다 더 열정적인 사람을 만났다.
집에 돌아오는 길에 그사람이 만든 사이트를 천천히 훑어보았다.
생각보다 반짝이는 아이디어와 나름 그럴듯하게 만들어놓은 결과물을 보면서 대견하다 싶었다.
비전공자가 전공자보다 더 열정적으로 프로그래밍을 한다는 것.. 그 자체가 참 매력적이다.  
하지만 부족한 부분이 보인다. 도와주고 싶다는 생각이 들었다.
애뗘보이는 얼굴이기에 잠깐 뒷조사를 했다. 29살인가보다.

내가 29살땐 뭘 했지?
나도 나름 초 긍정주의에 열정적인 사람이라고 평가를 받지만,..
내가 29살엔 엄두도 못할 일을 했다.
한편으론 그때는 못했지만, 지금이라면 할수 있지 않을까 싶기도 하다.  
점점 그 시기가 더 가까이 오고 있는 것 같기도 하다.

그리고 이직한지 이제 보름이 지났다.
보름동안 나의 생활은 만족스럽다.
어떤 사람은 이런 상황을 빗대어 이제는 실망하는 일만 남았다고 하는데..
실망도 좋다. 실망이 크면 나의 결심이 더 확고해지니까.. ^^

요즘은 모임도 많고, 더 많은 사람들을 만나보려고 한다.
만남은 배움의 시작이니까..

아무튼 오늘은 스스로 더 동기부여가 됐던 날이다. 

블로그 스킨 변경 및 그동안 텍스트 큐브가 느렸던 이유

블로그가 너무 느려서 더이상 참지 못하고 원인을 찾아봤다.
일단 증상은 이렇다.

증상 1] 몇일동안 손을 놓고 있으면 스팸 트랙백이 엄청 달린다.
증상 2] 트랙백을 하나 지우면 엄청 오래걸린다.
증상 3] 오래 걸리다 못해 가끔씩 서버가 무응답 상태가 되어 버린다.

그동안 귀찮아서 손 놓고 있었는데 더이상 못참겠다.
뒤지고 뒤져봤더니,.. 아~!! 이게 바로 페이지 캐시 설정 때문이라는 결론을 얻어냈다.
그래서 페이지 캐시를 꺼놨더니.. 어머!! 엄청 빠르네!!

여새를 몰아 스킨도 바꿔버렸다.
이정도 속도만 내어준다면,… 홈페이지 메인을 이제 블로그로 넘겨도 되겠다!!

유후!!