Go backend dasturchi produksiyada 2+ yil tajribaga ega: sayohat, e-commerce va avtopark boshqaruvi platformalari uchun mikroservislar va hodisaga asoslangan serverless tizimlar quraman. UDEVS'da ikkita Furasentr mahsulotini yetkazib berayotgan 5 kishilik kross-funksional jamoaga rahbarlik qilaman.
Ikkita Furasentr mahsulotini yetkazib berayotgan 5 kishilik kross-funksional jamoaga (frontend, backend, mobile, QA, PM) rahbarlik qilaman — vazifalarni bo'lish, kod-review va relizlarni muvofiqlashtirish, Knative serverless hodisaga asoslangan stek ustida.
CentralTour, Furasentr va Furasentr Autopark uchun backendlarni yetkazib berdim — tafsilotlar quyidagi «Tanlangan ishlar» bo'limida.
Redis keshini optimallashtirdim va avval ketma-ket bajarilgan mustaqil CRUD so'rovlarini parallellashtirlim; Knative'da k6 bilan 700 va 500 RPS yuklama testlari, bron va to'lov yo'llarida 90%+ qamrov, GitLab CI'da ishga tushadi.
Cody Soft — Golang dasturchi (masofadan)
2024-yil sentabr — 2026-yil fevral
Mikroservis va monolit arxitekturada startap mahsulotlar qurdim — servislar orasida gRPC, chekkada REST + Swagger, JWT + Casbin RBAC, issiq yo'llarda Redis bilan PostgreSQL, MinIO media, goose migratsiyalari, Docker Compose.
iMed'ning yagona backend dasturchisi — hozir produksiyada ishlayotgan onlayn ta'lim platformasi; tafsilotlar quyidagi «Tanlangan ishlar» bo'limida.
Vector-PVT — Golang dasturchi
2025-yil may — 2025-yil iyul
Vector-Taxi platformasining foydalanuvchi, admin va biznes panellari uchun backend — Swagger bilan RESTful API'lar, Casbin RBAC hamda katta PostgreSQL va MongoDB ma'lumot to'plamlari.
Ustama va komissiya dvigateliga javob berdim. Qoidalar yettita o'lchov bo'yicha moslanadi — platforma, geografiya, agregator, xizmat, mehmonxona, agentlik, agent profili — va qoida darajalari bo'yicha qatlamlanadi, har bir darajada aniqlik ballari bilan aniqlanadigan roppa-rosa bitta g'olib bo'ladi. Platforma qatlamlari parallel ravishda bir xil sof bazaga qo'llaniladi, sherik qatlamlari esa kaskad bo'ladi, shuning uchun subagent narxi agentlik ustamasi ustiga quriladi va boshqa agentning ustamasi unga tusha olmaydi. UZS bo'lmagan tariflar avval yetkazib beruvchi valyutasida hisoblanadi va kotirovka paytida muzlatilgan kurs bo'yicha qayta hisoblanadi; har bir kotirovka buyurtma narxining snapshot'i sifatida yoziladi, shuning uchun to'lov aynan ko'rsatilgan summani yechadi. GoGlobal, TBO va Dida'ni integratsiya qildim hamda admin-panel backendini yakka o'zim qurdim.
Doira filtrlari har bir so'rovga qo'shiladi; nullable ijarachi kalitlarida ular quyidagiga aylanadi (col IS NULL OR col IN (…)).
GochiPostgreSQLRedisKnative / FaaS
Furasentr Autopark
ko'p ijarachili avtopark boshqaruvi SaaS
Ilovaning to'rtta rolga asoslangan yuzasi uchun backend qurdim — har bir avtopark chaqiruvida kompaniya bo'yicha chegaralash, rollout bayrog'i ortiga ulangan maxsus rol × modul × harakat qatlami, shuningdek reys / texnika biriktirish, ko'p qurilmali sessiyalar, analitika va Yandex geokoderi. Telemetriya har bir reys holatini keshda saqlaydi (trip:point:<id>, TTL 2 soat): oxirgi nuqta, bosib o'tilgan masofa va ochiq to'xtash klasteri; oxirgi qayta ishlangandan eski nuqta rad etiladi, oxirgi nuqtaga nisbatan haversin masofasi esa uning klasterga qo'shilishi yoki klasterni yozib yuborishini hal qiladi. Kirish tekshiruvlari faqat ruxsatni keshlaydi, hech qachon blokni emas, yurilgan masofa diff_km esa doim serverda qayta hisoblanadi, mijozdan kelganiga ishonilmaydi. k6 bilan 700 RPS'gacha yuklama testi o'tkazildi.
Telemetriya qabuli — to'xtab turgan soat 180 emas, bitta qator
Kirish nazorati — ruxsatni keshlaymiz, taqiqni hech qachon
Ro'yxat keshi — TTL taxmini emas, versiya oshirish
GochiPostgreSQLRedisKnative / FaaSk6
Furasentr
yuk mashinasi ehtiyot qismlari va texnika e-commerce
Knative stekidagi o'n bitta Go servisidan biri — buyurtma, to'lov, logistika, IAM, agregator, rasm bo'yicha qidiruv, webhook, ERP sinxronizatsiyasi, texnika, bildirishnomalar. Buyurtma servisini qurdim (sof Go'da PDF hisob-faktura, JSON-RPC orqali Click va Payme, WebP / CDN katalog rasmlari, Firebase orqali tarqatish) hamda uning atrofidagi integratsiyalarni: chegara oshirib xarid uchun BuckyDrop, yetkazib berish uchun Measoft — olib ketish punktlari, tarif kalkulyatori, holatni kuzatish — va mahsulot, do'kon hamda ombor bo'yicha OX ERP sinxronizatsiyasi. Rasm bo'yicha qidiruv pgvector ustidagi ikki bosqichli oqim: Gemini suratdagi har bir qismni topib har biriga bittadan kesim qaytaradi va faqat xaridor bosgan kesim embedding qilinib qidiriladi, chunki hammasini oldindan qidirish hech kim ochmaydigan qismlar uchun bazani bekorga ishlatadi. Asosiy yukni ko'taradigan katalog endpointi 30 soniyalik in-process kesh orqali o'qiydi, oldida esa singleflightturadi, shuning uchun sovuq kalitga kelgan bir xil so'rovlar to'lqini bitta bazaga murojaatga siqiladi, IAM esa har bir yangilashda rotatsiyalangan refresh token qaytaradi. k6 bilan constant arrival rate executor'ida 500 RPS yuklama testi.
Ikki bosqichli qidiruv — xaridor haqiqatan tanlagan kesim uchun to'laymiz
Ikkita zaxira — bo'sh qaytarmasdan qidiruvni kengaytirish
Yukni ushlash — o'qishlarni siqamiz, har bir rasmni bir marta qabul qilamiz
Veb-admin va mobil REST API'larning yagona backend dasturchisi — telefon OTP + JWT avtorizatsiya va Casbin RBAC, Firebase push, xizmat Telegram boti hamda CDN orqali tarqatiladigan YouTube→S3 video konveyeri (kukisiz bot tekshiruvini yechadigan PO-token sidecar bilan yt-dlp). Click Merchant API idempotent ishlovchilar bilan: MD5 imzo va qator blokirovkasi (SELECT … FOR UPDATE) — shuning uchun takroriy callback'lar hech qachon ikki marta pul yechmaydi va kursga ikki marta yozmaydi. Promokod dvigateli — foiz yoki qat'iy summa, foydalanuvchi va umumiy limitlar, amal qilish oynalari, kurs bo'yicha qamrov — qisman unikal indekslar hamda bekor qilish va muddat tugashida bo'shatish triggerlari bo'lgan foydalanish reyestri bilan ta'minlangan. Versiyalangan Redis keshi: har bir yozuvda oshiriladigan entity:version hisoblagichi kesh kalitiga qo'shiladi, shuning uchun eskirgan ro'yxatlar SCAN / KEYS'siz TTL bo'yicha o'chadi.
Click to'lovi — takrorlarda idempotent
Versiyalangan kesh — SCAN'siz invalidatsiya
YouTube→S3 qabuli — bot devoridan o'tish
Produksiyada: 8 000+ foydalanuvchi (3 000+ faol) · 70+ kurs, 1 500+ dars, 1 400+ video · 2 000+ to'langan buyurtma · 420 mln+ UZS qayta ishlangan
GoGinPostgreSQLRedisMinIOS3CDNCasbin
04
Ta'lim va tillar
Ta'lim
Najot Ta'lim
Go Foundation + Bootcamp
Yo'nalish: Golang
Tillar
O'zbekona tili
RusB2
InglizB1
Go, o'tkazuvchanlik va toza servis chegaralari muhim bo'lgan backend rollariga ochiqman.