Programming ∀
1.35K subscribers
214 photos
4 videos
1 file
131 links
Ushbu kanalda dasturlashga aloqador turli expriementlarim, g'oyalarim, hulosalarimni ulashaman.
Download Telegram
tushunarsiz tilda tushunarsiz kod bilan tushunarsiz config fieldlarni tekshirilgan.
Haskell versiya tokeni o'zi normalize qiladi contentga qarab.

Piton versiya esa configa qaraydi.

Which better ?
Mikkimauslar bitta modulda

71ta if
14 ta else
14 ta elif

Qiziq bo'lsa: https://github.com/matrix-org/sygnal/blob/main/sygnal/apnspushkin.py

Shuncha conditionlar shuncha checking. Adashib qolasiz edge caselarda.

Odamlar o'ziga gemaroy yasab olib shundan kayf qilsa kerak. Bu yerda muammo tilda ham emas ko'proq shu modulni shunaqa dizayn qilgan odamlarda. Endi bunaqa narsani to'liq redesign ham qilaman desangiz clientda ham shu yangi designga integratsiya kerak.

Umuman olganda biror loyiha boshlayotgani o'zida juda ham ko'p narsani oldindan decide qilish kerak. Loyihaga mos mindset qurish kerak. Bilmayman bu project nega bunaqa axvolga kelgan ammo aniq biladiganim technical dept bilan yomon ishlashgan. Buning sababi esa matrix protocoli ham asosan feauture oriented refactoring qiladi. Yani bug, feauture chiqmasa ishlayabtimi tegma deydi.
Concurrent requst sending and connection pool done.

Gulini guliga qo'yib tashladim 😎

Applega notificaiton send qilish uchun APNs bor va u Http2 da ishlaydi. Biz matrix notification getway yozish doirasida apple/google notificationlar send qilish uchun driverlarni ham o'zimiz ishlab chiqdik.

Apple notificaitonlar http2 da ishlaydi va bilamizki http2 connection pool ham support qiladi. Shundan foydalanib, apns driverda har bir requestga alohida emas balki bitta poolga request yozadigan mexanizm qildim.

Shunda connectionda requestlar queuega tushadi va o'zini statesiga ega. State responseni yozish uchun kerak.

runSession qilinganida esa queuega kelgan APN requestlarni o'qiydi va bittalab yozib chiqadi.

Endi buni prikol tarafi biz buni Poolinga ulab turib concurrent requestlarni nazorat qila olamiz. Ideya xozircha shunchaki proof of concept ammo o'zimga yoqib ketdi :)
🔥4😱1
Forwarded from shakhzod's lab (Shakhzod)
Korporativ portal loyihasiga 2 ta tajribasi bor (middle) backendchilarni UZINFOCOM'ga ishga olamiz. Rust o'rganish va WASM bilan ishlash talabi bilan.

Iltimos, CV'ni @aeshakhzod ga yuboring.
Forwarded from xfeusw
yana shedervrlardan.
Programming ∀
yana shedervrlardan.
Bizda toxic atmosfera emas :)
😁1
Programming ∀
Concurrent requst sending and connection pool done. Gulini guliga qo'yib tashladim 😎 Applega notificaiton send qilish uchun APNs bor va u Http2 da ishlaydi. Biz matrix notification getway yozish doirasida apple/google notificationlar send qilish uchun driverlarni…
Hechqanaqa docker, k8 va yana birbalolarsiz manashu narsani high perfomance qilib ko’ramizmi ?

Faqat bazi narsalarni keskin o’zgartirib yubormasan. Masalan xozir servant ishlatamiz, buni replace qilmayman.

Concurrency va yana bazi tricklar evaziga yaxshi metrikalar olmoqchiman shunchaki.

Apn, fcm providerlarni esa vaqtincha mock qilib turamiz.

Har bir requestni esa transaction id bilan beramiz. Shunda boshidan ohirigacha track qilsak bo’ladi ammo tracking sabab bazi overheadlae bo’ladi.

Bonusga esa agar ko’proq vaqt bo’lsa application o’zini scale qiladigan qilib ko’rarmiz :)
🔥1
💯1
Programming ∀
Photo
Oylik traffic 1 Petabyte bo’lishi yaxshigina natija.

Bu degani kuniga taxminan 33 TB va ~3Gbps

Etiborli tomoni esa cachix bu nix cache hosting. U yerda nix keshlar saqlanadi. Ammo bu yerda etiborimizni qaratadigan narsalar sal boshqa.

1. Cachix serveri open source. Dastur ochiq kodli va shunga qaramasdan biznes ham qilyabti.

2. Nix ekotizimi yetarlicha kattalashib boryabti, cachix, determinate systems va yana ko'plab kompaniyalar nix atrofida enterprays yechimlarni taqdim qilishyabti.

3. Nix infratuzulma yechimlari keng rivojlanmoqda texnalogiya va biznes tomondan ham. Masalan nix as build system kabi ideyalar.

4. Cachix juda kichik jamoa va kamchilik odamlardan tashkil topgan. Ammo shunga qaramay manashunday masshtabda ishlayabti.

5. Special: Cachix serveri Haskellda yozilgan 😎

Bu ma'lumotlardan ko'p hulosalar qilsak bo'ladi. Masalan Cachix ochiq kodli dasturlar qilib ham biznes qilyabti engineering team ham juda kichik va tech stack ham unchalik mashxur emas.
🤝1