본문 바로가기
카테고리 없음

소스그래프(Source Graph)로 아이패드(iPad)에서 웹으로 소스코드 분석하기

by 꼬마낙타 2019. 8. 10.
반응형

아이패드(iPad)를 들고 다니면서 출퇴근 길에 오픈소스 분석을 해보고 싶어서 툴을 찾아봤다. 오픈소스 코드의 경우 깃허브(Github)에 공개되어 브라우저를 통해서 얼마든지 볼 수 있다. 하지만 정말 필요한 기능은 소스코드에서 심볼을 따라 갈 수 있는 기능이었다. 메소드를 어디서 호출하는지, 메소드의 정의는 어디있는지를 따라 갈 수 있어야 편하게 소스코드 분석이 가능하다. 깃허브 웹 사이트는 그런 기능이 없다.

 

이런 주제로 팀내 스터디에서 좋은 툴이 없냐고 얘기를 나누다가 '소스그래프(SourceGraph)'라는 도구를 동료 개발자분이 추천해주셨다. 웹 브라우저에서 동작하는 "Sourcegraph(소스 그래프)"는 제한적이나마 심볼을 따라다닐 수 있는 기능을 제공한다.

 

소스그래프(SourceGraph) 사용해보기

https://sourcegraph.com/search 를 들어가면 소스코드를 검색할 수 있는 창이 뜬다.

 

 

다양한 검색창이 있는데 아래쪽에 있는 'Search scope'라는 섹션의 'Repositories'에다가 분석하고 싶은 깃허브 주소를 입력하고, 검색창에다가 찾고 싶은 대상을 입력하면 된다. 

 

 

예제로 아파치 카프카의 깃허브 리파지토리를 검색해보겠다. 'github.com/apache/kafka' 를 입력해본다.

 

 

두 개의 검색 결과를 확인할 수 있다. 첫 번째 항목인 'github.com/apache/kafka' 를 선택해보자.

 

아파치 카프카의 소스코드와 각종 문서 내용을 볼 수 있는 항목이 있다. 화면의 왼쪽 섹션을 보면 디렉토리들이 있다. 

 

디렉토리를 따라들어가서 KafkaConsumer.java 파일을 선택하면 해당 파일의 내용을 화면으로 볼 수 있다. 마치 개발 환경에서 소스코드를 보듯이 어느정도 하이라이트도 되어 있다.

 

중요한건 심볼을 선택하면, "Go to definition" 버튼과 "Find reference" 버튼이 나오는데 각각 심볼의 정의와 사용되는 곳을 찾아 갈 수 있다. 물론 IDE 들이 제공하는 소스 탐색 기능을 모두 지원하지는 않지만 출퇴근 길에 잠깐씩 소스코드 분석하기에는 충분한 기능인 것 같다.

 

반응형

댓글