목록프로그래밍 (31)
일상에서 멍때리기
gcc로 컴파일할 때, define이 설정된 파일등의 경우 모든 파일에 include을 해줘야하는 번거로움이 발생합니다. iOS xcode같은 경우에는 프로젝트에 Prefix.pch file이 존재하여 해당 파일에 include를 해주면 모든 코드에서 자동으로 include가 된다고 합니다. 그렇다면 gcc에서는 어떻게 써야할까요? 정답은 다음과 같습니다. -include file gcc manual page를 찾아보니 Preprocessor Options중에 나오더군요. 테스트 결과 header file을 일일이 넣지 않아도 해당 header가 포함된 것을 확인했습니다. manual page의 내용은 아래와 같습니다. 참고하세요! -include file Process file as if "#inclu..
Landscape와 Portrait로 전환시 이벤트를 받아오는 방법에 대한 코드 1 public void onConfigurationChanged(Configuration newConfig) { 2 super.onConfigurationChanged(newConfig); 3 if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) // 세로 전환시 발생 4 { 5 System.out.println("portrait!!!!로 전환!!========="); 6 } 7 else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) // 가로 전환시 발생 8 { 9 System.out.pr..
명령어 : adb shell dumpsys activity중략 ... Running activities (most recent first): TaskRecord{40ba1598 #122 A com.com2us.bb2011.normal.paid.oz.kr.android.common} Run #2: HistoryRecord{406287a8 com.com2us.bb2011.normal.paid.oz.kr.android.common/.MainActivity} TaskRecord{409bae60 #92 A com.sec.android.app.twlauncher} Run #1: HistoryRecord{4093f758 com.sec.android.app.twlauncher/.Launcher} TaskRecord{4..
vi mode에 익숙해진탓에 eclipse에서도 vi mode를 사용할 수 있을까 하던 도중에 몇가지 plugin을 발견하였습니다. viPlugin : 이름에서도 느껴지는 vi plugin입니다. 거의 모든 vi의 기능을 지원하는듯 하지만 돈을 내야 한다는... vrapper : 일부의 기능을 지원합니다. 무료로 사용할 수 있습니다. 회사에서 사용해야 하기 때문에 vrapper를 선택하였습니다. 설치방법은 매우 간단합니다. Help -> Install New Software...을 통해서 설치 할수 있으며 설치 경로는 http://vrapper.sourceforge.net/update-site/stable입니다. 설치가 완료되고 eclipse를 재시작해주시면 아래와 같은 아이콘을 확인하실 수 있으며, 아..
mac 에서는 기본적으로 ssh server가 내려가 있기 때문에 ssh접근을 할 수 없습니다. 하지만 간단하게 ssh를 활성화 시킬수 있습니다. 시스템 환경설정 -> 공유 -> 원격 로그인 을 체크해주면 ssh를 간단히 활성화 시킬 수 있다.
큰수를 써야 할 경우 64bit int가 필요할 때가 있습니다. 어떻게 표현할까요? visual C(window)를 먼저 보면 선언 및 출력은 아래와 같습니다. 선언 : __int64 , unsigned __int64 출력 : %I64d, %I64u gcc(linux)에서는 조금 다르게 아래와 같이 표현됩니다. 선언 : long long, unsigned long long 출력 : %lld, %llud
linux만 쓰다가 mac OS X로 넘어와서 이래저래 해깔리는 부분이 많이 있습니다. max OS X 에서의 동적 라이브러리는 dynamic libraries로 dylib의 확장자를 같습니다. 환경 설정 적인부분에서 linux의 LD_LIBRARY_PATH 변수를 지정하여 동적 라이브러리 위치를 표시하는 반면, max OS X에서는 DYLD_LIBRARY_PATH변수를 설정해 줍니다. 그렇다면 라이브러리의 의존성 확인은 어떻게 할까요? linux의 ldd, window의 dumpbin이 있듯 mac OS X에서는 otool이라는 툴을 이용하여 확인이 가능하며 사용방법은 아래와같습니다. otool -L file 이외에도 otool은 많은 기능과 옵션을 가지고 있습니다. (man page 참조) 만약 실행..
Command + Shift + 3 : 전체 화면 캡쳐Command + Shift + 4 : 커서가 십자 모양으로 바뀌며 '원하는 범위' 캡쳐 Command + Shift + 4 를 눌러 커서가 십자 모양으로 변한 후 '스페이스바' : 커서가 카메라 모양으로 바뀌며 원하는 창 만 캡컵쳐된 파일은 바탕화면에 기본저장된다.
mac에서 ulimit -c unlimited 를 이용하여 segmentation fault가 발생할 떄 core파일을 남길 경우 core파일을 찾아 볼 수 가 없다. 어디에 생성되는 것일까? mac에서는 core파일이 /core/core.pid 로 생성이 된다. 하지만 이 때 mac에서는 corefile의 size가 엄청나게 크게 생성이된다. 그렇기 때문에 이에 대한 문제를 해결하기 위해서는 ulimit -c unlimited대신 다음과 같은 설정을 해주도록 한다. ulimit -S -c
디렉터리의 용도에 대하여 알아보겠습다. app 이 디렉토리는 애플리케이션 컴포넌트를 담고 있다. 즉 모델. 뷰, 컴트롤러에 해당하는 각각의 디렉토리가 존재한다. components 이 디렉토리는 모델, 뷰, 그리고 컨트롤러를 각각 담당하고 있는 작은 애플리케이션들이 컴포넌트화되어 저장되어 있다. config 이 디렉토리는 레일즈 애플리케이션에 대한 아주 작은 양의 설정 코드들을 담고 있다. 이 설정 코드에는 데이터베이스 설정(database.yml), 레일즈 설정(environment.rb), 웹 라이팅 설정(routers.rb) 등이 포함된다. 또한, environments 디렉토리에 저장된 파일들을 이용하여 테스트, 개발, 서비스(배포)에 관한 세가지 레일즈 환경 설정을 할 수 있다. db 통상적인 ..