happytails.ai
Bahasa Melayu

Pemeriksa Keserasian Protobuf

Bandingkan dua versi fail .proto dan temui suntingan yang merosakkan mesej yang telah ditulis dalam format wire atau JSON. Nombor dibuang, perubahan jenis, nama field yang berubah dan perubahan enum diterangkan satu demi satu.

Menerima dua fail .proto sehingga 1,000,000 aksara setiap satu, dengan paling banyak 200,000 token, 2,000 mesej dan enum, 10,000 field bagi setiap mesej serta 32 aras mesej bersarang. Perbandingan berjalan dalam pelayar melalui worker latar. Muat turun ialah laporan JSON dan senarai penemuan CSV. Versi yang digunakan untuk menulis data sedia ada. Letakkan fail yang berubah dalam New schema. Sehingga 1,000,000 aksara. Semak tetapan sebelum menjalankan.

Hasil anda

Laporkan masalah atau kongsikan idea.

Pemeriksa Keserasian Protobuf
  1. Tampal fail .proto lama dalam kotak utama.
  2. Tampal versi baharu dalam field New schema.
  3. Jalankan semakan dan teliti penemuan, bermula daripada yang paling serius.
  4. Muat turun laporan JSON atau senarai CSV.

Apa yang akan berlaku

Menerima dua fail .proto sehingga 1,000,000 aksara setiap satu, dengan paling banyak 200,000 token, 2,000 mesej dan enum, 10,000 field bagi setiap mesej serta 32 aras mesej bersarang. Perbandingan berjalan dalam pelayar melalui worker latar. Muat turun ialah laporan JSON dan senarai penemuan CSV.

Tahap keterukan

Perubahan yang memutuskan keserasian bermaksud program lama dan baharu boleh tersalah membaca mesej binari: field yang dipadam tanpa menandakan nombornya sebagai reserved, penggunaan semula nombor daripada julat reserved, jenis dengan pengekodan wire yang berbeza, perubahan antara tunggal dengan berulang, mesej atau enum yang dipadam, atau nombor nilai enum yang diubah. Perubahan JSON yang memutuskan keserasian bermaksud data binari masih berfungsi tetapi format JSON atau teks berubah, seperti nama field atau nilai enum yang ditukar. Amaran meliputi perubahan yang masih berfungsi pada wire tetapi boleh memotong atau mentafsir semula nilai, seperti int32 kepada int64, atau perpindahan masuk dan keluar daripada oneof.

Cara perbandingan dilakukan

Mesej dan enum dipadankan menggunakan namanya tanpa pakej, manakala field dipadankan mengikut nombor, berpandukan panduan bahasa protobuf untuk mengemas kini jenis mesej. Mesej dan enum yang bersarang dalam mesej lain turut dibandingkan.

Perkara yang tidak disokong

Penghurai membaca fail proto2 dan proto3 yang mengandungi mesej, enum, oneof, map, jenis bersarang, nombor dan nama yang ditandakan sebagai reserved, serta pilihan field. Import disenaraikan tetapi tidak diselesaikan, jadi jenis daripada fail lain hanya dibandingkan mengikut nama. Editions, groups dan extensions ditolak. Services dilangkau.

Langkah seterusnya yang berguna