구글 광고


자바에서 한글 인코딩 깨질 때

http://naragu.tistory.com/entry/%EC%9E%90%EB%B0%94-%EC%9D%B8%EC%BD%94%EB%94%A9-%EA%B9%A8%EC%A7%88-%EB%95%8C
골때리지만 상당히 유용한 방법임
설마 했는데 진짜 하나 걸려서 잘 쓰고 있음

Apache HttpComponents는 항상 최신버전을 쓰자

시발 오늘 하루종일 삽질한거 기록해 놓는다.

Android 앱을 개발하면 보통 http 컴포넌트를 Apache의 HttpComponents를 쓰는데
Android에 포함된 게 버전이 몇인지는 모르겠는데 암튼 잡다한 문제가 존나리 많다.
그래서 결론을 내린게 항상 최신 버전을 써야 한다는 것.
http://hc.apache.org/ 여기에서 다운 받을 수 있다.
다운 받아서 아무데나 풀어놓고 프로젝트에 참조 추가하면 되는데
방법은 Eclipse에서 프로젝트에 오른클릭한 다음에 Build Path > Add External Archives... 누르면 됨
참조한 .jar 은 .apk에 포함되니 반드시 필요한 라이브러리만 추가할 것.

오늘 겪은 문제

여러개의 쓰레드에서 동시에 http Request를 날려야 하는 일이 있어서, 웹에서 시키는 대로 ThreadSafeClientConnManager를 사용했는데, 자꾸 IllegalStateException: no wrapped connection 이 뜨는 것임. (이 익셉션은 보통 SingleClientConnManager를 사용할 때 일어난다고 함)
내가 뭘 잘못했는지도 모른채 몇 시간을 방황하다가 Apache HttpComponents의 버그로 판단. -_-
최신 버전으로 사용하니 해결이 된 듯.
(httpclient-4.1.1.jar를 사용함)

또 추가로, HttpResponse에서 짧은 내용을 가져오려면 EntityUtils를 사용하면 되는데, 긴 내용을 가져와야할 경우 Stream을 써야 한다. response.getEntity().getContent()로 InputStream을 가져올 수 있는데, 이 Stream 사용 후 반드시 close() 해야함.

Mono.Cecil.dll


우분투 와이브로 인터넷 속도가 느릴 때

넷북에 우분투 10.10을 깔았더니
집에 설치해 놓은 유무선 공유기를 통한 와이파이 인터넷은 잘 되었는데
와이브로 에그를 통하면 인터넷이 거의 안된다고 표현하는 게 맞을 정도로 느렸다.
그래서 헤매고 헤매다가 어쩌다보니 어느 순간부터 인터넷이 되었다.
이 때 내가 한 짓은 두가지였음.

1. 802.11 N모드 설정

/etc/modprobe.d/intel-5300-iwlagn-disable11n.conf
편집기로 열어서 disable에 1을 0으로 바꿈

2. DNS 변경

아마 1번만 해도 되었을 텐데, 2번까지 했음.
DNS를 수동으로 설정해줬는데, KT DNS가 안먹혀서
OpenDNS로 설정함. (208.67.222.222, 208.67.220.220)
DNS 수동 설정 방법은 다음에.
(간략하게 적자면 트레이 쪽 와이파이 아이콘 -> 연결 편집 -> 무선 -> 문제되는 네트워크 선택 후 편집 -> IPv4 설정 -> 방식을 '주소만 자동 (DHCP)' 으로 변경 -> DNS 서버에 주소 입력)

우분투 11.04 트레이 아이콘 안나오는 문제

우분투 11.04 버전 부터는 트레이 아이콘 구역을 아예 없애버렸습니다.
굉장히 좋지 못한 결정이라고 봅니다. -_-
메인 화면에 표시하지 않는다 하더라도, 예전 어플리케이션과의 호환을 위해 트레이 영역을 접근하는 다른 무언가를 제공했어야 하는게 맞다고 봅니다.
암튼 그래서 결론은 네이트온을 사용하기가 까다로워졌습니다. -_-
네이트온 메인 창은 습관적으로 닫아버리거든요.
닫으면 트레이로 들어가는데, 트레이 아이콘이 없으니까 다시 띄울 수가 없게 되었습니다.
그래서 구글링해서 방법을 찾았습니다.
트레이 영역을 예전처럼 복구시켜서, 모든 트레이 아이콘이 나오게 하는 것은 불가능하구요.
다만 일종의 '예외'를 설정할 수 있어, 그 예외에 해당하는 아이콘은 나오도록 할 수가 있습니다.
일단 터미널에서 다음을 칩니다.
$ gsettings get com.canonical.Unity.Panel systray-whitelist
['JavaEmbeddedFrame', 'Wine', 'Skype']
그럼 대략 위와 같은 결과가 나오는데, 여기 있는 것들이 '예외' 어플의 이름들입니다.
여기에 네이트온을 추가해봅시다.
$ gsettings set com.canonical.Unity.Panel systray-whitelist "['JavaEmbeddedFrame', 'Wine', 'Skype', 'Nateon']"
이제 재부팅하거나 로그아웃/로그인 하면 적용됩니다.
네이트온이 트레이에 띄워져 있는 모습
그리고 트레이 영역이 없어지면서 한글 입력기 Nabi가 트레이에 자꾸 안들어가는 현상이 발생하는데
마찬가지로 'Nabi' 추가해주면 트레이에 잘 들어갑니다.
이제 재부팅하거나 로그아웃/로그인 하면 적용됩니다.

1 2 3 4 5