[유틸리티] GitHub Source Search

개발자에게 있어 탁월한 검색은 능력은 필수라고 생각됩니다.

특히 키워드를 적절하게 조합하여 원하는 내용을 검색하는 능력.. 이것 또한 개발자에게 필요한 부분이라고 생각되는데요.

최근 sourcegraph 라고 github repository를 검색해주는 아주 훌륭한 사이트가 나왔습니다.

google도 github repository를 검색해주긴 하나… 부족한 점이 많죠.

sourcegraph의 대표적인 기능을 한번 알아볼까요?


우선 sourcegraph를 방문해봅시다.

https://sourcegraph.com/search

sourcegraph

가운데 검색창에 키워드를 입력하면 github public repository를 검색 후 결과를 보여줍니다.

검색 창 우측 물음표를 클릭해보면 검색할 수 있는 조건들을 보여줍니다.

help

보자면 아래와 같은 상세 검색 조건을 지정할 수 있습니다.

- if, 정규식 등의 메서드 호출
- repository 지정, file 검색, language 지정
- diff, commit
- 기간 검색, author, branch

이 중 language 를 설정해서 검색하는 예제를 하나 보여드리겠습니다~!


language_auto_complete_1

검색창에 입력할려고 하면 입력바 하단에 자동완성으로 어떤 값을 넣어야할지 힌트를 주고 있습니다.

그리고 원하는 키워드를 선택 후 tab 버튼을 누르면 바로 자동 완성이 완료되는걸 볼 수 있어요!

language_auto_complete_2

lang:Java Stream.of 키워드로 검색해보겠습니다.

그 결과는…두둥!!


search_result

어마 무시하네요… 제가 검색한 키워드를 하이라이트로 표시해주며

스크롤을 하단으로 내리면 내릴수록 더 많은 검색 결과를 조회해서 보여줍니다.

게다가 intellij를 사용하시는 분에게 좋은 소식 하나 더!

sourcegraph의 기능이 플러그인 형태로 제공되고 있다는 것!

intellij_usage

정말 다양하게 sourcegraph를 활용 할 수 있어서 개발하는데 나름 도움이 될 듯 합니다.

그 외에 repository 코드를 모니터링하여 코드 변경점이 있을때마다 noti가 오도록 한다던가..

code_monitor

extensions 기능으로 더욱 더 확장하여 사용 할 수 있습니다.

extension

끝.


util github search sourcegraph

2023

[linux] shell script version compare

최대 1 분 소요

개요 linux를 사용하다 보면 version 비교하는 기능이 필요합니다. 특히 기존 설치된 패키지의 version을 확인하여 업데이트할 경우가 있겠죠. 아래와 같이 간단한 shell script로 구현할 수 있습니다.

[jenkins] jenkins docker install

2 분 소요

ci/cd 오픈소스 도구로 가장 많이 사랑 받는 jenkins에 대해 포스팅 해보겠습니다. 먼저 설치부터 해야겠지요? 항상 패키지 매니저로 설치했었는데 이번에는 docker로 설치해보도록 하겠습니다.

[springboot] springboot history

2 분 소요

springboot 탄생 배경 springboot란 spring framework를 좀 더 쉽게 개발/배포할려는 목적으로 만들어 졌습니다. 2012년 Mike Youngstrom은 spring 프레임워크에서 컨테이너 없는 웹 애플리케이션 아키텍처에 대한 지원을 요청하는 spring...

[springboot] springboot3 querydsl 적용

1 분 소요

개요 springboot3로 메이저 업그레이드 되면서 JPA + querydsl 셋팅 환경에 변화가 생겼습니다. 기존 의존성으로는 작동하지 않고 jakarta classification을 추가해야 작동하는 이슈가 발생합니다. springboot3부터 javax -> jakar...

[springboot] springboot3 migration

최대 1 분 소요

개요 2022년 하반기에 springboot3가 공식 release 되었습니다. springboot2가 2018년 상반기에 release되고 나서 새롭게 판올림 버전으로 가장 큰 변화로는 아래와 같습니다. spring framework 6 적용 최소 사양 JDK 17 ...

[springboot] springboot initializer

1 분 소요

개요 항상 intellij ultimate 버전만 사용하고 있었는데 무슨 바람이 난건지.. intellij ce 버전에 도전하였습니다. springboot 프로젝트 생성이며.. 그 밖에 기본적으로 될꺼라 싶은것 중에 안되는 녀석들도 꽤 있더군요. 이번 시간엔 간단하게 spingbo...

[querydsl] querydsl No release for a long time

최대 1 분 소요

개요 JPA를 spring data jpa + querydsl과의 조합으로 접하는 경우가 많습니다. spring data jpa에서 제공해주는 specification으로도 충분히 해낼수 있지만 querydsl에 비할바는 아닙니다. entity에 wrapper Q클래스를 생성하여 ...

[jekyll] jekyll install

6 분 소요

개요 오랫동안 방치했던 블로그를 다시 열면서 jekyll를 다시 설치해봤습니다. 설치 jekyll 프로젝트로 이동하여 아래 명령어를 입력합니다. gem install jekyll bundler Fetching pathutil-0.16.2.gem Fetching terminal-t...

맨 위로 이동 ↑

2021

[linux] Parse yaml

최대 1 분 소요

bash를 사용하여 yaml 파일을 파싱 및 환경 변수로 손쉽게 등록할 수 있습니다.

[유틸리티] Mock Http Status Test

최대 1 분 소요

외부 통신에 대한 Error 처리는 앱을 더욱 더 견고하게 만들 수 있습니다. Error 처리를 위해 엔드포인트에 대한 Http Status Code를 억지로 생성하는것은 매우 귀찮은 일이라고 할까요? 보다 간편하게 Mock 서버를 두는게 더 효율적이라고 볼 수 있습니다.

맨 위로 이동 ↑