Davronbek | SWE 🪐
766 subscribers
613 photos
96 videos
66 files
463 links
SWE: (Python | Go | VueJs)

- Loyihalardagi xatoliklar va ularni xal qilishdagi ba'zi tavsiyalarni yozib boraman.

Don't be shy, say hi 👋 | @firdavs_dev | https://davronbek.dev
Download Telegram
Scaling Django with Database Sharding & Replication

Sharding qilishga ishim tushmagan (halicha tushmasin) lekin replicationda master-slave arxitekturasini Django bilan ko'p ishlatishga to'g'ri kelmoqda ...

Qisqasi:
We always shard database and partition the data.


More:
- https://planetscale.com/blog/database-sharding
- https://valiancesolutions.com/learning-hub/master-slave-database-design-for-scalable-multi-tenancy-systems/
- https://testdriven.io/blog/django-multi-tenant/ 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5411
Process va thread

Pythondagi (dasturlashdagi) ko'p so'raladigan mazgi savollardan.

Qisqa:
Process - bu qaysidir dasturiy taminotning komputer ichida bajarilayotgan jarayoni.

Thread - bu process ichidagi element bo'lib dasturni haqiqatdan ishlashiga ya'ni siz buyurgan amallarni natijaga aylantirishga yordam beradi.


Processlar - kamida bitta(main thread)yoki odatda bir necha threadlardan tashkil topgan bo'ladi. Processlar bir biri bilan xotira ulashmaydi va bu agar bir process ishdan chiqsa yoki xato ishlashni boshlasa boshqa processlarga tasir qilmaydi. Process thread natijalarini boshqaradi

Threadlar - bir biri bilan xotira ulashadi va agarda birortasi noto'g'ri ishlashni boshlasa hammasiga tasir qiladi.

Savol
Bir vaqtda kompyuterda bir necha dasturlarni ishlatamiz bunda kompyuter bularni qanday boshqaradi? ⬇️

» @davron_coder
Please open Telegram to view this post
VIEW IN TELEGRAM
26🔥42🤝1
pyproject.toml + Poetry 🔥

Ko'pchiligimiz Python loyihalarda (men ham)requirements.txt ishlatamiz. Lekin bilasizmi, bu usul eskirgan?)

requirements.txt faqat kutubxonalar ro‘yxatini saqlaydi, lekin Python versiyasi, qayerdan o'rnatilgani haqida malumot yuq.

Zamonaviy yechim esa pyproject.toml va Poetry.

Bu loyihani:
- barqaror qiladi
- har kimda bir xil muhit yaratadi
- dependency boshqaruvini yengillashtirar ekan

Masalan, pyproject.toml fayli shunday ko‘rinadi👇


[tool.poetry]
name = "myproject"
version = "0.1.0"
description = "Awesome Python project"
authors = ["Davronbek <[email protected]>"]

[tool.poetry.dependencies]
python = "^3.10"
flask = "^3.0.0"
requests = "^2.31.0"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"


Poetry shu fayldan foydalanib, virtual environment yaratadi va kutubxonalarni to‘liq nazorat qiladi.
Bu - xuddi Node.js’dagi package.json va package-lock.json kabi ishlaydi.

Xullas:
requirements.txt --> kechagi kun
pyproject.toml --> bugun va ertangi kun "deyishmoqda"

More 👈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4🤝41🎉11
DEVSHOP.UZ - dasturchilar uchun birinchi “shop”

Bu OLX emas, bu Amazon ham emas.
Bu - keyboarddan kofegacha, hoodie’dan memegacha - faqat devlar tushunadigan joy. 🍷

Hozir V1 ustida ishlanmoqda:
- Developer’lar faqatgin GitHub orqali kirib, o‘z futbolka rangini tanlaydi
- Python, Go, Docker, JS logolarini joylashtiradi
- live preview’da o‘z merch dizaynini yasaydi
- va Click / Payme orqali zakaz beradi
- Tashkent bo'ylab yetkazib berish tekin

Dasturchiga kodi yoqmasa, hech bo‘lmasa futbolkasi yoqsin:)

Keyingi bosqichlarda:
Har kim o‘z mahsulotini sotsa dev-to-dev bozor
Meme galereya
Yani “bug” ham, “hoodie” ham, “coffee” ham bor bo‘ladi 💻
etc...

🔥 Hozirda backend va front’ni o‘zim (+AI) yozilmoqda.
Agar creative dizayner yoki frontendchi bo‘lsangiz - DM ochiq.

#DevShopUZ #soon
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍145🔥2🤔1🤝1
🧠 Build Own X

Foydalanayotgan texnologiyalaringiz ichida nimalar sodir bo'layotganini bilasizmi?

Rebuild To Learn :)

More: https://codecrafters.io/

#BuildOwnX #RebuildToLearn
🔥54🤷‍♂11
Kichik e'lon: 🎮 +🎧

PS5 Slim olingan narxidan ancha arzonga sotilmoqda ekan

ps) Dasturchilar uchun skidkasi bor😉

Qiziqanlar 👉 @davronbek_dev

[more]

#sale #ps5
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥21
💻 React.js Dasturchi Kerak!

🏢 Tashkilot: UzDavKarantin, Axborot-Kommunikatsiyalar boshqarmasi
📍 Joylashuv: Toshkent shahri
🕰 Ish vaqti: 09:00 - 18:00
💰 Maosh: 15 000 000+ so‘mdan (tajribaga qarab kelishiladi)



Ishxonamiz taklif qiladi:
☕️ Qulay ish muhiti
💼 Barqaror, doimiy ish
📈 Yangi bilimlar qiziqarli murakkab loyihalarda o‘sish imkoniyati.
💧 Chanqoqga qarshi kuler



⚙️ Texnologiyalar:

React.js (functional components, hooks, component architecture)
Next.js (SSR/SSG, routing, performance optim.)
TypeScript — to‘liq typing, interfeyslar, generics
State management: Redux / Redux Toolkit, Zustand
JavaScript (ES6+) — native JSda toza kod yozish qobiliyati
UI & styling: Tailwind CSS, ShadCN UI, shuningdek Material UI, Ant Design kabi kutubxonalar bilan ishlash
Maps & geospatial: Leaflet, React-Leaflet, MapLibre / Mapbox / react-map-gl, OpenLayers, GeoJSON, turf.js (geospatial processing), klasterlash, heatmap, routing va tile server integratsiyalari
Integratsiya va autentifikatsiya: E-IMZO, One ID va davlat xizmatlari uchun kerakli auth/tashdiqlash oqimlarini amalga oshira olishi



⚠️ Eslatma:

Hozircha junior yoki internship darajasidagi nomzodlar uchun vakansiya mavjud emas.
Kamida 2–3 yillik real loyihalarda tajriba talab etiladi.



📬 @AsadbekAzamov01

#vacancy #frontend
2👍2🔥2😁21
#quiz #easy

Run it in your brain.🧠

- [more]
- [more]
2🤔2👍1👎1
Javob (AI ishlatmang o'ziz uchun)
Anonymous Quiz
25%
D
14%
C
28%
B
33%
A
🔥4🤷‍♂221👍1
Forwarded from ITEC 🧑‍💻🧠
Biznes egasi sifatida mijozlaringizni haqiqatan qanchalik ushlab qolayotganingizni bilishni xohlaysizmi?

🫴🏻 Eng samarali yechimCohort (yoki Vintage) tahlili.

Bu tahlil mijozlarni ular biznesga kirgan yoki birinchi xarid qilgan vaqtiga ko‘ra guruhlaydi va keyingi oylar davomida ularning faoliyatini kuzatadi. Shu orqali siz:

- qaysi davrlardagi mijozlar yaxshiroq ushlanayotganini,
- qaysi o‘zgarishlar mijozlarni yo‘qotishga olib kelayotganini,
- mahsulot yangilanishlarining xatti-harakatga ta’sirini

aniq ko‘ra olasiz.

💡 Esingizda bo‘lsin: yangi mijoz jalb qilish qimmat, lekin mavjud mijozni ushlab qolish oson va samarali. Shu bois, cohort tahlili biznesingizni strategik rivojlantirishda muhim vosita hisoblanadi.
🔥42👍21
Forwarded from Jakhongir Rakhmonov - IT
Bu narsani har bir backend dasturchisi bilishi shart

Backendni jiddiy o‘rganaman degan dasturchi albatta Distributed System lar haqida o‘rganishi kerak. Chunki minglab, millionlab foydalanuvchilar ishlatadigan sistemalar distributed bo‘lmasdan ilojisi yo‘q.

Distributed System lar bir nechta qismlardan, bir nechta ma’lumotlar bazasidan tashkil topgan bo‘ladi va ushbu qismlar bir biri bilan network orqali gaplashishadi. Bunday holatda esa har doim ham hamma narsa siz kutgandek ishlayvermaydi. Qandaydir muammolar bo‘lib turishi aniq, ayniqsa network bilan. Biror serverda internet sekin ishlashi mumkin, qandaydir DNS muammo bo‘lishi mumkin, packet loss bo‘lishi mumkin va hokazo. Xullas bunday muammo bo‘lishi aniq, 100%.

Shunday holatlarga sizning tizimingiz tayyor bo‘lishi kerak. Oldindan shunday network muammo bo‘lsa nima qilamiz deb o‘ylab qo‘yish kerak.

Bunda bizga CAP nazariyasi yordam beradi. Unga ko‘ra sistemalarda uch xil xususiyat bor:

- [C] Consistency - Ma’lumotlar bazasidan sistemaning barcha qismlari nimadir o‘qimoqchi bo‘lganida eskirib qolgan ma’lumotni olmaydi, eng oxirgi yozilgan ma’lumotlarni oladilar.

- [A] Availability - Tizim har doim ishlab turadi.

- [P] Partition tolerance - Network bilan muammo bo‘lganda ham tizim kutilgandek ishlaydi.

Tepada aytib o‘tdikki network bilan muammolar har doim bo‘ladi va ushbu nazariyaga ko‘ra siz faqatgina yoki Consistency ni yoki Availability ni tanlashga majbursiz. Ikkalasini birdaniga tanlay olmaysiz. Ya’ni sizda har doim P bo‘ladi, siz C yoki A ni tanlashingiz shart.

Masalan sizda Master database va uning replikasi bor. Foydalanuvchilar Masterga yozadi, ma’lumotlarning nusxalari replikaga boradi va replikadan foydalanadiganlar eng oxirgi (ya’ni consistent) ma’lumotlarni o‘qiy oladilar.

Deylik qandaydir network muammo bo‘ldi va master bilan replika orasida bog‘lanish uzildi.

Endi sizda ikkita yo‘l bor:

Birinchisi - consistency ni prioritetga qo‘yish, ya’ni CP. Master ishlayveradi, replicaga kelayotgan requestlar esa "Database unavailable" degan xatoni oladi.

Ikkinchisi - availability ni prioritetga qo‘yish, yani AP. Master ham replica ham ishlayveradi. Lekin bir biriga yozilgan ma’lumotlarni jo‘natishmaydi. Consistency yo‘qoladi. Foydalanuvchilar eskirib qolgan ma’lumotlarni ko‘rishi mumkin.

Qaysi birini tanlash esa holatga bog‘liq.

Masalan siz Netflix quryapsiz. Agar foydalanuvchilar sal-pal eskirib qolgan ma’lumotlarni ko‘rsa qo‘rqinchli emas Netflix uchun. Shuning uchun ham bu sistemani AP qilish kerak, availability ni prioritetga qo‘yish kerak.

Yana bir misol. Deylik siz biror avialiniyaning sistemasini quryapsiz. Unda parvozlarni qidirish funksiyasi mavjud. Bu holatda ham AP qilgan, ya’ni availabilityni muhib deb topish to‘g‘ri. Chunki foydalanuvchilar sal-pal eskirib qolgan narxlarni ko‘rsa ham unchalik qo‘rqinchli emas. Amma umuman qidira olishmasa - qo‘rqinchli.

Lekin chipta sotib olayotganda esa CP qilish shart. Consistent bo‘lishi kerak. Ma’lumotlar aniq va so‘ngi bo‘lishi kerak. Aks holda bitta o‘rinning chiptasini bir nechta odamga sotib yuborishingiz mumkin. Bu esa - qo‘rqinchli.

@jakhonrakhmonov
👍12🔥31