happytails.ai
Lietuvių

Protobuf suderinamumo tikrintuvas

Palyginkite dvi .proto failo versijas ir raskite pakeitimus, pažeidžiančius jau įrašytų dvejetainių arba JSON pranešimų suderinamumą. Paaiškinami pašalinti numeriai, tipų pakeitimai, pervadinti laukai ir išvardijimų pakeitimai.

Priima du .proto failus, kiekvieną iki 1 000 000 ženklų, su ne daugiau kaip 200 000 leksemų, 2 000 pranešimų ir išvardijimų, 10 000 laukų viename pranešime ir 32 įdėtų pranešimų lygiais. Lyginimas vyksta naršyklėje, foninėje užduotyje. Galima atsisiųsti JSON ataskaitą ir CSV radinių sąrašą. Versija, pagal kurią įrašyti esami duomenys. Pakeistą failą pateikite lauke „Nauja schema“. Iki 1000000 simbolių. Prieš vykdydami peržiūrėkite nustatymus.

Jūsų rezultatas

Praneškite apie problemą arba pasidalykite idėja.

Protobuf suderinamumo tikrintuvas
  1. Įklijuokite seną .proto failą pagrindiniame lauke.
  2. Įklijuokite naują versiją lauke „Nauja schema“.
  3. Paleiskite tikrinimą ir peržiūrėkite radinius, pradedant svarbiausiais.
  4. Atsisiųskite JSON ataskaitą arba CSV sąrašą.

Ką verta žinoti

Priima du .proto failus, kiekvieną iki 1 000 000 ženklų, su ne daugiau kaip 200 000 leksemų, 2 000 pranešimų ir išvardijimų, 10 000 laukų viename pranešime ir 32 įdėtų pranešimų lygiais. Lyginimas vyksta naršyklėje, foninėje užduotyje. Galima atsisiųsti JSON ataskaitą ir CSV radinių sąrašą.

Svarbos lygiai

Dvejetainį suderinamumą pažeidžiantys pakeitimai gali lemti, kad senos ir naujos programos neteisingai perskaitys pranešimus: pašalintas laukas nerezervavus numerio, rezervuoto numerio panaudojimas, tipas su kitu dvejetainiu kodavimu, vienkartinio lauko pakeitimas kartotiniu ar atvirkščiai, pašalintas pranešimas arba išvardijimas, pakeistas išvardijimo reikšmės numeris. JSON suderinamumo pažeidimas reiškia, kad dvejetainiai duomenys tebeveikia, bet JSON arba tekstinis formatas pasikeičia, pavyzdžiui, pervadinus lauką ar išvardijimo reikšmę. Įspėjimai apima pakeitimus, kurie išlaiko dvejetainį kodavimą, bet gali nukirsti reikšmes ar pakeisti jų interpretavimą, pavyzdžiui, int32 pakeitimą į int64 arba lauko perkėlimą į oneof grupę ar iš jos.

Kaip lyginama

Pranešimai ir išvardijimai lyginami pagal pavadinimą be paketo, o laukai pagal numerį, laikantis protobuf kalbos vadovo pranešimų tipų atnaujinimo taisyklių. Taip pat lyginami kituose pranešimuose įdėti pranešimai ir išvardijimai.

Kas nepalaikoma

Analizatorius skaito proto2 ir proto3 failus su pranešimais, išvardijimais, oneof, žemėlapiais, įdėtais tipais, rezervuotais numeriais ir pavadinimais bei laukų parinktimis. Importai išvardijami, bet neįkeliami, todėl tipai iš kitų failų lyginami tik pagal pavadinimą. Editions, grupės ir plėtiniai atmetami. Paslaugos praleidžiamos.

Naudingi tolesni veiksmai