2014년 2월 28일 금요일

선택선택선택

1.
  어제는 몇 일간 속을 썩이던 문제를 해결했다. 재생 중인 영상의 스냅샷을 저장하는 것이다. 일반 SurfaceView로는 재생 중인 영상의 Bitmap을 받아 올 수 없어서 GLSurfaceView를 사용했더니 바로 해결이 되었다. 구글이 제공한 코드가 아주 유용했다. 덕분에 일이 잘 진행되고있다. 이대로라면 이번주 금요일까지 마무리 할 수 있지 않을까... 생각해본다.

2.
  오늘은 얼룩의 합주를 구경갔다. 기타 형님의 부상 때문에 거의 한 달 동안 합주를 쉬었다고 했는데, 그래서 그런지 조금조금씩 안 맞는 부분이 있었지만 노래들이 다 좋았다. 내 스타일이다. 4월에 EP가 나온다고 한다.

2014년 2월 26일 수요일

쓸데없는 고집

1.
  가끔은 타협(Trade-off)이라는 것을 할 줄 알아야한다. 이왕이면 일을 완벽하게 마무리 지어야지 라는 마음이 강하지만, 상황이나 환경에 따라 그 마음을 포기해야 할 때도 있다. 회사에서 UI 레이아웃 구현 부분을 다른 할 일이 있었음에도 불구하고 퇴근시간이 다 되도록 잡고 있었다.(수영도 못 갔다! 이런...) 이왕이면 아름답게(깔끔하고 완벽하게) 마무리를 지어 다음 사람(이 껍데기를 가지고 작업할 사람)에게 주고 싶었다.
  그 작업은 나중에 그 프로젝트의 UI 부분에서 수정이나 보완이 필요할 때(반드시 필요할 때가 올 것이다. 98% 확률로...) 수월하게 처리하기 위한 루틴이어서 잘 마무리하고 싶었다. 하지만 그로 인해 할 일(당장 내일 있을 사내 교육 준비. 순서를 정해 2주에 한 번씩 하는.)을 못했다. UI 작업은 오늘 꼭 끝내야 하는 일이 아니었음에도 불구하고 잡고 늘어진 덕분에 오늘 끝내야 하는 사내 교육 준비를 늦게 시작했다. 결국 두시간 정도 야근을 하게 됐다. 만약 UI 작업 부분을 TODO 리스트로 남기고, 사내 교육 준비를 먼저 끝냈더라면 퇴근도 빨리 하고, 수영도 갈 수 있었을 것이다.

2.
  또다른 쓸데없는 고집. Harris Cam 아이콘을 무려 3일이나 잡고 있었다. 실제로 포토샵을 실행해서 만든 건 오늘 하루지만, 상곤 행님 말을 들어보면 내가 3일 동안이나 아이콘에 대해서 생각을 했다고 한다.(나는 기억이 잘 나지 않는다...) 주말에 디자인 부분은 개발자인 내가 해결할 수 없다고 판단했음에도 불구하고, 3일이나 신경을 쓴 건 정말 바보같다. 그리고 그 3일 동안 신경 쓴 결과가 그렇게 만족스럽지도 않다. 난 무엇을 위해 3일이라는 시간을 소비했는지 모르겠다. 구현/개선 해야 할 기능들은 산적해있는데, 쓸데없는 고집으로 중요도가 낮은 일에 매달려있던 내가 한심하다.

3.
  아이패드는 파일 전송 부분 빼고 다 좋다. 어느정도 업/다운로드 속도를 보장해주는 무료 클라우드 서비스가 있었으면 내 노트북에 아이튠즈같은 프로그램을 설치할 이유가 없었을텐데 아쉽다.

2014년 2월 24일 월요일

2014년 2월 24일 단상

1.
  회사에서 대표님이 중요하다고 생각하는(안 중요한 게 어디있겠냐만은!) 프로젝트에 참여하고 있는데, 이번 주 수요일까지 UI 레이아웃을 구현하기로 했다. 개인적으로 UI를 디자인하고 구현하는 일이 재미있다. 물론 핵심 모듈을 개발하고 그 것이 잘 돌아가는 것을 확인할 때도 성취감을 주지만, 바로바로 눈으로 확인 할 수 있는 멋진 UI를 구현하는 것도 높은 성취감을 주는 것 같다. 아마도 디자이너가 정성스레 만들어 준(실제 정성이 깃들어있지 않았더라도 꽤 잘 만든!) 리소스가 제 자리를 찾아가며 조화를 이루는 모습이 그 성취감을 느끼게 해주는 것 같다. 덕분에 일의 진행속도도 빨라져서 수요일까지 대략적인 UI 레이아웃 구현을 마무리 할 수 있을 것 같다.

2.
  오랜만에 수영을 갔다. 거의 일주일만인 것 같다.(지난 주 월요일에 마지막으로 수영을 했으니 딱 일주일 만인가...) 그래서 그런지 발차기를 하는 데 힘이 많이 들었다. 이번 주에는 별 일이 없다면 화요일, 목요일에 또 수영을 갈 수 있을 것 같다. 수영하는 게 재밌다.(비록 숨을 쉴 때마다 물을 많이 먹기는 하지만...) 수영장 특유의 락스 냄새도 좋다. 시간이 허락하는 한 계속 수영을 다닐 것이다.

3.
  '페르시아의 왕자 : 개발일지'를 읽고있다. 나에게 많은 자극을 주는 책이다. 그 당시 조던 메크너의 생각을 읽어 볼 수 있어서 흥미롭다. 덕분에 잠들어있던 게임 개발 의욕에 약간 불을 지피는 계기가 되었다. Harris Cam을 완료시킨 후에는 게임을 하나 만들어 보는 것도 고려해봐야겠다.

앱의 UI 디자인은 어렵다. 그리고 고려할 것은 많다.

1.
  점심 시간 즈음 상곤 행님이랑 만나서 간단히 점심을 해결한 뒤(전포동 카페 거리에 '곁집'이라는 가게였는데 점심에는 기본 메뉴 비빔밥에 된장찌개 혹은 김치찌개를 선택하여 주문할 수 있다. 맛있었다.) Harris Cam의 UI에 대해 얘기를 나눴다. 아직은 디자이너를 구하지 못했기 때문에 내가 구성한 디자인을 따르기로 결정했다.(나중에 디자이너 분에게 조언을 구해봐야겠지...)

2.
  안드로이드는 기기마다 해상도가 다르기 때문에 넥서스5을 기준으로 개발한 것을 갤럭시 노트 같이 큰 화면의 기기에서는 너무 휑하게 보이지 않을까 하는 얘기가 나왔다. 이전 Harris Cam은 기기의 해상도에 비례하여 View나 Layout의 크기를 실행 시간에 조절했었다. 새로운 버전에는 소스가 지저분 한 문제도 있고, 실행 시간에는 레이아웃 구성에 대한 부하를 최대한 줄이기 위해 대부분 XML에서 UI 작업을 했다.(카메라 화면 위에 씌우는 프레임은 어쩔 수 없이 실행 시간에 처리했다.) 유저가 태블릿에서 실행한다고 하면 막을 순 없으니 큰 화면에서 실행하는 문제는 일단 고려하지 않기로 했다.

3.
  새로운 Harris Cam의 UI를 본 상곤 행님은 썰렁한 화면에 무언가를 채우기를 바랬다. 갤러리에서 사진을 긁어 온다던지, 카메라 정보(타이머, 플래시 On/Off 등)라던지, 하다못해 상·하의 Bar를 키우기를 바랬다. '그렇게 화면이 썰렁한 가'라는 생각이 들었지만 나중에 갤럭시 노트에 올려보면 나도 그렇게 생각할 지도 모르겠다. 일단 내가 구성한 대로 UI 디자인을 일단락 시켰다.

4.
  지난 주에는 사진 3장을 찍고, 저장하는 것 까지 구현하기로 했다. 여기서 상곤 행님이랑 토론이 있었다. 사진이 저장되는 기본 위치를 지정하는 것이었는데, 나의 주장은 '어느 스마트폰이든 내장 플래시 메모리가 있으니 내장 메모리에 저장하자' 였고, 상곤 행님은 '유저마다 사용하는 외장/내장 메모리 위치가 다르니 유저가 자주 사용하는 위치를 기본 저장 위치로 하자' 였다. 추가로 덧붙인 말은 스마트폰의 데이터를 날려 본 사람들은 외장 플래시 메모리를 주로 사용한다는 것이었다. 그리고, 쉽게 가정을 하지 말라는 것이다. 모든 사람들이 내장 메모리를 자주 사용한다고 생각하지 말라는 얘기다. 들어보니 일리가 있었다. 그래서 사진 기본 저장 위치는 상곤 행님 의견을 따르기로 했다. 거기에 난 좀 더 의견을 냈었다. 앱을 처음 깔았을 때 딱 한 번만 사진 기본 저장 위치를 물어보는 것이다. 외장/내장 둘 중 하나를 고르게 하자는 것인데, 만에 하나(혹은 대부분일수도) 유저가 설명을 읽지않고 계속 다음, 다음, 다음 버튼만 누르게 될 때는 기본 적으로 선택된 위치는 상곤 행님이 말한 위치를 선택되게 하자는 것이다. 이 의견에 상곤 행님은 '너무 친절할 필요는 없다'는 얘기를 해줬다. 우리는 돈을 받고 앱을 만드는 것이 아니므로 우리가 고심한 방법을 사용하고 A/S는 없다는 것이다.(물론! 문제가 명백하고 합당한 이유라면 A/S는 해야 한다!)

5.
  오늘은 왠지 많이 피곤하다. 얼른 사진 저장 부분만 완성하고 자야겠다. 아, 이전 버전에서 문제였던 0.5초가 0.5초가 아닌 문제는 해결이 된 것 같다. Cameara.PreviewCallback 메서드를 잘 이용하면 왠만해선 0.5초를 보장해준다.(간혹 0.6초가 나오기도 한다. 이 정도는 애교아닌가!)

2014년 2월 23일 일요일

첫 번째 일기

1.
  초등학교 이후로 일기를 처음 쓰는 것 같다. 글 쓰는 재주는 없고, 말하는 재주는 더욱 없다. 횡설수설 글이 길어 질 수도 있다. 하지만 이렇게 일기를 쓰는 것으로 글쓰는 재주나 생각을 정리하는 재주를 키울 수 있는 계기를 만들 수 있었으면 좋겠다.

2.
  뜬금 없이 일기를 쓰는 건 아니다. 그렇다고 '졸업을 했으니 이제부터 일기를 써볼까' 하는 마음이 들어서 일기를 쓰는 것도 아니다.(시기상 약간은 그런 마음도 있는 듯 하다. 이틀 전에 졸업을 했으니...) 일기를 쓰는 이유는 조던 메크너의 '페르시아 왕자 개발일지'라는 책을 읽고나서 뭔가 그날그날의 있었던 일, 생각 느낌 등을 기록하고 싶어졌다. 얼마나 오래동안 쓸지는 모르겠지만('Harris Cam' Makeover 프로젝트까지는 계속 썼으면 좋겠다.) 생각나는 한 계속 쓸 것이다.(현재 노트에 손글씨로 일기를 쓴 뒤 블로그에 정리하여 포스팅 한다.)

3.
  오늘은 모처럼 전기 장판에서 만화책을 보면서 보냈다. 정말 겨울에는 이만한 시간 죽이기도 없는 것 같다. 덕분에 몇 시간 타임머신을 타고 이동한 것 같다.

4.
  저녁에는 상곤 행님이랑 간단히 맥주를 마셨다. 서면 '두부공장'에 '모히또 민트'라는 과일 맥주가 있다고 해서 마시러 갔다. 상곤 행님은 '모히또 민트'를, 난 '그린 애플'을 주문했다. 안주로는 두부공장의 추천 메뉴인 '두부 나쵸'를 주문했다. 모히또 민트의 맛은 생각보다 민트향이 약해서 어린이용 치약을 마시는 것 같았다.(나는 어떻게 그 맛을 아는 거지?) 그린 애플은 데미소다 사과맛이 났다.(맥주의 탄산이 데미소다 맛을 완성 시킨 것 같다!) 두부 나쵸는 그럭저럭 먹을만 해서 맥주 두 잔, 두부 나쵸 하나면 둘이서 간단히 한 잔 할 수 있을 것 같았다. 주변의 손님들은 대부분 '닭 가라아게'를 시켰다. 아마도 맥주 있는 곳에 치느님이 빠질 수 없어서리라...

5.
맥주를 마시면서 Harris Cam의 UI를 토론했는데, 개발자 둘이서 머리를 맞대봐야 디자인 및 레이아웃에서는 좋은 아이디어가 떠오르지 않는다는 결론만 나왔다. '진짜' 디자이너를 찾아봐야겠다.

2014년 2월 22일 토요일

블로그의 방향

이 블로그는 일기를 쓰는 용도로 주로 사용할 것이다.