[git] Untracked files 및 Deleted files 까지 함께 자동으로 commit 하는 방법

다음과 같이 해도 되지만, 시스템 부하가 많이 간다.
git add .
git commit -a
그래서 다음과 같이 하면 더 빠르게 된다.
git ls-files -o | git update-index –add –stdin
git commit -a

[JAVA] JVM의 Proxy 셋팅

net.properties 를 셋팅하여 Java 프로그램이 실행되는 JVM이 프록시를 통해 네트워크를 연결할 수 있도록 할 수 있다. java로 실행된다면 다음과 같이 옵션을 넣어주면 된다.

java -Dhttp.proxyHost=168.219.61.250 -Dhttp.proxyPort=8080 …
우분투 리눅스의 경우에는 /etc/java-6-sun/net.properties 파일에 시스템 전역 설정값을 설정할 수 있다.

Android 개발 시 몇 가지 로그 확인 방법

1. Kernel 에서 pr_debug 등이 안나올 때,
간단히는 맨 위(“#include <linux/kernel.h>”보다 위)에 “#define DEBUG” 추가 혹은  http://www.kernel.org/doc/local/pr_debug.txt 처럼 makefile 수정
DEBUG를 추가했을 때 왜 pr_debug 가 Enable 되는지 보고 싶다면, include/linux/kernel.h 참고

커널 메시지 보기 : 커널이 어느정도 안정적이라면 UART 등을 이용하는 것보다 adb 쉘을 이용하는 것이 더 편하던데..

adb shell cat /proc/kmsg

2. Android 에서 LOGE, LOGW, LOGI, LOGD 가 안나올 때,
맨 위에 “#define LOG_NDEBUG 1” 추가
LOGV 까지 보고 싶을 땐 “#define LOG_NDEBUG 0” 추가
LOG_NDEBUG 가 미치는 영향을 보고 싶다면, system/core/include/cutils/log.h 파일 참고.

logcat 메시지 보기

adb logcat
그러나 로그 메시지 보기에는 역시 DDMS 가 가장 좋다.
로그 TAG를 통해 필터링해서 보는 것이 가장 보기 쉽고 깔끔하다.

아쉬우나마 adb logcat 을 이용해서 필터링 하고 싶다면 다음과 같이 한다.

adb logcat <TAG>:<LOGLEVEL> *:S
예를 들어, CameraTest 는 V 레벨로(CameraTest:V), Camera는 D 레벨로(Camera:D), 나머지는 안나오게 하고 싶다면(*:S) 다음과 같이 한다.

adb logcat CameraTest:V Camera:D *:S

filter-spec 등 adb의 사용법을 더 알고 싶다면 Android Debug Bridge(http://developer.android.com/guide/developing/tools/adb.html)를 참고한다.

[Android] userdata 지우기

개발 중에 App 설정이 userdata 에 저장되는데 잘못된 설정값을 설정하여 App가 계속 죽게될 경우 다시 진입해도 잘못 설정된 값이 저장되어 App가 계속 죽게 된다. 이럴 때 설정값을 날리기 위해서 adb shell 등으로 들어간 루트 쉘에서 다음 명령을 주면 된다.


# wipe data

[Linux] printk 디버깅 메시지 레벨 조정

이 것도 자꾸만 까먹는다..;;


이 글(http://www.makelinux.net/ldd3/chp-4-sect-2.shtml)을 참조하자


간단히, 커널 실행 중일 때는 다음과 같이 하면 모든 디버깅 메시지를 콘솔로 볼 수 있다. 


#echo 8 4 1 7 > /proc/sys/kernel/printk

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

[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

SUBSYSTEM==”usb”, ATTR{idVendor}==”18d1″, MODE=”0666″, OWNER=”<사용할 Machine 상의 USERNAME>”

90-android.rules

SUBSYSTEM==”usb”, ATTR{idVendor}==”04e8″, MODE=”0666″, OWNER=”<사용할 Machine 상의 USERNAME>”

그리고 다음 명령을 사용하여 udev rules을 갱신한다.

reload udev

2014.07.11. SYSFS{idVendor} 를 ATTR{idVendor} 로 변경.

[git] git 설정하기

1. git 설치

sudo apt-get install build-dep git-core git-doc

2. git 구성하기
2.1. username과 email 설정

git config –global user.name “Yang Jeong-Seok”
git config –global user.email “dasomoli@gmail.com

2.2.. git 설정 확인

git config –global –list

2.3.. git color ui 사용

git config –global color.ui “auto”

2.4. 기본 인코딩을 cp949로 바꾸기

git config –global i18n.commitEncoding cp949
git config –global i18n.logOutputEncoding cp949

윈도에서는 LESSCHARSET=latin1 으로 설정해야 로그 메시지를 볼 수 있다.

set LESSCHARSET=latin1

2.5. 기본 에디터를 vim 으로 설정하기

git config –global core.editor “vim”

Ascii code 표
























































































































































































































































































































































Binary Oct Dec Hex Abbr PR[t 1] CS[t 2] CEC[t 3] Description
000 0000 000 0 00 NUL ^@ \0 Null character
000 0001 001 1 01 SOH ^A Start of Header
000 0010 002 2 02 STX ^B Start of Text
000 0011 003 3 03 ETX ^C End of Text
000 0100 004 4 04 EOT ^D End of Transmission
000 0101 005 5 05 ENQ ^E Enquiry
000 0110 006 6 06 ACK ^F Acknowledgment
000 0111 007 7 07 BEL ^G \a Bell
000 1000 010 8 08 BS ^H \b Backspace[t 4][t 5]
000 1001 011 9 09 HT ^I \t Horizontal Tab
000 1010 012 10 0A LF ^J \n Line feed
000 1011 013 11 0B VT ^K \v Vertical Tab
000 1100 014 12 0C FF ^L \f Form feed
000 1101 015 13 0D CR ^M \r Carriage return[t 6]
000 1110 016 14 0E SO ^N Shift Out
000 1111 017 15 0F SI ^O Shift In
001 0000 020 16 10 DLE ^P Data Link Escape
001 0001 021 17 11 DC1 ^Q Device Control 1 (oft. XON)
001 0010 022 18 12 DC2 ^R Device Control 2
001 0011 023 19 13 DC3 ^S Device Control 3 (oft. XOFF)
001 0100 024 20 14 DC4 ^T Device Control 4
001 0101 025 21 15 NAK ^U Negative Acknowledgement
001 0110 026 22 16 SYN ^V Synchronous Idle
001 0111 027 23 17 ETB ^W End of Trans. Block
001 1000 030 24 18 CAN ^X Cancel
001 1001 031 25 19 EM ^Y End of Medium
001 1010 032 26 1A SUB ^Z Substitute
001 1011 033 27 1B ESC ^[ \e[t 7] Escape[t 8]
001 1100 034 28 1C FS ^\ File Separator
001 1101 035 29 1D GS ^] Group Separator
001 1110 036 30 1E RS ^^ Record Separator
001 1111 037 31 1F US ^_ Unit Separator
111 1111 177 127 7F DEL ^? Delete[t 9][t 5]

 









































































































































































































Binary Oct Dec Hex Glyph
010 0000 040 32 20 space
010 0001 041 33 21 !
010 0010 042 34 22
010 0011 043 35 23 #
010 0100 044 36 24 $
010 0101 045 37 25 %
010 0110 046 38 26 &
010 0111 047 39 27
010 1000 050 40 28 (
010 1001 051 41 29 )
010 1010 052 42 2A *
010 1011 053 43 2B +
010 1100 054 44 2C ,
010 1101 055 45 2D
010 1110 056 46 2E .
010 1111 057 47 2F /
011 0000 060 48 30 0
011 0001 061 49 31 1
011 0010 062 50 32 2
011 0011 063 51 33 3
011 0100 064 52 34 4
011 0101 065 53 35 5
011 0110 066 54 36 6
011 0111 067 55 37 7
011 1000 070 56 38 8
011 1001 071 57 39 9
011 1010 072 58 3A :
011 1011 073 59 3B ;
011 1100 074 60 3C <
011 1101 075 61 3D =
011 1110 076 62 3E >
011 1111 077 63 3F ?








































































































































































































Binary Oct Dec Hex Glyph
100 0000 100 64 40 @
100 0001 101 65 41 A
100 0010 102 66 42 B
100 0011 103 67 43 C
100 0100 104 68 44 D
100 0101 105 69 45 E
100 0110 106 70 46 F
100 0111 107 71 47 G
100 1000 110 72 48 H
100 1001 111 73 49 I
100 1010 112 74 4A J
100 1011 113 75 4B K
100 1100 114 76 4C L
100 1101 115 77 4D M
100 1110 116 78 4E N
100 1111 117 79 4F O
101 0000 120 80 50 P
101 0001 121 81 51 Q
101 0010 122 82 52 R
101 0011 123 83 53 S
101 0100 124 84 54 T
101 0101 125 85 55 U
101 0110 126 86 56 V
101 0111 127 87 57 W
101 1000 130 88 58 X
101 1001 131 89 59 Y
101 1010 132 90 5A Z
101 1011 133 91 5B [
101 1100 134 92 5C \
101 1101 135 93 5D ]
101 1110 136 94 5E ^
101 1111 137 95 5F _

영문 위키피디아에서 참조
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. See Terms of Use for details.