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
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 ))
Bugun AoCda boshida part 1 shartini noto'g'ri tushunib yechim yozgan ekanman. To'g'rilab part 2 ga o'tsam boyagi yechim so'ralgan ekan ))

P.S. Faqat men emas ekanman.
😁16👍10
Ish joying bergan corporate VPNga ulanish uchun boshqa VPN ishlatayapsanmi, demak O'zbekistondasan.
😁43🍾2
Sarkor servis sifatiyam, tech supportiyam molxonadan farqi yo'q ekan.
😁25👍6🍾2👎1