Princíp porovnávania verzií a identifikácia zmien
Porovnávanie dvoch verzií dokumentu alebo dátovej štruktúry (označované ako „diff“) patrí k základným úlohám pri spracovaní textových informácií a vývoji softvéru. Tento proces spočíva v systematickej analýze dvoch vstupov – pôvodného a upraveného – s cieľom presne identifikovať rozdiely. Výsledkom je prehľadné zobrazenie zmien, ktoré sa delia na tri základné kategórie: pridané prvky, odstránené prvky a zmenené prvky.
Nástroj Porovnanie textu a JSON umožňuje vizuálne porovnanie dvoch verzií vedľa seba. Používateľ vkladá dáta do dvoch polí:
- Originál: Pôvodný textový obsah alebo štruktúra JSON.
- Upravené: Zmenená verzia textu alebo JSON.
Každé z týchto vstupných polí má stanovený limit kapacity, ktorý je obmedzený na maximálne 300 000 znakov pre jednu stranu. Pri prekročení tohto limitu sa zobrazí chybové hlásenie „Tento vstup je pre tento nástroj príliš veľký. Skúste porovnať menší rozsah.“.
Porovnávanie textu podľa riadkov a slov
V textovom režime (označovanom ako „Text“) pracuje nástroj s dvoma úrovňami granularity, ktoré určujú presnosť analýzy rozdielov:
- Riadky: Porovnávanie prebieha riadok po riadku. Tento prístup je vhodný pre zdrojové kódy, konfiguračné súbory alebo zoznamy, kde každý riadok predstavuje samostatnú logickú jednotku.
- Slová: Analýza prebieha na úrovni jednotlivých slov. Táto granularita je optimálna pre bežné texty, články alebo dokumenty, kde sa v rámci jedného odseku mohli zmeniť iba konkrétne výrazy.
Pre rýchle otestovanie funkčnosti textového režimu sú k dispozícii predpripravené ukážky.
Ľavá ukážka textu obsahuje:
Nástroje BroBroGo bežia priamo vo vašom prehliadači.
Sú rýchle, bezpečné a jednoduché.
Použite ich vždy, keď potrebujete rýchlu kontrolu.
Pravá ukážka textu obsahuje:
Nástroje BroBroGo bežia priamo vo vašom prehliadači.
Sú rýchle, bezpečné a zamerané na detail.
Použite ich vždy, keď potrebujete rýchle porovnanie.
Pri porovnaní týchto dvoch textov nástroj identifikuje zmeny v druhom a treťom riadku, pričom presne vyznačí upravené slová.
Špecifiká porovnávania štruktúry JSON
Porovnávanie štruktúrovaných dát vo formáte JSON (režim „JSON“) sa zásadne líši od bežného textového porovnávania. Zatiaľ čo v textovom režime záleží na každom znaku a formátovaní, v režime JSON je kľúčová sémantická hodnota dát.
Nástroj pri analýze JSON uplatňuje nasledujúce pravidlá:
- Sémantické porovnanie kľúčov: V objektoch JSON sa kľúče porovnávajú podľa ich názvu. To znamená, že zmena poradia kľúčov v rámci objektu sa nepovažuje za sémantickú zmenu a nástroj ju neoznačí ako rozdiel.
- Porovnávanie polí: Polia (arrays) sú usporiadané zoznamy, preto sa porovnávajú striktne podľa ich pozície (indexu).
- Syntaktická validácia: Pred samotným porovnaním nástroj analyzuje správnosť formátu JSON na oboch stranách. Ak je štruktúra neplatná, proces sa preruší a zobrazí sa príslušné chybové hlásenie:
- Pre ľavú stranu: „Ľavé JSON je neplatné:“ nasledované konkrétnou chybou parseru.
- Pre pravú stranu: „Pravé JSON je neplatné:“ nasledované konkrétnou chybou parseru.
Pre overenie správania v režime JSON slúži táto ukážková štruktúra:
Ľavá ukážka JSON:
{
"name": "BroBroGo",
"plan": "free",
"tools": ["json", "regex", "hash"],
"private": true
}
Pravá ukážka JSON:
{
"name": "BroBroGo",
"plan": "free",
"tools": ["json", "regex", "diff"],
"private": true,
"updated": 2026
}
Pri porovnaní týchto dvoch objektov nástroj identifikuje zmenu v poli tools na tretej pozícii (zmena hodnoty „hash“ na „diff“) a pridanie nového kľúča updated s hodnotou 2026. Zmeny sú mapované priamo k ich štruktúrnym cestám.
Spracovanie veľkých dát a obmedzenia
Pri porovnávaní rozsiahlych textov alebo komplexných štruktúr JSON je dôležité zachovať plynulosť chodu aplikácie. Z tohto dôvodu sú v nástroji implementované ochranné mechanizmy:
- Časový limit (Timeout): Výpočtovo náročné porovnávanie sa automaticky zastaví po uplynutí 2,5 sekundy. V takom prípade systém zobrazí upozornenie: „Toto porovnanie trvá príliš dlho. Skúste menší vstup alebo riadkový režim.“.
- Skrátenie výsledkov: Ak je objem zmien príliš veľký, nástroj môže zobraziť iba obmedzenú časť výsledkov, aby nedošlo k zamrznutiu prehliadača. Používateľ je o tom informovaný správou: „Zobrazuje sa skrátený výsledok, aby stránka zostala responzívna.“.
- Zlyhanie porovnania: V špecifických prípadoch, kedy nie je možné vstupy spracovať, sa zobrazí hlásenie: „Tieto vstupy sa nepodarilo porovnať.“.
Bezpečnosť dát a lokálne spracovanie
Pri práci s citlivými informáciami, ako sú konfiguračné súbory, databázové exporty alebo API odpovede, je bezpečnosť dát prioritou. Tento nástroj spracováva všetky operácie lokálne.
Váš text a JSON sa porovnávajú priamo vo vašom prehliadači. Na servery BroBroGo sa nič neodosiela, čo eliminuje riziko úniku dát počas prenosu alebo ich ukladania na vzdialených úložiskách.
Prehľad stavových hlásení a ovládania
Nástroj komunikuje s používateľom prostredníctvom stavových správ, ktoré indikujú aktuálny výsledok operácie alebo stav rozhrania:
| Akcia / Stav | Zobrazené hlásenie v rozhraní |
|---|---|
| Pred vložením dát | „Pripravené. Vložte obe verzie na porovnanie.“ |
| Prázdne vstupy | „Ak chcete začať, vložte obsah na jednu alebo obe strany.“ |
| Úspešná aktualizácia | „Porovnanie bolo aktualizované.“ |
| Zhoda vstupov | „Nenašli sa žiadne rozdiely.“ |
| Vymazanie oboch strán | „Obe strany boli vymazané.“ |
| Prehodenie strán | „Ľavá a pravá strana boli prehodené.“ |
| Načítanie vzorky | „Ukážka bola načítaná.“ |
| Žiadne zmeny v JSON | „Nenašli sa žiadne zmeny v hodnotách JSON.“ |
Ovládacie prvky umožňujú rýchlu manipuláciu so vstupmi pomocou tlačidiel pre prehodenie strán („Prehodiť“) a vymazanie oboch polí („Vymazať“). Výsledky porovnania sú prehľadne označené štítkami „Pridané“, „Odstránené“ a „Zmenené“ spolu so štatistikami pre ľavú stranu („Vľavo“) a pravú stranu („Vpravo“).
Často kladené otázky (FAQ)
Aký je rozdiel medzi textovým režimom a režimom JSON?
Textový režim porovnáva surový obsah po riadkoch alebo slovách. Režim JSON najprv analyzuje obe strany, konzistentne ich naformátuje a vypíše zmenené cesty, napríklad $.user.email.
Dokáže nástroj spracovať aj veľmi veľký vstup?
Pomalé porovnávania sa zastavia po 2,5 sekundách. Veľmi veľké náhodne vložené texty sú obmedzené, aby stránka zostala responzívna. Maximálny limit pre jednu stranu je 300 000 znakov.
Ignoruje režim JSON poradie kľúčov v objektoch?
Štruktúrovaný zoznam zmien porovnáva kľúče objektov podľa názvu, takže samotné poradie kľúčov sa nepovažuje za sémantickú zmenu. Polia sa porovnávajú podľa pozície.
Sú moje zadané dáta v bezpečí?
Áno, váš text a JSON sa porovnávajú priamo vo vašom prehliadači. Na servery BroBroGo sa nič neodosiela, takže dáta neopúšťajú vaše zariadenie.