개발 중에 App 설정이 userdata 에 저장되는데 잘못된 설정값을 설정하여 App가 계속 죽게될 경우 다시 진입해도 잘못 설정된 값이 저장되어 App가 계속 죽게 된다. 이럴 때 설정값을 날리기 위해서 adb shell 등으로 들어간 루트 쉘에서 다음 명령을 주면 된다.
YUV 포멧 정리
YUV 포멧은 두 가지로 나뉠 수 있는데, 하나는 Packed 포멧이고, 다른 하나는 Planar 포멧이다.
Packed 포멧은 Y, U (Cb), V (Cr) 성분이 함께 Macropixel을 이루는 형식이다. 예를 들면 UYVY의 경우 Y 성분 2개와 그 두 개 Y 성분에 대한 U, V 성분을 합쳐 두 개의 픽셀을 나타내게 된다.
Planar 포멧은 Y, U (Cb), V (Cr) 성분이 각각의 분리된 영역에 저장되어 세 개의 영역을 모두 합쳐서 최종 이미지를 얻을 수 있는 방식이다.
내가 자주 다루게 되는 포멧은 Packed 포멧으로 YUYV, UYVY, Planar 포멧으로 NV12, NV21 이다.
YUYV와 UYVY 는 YUV 4:2:2 Packed포멧이다.
UYVY 는 Y422, UYNV, HDYC 로도 불리며, 32비트 안에 U0, Y0, V0, Y1 순서로 한 성분이 각각 8비트씩 저장되어 2개의 픽셀을 나타내게 된다.
YUYV 는 V422, YUNV, YUY2 로도 불리며, 32비트 안에 Y0, U0, Y1, V0 순서로 한 성분이 각각 8비트씩 저장되어 2개의 픽셀을 나타내게 된다. UYVY 와는 배열 순서만 다르다고 생각하면 된다.
그림으로 나타내면 다음과 같다.
NV12와 NV21은 YUV 4:2:0 Planar포멧이다.
NV12 는 8비트 짜리 Y 성분 하나와 8비트 짜리 U와 8비트 짜리 V 가 합쳐져 한 픽셀을 나타내게 되는데, U와 V 하나를 2×2의 Y 성분이 공유한다. 다른 말로 하자면, 2×2의 4픽셀을 나타내기 위해서 Y plane의 2×2의 4개의 성분과 이에 대응하는 U, V 성분 하나가 사용된다. 그림으로 나타내면 다음과 같이 설명할 수 있다.
NV21은 U/V plane에서 U와 V가 순서가 바뀐 포멧이다. YUV420SP 라고도 불리는 것 같다.
다른 더 많은 포멧은 아래 참고 링크를 참조한다.
참고 : http://www.fourcc.org/yuv.php
추가 : MSDN 에도 참고할 만한 글이 있다. NV12, YV12, IMC2 포멧 등, 메모리 증가에 따른 저장 공간을 잘 보도록. : http://msdn.microsoft.com/en-us/library/Aa904813
리눅스 인터넷 공유(Masquerade)
문서 중 가장 간단하다.
문서를 정리하자면,
다음과 같은 외부와 연결시키고 싶은 네트워크가 있다고 하자.
_____________
/ \ 외부 IP _________ 내부 IP
| Internet | 123.12.23.43 | linux | 192.168.0.1
| google.com | ——[외부 랜카드]——| machine |——[내부 랜카드]
\_____________/ ———- |
|
|
_____________ ______|_______
| 192.168.0.2 | / |
| 내부 |——–| 192.168.0.0 |
| 컴퓨터 | | 인트라넷 |
————– \______________/
외부 네트워크 카드는 eth0, 외부 IP는 123.12.23.43, 그리고 내부 네크워크 카드는 eth1라고 가정하자.
$> modprobe ipt_MASQUERADE # 만약 실패하더라도 다음을 계속하시오. |
그리고 보안을 위해:
$> iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT |
이 문서는 GNU Free Documentation License를 따른다.
[Ubuntu] 무선랜 설정 시 볼 만한 문서
웬만한건 드라이버 잡으면
$ sudo iwconfig wlan0 essid GoogleGuest
$ sudo dhclient wlan0
하면 된다.
켰을 때 자동으로 연결 안하길래 아래와 같이 추가해 줬다.
/etc/network/interfaces
iface wlan0 inet dhcp
wireless_essid GoogleGuest
VirtualBOX 에서 공유폴더로 설정한 폴더 mount
Linux
mount -t vboxsf <Shared directory name> <mount point>
Windows
net use x: \\vboxsvr\sharename
[Android] Linux에서 adb와 fastboot 사용하기
http://androidforums.com/samsung-i7500/32481-howto-linux-adb-fastboot-mass-storage.html 에서 자세한 내용을 찾을 수 있다.
요약 정리하면,
Linux 에서 사용할 수 있는 fastboot은 플랫폼 빌드 시에 생성되며, out/host/linux-x86/bin/ 아래에서 찾을 수 있다.
그리고 사용하려는 Linux 머신의 /etc/udev/rules.d/ 경로에 다름 파일들을 생성한다.
50-android.rules
90-android.rules
그리고 다음 명령을 사용하여 udev rules을 갱신한다.
2014.07.11. SYSFS{idVendor} 를 ATTR{idVendor} 로 변경.
미국 출장 전 준비물
* 챙기기 완료
청바지 1
반바지 1
티셔츠 2
양말 5
우산 1
110V 처럼 생긴 Plug Converter 1
* 완료지만 챙겨야 할 것
스킨/로션 2 샀음
세면제 1 샀음
귀걸이 1 샀음
카드 지갑 1 샀음
* 가져갈 것
명함 넉넉히
회사 수첩 1
노트북 1
외장 하드 1
카메라 1
멀티탭 1
E-Ticket 1
국제면허증 1
여권 1
선글라스 1
슬리퍼 1
* 사야 할 것
왁스 사야함
흰 티셔츠 사야함
속옷 사야함
(햇반?, 컵라면?)
[git] git 설정하기
1. git 설치
2. git 구성하기
2.1. username과 email 설정
2.2.. git 설정 확인
2.3.. git color ui 사용
2.4. 기본 인코딩을 cp949로 바꾸기
git config –global i18n.logOutputEncoding cp949
윈도에서는 LESSCHARSET=latin1 으로 설정해야 로그 메시지를 볼 수 있다.
2.5. 기본 에디터를 vim 으로 설정하기
[Windows7] 도구 모음 대신 Rocket Dock
Windows 7으로 업그레이드하면서 Windows XP 에서 사용하던 자주 사용하는 프로그램 바로가기를 도구모음으로 바탕화면 오른쪽에 띄워놓고 필요할 때마다 사용하던 것이 불가능해졌다. 내가 모르는건가…
별도 프로그램을 이용하지 않고 사용할 수 있어서 매우 편리했는데 없어지니 매우 불편해서 어떻게 할까 하다가 Dock 프로그램을 사용해서 같은 방법으로 사용하기로 했다. 작업 상 효율적이던 습관을 바꿀 필요는 없으니까.
Dock이라고 검색하자마자 나온 Rocket Dock을 설치해서 사용해봤는데 뜨는 위치를 두번째 모니터의 오른쪽으로 위치를 변경하면 거의 동일하게 사용할 수 있다.

기존에 폴더의 바로가기를 아이콘으로 등록할 때 경로로 등록해야 한다는 점과 등록한 아이콘 이름을 조금 수정해줘야 한다는(ddms.bat라면 DDMS로, putty.exe라면 iPutty로, mspaint.exe를 그림판으로 등등) 점을 제외하면 꽤 괜찮은 거 같다.
확대되는 효과가 보기에는 좋지만 클릭하려고 할 때 뭔가 위치를 혼동시키는 느낌이라 확대되는 효과를 없애고,
폰트를 조정해 글자색을 윤곽색과 같은 색으로 지정하고 나니 아이콘 이름도 잘 보인다.
그리고 일단, 예전 밋밋한 도구모음보다 예쁘다^^
http://rocketdock.com/download