본문 바로가기

분류 전체보기

개발하기 좋은 Font http://www.dafont.com/bitstream-vera-mono.font http://m.blog.naver.com/inningga/130092388628 더보기
signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 참고 URL : http://stackoverflow.com/questions/3246441/what-does-bus-adraln-invalid-address-alignment-error-meanshttp://www.badayak.com/3302 일반적으로 point 변수에 잘못된 값이 들어가 있을 경우는 null point exception 이나 다른 error 가 발생할 것이지만, 변수 자체가 invalid address alignment error 가 발생했다는 것은, 다른 수행에 의해서 변수 값 영역이 침범당했음을 의미한다. 아래 아티클의 작성자는 원인을 찾지 못했지만,http://www.badayak.com/3302아마 원인은 아래 (1) 을 수행할때 f_value3 영역이 침범당했기 때문일 것.. 더보기
batched discard - ext4 https://lwn.net/Articles/383933/ -> 위 article 에 대한 요약trim 은 나쁜 성능을 가지고 있고, 그것의 대안은 매 ioctl 마다 freed block 을 discard 하지 않는 것이다. 그것을 위해 batched discard 를 만들었다.성능을 위해 minimum free extent length 를 설정했고, ioctl 은 작은 extents 까지 처리하지 않을 것이다.이 방식은 성능을 위해서 freed block 을 track 하는 bitmap 을 저장하고, 한꺼번에 trim 하는 것이다.이것을 구현하기 위해 나는 새로운 bitmap, bb_bitmap_deleted, 을 ext4_group_info 안에 추가 했다.하나의 문제가 있다. bb_bitmap_d.. 더보기
ps command PC meaning, ps 명령어 의미 root@graceqltevzw:/ # ps USER PID PPID VSIZE RSS WCHAN PC NAMEroot 1 0 5920 912 SyS_epoll_ 00004cfa20 S /initroot 2 0 0 0 kthreadd 0000000000 S kthreaddroot 3 2 0 0 smpboot_th 0000000000 S ksoftirqd/0root 4 2 0 0 worker_thr 0000000000 S kworker/0:0...root 645 1 4344 408 SyS_epoll_ 000044a668 S /sbin/healthdroot 647 1 6536 2080 SyS_epoll_ 7f952d2594 S /system/bin/lmkdsystem 648 1 7508 2548 binder.. 더보기
linux command tip - double redirection(꺽쇠) ">>" Normally, redirection ">" is used overwrite. = overwriteecho 11 > ./11.logcat ./11.log11echo 5 > ./11.logcat ./11.log5 If you use duoble redirection ">>", it works appending = appendecho 11 > ./11.logcat ./11.log11echo 5 >> ./11.logcat ./11.log115 더보기
filesystem 용어 - mtdhttp://forum.falinux.com/pds/data-s2410/No11-1.pdf 임베디드 리눅스 장비에서 램디스크를 이용하여 루트 파일 시스템을 구현 하였을 경우에는 보드 동작 중에 파일로 기록된 내용이 전원이 꺼짐과 동시에 소실된다. 기록된 내용을 영구 저장 하기 위해서는 일반적으로 플래시 메모리에 기록하여야 한다. 플래시 메모리를 리눅스의 루트 파일 시스템으로 사용하기 위해서는 MTD (Memory Technology Device ) 블록 디바이스 드라이버를 사용하여야 한다. 더보기
What is onPreExecute, doInBackground, onPostExecute 원문 : http://arabiannight.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9CAndroid-AsyncTask-%EC%82%AC%EC%9A%A9%EB%B2%95 안드로이드/Android AsyncTask 사용법 안드로이드 AsyncTask 사용법에 대해 알아 보겠습니다. 안드로이드에는 UI 를 총괄하는 메인Thread가 존재 한고 있는데요.([안드로이드/Android Android에서 Thread(쓰레드) 란 무엇 인가?]) 메인Thread 외에는 일반Thread들이 안드로이드 UI 화면을 처리할 수 없습니다. 그렇기 때문에 메인Thread와 일반Thread 를 잘 핸들링 해서 사용해야 하는데, 여간 번거로운 일이 아닙니다. .. 더보기
[JAVA] Reflection 을 이용한 변수명 출력하기 - 예제코드 예를 들면 public class Car { private String model; public String owner; public static final int FOO = 123; public static final int BAR = 456; 이런식으로 숫자값에 대한 정의만 난무한 class 가 있고, 이에 대해서 변수명을 출력할 일이 있다면 (주로 디버깅) 일일이 switch 문이나 if else 를 만드는 일은 곤욕스러운 일이다. 자바에서는아래와 같이 getDeclaredFields 함수를 이용해서 동적으로 123 의 값을 가지고 "FOO" 를 출력하는 일이 가능하다. onLine compile test : https://www.compilejava.net///********************.. 더보기
makedev makedev (3) #include dev_t makedev(unsigned int maj, unsigned int min); unsigned int major(dev_t dev); unsigned int minor(dev_t dev); linux device driver 는 major num 와 minor num 로 관리되는데 이 두 number 를 하나의 type 으로 정의한 것이 dev_t 이다. makedev system call 은 실제 '/dev' 에 device node 를 생성하는 것이 아닌,단순히 major, minor number 를 조합해서 dev_t type 을 생성해 주는 역할이다. makedev (8) 반면에 makedev 실행 파일은 실제로 '/dev' 에 주어진 major .. 더보기
파일의 속성을 check 하는 코드 - fstatat, fstat, stat, lstat 아래는 dirfd 아래에 asecName 이라는 파일이 regular file인지 check 하는 코드 ex) dirfd = "/mnt/secure/asec/" asecName = "1234" 이면 /mnt/secure/asec/1234 라는 regular file 이 있는지 check 해 준다. struct stat sb; bool ret = (fstatat(dirfd, asecName, &sb, AT_SYMLINK_NOFOLLOW) == 0) && S_ISREG(sb.st_mode); http://www.tutorialspoint.com/unix_system_calls/stat.htm The following POSIX macros are defined to check the file type usi.. 더보기
The result of access(ls, cp) according parent directory permission | 상위 디렉토리의 권한에 따른 access(ls, cp) 결과 ./SE_API/1111 ls -al ./SE_API/1111-rwxr-xr-x parent directory user permission r(4) x(1) (0) status drwxr-xr-- 2 root root 4096 10월 26 18:15 . drwxrwxrwx 11 root root 4096 10월 27 13:25 .. -rwxr-xr-x 1 root root 5 10월 26 18:18 1111 drwxr-x--x 2 root root 4096 10월 26 18:15 . drwxrwxrwx 11 root root 4096 10월 27 13:09 .. -rwxr-xr-x 1 root root 5 10월 26 18:18 1111 drwxr-x--- 2 root root 4096 10월 26 18.. 더보기
block device 의 stat 정보 해석하기 cat /sys/block//stat 의 정보 Name units description ---- ----- ----------- read I/Os requests number of read I/Os processed read merges requests number of read I/Os merged with in-queue I/O read sectors sectors number of sectors read read ticks milliseconds total wait time for read requests write I/Os requests number of write I/Os processed write merges requests number of write I/Os merged with in-.. 더보기
find PID as process name and send signal using shell script #!/system/bin/shecho "sigquit.system_server.sh: start" > /dev/kmsgecho "sigquit.system_server.sh: start"sleep 10.0str=""echo "sigquit.system_server.sh: delay finish" > /dev/kmsgecho "sigquit.system_server.sh: delay finish"while [ "$str" = "" ]; do str=`ps | grep system_server` sleep 0.1donepid=${str:10:4}echo "sigquit.system_server.sh: kill -3 ${pid}" > /dev/kmsgecho "sigquit.system_server.sh: k.. 더보기
android adb 에서 sh : shell script file 이 실행 안될때 실행법 # sh ./sigquit.system_server.sh & or # /system/bin/sh ./sigquit.system_server.sh & 아래와 같이 error 가 날때는 root@gracelte:/data/local/tmp # sh ./sigquit.system_server.sh & [1] 13625'oot@gracelte:/data/local/tmp # ./sigquit.system_server.sh[3]: sleep: syntax error: Invalid argument '10.0./sigquit.system_server.sh[6]: syntax error: 'while' unmatched [1] + Done (1) sh ./sigquit.system_server.sh Ubunt.. 더보기
get pid by process name - example source code (예제 코드) 원문 : https://phoxis.org/2013/09/13/find-process-ids-of-a-running-process-by-name/ 이름으로 pid 를 찾아내는 예제 #include #include #include #include #include #include /* checks if the string is purely an integer * we can do it with `strtol' also */int check_if_number (char *str){ int i; for (i=0; str[i] != '\0'; i++) { if (!isdigit (str[i])) { return 0; } } return 1;} #define MAX_BUF 1024#define PID_LIST_BL.. 더보기
logging "linux platform log" without usb connection logging "linux platform log" without usb connectionusb 연결없이 platform log 계속해서 받기 1. connecting adb shell2. type thislogcat > /sdcard/log/name.log &3. adb shell stop adbd4. test start to get log5. adb pull /sdcard/log/ 더보기
hard link 와 symbol link (sym link) 의 차이점 기본 차이점을 잘 설명한 곳 :http://blog.naver.com/dorose2000/220575536780 만약 원본의 소유주나 권한이 바뀐다면?? $ echo 444 > 444.log$ sudo chown root:root ./444.log $ ls -altotal 20drwxrwxr-x 2 onegun onegun 4096 9월 12 16:02 .drwxrwxrwx 10 root root 4096 9월 12 15:59 ..-rw-rw-r-- 1 onegun onegun 4 9월 12 16:00 111.log-rw-rw-r-- 1 root root 4 9월 12 16:02 444.log-rw-rw-r-- 1 onegun onegun 4 9월 12 16:00 hardlnklrwxrwxrwx 1 on.. 더보기
xming dual(multiple) monitor setting "C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow -screen 0 @1 -dpi 96 -ac -lesspointer 간혹 창의 크기가 화면을 넘어가면-screen 0 1920x1080@1으로 셋팅을 바꾸었다가 다시 원복 (주 모니터 밖에 표시가 안됨) 더보기
file open 시 fd 번호 부여 방식 하나의 process 에서 한 파일을 연속으로 open 할때 fd number 부여 방식 - 이전에 3 이라는 fd 숫자를 써서 open 하고 close 를 함.- 다음 open 때는 fd 로 3이 부여 된다.- 따라서 file close 이후에는 항상 fd 에 -1 을 저장하는 것이 중요함. test code#include //#include #include #include #include #include #include #include // O_WRONLY#include // strlen() #define BUFF_SIZE 1024 int main(){ char buff_r[BUFF_SIZE], buff_w[BUFF_SIZE]; int fd[10];int rst;int fd_num; for(int i.. 더보기
adb unauthorized issue 아래 이슈로 한동안 고생했었다. onegun@onegun-Samsung-Desktop-System:~/newHDD/temp/adb_key/android$ adb devicesList of devices attached ce05160541c33c3a01 unauthorized 증상은 adb shell 로 연결해도 계속 위와같이 나오면서 smartphone 에는 인증창이 안뜬다. 원인은 아래 있는 adbkey 파일이 없어서 RSA fail 이 나서 인증 진행이 안된 것임. # ls /root/.android/ -altotal 56drwxr-xr-x 5 root root 4096 7월 21 17:16 .drwx------ 10 root root 4096 10월 7 2015 ..-rw------- 1 root .. 더보기
quick sort 참고 : http://blog.naver.com/kmediart/220552769535 #include using namespace std; #define SWAP(a, b) {int t=a;a=b;b=t;} // 다른분이 구현한것int quick_sort(int a[], int left, int right){int i, j;int pivot_value;int tmp; // 치환을 위한 임시 변수 if (left >= right){// 정렬 수행 하지 않음, 즉 정렬할 항목이 하나임.return 0;} i = left + 1;j = right; pivot_value = a[left]; // 왼편 끝단의 항목의 값을 Pivot 값으로 선정 while (1){// Pivot 값보다 큰 값 (이상) 일때 까지.. 더보기
visual studio 에서 stack size 유추 / set 하기 1 MByte = 1024 (Kbyte) * (1024) byte = 1048576 byte 256 MByte = 268435456 byteint 배열 67,108,864개 visual studio 에서 stack size 변경하기http://copynull.tistory.com/40 메뉴에서"프로젝트" -> "[프로젝트명] 속성" -> 왼쪽메뉴에서 "구성속성" -> "링커" -> 시스템 스택 예약 크기를 byte 단위로 입력 더보기
최고의 윈도우 프로그램들 http://sergeswin.com/1059 더보기
윈도우7 설치후 디스크(드라이브) 인식 오류 간만에 일찍 일어난 주말집 청소를 하는 마음으로 윈도우7을 새로 설치했다. 그간 이상한 프로그램들이 덕지덕지 깔려서 느리고 버그가 많아지고 있던터.. 깔끔하게 부팅 usb 를 만들고, 재설치를 했다.그리고 부팅된 윈도우를 여는순간... 100G 짜리 SATA 디스크가 인식이 안되있다. ;;;소중한 자료들이 잔뜩 들어있는 드라이브가 인식이 안된다는것은 실로 끔찍한 일이다. 다음 절차를 거쳤다. 지금은 해결이 되어 G 드라이브로 보이지만,처음 에는 (G) 글자 부분이 공백이었다. '추가' 버튼을 누르고, '드라이브 문자 할당' 에서 원하는 드라이브 문자를 추가하면 된다. 다행히 뻘짓하지 않고 소중한 자료들을 지켜냈다. !! 더보기
com.android.internal ... com.android.internal.R resourcesOS 의 현재 resource 상태를 저장하고 있는듯. 얻어다 쓰는 방법http://mpigulski.blogspot.kr/2011/03/accessing-comandroidinternalr-resources.html 예) mUseUsbNotification = !massStorageSupported && mContext.getResources().getBoolean( com.android.internal.R.bool.config_usbChargingMessage); 아래와 같이 xml 로 item 이 지정되어 있고,그것을 get set 해서 쓰는듯 하다.base/core/res/res/values-watch/config.xml:56: falseb.. 더보기
registerReceiver private void setIntentFilter() { IntentFilter intentF = new IntentFilter(); intentF.addAction("android.net.conn.CONNECTIVITY_CHANGE"); intentF.addAction(Intent.ACTION_BATTERY_CHANGED); registerReceiver(BroadcastReceiver, intentF); // 리시버 등록} 하나 등록private static final String ACTION_OPEN_IN_APPS = "com.android.server.usb.ACTION_OPEN_IN_APPS"; final Receiver receiver = new Receiver(); context.regis.. 더보기
각종 알고리즘 링크 분수(1/x)의 그래프http://www.mathteacher.pe.kr/study/21_0416.htm kadane 알고리즘http://rerun.me/2012/08/29/find-continuous-subarray-with-maximum-sum-problem-kadane-s-algorithm/ LCA (가장 가까운 공통 조상 찾아내기 - 트리에서)https://www.acmicpc.net/board/view/332 -> 댓글http://dyngina.tistory.com/29 -> 본문https://www.topcoder.com/community/data-science/data-science-tutorials/range-minimum-query-and-lowest-common-ancestor/#Low.. 더보기
Tree 이진 인덱스 트리(binary indexed tree)http://blog.secmem.org/486 인덱스 트리http://blog.naver.com/PostView.nhn?blogId=choyi0521&logNo=80204274208 더보기
이차원 배열(포인터) 활용 int arr[3][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };int (*bbb)[3] = arr+1;printf("%d\n", bbb[0][0]); 출력 4 이중 배열의 주소를 1중 배열로 받아서 쓰기 #define MAX128int g_arr[MAX * 2][MAX];int(*g_arr_128)[MAX] = g_arr;int(*g_arr_64)[MAX] = g_arr + 128;int(*g_arr_32)[MAX] = g_arr + 128 + 64;int(*g_arr_16)[MAX] = g_arr + 128 + 64 + 32;int(*g_arr_8)[MAX] = g_arr + 128 + 64 + 32 + 16;int(*g_arr_4)[MAX] = g_arr + .. 더보기
root 계산 함수 만들기 원문 : http://blog.daum.net/_blog/BlogTypeView.do?blogid=0Xrxs&articleno=41 #include double SQRT(double, double);void main() { double input, x, result; while(1) { scanf("%lf", &input); scanf("%lf", &x); result = SQRT(input, x); printf("제곱근은? : %lf \n", result); } } double SQRT(double input, double x) { for(int i=0; i 더보기