2014년 7월 11일 금요일

Doxygen으로 함수 call, caller 그래프 보기

소스코드를 분석 하는데 함수 호출 구조가 너무 복잡해서 그래프로 보고 싶었다.

1. doxygen 설치
sudo apt-get install doxygen

2. graphviz 설치
sudo apt-get install graphviz

OR

http://www.graphviz.org/
직접 다운로드

-바이너리 위치 조회
jinsol@jinsol:~$ which graphml2gv
/usr/bin/graphml2gv


3. config 설정을 위한 Doxyfile 생성
doxygen -g

4. Doxyfile 수정

-그래프 설정
CALL_GRAPH             = YES
CALLER_GRAPH           = YES


- Graphviz 바이너리 위치 설정
DOT_PATH               = /usr/bin/graphml2gv
HAVE_DOT               = YES

- 클래스 상속 구조 포함
CLASS_DIAGRAMS          = YES

- 그래프를 text가 아니라 그래픽 버전으로 보여줌
GRAPHICAL_HIERARCHY     = YES


- 대상 소스 폴더 지정
상대 경로 또는 절대 경로 지정 가능.

INPUT                  = ../
OR
INPUT                  = /home/jinsol/source/doc
RECURSIVE
- 대상 폴더의 하위 폴더도 대상으로 지정
RECURSIVE              = YES

- 생성되는 doc 파일이 많아지므로 하위폴더 생성
CREATE_SUBDIRS         = YES

- @internal 주석이 적힌 문서도 포함(NO일경우 미포함)
INTERNAL_DOCS          = YES

- 문서에 구현 소스도 포함
INLINE_SOURCES         = YES

- 문서에 소스파일 추가 (Files에서 조회 가능)
SOURCE_BROWSER         = YES



5. 문서 제작
jinsol@jinsol:~$ doxygen

html폴더에 문서 생성됨.

6. 문서 보기
firefox html/index.html로 문서 보기

우측 상단의 검색창을 이용해 자기가 원하는 함수를 볼 수 있음.
이런 크고 아름다운 그래프를 볼 수 있다.








(참조 : http://www.nicklib.com/devtools/661)

2014년 6월 16일 월요일

To many open files error



popen()을 통해 top를 실행시켜 Cpu 사용률을 파싱해 오는 간단한 모듈을 만들었는데, 오래 실행을 시킬경우 Too many open files이란 오류가 나면서 제대로 된 동작을 하지 않았다.

ulimit –a에서 open files를 보면 1024 default값으로 지정되어 있는데, ulimit –n 을 통해 늘리면  오류가 좀 더 시간이 흐른 후 나타난다. 하지만 이건 임시 방편일 뿐이고, 실제 문제는 다른 곳에 있었다.
popen()으로 오픈한 fp close()를 통해 닫아주고 있었는데,  man popen을 쳐보니 pclose()가 짝으로 있었다. pclose()로 바꿔주니 잘~된다.

2013년 6월 17일 월요일

저렴한 자전거 블랙박스 모음


미니캠
에서 mini cam, spy cam으로 검색


후보 1 Mini DV 5.0

동영상 - http://www.youtube.com/watch?v=lmkbuz4vQ2g


후보 2 Mini DV MD80 - 구매 완료! 적당한 화질에 싼 가격 괜찮은 구성품

후보 3 y3000 - 화질 엄청 좋지만 베터리가 작아서 개조해야하고, 동영상 압축이 안되서 용량을 엄청 쳐먹음 42분에 5기가

후보 4 Mini DVR U8 USB DISK HD HIDDEN - 노출 과다


후보 5 Car key Mini hidden Cam 제일 쌈 화질은 별로

후보 6 Mini DV DVR camcorder vehicle DVR Hidden Sports Camera - 거치대포함, 방수


판매 페이지 링크는 5월 중순 검색 당시 동일 제품 중 가장 싸고 무료 배송 해주는 링크임.

2013년 6월 1일 토요일

Nexus7 Ubuntu backlight brightness control

Nexus7 Ubuntu 13.04 backlight brightness control 

[System Settings] -> [Brightness & Lock] is not possible to adjust the brightness on.

Enter the terminal

sudo tee /sys/class/backlight/pwm-backlight/brightness 

or

echo 200 | sudo tee /sys/class/backlight/pwm-backlight/brightness

or

sudo /usr/lib/gnome-settings-daemon/gsd-backlight-helper --set-brightness 200

If you enter 0 to 255 brightness changes.

(Max brightness can be seen with the command.
cat /sys/class/backlight/pwm-backlight/max_brightness
or
sudo /usr/lib/gnome-settings-daemon/gsd-backlight-helper --get-max-brightness)

After the [System Settings] -> [Brightness & Lock] in the brightness can be adjusted.

However, after a reboot of 40 brightness changes....-_-;;;;

2013년 4월 25일 목요일

오픈 소스 관련 뉴스


- 국내 공개SW 개발자는 우물 안 개구리?

- 위 기사에 대한 반발 글

- 대한민국 공개SW “소비국에서 생산국으로” 세계로 Go

- 구글, “오픈소스 개발자에겐 특허소송 없다“

- 삼성-모질라 브라우저 개발 맞손

- 모질라, 파이어폭스 모바일 OS탑재 기기 2종 출시

- ‘한국 임베디드SW 플랫폼 방향’ 주제로 워크숍 개최

- 김명준 ETRI 연구위원 “IT코리아 답게 공개SW 활성화 기여” (리눅스 재단 첫 한국인 선출직 이사)

- 클라우드·빅데이터·해킹…IT아웃소싱 정답일까