Engineering Notes
2.45K subscribers
137 photos
5 files
208 links
Kanalda asosan backend engineeringga oid postlar yozib boriladi.

Ba'zi postlarda xatoliklar bor.
Postlar foydali bo’lgan bo’lsa adminni duo qilib qo’ying. Rahmat.

Contact: @Bobosher_Musurmonov
LinkedIn: https://www.linkedin.com/in/bobosher-musurmonov
Download Telegram
Shunda to'g'ri tushungan bo'lsam kitobni "piratski"sini o'qish xato lekin millionta accountda free tier ishlatish to'g'rimi?
😁50🤯1
Engineering Notes
Shunda to'g'ri tushungan bo'lsam kitobni "piratski"sini o'qish xato lekin millionta accountda free tier ishlatish to'g'rimi?
Tepadagi post bo'yicha.

Shunday qilish mumkinmi? Albatta mumkin, umuman olganda bir qancha account ochib ishlatishga hech qanday qonuniy cheklov yo'q.

Lekin shunday qilish to'g'rimi? Absolyutno yo'q, bu ochiqchasiga muallifning mehnatiga tupurish.

Free trialning ma'nosi "ozgina vaqt tekinga ishlatib ko'r, yoqsa olasan yoqmasa yo'q" degani, "ozgina ishlatib ko'r, ertaga boshqa kiyimda kelib yana ozgina ishlatib ko'r" emas. Free trial taklif qilinishiga sabab ko'pchilik o'zi umuman bilmaydigan yoki oldin ishlatib ko'rmagan mahsulot/servisni srazu katta pulga sotib olmaydi, ozgina vaqt tekinga foydalanib ko'rib keyin qaror qilishi klientning cho'ntagi uchun ham biznesning reytingi uchun ham foydali.

Yana bir gap, hech qaysi platformada "bir kishi bir marta free trial ishlatishi mumkin" degan qoida alohida yozilmagan. Bunday deb yozishning o'zi kulgili, sababi free trialning tepadagi ma'nosi bo'yicha bir kishiga faqat bir marta berilishi ochiqchasiga ko'rinib turibdi. Qolgani insof, vijdonning hududi va bu har kimning o'zining ishi.

Xullas, O'zbekistonda xizmat ko'rsatish madaniyati haqida ko'p noliymizku-ya, lekin menimcha iste'molchilik madaniyati bizda aslida kattaroq muammo.
👍16👀3
Kecha codebaseda katta refactoring qilgandim, taxminan 20+ file change. Oxirida alohida commitlarga bo'lib chiqayotganda (shunaqa qilish so'ralgandi) bitta change hech qaysi commitga kirmay qolib ketibdi. Refactoring bo'lgani uchun build pipelinedagi testlardan o'tib ketgan ekan, lekin bugun runtime sensorlar tutib olibdi. Tepadagi memeni eslab rosa kulishdik ))
😁44👍1
GCP naming their services:
Cloud Functions, Datastore, Cloud DNS, Cloud Trace, Identity Platform ... 🙂👌

AWS naming their services:
Lambda, DynameDB, Route53, X-Ray, Cognito, ...😈🗣
🍾5
Mikroservis qurishning oltin qoidasi:
Majbur bo'lmaguncha mikroservis qurmang.
😁25👍7
Engineering Notes
Mikroservis qurishning oltin qoidasi: Majbur bo'lmaguncha mikroservis qurmang.
You either die a hero or live long enough to see yourself become the villain ))
😁12
🥲
😁38👍9😢2
Introduction to segment trees that doesn't bite you:
https://www.hackerearth.com/practice/notes/segment-tree-and-lazy-propagation/
👍3😁2🍾1
uz.en.pdf
364.6 KB
ICPC Respublika bosqichida tushgan savollar. Mabodo kimgadir qiziq bo'lsa.
🍾8👍2
#py
print(0.1 + 0.2 == 0.3)
a = float(10 ** 16)
print(a == a + 1)


Bir qarashda bitta muammoning ikki xil ko'rinishiga o'xshashi mumkin, lekin bittasi boshqasiga qaraganda ancha fundamentalroq muammo.
When you switch from Pylint to Ruff:
🍾9
Forwarded from Programming ∀
Hullas, bilasizmi Enterprise software qanaqa bo'lishini ? Ho'sh sizni tassavuringizda bu qanaqa bo'lishi kerak, Albatta Javada, OOP va patternalr asosidami ?

Hullas hechqanaqa trollinglar va yana boshqa narsalarsiz shunchaki o'zingiz baho bering. Fikrimcha tasavur qilgan Enterprise software manashu.

O'zingiz ko'ring va baho bering, sizni direction qaysi tomonga ketayotgani haqida tassavur beradi.

https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
😁8🤯1👀1
Operatsion tizim shunaqa narsaki qariganing sayin uning stabilligiga o'rganib qolasan. Masalan menga har qanday linux based distro bilan ishlash umuman muammo emas. Arch, fedora, gentoo...

Muammo shundaki sen unga kun tartibingdagi asosiy vaqtingni sarflab qo'ymasliging lozim.

Chiroyli themelar, turlicha desktop enviromentlarni yoshlik, o'rganish davrida sinash bu ok, ammo sening asosiy ishing kutadigan vaziyat bo'lsa luchshe bunga ovora bo'lib vaqt sarflamagan maqul.

Aslida linuxning hammasi bir go'r, odatda ularni bir biridan build system va paket menejerlari farqlantiradi. Ammo asosiy nuqta ham shunda.

Masalan fedora ishlatayotganimda men uchun eng noqulay bo'lgan vaziyat bu x264 codec, telegram binary update bo'lishi, klaviatura va mishka uchun custom eventlar ulashimda /dev/input nostabilligi, window protocol va remi paketlar kabi holatlar. Archda minimallik yoqadi ammo 3 kun otpusk olib os tayyorlar bu uje banalno.

Debian based distrolarda esa odatda juda ko'p narsalarni tezkor va muammosiz topishing mumkin (build in tayyor ham) Bu ishni tezroq amalga oshirishga yordam beradi.

Gnu/Linuxni bu istalgancha sozlash mumkin bo'lgan operatsion tizim. Ammo yosh o'tgan sari bunga umr qisqalik qilishini tushunib yetasan. Yoki juda sozlash yoqsa, eksperimentlarga qiziqsang bunaqa ish uchun BSD aslida yaxshiroq variant ekanini tushunib yetasan (uyer bu borada haqiqiy jinnixona). Ammo ikkala holatdayam qachondir zerikasan va sen uchun birinchi install qilganda tezroq va to'laqonli run bo'la oladigan narsaga yopishishni boshlaysan.

Masalan fedora uchun x264 paketni qaytadan moslash, yetmay qolgan biror driverni yozish men uchun qiyin emas. Shunchaki bu endi menga kayf bermaydi. Undan boshqa tuzukroq muammoga yopishish ancha foydali (masalan yaqinda dsi protokoldagi ekran uchun 0dan kernel driver yozishga to'g'ri kelgandi)

Serverlar masalasidayam xuddi shunday. Sen arch linuxga butun boshli phpni qaytadan build qilayotgan vaqtinga debianda Sury degan aka phpni hamma modulini chiroyli qilib yig'ib qo'ygan.

Yosh va imkon bo'lsa eksperimentlar qiling, katta bo'lib muammo ortsa bu energiyani yaxshisi boshqa joyga sarflang.

@yetimdasturchi
👍21
Yaqinda internal servicelar haqida bir dunyo metrics qaytaradigan REST servisimiz turgan podlardan OOM alert kelishni boshladi. Avval 1 marta, 1 haftadan keyin yana 1 marta, 3-4 kundan keyin yana... . Memory usage pattern oldingi haftaga nisbatan biroz oshgan, lekin e'tiborni tortadigan hech narsa yo'q. Anomal usage patternlarni topadigan detectorlar ham hech narsani ko'rmagan. Xullas, bittada ko'zga ko'rinadigan hech narsa yo'q.

Salkam 1 kun vaqt sarflab va nihoyat topdim bugni. Xullas, 2 oycha oldin bu endpointlarni ishlatadigan consumer (boshqa team tomonidan ishlab chiqilgan automation tool) talabi bilan bir endpointdagi query parameter default qiymati truedan falsega o'zgartirilgan. Lekin bu o'zgarish to'liq dokumentatsiya qilinmagan va natijada boshqa consumerlar bundan xabarsiz qolgan. Bu long running requestlarga, bunaqa load uchun mo'ljallanmagan workerlar esa memory leakka sabab bo'lgan. Boshida kichkinagina memory leak sekin-sekin kattalashib, endi OOMga sabab bo'layapti ekan.

Xulosa: 1 qator kod yozsangiz ham to'liq document qiling.

P.S. Oy tugasinchi ko'ramiz bu servis oldingi oylarga nisbatan qancha ko'p harajat qilibdi ))
👍18🤯3🍾1👀1
AoCda kimlar qiziqroq challange qilayapti? Har kuni har xil tilda yechish yoki shunga o'xshash.
👀11🍾4
GDGdayam 1-2 ta talkdan tashqari hammasi AI haqida ekan (AIdagi yangiliklar, qanday ishlashi haqida emas, asosan qanday ishlatish haqida). Kun bo'yi networking qilamiz shekilli ))
😁22
Rego Datalogdan ilhomlangan ekan. Bilmadim, lekin menga generic JavaScript libraryga o'xshab tuyildi, faqat sal declarative ))