ic()가 변수명과 표현식, 값을 구문 강조된 형식으로 출력해 print()를 대신하는 Python 디버깅 도구입니다.
ryboe/q
Go 디버깅 도우미: q.Q(vars)를 호출하면 보기 좋게 출력된 결과가 stdout 대신 $TMPDIR의 로그 파일에 기록됩니다.
- 스타
- 1,542
- 포크
- 69
- 열린 이슈
- 2
- 마지막 커밋
- 13일 전
어떤 프로젝트인가요?
q는 print 문을 이용한 디버깅을 위한 소규모 Go 패키지입니다. 변수나 표현식을 q.Q에 전달하면 읽기 쉬운 형식으로 출력하며, 중첩된 struct도 fmt.Printf보다 편하게 살펴볼 수 있습니다.
출력은 stdout 대신 $TMPDIR/q 파일에 추가됩니다. 작업하는 동안 전용 터미널에서 해당 파일을 tail로 확인하는 방식을 권장하며, tail을 시작하거나 로그를 비우는 셸 함수(qq 및 rmqq)도 제공합니다. q.Q 호출은 동시 사용에 안전합니다.
VS Code, Zed, Sublime Text, GoLand, Emacs 및 Vim/NeoVim에서 q.Q 호출을 빠르게 삽입할 수 있도록 에디터 스니펫을 제공합니다. 이 패키지는 zestyping의 Python q 모듈을 Go로 포팅한 것입니다.
핵심 기능
- 01q.Q에 전달된 변수와 표현식을 보기 좋게 출력합니다.
- 02stdout 대신 $TMPDIR/q에 출력을 기록합니다.
- 03셸 도우미 qq 및 rmqq로 로그 파일을 tail로 확인하거나 비울 수 있습니다.
- 04동시 사용에 안전합니다.
- 05VS Code, Zed, Sublime Text, GoLand, Emacs 및 Vim용 에디터 스니펫을 제공합니다.
활용 사례
- Go 디버깅 중 변수 값과 중첩된 struct를 빠르게 확인합니다.
- 실행 중인 프로그램의 터미널 출력을 어지럽히지 않고 프로그램 상태를 추적합니다.
빠른 시작
- 1
리포지토리를 GOPATH에 클론합니다
git clone https://github.com/ryboe/q "$(go env GOPATH)"/src/q - 2
패키지를 임포트하고 코드에서 변수를 지정해 q.Q를 호출합니다
사용 전 알아둘 점
- 출력은 로그 파일에 기록되므로, 확인하려면 별도의 터미널에서 $TMPDIR/q를 살펴봐야 합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- q은(는) 무엇인가요?
- Go 디버깅 도우미: q.Q(vars)를 호출하면 보기 좋게 출력된 결과가 stdout 대신 $TMPDIR의 로그 파일에 기록됩니다. q는 print 문을 이용한 디버깅을 위한 소규모 Go 패키지입니다. 변수나 표현식을 q.Q에 전달하면 읽기 쉬운 형식으로 출력하며, 중첩된 struct도 fmt.Printf보다 편하게 살펴볼 수 있습니다.
- q은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- q은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- q은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. q의 마지막 커밋은 2026년 10월 25일입니다.
- q은(는) 어디에 사용할 수 있나요?
- Go 디버깅 중 변수 값과 중첩된 struct를 빠르게 확인합니다. 실행 중인 프로그램의 터미널 출력을 어지럽히지 않고 프로그램 상태를 추적합니다.
- q는 어떻게 설치하나요?
- 리포지토리를 GOPATH에 클론합니다: git clone https://github.com/ryboe/q "$(go env GOPATH)"/src/q 패키지를 임포트하고 코드에서 변수를 지정해 q.Q를 호출합니다
- q은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/ryboe/q
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Go 프로그래밍 언어용 디버거로, 방해가 되지 않으면서 간편하게 실행하고 사용할 수 있도록 설계되었습니다.
표준 logging 설정 대신 단일 logger로 파일 로테이션, 컬러 출력, 구조화된 로그를 제공하는 Python 로깅 라이브러리입니다.
DEBUG 환경 변수로 켜고 끌 수 있으며, Node.js와 웹 브라우저에서 네임스페이스별 디버그 출력을 보여 주는 작은 JavaScript 유틸리티입니다.
함수 호출을 기록하고 코드 실행을 대화형 타임라인으로 시각화하는 오버헤드가 낮은 Python 트레이서입니다.