Forwarded from Bobosher Musurmonov
#javob
MemoryError dasturingiz ishlashi uchun RAM yetmay qolganda sodir bo'ladi. Hozir siz katta ehtimol bilan katta hajmdagi ma'lumotlarni to'g'ri pythonga chiqarib(bunda ma'lumot to'liq RAMda saqlanib turadi) ishlashga harakat qilayapsiz. Bu biror fayl yoki database bo'lishi mumkin.
Yaxshisi, hamma ma'lumotni bittada olmasdan, bir qismini olib, u bilan ishlab bo'lgach, xotirani bo'shatib keyingi qismga o'tib va h.k. ishlang.
MemoryError dasturingiz ishlashi uchun RAM yetmay qolganda sodir bo'ladi. Hozir siz katta ehtimol bilan katta hajmdagi ma'lumotlarni to'g'ri pythonga chiqarib(bunda ma'lumot to'liq RAMda saqlanib turadi) ishlashga harakat qilayapsiz. Bu biror fayl yoki database bo'lishi mumkin.
Yaxshisi, hamma ma'lumotni bittada olmasdan, bir qismini olib, u bilan ishlab bo'lgach, xotirani bo'shatib keyingi qismga o'tib va h.k. ishlang.
Forwarded from Oyatillo Ma'mirjonov
Cpu ni python ko'p egallamayapti, mysql egallayapti.
Python bo'lsa ram ni.
Google tog'a bu pythondimas serverni sozlash kerak diyapti😐
Python bo'lsa ram ni.
Google tog'a bu pythondimas serverni sozlash kerak diyapti😐
Forwarded from Bobosher Musurmonov
Databasedan fetch qilayotgan bo'lsangiz limit va offsetdan foydalanib paginationga o'xshash narsa qilib ko'ring.
Forwarded from Bobosher Musurmonov
Loop ishlatib foydalanuvchilarga bo'lib-bo'lib jo'nating.
Forwarded from Oyatillo Ma'mirjonov
Mysql Cpu ni bazaga ko'p so'rov bo'lsa egallaydimi yo katta ma'lumot bo'lsami?
Forwarded from Bobosher Musurmonov
Fetch qilingan ma'lumotlar RAMda saqlanadi.
query resultlarini fetch qilsangiz users tabledagi hamma ma'lumot RAMga ham copy qilinadi.
SELECT * FROM users;query resultlarini fetch qilsangiz users tabledagi hamma ma'lumot RAMga ham copy qilinadi.
Forwarded from Bobosher's blog | #FreePalestine
Engineering at Meta
More details about the October 4 outage
Now that our platforms are up and running as usual after yesterday’s outage, I thought it would be worth sharing a little more detail on what happened and why — and most importantly, how we’re lear…
Forwarded from Bobosher's blog | #FreePalestine
YouTube
Detailed analysis on the facebook outage
I made two videos summarizing the Facebook outage. In this episode, I go through the Facebook detailed article regarding their October 4th, 2021 outage and discuss it in length. enjoy
Facebook blog: https://engineering.fb.com/2021/10/05/networking-traffic/outage…
Facebook blog: https://engineering.fb.com/2021/10/05/networking-traffic/outage…
Forwarded from PyNotes
Title: String interning
To alleviate memory that can be quickly consumed by strings, Python implements string interning
— A string will be interned if it is a compile-time constant, is not the production of constant folding or is not longer than 20 characters, and consists exclusively of ASCII letters, digits, or underscores.
—Empty strings are interned.
Source
To alleviate memory that can be quickly consumed by strings, Python implements string interning
— A string will be interned if it is a compile-time constant, is not the production of constant folding or is not longer than 20 characters, and consists exclusively of ASCII letters, digits, or underscores.
—Empty strings are interned.
Source
Forwarded from Azizbek Xushnazarov
#savol
Ko'pchilik vakansiyalarda Django va birorta SQL yozilgan bo'ladi.
Django ORM turganda SQL o'rganishim kerakmi?
Misol uchun Postgresql ni o'rgansam uning men uchun pro taraflari nima buladi.
Yoki SQL ni shunchaki ORM qanday ishlayotganligi haqida tasavvurga ega bo'lish uchun o'rganishim kerakmi?
Ko'pchilik vakansiyalarda Django va birorta SQL yozilgan bo'ladi.
Django ORM turganda SQL o'rganishim kerakmi?
Misol uchun Postgresql ni o'rgansam uning men uchun pro taraflari nima buladi.
Yoki SQL ni shunchaki ORM qanday ishlayotganligi haqida tasavvurga ega bo'lish uchun o'rganishim kerakmi?
Forwarded from Bobosher Musurmonov
Yaxshi savol. Avvalroq meni ham o'ylantirgan. Shaxsiy tajribamdan kelib chiqib ba'zi narsalarni aytaman:
1. ORM database emas. U bizga ma'lumotlarni qanday bersa, biz shunday qabul qilamiz. Kimdir Django ORMni yaxshi tushunishi va shu bilan birga RDBMS haqida hech narsa bilmasligi mumkin. Ma'lumotlar aslida qanday saqlanishi va uni qanday ishlatishni bilmaslik db haqida noto'g'ri tasavvurlarga, demakki notog'ri yoki o'ta foydasiz usullardan foydalanishga olib keladi.
2. Django ORM ancha kuchli bo'lsa-da albatta chegaralangan. Shunday vaziyatlar bo'ladi-ki, ORM ish bermaydi. O'sha vaziyatlarda raw query yozishga to'g'ri keladi.
3. ORMga bog'lanib qolish djangodan boshqa texnologiyalar bilan ishlaganda katta qiyinchiliklarga olib keladi. Dasturchi sifatida faqat django bilan cheklanish yaxshi emas.
4. DB engineering bu shunchaki table va data emas. Bu butun boshli soha. Uning ham ichida bir dunyo usullari, sir-sinoatlari bor(indexes, replication, sharding, CC, ...). Ma'lumotlar bilan to'g'ri ishlay olish loyihangiz bilan qulayroq ishlash va eng yaxshi optimizatsiyalarni qilishga imkon beradi.
5. "Qanday ishlatish"dan ko'ra "qanday ishlashi"ni tushuna olish ko'p imkoniyatlar beradi.
1. ORM database emas. U bizga ma'lumotlarni qanday bersa, biz shunday qabul qilamiz. Kimdir Django ORMni yaxshi tushunishi va shu bilan birga RDBMS haqida hech narsa bilmasligi mumkin. Ma'lumotlar aslida qanday saqlanishi va uni qanday ishlatishni bilmaslik db haqida noto'g'ri tasavvurlarga, demakki notog'ri yoki o'ta foydasiz usullardan foydalanishga olib keladi.
2. Django ORM ancha kuchli bo'lsa-da albatta chegaralangan. Shunday vaziyatlar bo'ladi-ki, ORM ish bermaydi. O'sha vaziyatlarda raw query yozishga to'g'ri keladi.
3. ORMga bog'lanib qolish djangodan boshqa texnologiyalar bilan ishlaganda katta qiyinchiliklarga olib keladi. Dasturchi sifatida faqat django bilan cheklanish yaxshi emas.
4. DB engineering bu shunchaki table va data emas. Bu butun boshli soha. Uning ham ichida bir dunyo usullari, sir-sinoatlari bor(indexes, replication, sharding, CC, ...). Ma'lumotlar bilan to'g'ri ishlay olish loyihangiz bilan qulayroq ishlash va eng yaxshi optimizatsiyalarni qilishga imkon beradi.
5. "Qanday ishlatish"dan ko'ra "qanday ishlashi"ni tushuna olish ko'p imkoniyatlar beradi.
👍3
Forwarded from Bobosher Musurmonov
Assalomu alaykum, e'tibor uchun rahmat.
Gap shundaki, multithreading aslida I/O uchun ishlab chiqilgan. CPU-bound uchun esa multiprocessing. Maqolada multithreading CPU-bound uchun deganimning sababi, agar multiprocessing deganimda unda process nima, threaddan qanday farq qiladi va h.k.larni tushuntirish kerak bo'lardi. Xullas, out of topic. Shuning uchun tinchgina multithreading degandim(sababi, tepada threat tushuntirilgan).
Endi savolingizga qaytsak. Multithreading aslida async chiqishidan oldin IO-bound workload uchun ishlab chiqilgan. Async chiqishi bilan uning qadri ancha pasaydi. Sababi, CPU-bound uchun deyarli foydasiz(pythonda GIL "o'lganning ustiga tepgan qiladi"), IO-bound uchun esa async effectiveroq. Xullas, deyarli keraksiz bo'lib qoldi. Har holda, end-user developerlar uchun. Framework developerlar esa ko'p ishlatishadi. Asinxron ishlash noqulay va multiprocessing keraksiz joyda.
Demak siz va biz uchun:
- CPU-bound workloadda multiprocessing;
- IO-bound workloadda async.
RIP multithreading :-)
Gap shundaki, multithreading aslida I/O uchun ishlab chiqilgan. CPU-bound uchun esa multiprocessing. Maqolada multithreading CPU-bound uchun deganimning sababi, agar multiprocessing deganimda unda process nima, threaddan qanday farq qiladi va h.k.larni tushuntirish kerak bo'lardi. Xullas, out of topic. Shuning uchun tinchgina multithreading degandim(sababi, tepada threat tushuntirilgan).
Endi savolingizga qaytsak. Multithreading aslida async chiqishidan oldin IO-bound workload uchun ishlab chiqilgan. Async chiqishi bilan uning qadri ancha pasaydi. Sababi, CPU-bound uchun deyarli foydasiz(pythonda GIL "o'lganning ustiga tepgan qiladi"), IO-bound uchun esa async effectiveroq. Xullas, deyarli keraksiz bo'lib qoldi. Har holda, end-user developerlar uchun. Framework developerlar esa ko'p ishlatishadi. Asinxron ishlash noqulay va multiprocessing keraksiz joyda.
Demak siz va biz uchun:
- CPU-bound workloadda multiprocessing;
- IO-bound workloadda async.
RIP multithreading :-)
Forwarded from Bobosher Musurmonov
Asyncioning kamchiliklaridan biri, task tayyor bo'lsa ham "navbat"i kelgunicha bajarilmay turadi.
Restoran misolida, ofitsant boshqa ishlarni bitirib kelgunicha ovqat tagiga olib ketishi mumkin.
Restoran misolida, ofitsant boshqa ishlarni bitirib kelgunicha ovqat tagiga olib ketishi mumkin.
Forwarded from Bobosher Musurmonov
Mana shunday kechikishi kerak bo'lmagan joylarda thread ishlatish mumkin.
Masalan, ko'p frameworklarda requestlarni kutib turish uchun alohida thread ochilib turadi. Request kelishi bilan "ichkariga" uzatadi.
Agar asinxron ishatilsa, boshqa tasklar bajarib bo'lingunicha requestlar kutib qolishi mumkin. Multiprocessing esa "ortiqcha harajat". Yaxshisi, thread ishlatamiz.
Masalan, ko'p frameworklarda requestlarni kutib turish uchun alohida thread ochilib turadi. Request kelishi bilan "ichkariga" uzatadi.
Agar asinxron ishatilsa, boshqa tasklar bajarib bo'lingunicha requestlar kutib qolishi mumkin. Multiprocessing esa "ortiqcha harajat". Yaxshisi, thread ishlatamiz.
Bobosher Musurmonov
Assalomu alaykum, e'tibor uchun rahmat. Gap shundaki, multithreading aslida I/O uchun ishlab chiqilgan. CPU-bound uchun esa multiprocessing. Maqolada multithreading CPU-bound uchun deganimning sababi, agar multiprocessing deganimda unda process nima, threaddan…
Savol:
man bir joyiga unchalik tushunmayman, qilayotgan projectimizda aynan qaysi paytda async dan foydalanishimiz kerakligini qanday aniqlab olishni va async ni ishlatish kerakmi yo multithreading ishlatish kerak, asinhirinni ishlatishni ham o'zini qonin qoidasi bo'lsa kerak, shulani yaxshilab o'rganib olishim kerak
man bir joyiga unchalik tushunmayman, qilayotgan projectimizda aynan qaysi paytda async dan foydalanishimiz kerakligini qanday aniqlab olishni va async ni ishlatish kerakmi yo multithreading ishlatish kerak, asinhirinni ishlatishni ham o'zini qonin qoidasi bo'lsa kerak, shulani yaxshilab o'rganib olishim kerak
#savol
Assalomu alaykum database transaction haqida tushunarliroq ma'lumot kerak edi.
Assalomu alaykum database transaction haqida tushunarliroq ma'lumot kerak edi.
Forwarded from Bobosher Musurmonov
Deylik, siz do'stingizning hisobiga $100 o'tkazmoqchisiz. Database levelda bu taxminan mana bunday bo'ladi:
1. Hisobingizda $100 dan ko'p mablag' borligini tekshirish.
2. Sizning hisobingizdan $100 kamaytirish.
3. Do'stingizning hisobiga $100 qo'shish.
Deylik, 1 va 2-bosqichlar bajarilgandan keyin hali 3-bosqich tugatilmasdan biror sababga ko'ra xatolik chiqdi yoki server vaqtincha o'chib qoldi. Bunda nima bo'ladi?
Siz $100 yo'qotdingiz, lekin do'stingiz qabul qilmadi.
Mana shunday holatlarning oldini olish uchun database transaction o'ylab topilgan. Bu xuddi qutiga o'xshaydi. Ichiga querylar solasiz va execute qilasiz. Agar hammasi yaxshi bo'lsa unda commit qilinadi, ya'ni natijalar actual tablega o'tkaziladi. Agar bitta transactiondagi birorta queryda xatolik chiqsa qolgan querylarning ham natijalari bekor qilinadi(rollback).
Bir kishi hamma uchun, hamma bir kishi uchun deganlaridek ...
1. Hisobingizda $100 dan ko'p mablag' borligini tekshirish.
2. Sizning hisobingizdan $100 kamaytirish.
3. Do'stingizning hisobiga $100 qo'shish.
Deylik, 1 va 2-bosqichlar bajarilgandan keyin hali 3-bosqich tugatilmasdan biror sababga ko'ra xatolik chiqdi yoki server vaqtincha o'chib qoldi. Bunda nima bo'ladi?
Siz $100 yo'qotdingiz, lekin do'stingiz qabul qilmadi.
Mana shunday holatlarning oldini olish uchun database transaction o'ylab topilgan. Bu xuddi qutiga o'xshaydi. Ichiga querylar solasiz va execute qilasiz. Agar hammasi yaxshi bo'lsa unda commit qilinadi, ya'ni natijalar actual tablega o'tkaziladi. Agar bitta transactiondagi birorta queryda xatolik chiqsa qolgan querylarning ham natijalari bekor qilinadi(rollback).
Bir kishi hamma uchun, hamma bir kishi uchun deganlaridek ...
👍7
#savol
topSkills = profile.skill_set.exclude(descriptionexact="") shu kodda "exact" ni vazifasi nima ?
topSkills = profile.skill_set.exclude(descriptionexact="") shu kodda "exact" ni vazifasi nima ?