یک باگ عجیب که فکر میکردیم از Backend است!
یک long در Java تولید میشد، اما وقتی به Frontend میرسید، چند رقم آخرش تغییر میکرد!
بعد از ساعتها بررسی فهمیدیم نه Java مشکل داشت، نه دیتابیس...
مقصر فقط JavaScript بود!
دلیلش هم این است که Java long یک عدد صحیح ۶۴ بیتی است، اما JavaScript Number فقط تا 2^53 - 1 را بدون از دست دادن دقت نگه میدارد. بنابراین اعداد بزرگتر دچار Precision Loss میشوند و ممکن است مقدارشان تغییر کند.
گاهی سختترین باگها، اصلاً در جایی که دنبالشان میگردیم نیستند.
@DevTwitter | <Vahid Heydari/>
Post #12407
7.58K

- ❤ 74
- 👎 18
- 🍌 13