라오스

올해 여름휴가는 라오스 4박6일 여행을 준비했다. 이전까지도 나름 힘든 곳이나 어려운 방법들로 여행을 다녔는데, 숙소와 비행기는 예매가 귀찮아서 에어텔을 애용한다. 이번에는 수도인 비엔티엔과 여행자들의 천국이라는 방비엔으로 이틀씩 머물 예정인데, 짧지만 다행히도 아침 일찍 한국을 떠나고 밤늦게 라오스에서 돌아오는 표라 나름 꽉찬 일정이다.

와이프가 여행갈 나라에 대한 공부를 해야 여행을 제대로 즐긴다며 여행기나 다큐멘터리 같은 걸 보라고 닥달을 하곤 했었다. 그래서, 이번에는 라오스 여행 다큐멘터리와 여행 책들을 (꽤나) 자발적으로 살펴보았는데, 사실 강요에 못이겨 본 책들이나 다큐멘터리가 그 나라를 즐기는데 도움이 된다는 걸 느꼈기 때문이다. 왠지 밉상이라 인정하긴 싫다. 혹시나 다음 여행을 위해 본 다큐멘터리와 여행기를 정리해 놓자.

동영상
1. 지구촌 최후의 오지들, 라오스(2013) : 라오스 사람들을 중심으로 촬영한 다큐멘터리다. 제일 괜찮았는데, 프랑스 방송국에서 만든것을 더빙만 한 것이다. 메콩강에서 배를 가지고 거래를 하는 사람과 트럭을 가지고 사는 사람, 마지막으로 그물을 가지고 물고기를 잡아 생계를 꾸미는 사람들을 볼 수 있다.
2. 테마기행 길, 라오스(2013) : 부부 여행 전문가가 라오스를 여행한다. 중년에 여행 전문가들이라 겉도는 느낌 없이 여행을 즐기는 모습이라 가볍게 라오스를 즐길 수 있다.
3. 여행의 발견, 라오스 : 한마디로 별로다. 일반인들의 신청을 받아 여행을 동행하는 형식으로 만들어졌다. 중국에서 라오스로 건너가는 코스를 따라갔는데, 다른 다큐멘터리와 다르게 중국의 소수민족들을 몇 개 볼수있지만 여행자들이 일반인이라 깊이가 얕다.


1. 늦게 와서 미안해, 라오스 : 그리 좋은 책은 아니다. 작가의 일기를 보는 느낌인데, 꽤나 재미있게 썼다고 작가는 생각한 것 같다. 내 생각에는 젊은 남자의 자랑 여행기.
2. 욕망이 멈추는 곳, 라오스 : 엄마와 학교 들어가기 전의 아들이 함께 여행하고 정리한 내용이다. 아이가 없었다면 볼 수 없는 것들을 책을 통해 간접적으로 얻을 수 있다. 약간 서투른 면도 있지만 그래서 더욱 내가 여행한 느낌이 들기도 했다.
3. 신과 함께 행복을 꿈꾸는 낙원, 라오스 : 여행 전문가가 쓴 책이다. 중년 남성이신데 여러가지 경험이 많아 꽤나 다양한 정보를 담고 있다. 변화를 두려워하지 않는 조금만 더 젊은 시기에 다녀와 써주셨다면 독자에게 행운이었을 것 같다.

정보
Mr.villa
Villa라고 쓰고 ‘윌라’라고 읽는다. 라오스는 w를 v로 쓴다. 그래서 원래 Vangvieng도 방비엥이 아니라 왕위엥. 친절하고 현지인 가이드(?)라 꽤 저렴한 가격에 함께할 수 있다. 윌라는 영어를 잘한다. 라오스 사람들은 5성 호텔에 가도 영어를 잘하는 사람이 드물기 때문에 영어만 할 줄 아는 한국인의 경우에 큰 도움이 된다.
이메일도 자주 확인하니, 가기전에 예약을 잡아보면 좋겠다. 꽤나 손님이 있어서 미리 예약하지 않으면 어려울 것 같다. 이 메일은 ‘villa_tui@hotmail.com’이고, 전화번호는 ‘020-5592-4629’이다. 아래 사진의 가운데 소금을 들고 있는 외국인이 윌라!
윌라가 아이폰을 쓰니 아이메시지도 될지도 몰라요 🙂

20130814-010329.jpg

V.X Massage(VanXai Massage)
방비엥에 있는 마사지 샵인데, 방비엥에 있는 동안 찾은 바로는 제일 괜찮은 마사지 샵인 것 같다. 방비엥에는 마사지를 제대로 하는 곳이 없다. 비엔티엔에서는 맹인 마사지를 찾기를 권하고 싶다. 외국인들이 많이 머무는 메인 street에서 좀 떨어져 있지만, 그리 멀진 않다. 에어콘이 있고 배게에서 냄새도 안난다. 다른 마사지 샵은 무슨 오일을 썼는지 알 수 없거나, 마사지를 흉내만 낼 뿐 제대로 하지를 못하는데 여기는 마사지를 그래도 좀 잘 한다 +_+
나는 ‘아농’이라는 분에게 마사지를 받았는데, 타이마사지와 아로마 마사지 모두 잘해서 너무 시원했다.
전화 번호는 ‘020-5572-3080’, 영업시간은 10am – 11pm.

Jenkins의 workspace sync가 잘 안될 때

Jenkins를 VCS(Version Control System)과 연동하여 build를 하면, Jenkins가 빌드전에 sync를 한다. 그런데 무슨 이유에서인지 소스를 수정해도 반영이 안되고(특히, resouce 파일들), 계속 남아있다면 VCS에서 수정한 파일이 Jenkins의 workspace에서 삭제가 안된 것은 아닌지 확인해보자.

만약 그렇다면, Jenkins의 Workspace Cleanup Plug-in을 이용해 workspace를 강제로 지운 후 build를 하도록 할 수 있다. 다만, VCS에서 가져올 파일이 많다면 주의하도록 하자.

제 경우는, Android app을 ci하고 있었는데, 자주 추가/삭제된 resouce들이 제대로 반영이 되지 않아 3MB나 차지하고 있었다는 ..

ARCHIVE 106 넌클릭 갈축

(ÁÖ)´Ù³ª¿Í¿¡¼­ Á¦ÀÛµÈ »óÇ° À̹ÌÁöÀÔ´Ï´Ù.

나는 필코의 마제스터치1 넌클릭 텐키과 마제스터치2 넌클릭 텐키레스, 총 2개의 기계식 키보드를 사용하고 있다. 4년정도 사용한 마제스터치1이 고장이 나 IOMania에 a/s를 의뢰했는데, 이러저러한 상황을 통해 ARCHIVE 106 넌클릭 갈축을 재 구매하게 되었다.

a/s 비용이 꽤 많이 드는 부분이 고장나 할인 적용을 해준다는 말씀과 함께 구매를 추천받았기 때문인데, 구매하기 전에 평을 좀 찾아보았는데 생각보다 후기가 없더라. 집에서 쓸 거라 조금 저렴한 가격 때문에 결정했는데, 괜히 골랐나 하는 생각도 들었다. 처음에는 가격때문에 마제스터치2 넌클릭 갈축과 최대한 비슷하기만 바라면서 기다렸다. 오늘 배송을 받았고, 주변에 필코 키보드 유저가 많아 바로 옆에서 이것저것(마제스터치2 갈축, 마제스터치2 적축)과 비교해볼 수 있었는데, 같은 스위치를 써도 어떻게 만드느냐에 따라 차이가 나나보다.

마제스터치2 넌클릭과는 키감이 다르다. 그런데 그 다름이 나쁘지 않다. 좀더 조용하고 쫀득한 맛이 난다. 자기 설득을 통한 ‘나쁘지 않다’가 아니라, 처음에 만져봤을 때부터 ‘어? 괜찮은데?’라는 생각이 들었다.

다른 고려할 점은 있다. 키캡이 상대적으로 저렴한 ABS 재질에 레이저 각인이라는 것과 Caps Lock, Scroll Lock, Num Lock의 불이 키에 들어온다는 것, 106키이고 텐키 제품만 있다는 것이다.(원래는 텐키레스 모델도 있는데, 우리나라 매장에는 87키 제품이 없다.)

혹시 마제스터치2와 같은 공정을 통해 만든제품이라 하니, 상대적으로 저렴한 가격에 마제스터치2를  대신할 물건을 찾는거라면 비추한다. 하지만, 현재 99,000원에 팔리고 있다는 것을 생각할 때 가격대비 좋은 성능을 가진 키보드를 찾는다면 추천할만 하다.

구매 링크는 여기!

trouble writing output: Too many methods

dependencies

안드로이드 프로젝트를 빌드할 때 메소드 갯수가 많은 경우 아래와 같은 에러를 내며 빌드가 되지 않는 경우가 있다.

Android Dex: [IAP] trouble writing output: Too many methods: 77667; max is 65536. By package:
Android Dex: [IAP] 26 android
Android Dex: [IAP] 83 android.accessibilityservice
Android Dex: [IAP] 661 android.accounts
....

일단 에러의 원인은 Dalvik에서 실행하기 위해서는 앱이 65536 개를 초과하는 메소드를 가져서는 안되기 때문이다. 보통은 만날 일이 없는 에러일테다. 하지만, 에러가 났다면 어떻게 해야할까? 해결책은 링크를 참조하면 된다. 간단히 요약하면 리팩토링을 통해 메소드 갯수를 줄이라는 것이다.

그런데, 제공받은 라이브러리 때문에 나는 경우라면? 임의로 수정할 수도 없는 노릇이다. 다만, 안드로이드 단말에서 런타임시에 제공되는 (일명) 시스템 라이브러리라면, 라이브러리를 참조하는 scope를 바꾸어 빌드를 하지 않도록 설정 해 위 에러를 이를 피해갈 수 있다. 먼저, 인텔리제이의 도움말 – Dependency 탭의 Scope항목을 살펴보자.

  • Compile : The dependency is included in the classpath for your sources and test sources at the compilation and run phases.
  • Test : The dependency is included in the classpath only for your test sources at the compilation and run phases.
  • Runtime : The dependency is included in the classpath for your sources and test sources but only at the run phase.
  • Provided : For your sources, the dependency is included in the classpath only at the compilation phase. This is useful when there is a container (e.g. a web container of an application server) that provides the corresponding dependency at runtime.

위에 써 있듯이 스코프를 Provided로 하면 런타임시에 컨테이너에서 제공한다고 생각하여 apk 안에 포함하여 빌드 하지않고 컴파일 시에 참조만 한다. 이를 통해 빌드하는 도중에 나는 위 에러는 피할 수 있을 것이다. 다만, 이는 모든 경우에 해당하는 것은 아니다.

Hex values for decimal percentages

hex values are used in HTML, to decimal values

dec 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
hex 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
per 0 0 1 1 2 2 2 3 3 4 4 4 5 5 5 6
dec 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
hex 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
per 6 7 7 7 8 8 9 9 9 10 10 11 11 11 12 12
dec 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
hex 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
per 13 13 13 14 14 15 15 15 16 16 16 17 17 18 18 18
dec 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
hex 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
per 19 19 20 20 20 21 21 22 22 22 23 23 24 24 24 25
dec 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
hex 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
per 25 25 26 26 27 27 27 28 28 29 29 29 30 30 31 31
dec 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
hex 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
per 31 32 32 33 33 33 34 34 35 35 35 36 36 36 37 37
dec 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
hex 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
per 38 38 38 39 39 40 40 40 41 41 42 42 42 43 43 44
dec 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
hex 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f
per 44 44 45 45 45 46 46 47 47 47 48 48 49 49 49 50
dec 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
hex 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f
per 50 51 51 51 52 52 53 53 53 54 54 55 55 55 56 56
dec 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
hex 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f
per 56 57 57 58 58 58 59 59 60 60 60 61 61 62 62 62
dec 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
hex a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af
per 63 63 64 64 64 65 65 65 66 66 67 67 67 68 68 69
dec 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
hex b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf
per 69 69 70 70 71 71 71 72 72 73 73 73 74 74 75 75
dec 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
hex c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf
per 75 76 76 76 77 77 78 78 78 79 79 80 80 80 81 81
dec 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
hex d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df
per 82 82 82 83 83 84 84 84 85 85 85 86 86 87 87 87
dec 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
hex e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef
per 88 88 89 89 89 90 90 91 91 91 92 92 93 93 93 94
dec 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
hex f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff
per 94 95 95 95 96 96 96 97 97 98 98 98 99 99 100 100