본문 바로가기

전체 글74

git rebase 시 conflict 발생 git rebase 를 수행하는데 conflict 가 발생한 경우에 해결 하는 절차를 적어본다. 우선 S project 라는 가상의 프로젝트에 A~J 까지 10개의 commit 이 있는 master branch 가 있다고 가정한다. E 에 해당하는 commit 소스를 가지고 새로운 new_branch 이라는 local branch 를 만들어서 또다른 commit 작업을 수행했다고 가정한다. 새로 수행된 commit 은 K, L, M 이라고 하자 그럼 commit 된 내용을 그림으로 그려보면 아래와 같다. K--L--M : new_branch / A--B--C--D--E--F--G--H--I--J : master 이런 상황에서 G commit 시점으로 나의 branch 를 rebase 하고 싶은 경우, 즉.. 2012. 1. 19.
Android Log 분석 안드로이드에서 로그를 사용하고 싶은 경우에 자바 레이어에서는 android.util.Log 클래스를 사용한다. android.util.Log 클래스는 frameworks/base/core/java/android/util/Log.java 에 구현되어 있다. Log 클래스안에 구현된 메소드는 v(), d(), i(), w(), e() 등이 있다. 각각은 VERVOSE, DEBUG, INFO, WARN, ERROR 를 나타낸다. 이는 vervosity(자세함? 장황함)의 순서이다. Verbose 는 개발하는 동안에만 컴파일되고, Debug 는 컴파일되지만, runtime 시에 strip 된다. Error / warning / info 는 항상 동작한다. 보통은 본인이 작성하는 클래스에 TAG 라는 상수를 선언.. 2012. 1. 19.
Alignment Error 와 메모리/구조체 네이버 블로그 2006/09/26 작성내용 옮김. http://blog.naver.com/pinocc/120029339528 Alignment error 는 Bus Error signal 에 대한 반응으로 발생한다. bus error 신호는 multi-byte 데이터가 적절한 메모리 boundary 에서 접근되지 않을 때 발생한다. 이런 플랫폼에서 integer / long 타입의 데이터들은 cpu 가 데이터를 가져오는 방식과, 해당 플랫폼의 cpu instruction set 에서 어떻게 최적화를 하냐에 따라서 특정 byte boundary 에 정렬되어야 한다. 예를 들면 4byte long 데이터는 4의 배수에 정렬된 주소에 접근해야 하고, 2byte 는 2의 배수 주소에서 접근해야 한다. 인텔 cp.. 2012. 1. 6.
Android Framework 에 Java 라이브러리 및 JNI 추가하기 안드로이드의 Framework 에 내가 짠 코드를 추가하고 싶은 경우에 어떻게 해야 할까? 다양한 방법이 있겠지만(있을까??), 검색해본 결과, 기존 frameworks 의 다른 라이브러리들과 동일하게 추가해주는 것이 가장 간단한 방법인 것으로 생각된다. 작성한 코드는 java 라이브러리 및 java 라이브러리에서 호출하는 JNI 로 구성되어있다고 가정한다. 1. frameworks 에 디렉토리 및 파일 추가 내가 만든 코드를 frameworks 에 추가하여 frameworks.jar 파일에 포함시키고 싶다면, 우선 다음과 같은 위치에 디렉토리를 생성한다. /frameworks/base/ my_directory 아래에 java// 와 같은 방식으로 넣는다. 예를 들어 내가 만든 자바 package nam.. 2012. 1. 3.