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 사용법
- Ray 다운로드하고 필요 시 라이선스 구매 (사이트에 $49 USD 가격과 Spatie를 통한 1년 라이선스 표시).
- 디버그 출력을 Ray로 전송: 사이트에 나온
ray(...)구문 사용 (라벨링, 테이블, 색상 적용, 호출 속성 필터링 예시 포함). - Ray에서 메시지 검사 및 관리: 검색과 필터로 결과 좁히기, 출력 비교 시 메시지 아카이브.
- (선택) 원격 디버깅 설정: SSH로 서버 연결해 원격 실행의 디버그 출력을 Ray로 스트리밍.
- (선택) 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 점프 워크플로를 제공하지 않을 수 있습니다.
대안
OpenFlags
OpenFlags는 오픈소스 셀프호스팅 피처 플래그 시스템으로, 앱 SDK에서 로컬 평가와 REST 제어 플레인을 통해 안전한 점진적 배포를 지원합니다.
Rectify
Rectify는 SaaS 운영을 위한 올인원 플랫폼으로 모니터링·분석·지원·로드맵·체인지로그·에이전트 관리를 한 시각적 워크스페이스에서 대화로 제어합니다.
PingPulse
PingPulse는 AI 에이전트 워크플로를 실시간 핸드오프 추적·시각화·알림으로 모니터링해 장애/정체/순서 오류를 조기 감지합니다.
KIT.domains
KIT.domains로 도메인 만료와 SSL 상태, DNS(MX/NS) 변경을 자동 모니터링하고 만료 알림·경고를 공유 대시보드에서 한눈에 관리하세요.
Sleek Analytics
Sleek Analytics로 실시간 방문자 추적을 간편하게 확인하세요. 유입 출처, 본 페이지, 머문 시간까지 프라이버시 친화적으로 제공합니다.
Falconer
Falconer는 고속 팀을 위한 자체 업데이트 지식 플랫폼으로, 내부 문서와 코드 맥락을 한곳에서 작성·공유·찾아보세요.