
- Arxitektura
- Go
- i18n
- Debugging
Eski binary meni ikki soat aldadi
30
Bugun ikkita ish qildim: ma'lumotlarni uch tilga moslashtirdim va ikki soatimni bir xatoga sarfladim.
Birinchisi haqida. Interfeys matnlari allaqachon tarjima qilingan edi, lekin ma'lumotlarning o'zi emas. Loyiha nomi, tavsifi, ish joyi — bularning hammasi bazadan keladi va ular ham uch tilda bo'lishi kerak.
Har til uchun alohida jadval qilish mumkin edi, lekin bu har bir so'rovni uch baravar murakkablashtirardi. Shuning uchun oddiyroq naqsh tanladim: har bir maydonning uchta varianti bo'ladi — asosiysi, ruschasi va o'zbekchasi. Bitta yozuv, uchta ustun. So'rov o'zgarmaydi, sayt esa kerakli tilni tanlab oladi.
Endi ikkinchisi haqida. Ta'lim bo'limini yozdim: backend yo'llari, ishlov beruvchilar, frontend tomonida ma'lumot saqlagich, admin panelda uch tilli forma. Hammasi tayyor. Ishga tushiraman — eski javob keladi.
Kodni qayta o'qidim. To'g'ri. Bazani tekshirdim. Ma'lumot joyida. Yo'llarni tekshirdim. Ro'yxatdan o'tgan. Lekin javob eski.
Sabab shu ekan: Go kodni kompilyatsiya qiladi, men esa serverda eski kompilyatsiya qilingan faylni ishlatib turgan ekanman. Yangi kod diskda yotardi, lekin ishlayotgani eskisi edi. Xizmatni qayta ishga tushirgandan keyin hammasi darhol ishladi.
Bundan keyin o'zimga qoida qildim: "ishlamayapti" deyishdan oldin, ishlayotgan narsa haqiqatan ham yangi kodmi — shuni tekshiraman.