전체 글: 407개의 글

소스인사이트 팁들

Posted by ironmask84
2011. 1. 7. 10:26 나는 프로그래머다!


출처 : http://andstudy.springnote.com/pages/3778703

0.개요

본 문서는 안드로이드 스터디 모임에서 소스 인사이트를 통해 소스 코드 드라이빙을 하는 데

필요한 기능을 정리한 것이다.

 

1.자주 쓰는 기능

 

1.1 프로젝트 내 특정 심볼을 검색할 때?

F7

 

1.2 심볼이 검색이 안되는 경우는?

프로젝트 전체 파일들에 대해 lookup reference 기능을 이용해서 찾는다.(grep 명령어와 비슷)

ctrl + /

 

1.3 특정 단어(심볼)을 하이라이트 해서 보고 싶을 때?

shift + F8

 

아래 그림은 'coldboot' 함수를 하이라이트 한 것임.

si2.jpg

 

2.소스인사이트 세팅

 

2.1 소스인사이트에서 ARM assembly language 추가하기

안드로이드 소스 중 일부는 arm 기반의 어셈블리 파일로 되어 있다.

소스 인사이트의 기본 설정은 arm assembly에 대한 언어 정보가 추가되어 있지 않으므로

사용자가 별도로 추가해줘야 한다.

http://kaisyu.springnote.com/pages/1578764

 

2.2 소스인사이트 한글 주석 깨지는 걸 막는 매크로

인터넷 검색중 가장 깔끔한 방식인 듯 싶네요.

굳이 대화 상자 없이도 바로 입력 가능하게 하다니.. (정말 이 친구 아이디어 죽이네요 ^^)

출처 : http://blog.daum.net/bluebread

 

1. DoNoting() 이라는 macro를 만들어 추가한다. 진짜로 아무일도 하지 않는 걸로.
    macro DoNothing()
    {
    }
2. Option > Key Assignment 을 선택한다.
3. Macro: DoNothing 선택후에 Assign New Key를 누르고 다음의 키조합을 입력한다.
    Shift + 한/영 (황당한 조합이지만 먹힌다.)
4. 화면에 "shift+ " 로 표시되면 들어간 것이다.
5. 완료!!

이후로 아무 것도 해줄 필요가 없다.
그냥 메모장 쓰듯이 한글입력하면 된다. 쌍자음 그냥 입력해도 안 깨진다.

 

2.2 전체 file path를 보여주게끔 설정하기

소스 인사이트는 기본적으로 긴 파일 path를 ...으로 축약해서 보여준다.

소스 분석시 파일 경로를 제대로 아는 것은 매우 중요하다.

다음과 같은 설정으로 긴 파일 path를 정확하게 볼 수 있다.

 

si1.jpg

위의 그림과 같이 Trim long path names with ellipses 체크를 지우기.

 

2.3 떠 있는 창을 10개이내로 제한하기

http://www.ericstory.com/tag/Source%20Insight

 

 

3 단축키

1. Ctrl + = 또는 Ctrl + 왼쪽 마우스 버튼

=> 변수 및 함수에 커서를 위치시키고 이 키를 누르면 해당 선언문으로 이동 및 확인 할 수 있다.

 

2. Ctrl + 0

=> 우측 파일창으로 이동한다.

 

3. Alt + L

=> 좌측 함수창으로 이동한다.

 

4. F7 키

=> 프로젝트 전체에서 특정함수나 변수등을 찾기 위해 사용

 

5. F8 키

=> 현재 파일에서 특정함수나 변수등을 찾기 위해 사용

 

6. F5 키 (라인수 입력창)

=> 해당 라인으로 이동.

 

7. Alt + < or >

=> 이전/이후에 커서가 위치했던 곳으로 이동.

 

8. Ctrl + f, F3, F4

=> ctrl + f : 현재 파일 내에서 검색

   F3 : 이전 검색 부분 이동

   F4 : 다음 검색 부분 이동

 

9. Alt + 드래그

=> 블럭 단위로 선택.(라인 선택 아님)

 

10. Ctrl + L

=> 라인 번호 표시

 

11. Ctrl + M

=> bookmark

 

12. Ctrl + H

=> replace

 

Ctrl+W(or w): close the current file
Ctrl+Shift+W(or w) : close all the files
Ctrl+S(or s): save the current file
Ctrl+A(or a): save all the files
F3/F4: search backward/forward
Shift+F3/F4: search back/forward for the current word under cursor

 

Ctrl + =
해당심볼의 선언부로 이동한다. 사용함수,변수의 선언부로 이동시 편리

Ctrl + /
해당심볼로 프로젝트 전체범위로 검색

Shift + F9
검색결과에서 다음검색으로 이동한다.

Ctrl + ,
이전편집장소로 이동

F7
프로젝트 내 심볼 검색 및 이동

F8
파일 내 심볼 검색 및 이동

Shift + F8
파일심볼창 보이기/숨기기

 

VC++ 디버깅 시 중단점 적용이 안된다고 할 경우

Posted by ironmask84
2010. 12. 6. 15:16 나는 프로그래머다!


VC 에서 자주 발생하는 "중단점이 적중되지 않았습니다." 오류는

멍청한 VC 의 유니코드 버그로써, 한글을 제대로 인식하지 못하여 나타나는 현상이다.

 

해결책으로는 도구 -> 옵션 -> 디버깅 -> 일반 에서 "소스 파일이 원래 버전과 정확하게 일치해야 함" 체크를 해제한다.

이 경우 한가지 주의사항이 있는데

컴파일시에 링크되는 라이브러리의 버전이 달라도 디버깅이 진행 되어버리는 어처구니없는 현상이 생긴다.

예를들면 A 라이브러리를 새로 컴파일 했지만, 깜빡잊고 파일카피를 안했다거나 전달을 안했다거나 어쨋든 미스가 발생했다치자

그러나 디버깅 할때는 A 라이브러리의 소스가 최신버전이다.

그럼 새롭게 추가된부분, 변경된 부분, 누락된부분을 실행하게되면 컴파일러가 에러를 내거나(이 경우는 오히려 다행...)

아니면 엉뚱한 전개가 펼쳐진다.

아주 미묘하게 엉뚱해지면 흔히 말하는 삽질이라는 것을 해야한다.

 

뭐....엄청나게 복잡한 프로젝트가 아니면 거의 상관없으니 안심하고 쓰자... 고 하는데 음...


--- 이 맘때 쯤 회사에서 폰개발 프로젝트에 VS C++ 2005를 쓰고 있었다...  ---


 

Cygwin 관련 팁들

Posted by ironmask84
2010. 12. 2. 16:39 나는 프로그래머다!





윈도우 환경에서 linux 기반 크로스컴파일 개발환경으로 쓰이는 것이 Cygwin인데요.

간단한 팁들 공유합니다.


setup.exe를 실행시킨 후 "Select Packages" 단계에서

Base Category 안의 cygwin 패키지를 확인해 보셔도 되고,

Cygwin을 실행시키고 다음 명령을 내려서 확인하셔도 됩니다.

$ uname -a

CYGWIN_NT-5.0 w2kbox 1.5.13(0.122/4/2) 2005-03-01 11:01 i686 unknown unknown Cygwin

혹은 cygcheck 명령을 써도 됩니다.

$ cygcheck -s | less

...

   Cygwin DLL version info:
       DLL version: 1.5.13
       DLL epoch: 19
       DLL bad signal mask: 19005
       DLL old termios: 5
       DLL malloc env: 28
       API major: 0
       API minor: 122
       Shared data: 4
       DLL identifier: cygwin1

============================================================

cygwin 삭제 방법

 

공식 사이트(http://cygwin.com) FAQ에 적힌 내용을 보면...

 

1. cygwin 폴더를 지운다. 안지워 질때는 시그윈이 사용중임으로 사용중인 시그윈을 모두 종료한다.

 

2. 레지스터를 지운다. 다음 두군데에서

    [HKEY_LOCAL_MACHINE\SOFTWARE]

    [HKEY_USERS]

    안에 Cygnus Solutions 키를 지운다.

 

3. 윈도우에 있는 바로가기를 지운다.


이렇게 한다고 합니다.




 

KDF.. 한국 개발자 축제 2010!!

Posted by ironmask84
2010. 12. 2. 15:02 컴퓨터공학/IT 트렌드





 개발자의 눈에 비친 IT의 현재와 미래 [자세히 보기]

행사명 대한민국 개발자 콘퍼런스 2010
일시·장소 2010. 12. 9(목) 9:00~18:00 양재동 교육문화회관 등
트랙구성 Keynote 4개 세션
모바일/소셜/클라우드 개발 총 18개 세션
부대행사 - 스폰서 홍보 테이블
- 취업상담 테이블
- 커뮤니티 홍보 테이블
예상 참석자수 IT분야 개발자, 사용자, 기획자, 디자이너 등 약 1,000명


발표주제
10:00~10:40 개발자의 커리어패스
이스트소프트 김장중 대표
10:40~11:20 개발자가 꼭 알아야 하는 공모전 입상조건
서울버스 개발자 유주완
11:20~12:00 '앱마케팅의 실재 - 오빠믿지의 사례에서'
원피스 김정태 대표
12:00~13:00 Lunch Break
  Track Ⅰ모바일개발 Track Ⅱ 소셜개발 Track Ⅲ 클라우드 개발
13:00~13:40 안드로이드
스마트폰을 넘어서
소셜앤모바일 박성서 대표
네이트 앱스토어 현황 및
향후 계획
SK컴즈 김영을팀장

구글 앱 엔진을 활용한
애플리케이션 개발

인피언컨설팅 양수열 소장

13:40~14:20

엔터프라이즈 모빌리티
개발 : ADF Mobile

오라클 Embedded Global Business Unit

오라클 박지웅 팀장

네이버 SNS플랫폼 소개
NHN 권순선 팀장
클라우드 컴퓨팅을
위한 데이터 저장소
NoSQL(Not Only SQL)
개념 및 오픈소스 소개
그루터 김형준 수석
14:20~14:40 Break
14:40~15:20 윈도우폰7으로
여러분의 꿈을 창조하라!
BlueFish System
박현철 CTO

다음 SNS플랫폼 소개

다음 김동현 팀장

글로벌 서비스
플랫폼으로서의 클라우드

NHN 이두원 UI개발자

15:20~16:00 iPhone에서 iPad까지
다음 임강석 팀장

재미의 관점에서
본 소셜 게임분석

(소셜게임기획)

로드컴플릿 배정현 대표

Windows Azure를
이용한 클라우드
애플리케이션 개발

MS 박중석 개발자
에반젤리스트

16:00~16:10 Break
16:10~16:50

메신저와 구글코드를

이용한 이클립스

협업 개발

모비젠 허광남 팀장

국내 소셜게임 시장 현황 및 서비스 전략

아보카도 박찬형 팀장

네티로 구현하는

클라우드 스케일
대용량 웹 서버
레드햇 이희승 Principal Software Engineer

16:50~17:30 Mobile, Web,
그리고 HTML5

파워블로거 권정혁

소셜게임 개발 그 이후-

오픈 플랫폼에서

눈에 띄기

노리타운스튜디오
송교석 대표

안드로이드 플랫폼에서의

모바일 클라우드

서비스응용

옥상훈 컨설턴트
  경품추첨 및 Closing
※ 상기 일정은 사정에 따라 변경될 수 있습니다.

아... 돈은 좀 들지만 가고 싶네 ㅋㅋㅋ (개인 : 44,000원 5인 이상 : 33,000원)

학생이었으면 무조건 가는건데..

회사에서 간다고 하면 보내주긴 할것 같은데 눈치 보이네 ㅠㅠ..

 

cdma 1x, cdma 1x evdo, wcdma 간단 비교

Posted by ironmask84
2010. 12. 2. 14:31 컴퓨터공학/통신 기술



CDMA 1x

CDMA2000-1X 란 미국 퀄컴이 독자적으로 개발한 IMT-2000 기술표준 중 하나.
'CDMA2000-1X'는 기존 셀룰러나 PCS용 주파수를 그대로 사용하나, 초당 144Kbps 속도로 데이터를 전송할 수 있어 동영상이나 고속 무선 인터넷 서비스를 실시할 수 있다.
CDMA2000-1x는 동기식 2.5세대에 속했으나, 국제통신연합(ITU)이 144Kbps~ 2Mbps의 속도와 동영상을 제공하는 서비스를 3세대로 규정했기 때문에, 이 기준의 하한선에 해당하는 cdma2000-1x는 사실상 '3세대'에 속하게 됐다.

 

CDMA 1x EVDO

EV-DO는 Evolution Data Only의 약자이다.
CDMA 1x EV-DO는 동기식 IMT2000 기술로서 CDMA 1x(CDMA 2000)에서 한단계 발전하여
데이터 처리속도를 이론적으로 최대 2.4Mbps로 높인 기술로, EV(Evolution)은 1x에서
진화를 위미하고, DO(Data Only)는 음성과 데이터 신호 가운데 데이터 속도만
올렸다는 의미를 담고 있다.
3세대 이동통신(IMT-2000) 공식기술표준 중 하나

 

WCDMA

WCDMA폰은 별거아니고 WCDMA라는 통신방식을 따른 휴대폰인데요.
Wide-CDMA라는건 유럽쪽에서 만든 통신방식입니다.IMT-2000이라는 차세대 이동통신 규격은 WCDMA와 CDMA2000이라는 두가지 방식이 있는데 유럽쪽에서 만든게 WCDMA 미국,캐나다쪽은 CDMA-2000인데요 CDMA-2000은 기존의 CDMA와 같이 동기식이고 기존CDMA통신망을 활용할수있으며 WCDMA는 비동기식이라서 기지국이나 통신망을 새로세워야 하지만 CDMA-2000보다 월등한 성능을 자랑합니다.
대한민국은 휴대폰수출강국이라서 늘 자국이 실험무대가 되어야하므로(?)두가지 방식을 다 서비스하는 유일한 국가입니다.현재까진요 -_-;;;;
당연히 새로나오는 WCDMA폰이 기존의 CDMA-2000방식 휴대폰보다 초당데이터통신량이 몇배빠릅니다.동영상보기에 더 좋겟죠?+_+

 

혹시나 모르니 부가설명!(쉽게...)
동기식은 순차적으로 신호를 보내는 방식이고 비동기식은 그때그때 필요할때 보내는 방식인데 대체로 어떤통신방식이던 비동기식이 기술적으로 어렵지만 성능이 더 좋습니다.

 

MSM?000, MSM?100 계열 : CDMA 1x 방식

MSM?500 계열 : CDMA 1x EVDO 방식

MSM?200 계열 : WCDMA 방식


[출처]
CDMA 1x, CDMA 1x EVDO, WCDMA|작성자