UStackUStack
Ray icon

Ray

Ray è un’app desktop per organizzare l’output di debug del codice: ispeziona, filtra e archivia valori con `ray(...)` senza ingombrare l’app.

Ray

Cos'è Ray?

Ray è un'app desktop dedicata per organizzare e ispezionare l'output di debug al di fuori del runtime della tua applicazione. Ti permette di inviare valori (stringhe, array, oggetti e altro) usando una sintassi coerente ray(...), quindi visualizzarli, filtrarli e rivederli in Ray.

Il suo scopo principale è mantenere l'output di debug leggibile e strutturato, riducendo la necessità di ingombrare la tua app con codice di logging aggiuntivo. Ray supporta anche il debug remoto via SSH e include strumenti per mettere in pausa e misurare l'esecuzione in contesti PHP/Laravel.

Caratteristiche Principali

  • Vista desktop organizzata per output di debug: Mantiene l'output di debug in un'app dedicata per ispezionare i risultati senza dipendere dalle console del browser.
  • Rendering formattato per molti tipi di dati: Invia valori come stringhe, array, oggetti e tabelle e li rende ordinati per l'ispezione.
  • Filtro, etichettatura e ricerca tra i messaggi: Filtra per tipo, origine o etichette personalizzate e usa la ricerca per trovare output precedenti.
  • Controlli per archiviazione e svuotamento: Svuota lo schermo e archivia i messaggi per riferimenti futuri quando confronti output o indaghi su problemi difficili da riprodurre.
  • Debug remoto via SSH: Connettiti ai server via SSH per trasmettere l'output di debug da codice remoto in Ray.
  • Salto all'IDE: Salta dall'output dumpato alla posizione rilevante nel tuo editor (con supporto per molti IDE, come indicato sul sito).
  • Sintassi di debug cross-linguaggio/framework: Il sito descrive l'uso dello stesso approccio dump-style tra linguaggi e framework.
  • Strumenti di esecuzione Ray 3.0 per PHP/Laravel: Include pausa e misurazione dell'esecuzione per mettere in pausa il codice PHP/Laravel e misurare il tempo tra le chiamate.
  • Ricezione automatica di output runtime (Ray 3.0): Il sito menziona la ricezione automatica di output (es. query, job, eccezioni) senza aggiungere chiamate esplicite nel codice.
  • Estensibilità e personalizzazione: Cambia temi, estende Ray con macro e crea il tuo client per inviare dati da linguaggi/framework non ancora supportati.
  • Funzionalità AI (Ray 3.0): Interagisci con output AI direttamente in Ray, inclusi componenti/prototipi HTML generati da AI e spiegazioni strutturate per diagrammi Mermaid & ERD tramite un visualizzatore integrato.
  • Server MCP per agenti AI: Il sito indica che un server MCP permette agli agenti AI di accedere a finestre/strumenti per leggere, generare e outputtare contenuti.

Come Usare Ray

  1. Scarica Ray e acquista una licenza se necessario (il sito mostra un prezzo di $49 USD e menziona licenze annuali gestite tramite Spatie).
  2. Invia output di debug a Ray usando la sintassi ray(...) mostrata sul sito (esempi includono etichettatura, tabelle, applicazione di colori e filtraggio per attributi di chiamata).
  3. Ispeziona e gestisci i messaggi in Ray: usa ricerca e filtri per restringere i risultati, e archivia i messaggi quando vuoi confrontare output successivi.
  4. (Opzionale) Configura il debug remoto: connettiti a un server via SSH così Ray può trasmettere l'output di debug dall'esecuzione remota.
  5. (Opzionale) Usa navigazione IDE e strumenti di esecuzione: salta alla posizione sorgente dall'output di Ray e usa gli strumenti di pausa e misurazione per PHP/Laravel.

Casi d'Uso

  • Ispezione di valori complessi senza ingombrare l'app: Invia stringhe, array, oggetti e tabelle a Ray (con etichette e formattazione) per comprendere lo stato durante lo sviluppo senza affidarti a output console grezzi.
  • Debug di richieste o percorsi di codice specifici con filtri: Applica colori/etichette alle chiamate ray(...), poi filtra per tipo/origine/etichetta in Ray per isolare i messaggi rilevanti.
  • Confronto di output tra tentativi: Archivia messaggi prima/dopo cambiamenti al codice per rivedere output precedenti durante il troubleshooting di problemi intermittenti.
  • Debug server remoto via SSH: Trasmetti output di debug da codice in esecuzione su server remoti in Ray, per ispezionare i risultati senza copiare manualmente i log.
  • Debug di performance e flusso PHP/Laravel: Metti in pausa l'esecuzione e misura il tempo tra chiamate, più ricevi output runtime specifici automaticamente (query, job, eccezioni) come descritto per Ray 3.0.
  • Lavoro con diagrammi database e spiegazioni schema via AI: Usa le funzionalità Ray 3.0 per far spiegare schemi database dall'AI e visualizza output strutturato in formato Mermaid o ERD.

FAQ

  • Ray è solo per il debug basato su browser? No. Il sito descrive Ray come un’app desktop dedicata che mantiene l’output di debug organizzato al di fuori del runtime della tua app.

  • Cosa supporta Ray per la formattazione dell’output? Il sito afferma che Ray formatta l’output ricevuto (es. stringhe, array, oggetti) e può renderizzare tabelle; menziona anche il dump di query, email, eventi e stack trace.

  • Ray può fare il debug di codice in esecuzione su un server remoto? Sì. Il sito descrive la connessione via SSH e lo streaming dell’output di debug verso Ray.

  • Ray sostituisce dd() o altri debugger? La pagina dice che Ray non sostituisce dd o xdebug; è descritto come uno strumento terzo per colmare il gap tra dump rapidi e workflow di debug più strutturati.

  • Cosa c’è di nuovo in Ray 3.0? La pagina evidenzia la pausa e misurazione dell’esecuzione, interazioni AI (inclusi componenti HTML e visualizzatori Mermaid/ERD), e un server MCP per agenti AI.

Alternative

  • Logging in-browser e output console (es. console.log, devtools browser): Utili per controlli rapidi, ma i risultati sono vincolati all’ambiente browser e non presentati in una timeline desktop dedicata e ricercabile.
  • Helper “dump” nel framework dell’app (es. debug stile dd()): Veloci e diretti, ma tipicamente mantengono l’output all’interno della risposta app/browser anziché in un’app desktop separata con filtraggio/ricerca e archiviazione.
  • Strumenti di logging/observability remoti: Alternative per raccogliere log da ambienti remoti, tipicamente focalizzati su aggregazione e monitoraggio log anziché sul workflow di ispezione strutturato e basato su messaggi descritto per Ray.
  • Strumenti REPL/debugging basati su terminale: Possono ispezionare valori durante lo sviluppo, ma potrebbero non offrire la stessa UI desktop organizzata, filtraggio e workflow di salto IDE menzionati sul sito Ray.
Ray | UStack