1.
지난 주에는 많은 일이 있었다. 친구 아버지의 장례식, 얼룩 첫 합주, 리얼라이즈 공연 구경, HarrisCam 갤러리 기능 구현(사진 크기 설정 이슈와 백업용 사진을 불러오는 기능까지!) 등등... 일주일 내내 하루하루를 정말 꽉꽉 눌러서 사용한 것 같은 느낌이다. 이번 주도 여러 할 일들이 있는데, 이제 이 스케쥴에 적응을 해야할 것 같다.
2.
HarrisCam의 갤러리 기능을 구현했다. 사진 크기 이슈와 'content://' scheme을 해결했다. 처음에는 휴대폰 외장메모리에 저장된 파일만 불러올 거라 생각하고 구현했는데, 백업 사진들도 불러 올 경우(실수로 눌렀는데 안 되더라... 이전까지는 이런 문제가 있을 줄 정말 몰랐다.)가 있을 수 있어서 그 부분을 InputStream을 이용해서 처리해줬다. 사진 크기는 결국 채우기 혹은 늘이기 옵션을 사용하기로 했다. 현재 '채우기'는 1번 이미지를 기준으로 다른 이미지들을 높이:너비 비율을 유지한 채 남은 여백을 채우는 옵션이고, '늘이기'는 1번 이미지의 크기를 기준으로 잡아 늘이거나 줄이는 옵션이다. 추후에는 채우기 옵션에서 이미지의 위치 조정(드래그 등을 통해서) 기능을 넣어야 할 것 같다.
갤러리에서 불러오는 이미지를 다루면서 비트맵 관리에 정말 신경을 많이 썼다. BitmapFactory.decode~는 메모리에 새로운 공간을 할당받는 것이고, Bitmap.create~는 기존의 Bitmap 객체에 Reference로 연결한다고 생각한다. 그 개념이 확실히 잡히기 전에 recycle() 때문에 삽질을 많이 했다. recycle() 된 Bitmap을 사용하지 말라는 에러도 많이 보고, recycle() 시점을 어디로 둬야하는 지도 많이 고민했다. 결국 앱의 메모리를 로그로 남겨서 메모리 누수가 없는 지 확인하면서 코딩을 했다. Bitmap을 다룰 때마다 항상 같은 고민을 하게 되는데, 몇 번 삽질을 반복하다보니 이젠 확실히 알겠다.
3.
'다양한 예제로 학습하는 데이터 구조와 알고리즘 for Java'을 읽고있는데, 책에 문제가 좀 있는 것 같다. 똑같은 문장을 바로 다음 줄에 쓰질 않나(마치 Ctrl + C, Ctrl + V 처럼), 분명 Java를 사용하면서 C의 struct 와 -> 연산자가 있질 않나, 오탈자가 좀 있다. 원래 C로 쓴 책을 Java로 옮기다가 생긴 실수인 것 같은데, 그저 복사 붙여넣기만 한 느낌이라 책의 완성도가 떨어지는 느낌이다. 그럼에도 불구하고 이 책의 좋은 점은 다른 책들과 달리 예제들이 많이 있다는 것이다. 간략한 개념 설명과 많은 예제는 이 책의 장점이라고 생각한다.(만약 이전에 자료구조와 알고리즘에 대해서 배우지 않았다면 이 책을 읽는 데 약간 힘들었을 것이다.)
4.
토요일, 리얼라이즈에서 공연은 정말 재밌었다. 얼룩, 문센트, 홍롱, 개차반이 참여했는데, 특히 홍롱이라는 밴드가 좋았다. 음악 스타일도 좋았고(디스코? 펑키? 그루브? 댄스락? 느낌이 났다) 멤버들이 실력이 대단했다. 얼룩은 역시 얼룩다운 공연을 했다고 생각한다. 어서 같이 무대에 서고 싶다. 문센트는 어쿠스틱 밴드였는데, 자작곡도 좋았지만 커버곡도 정말 좋았다. 'Daft Punk'의 'Get Lucky'와 'Madonna'의 'Music'을 커버했었다. Get Lucky는 약간 예상 가능했지만, Music은 정말 신선했다. 원곡의 리듬을 살리면서 어쿠스틱의 느낌을 잃지않은 느낌(악기 편성이 어쿠스틱이라 잃을 수 없었던 걸 수도...)이었다. 개차반은 맨 마지막 순서였는데 보컬분이 가볍게(?) 한 잔 하시고 공연을 했다. 개차반도 흥겨웠다.
5.
이번주 HarrisCam의 목표는 공유 기능을 구현하는 것이다. 'Socialauth Android'라는 라이브러리를 이용할 계획이다. 이전에 써봤을 때, 정말 간편하게 앱에 적용할 수 있었다. 공유 가능한 곳은 페이스북, 트위터, 텀블러 그리고 안드로이드에서 제공하는 공유 기능, 정도로 계획 중이다. 공유 기능을 구현하고 시간이 좀 남는다면, UI 쪽으로 많이(...) 개선해야 할 것 같다.
6.
이번 주는 계획대로라면 3, 4일은 수영 갈 수 있을 것 같다.
댓글 없음:
댓글 쓰기