UStackUStack
Ray icon

Ray

Ray는 데스크톱 앱으로 디버그 출력을 정리해 값 검색·필터·아카이브까지 도와, 앱에 로그를 덜 섞이게 합니다.

Ray

Ray란?

Ray는 애플리케이션 런타임 외부에서 디버그 출력을 정리하고 검사하는 전용 데스크톱 앱입니다. 일관된 ray(...) 구문을 사용해 문자열, 배열, 객체 등을 전송한 후 Ray에서 결과를 보고, 필터링하며, 다시 확인할 수 있습니다.

핵심 목적은 디버깅 출력을 읽기 쉽고 구조화되게 유지하면서 앱에 추가 로깅 코드를 덜 섞이게 하는 것입니다. Ray는 SSH를 통한 원격 디버깅을 지원하며 PHP/Laravel 환경에서 실행 일시정지 및 측정 도구를 포함합니다.

주요 기능

  • 디버그 출력 전용 데스크톱 뷰: 브라우저 콘솔에 의존하지 않고 결과를 검사할 수 있도록 디버그 출력을 전용 앱에 유지합니다.
  • 다양한 데이터 타입 포맷 렌더링: 문자열, 배열, 객체, 테이블 등을 전송해 깔끔하게 렌더링하여 검사합니다.
  • 메시지 간 필터링, 라벨링, 검색: 타입, 출처, 사용자 지정 라벨로 필터링하고 검색으로 이전 출력을 찾습니다.
  • 아카이브 및 지우기 제어: 화면 지우기와 메시지 아카이브로 출력 비교나 재현 어려운 문제 조사 시 나중에 참조합니다.
  • SSH를 통한 원격 디버깅: SSH로 서버에 연결해 원격 코드의 디버그 출력을 Ray로 스트리밍합니다.
  • IDE로 점프: 덤프 출력에서 에디터의 관련 위치로 점프 (사이트에 명시된 여러 IDE 지원).
  • 다중 언어/프레임워크 디버깅 구문: 사이트에서 언어와 프레임워크 간 동일한 dump 스타일 접근을 설명합니다.
  • Ray 3.0 PHP/Laravel 실행 도구: PHP/Laravel 코드 일시정지 및 호출 간 시간 측정.
  • 런타임 출력 자동 수신 (Ray 3.0): 사이트에서 코드에 명시적 호출 없이 쿼리, 작업, 예외 등을 자동 수신한다고 언급.
  • 확장성 및 사용자 지정: 테마 변경, 매크로로 Ray 확장, 지원되지 않는 언어/프레임워크용 클라이언트 생성.
  • AI 기능 (Ray 3.0): Ray 내에서 AI 출력 직접 상호작용, AI 생성 HTML 컴포넌트/프로토타입 및 Mermaid/ERD 다이어그램 구조 설명을 내장 뷰어로 확인.
  • AI 에이전트용 MCP 서버: 사이트에서 MCP 서버가 AI 에이전트가 창/도구에 접근해 읽기, 생성, 출력할 수 있게 한다고 명시.

Ray 사용법

  1. Ray 다운로드하고 필요 시 라이선스 구매 (사이트에 $49 USD 가격과 Spatie를 통한 1년 라이선스 표시).
  2. 디버그 출력을 Ray로 전송: 사이트에 나온 ray(...) 구문 사용 (라벨링, 테이블, 색상 적용, 호출 속성 필터링 예시 포함).
  3. Ray에서 메시지 검사 및 관리: 검색과 필터로 결과 좁히기, 출력 비교 시 메시지 아카이브.
  4. (선택) 원격 디버깅 설정: SSH로 서버 연결해 원격 실행의 디버그 출력을 Ray로 스트리밍.
  5. (선택) IDE 탐색 및 실행 도구 사용: Ray 출력에서 소스 위치로 점프하고 PHP/Laravel용 일시정지 및 측정 도구 사용.

사용 사례

  • 앱에 로그 덜 섞고 복잡한 값 검사: 라벨과 포맷으로 문자열, 배열, 객체, 테이블을 Ray로 보내 개발 중 상태 이해 (콘솔 원시 출력 의존 없이).
  • 필터로 특정 요청이나 코드 경로 디버깅: ray(...) 호출에 색상/라벨 부여 후 Ray에서 타입/출처/라벨로 필터링해 관련 메시지 격리.
  • 시도 간 출력 비교: 코드 변경 전/후 메시지 아카이브로 간헐적 문제 해결 시 이전 출력 재방문.
  • SSH를 통한 원격 서버 디버깅: 원격 서버 코드 실행의 디버그 출력을 Ray로 스트리밍해 로그 수동 복사 없이 검사.
  • PHP/Laravel 성능 및 흐름 디버깅: 실행 일시정지와 호출 간 시간 측정, Ray 3.0에 설명된 쿼리/작업/예외 자동 수신.
  • AI를 통한 데이터베이스 다이어그램 및 스키마 설명: Ray 3.0 기능으로 데이터베이스 스키마 AI 설명과 Mermaid/ERD 형식 구조 출력 뷰.

자주 묻는 질문

  • Ray는 브라우저 기반 디버깅 전용인가요? 아닙니다. 사이트에서 Ray를 앱 런타임 외부에서 디버그 출력을 정리하는 전용 데스크톱 앱으로 설명합니다.

  • Ray는 출력 형식에 대해 어떤 지원을 하나요? 사이트에 따르면 Ray는 받은 출력(예: 문자열, 배열, 객체)을 포맷팅하며 테이블을 렌더링할 수 있고, 쿼리·이메일·이벤트·스택 트레이스를 덤프할 수 있습니다.

  • Ray는 원격 서버에서 실행 중인 코드를 디버깅할 수 있나요? 네. 사이트에서 SSH를 통해 연결해 디버그 출력을 Ray로 스트리밍하는 것으로 설명합니다.

  • Ray는 dd()나 다른 디버거를 대체하나요? 페이지에 따르면 Ray는 dd나 xdebug를 대체하지 않으며, 빠른 덤핑과 구조화된 디버깅 워크플로 사이의 간극을 메우는 제3의 도구로 설명됩니다.

  • Ray 3.0의 새로운 기능은 무엇인가요? 페이지에서 실행 일시정지 & 측정, AI 상호작용(HTML 컴포넌트와 Mermaid/ERD 뷰어 포함), AI 에이전트를 위한 MCP 서버를 강조합니다.

대안

  • 브라우저 내 로깅 및 콘솔 출력(예: console.log, 브라우저 개발자 도구): 빠른 확인에 유용하지만, 결과가 브라우저 환경에 묶여 전용 검색 가능한 데스크톱 타임라인으로 제시되지 않습니다.
  • 앱 프레임워크의 “덤프” 도우미(예: dd() 스타일 디버깅): 빠르고 직접적이지만, 일반적으로 출력이 앱/브라우저 응답 내에 남아 필터링/검색/아카이빙이 가능한 별도 데스크톱 앱이 아닙니다.
  • 원격 로깅/관측성 도구: 원격 환경 로그 수집 대안으로, Ray의 구조화된 메시지 기반 검사 워크플로보다는 로그 집계와 모니터링에 중점을 둡니다.
  • 터미널 기반 REPL/디버깅 도구: 개발 중 값 검사를 할 수 있지만, Ray 사이트에서 언급된 정리된 데스크톱 UI, 필터링, IDE 점프 워크플로를 제공하지 않을 수 있습니다.
Ray | UStack