Python Dev
79 subscribers
236 photos
19 videos
3 files
101 links
Maqsad: Kanalga Python dasturlash tiliga oid faydali ma'lumotlar joylanib boriladi. Barchasi faqat sizlar uchun 💪🏻

Muhokama guruhimiz: @python_dev_chat
Murojaat: @uzaytijobs_admin
Download Telegram
Forwarded from Nuruddin Blogs
DevOps Journey - DevOps sayohatini boshlang

Hozirgi kunda rivojlanib talab ortayotgan sohalardan biri DevOps Engineering sohasi hisoblanadi, lekin afsuski bu soha bo'yicha o'zbekistonda kurslar juda kam va qimmat, shu sababli bu soha o'zimizda rivojlanishi juda sekin, ko'pchilik dasturchilarni bu sohaga ishi tushgani va ma'lum bir qiyinchiliklar bo'lgani aniq.

Yuqoridagi muammolar sabab biz DevOps Journey open source loyihasini ishga tushirdik. Ushbu loyiha bepul DevOps qo'llanmalar va amaliyotlarni o'z ichiga oladi. Bu loyiha o'zbek tilida yuritiladi va qo'limizdan kelganicha sifatli kontentlar bilan to'ldirib boryapmiz. Maqsadimiz o'zimizning Infrastrukturalarimizni yaxshilash, rivojlantirish, sifatli kerakli contentlarni ko'paytirish va boshqalar.

Ushbu loyiha open source hisoblanadi siz ham loyihaga o'z hissangizni qo'shishingiz contibutorlik qilishingiz mumkin.

Platforma: devops-journey.uz
Github: https://github.com/ismoilovdevml/devops-journey.git
Yangiliklar: @Otabek_Ismoilov

@nuruddinblogs
👍2
🎉🎉🎉 Bugun Pythonning tug'ilgan kuni🎉🎉🎉

Bizning sevimli dasturlash tilimiz 33 yoshda.

Python eng mashhur dasturlash tillaridan biri bo'lib qolmoqda.

JetBrains tadqiqotiga ko'ra, 2023 yilda dasturchilarning 54 foizi Python-dan kamida bir marta foydalangan.

Pythonchilar oldik 🥂

👉 @python_backend_dev
👍3
Forwarded from Botir Ziyatov
“E-commerce uchun IT-infratuzilmasini qanday tanlash mumkin: Uzum Nasiya keysi” vebinari

Sizni E-commerce loyihalari uchun IT-infratuzilmasini tanlash mavzusidagi bepul vebinarga taklif qilamiz. Sunnat Shamuratov, Servercore kompaniyasining biznesni rivojlantirish bo‘yicha direktori sizga bulutli platforma mahsulotlaridan foydalangan holda onlayn-tijorat bozoridagi muammolarni qanday hal qilishni aytib beradi.

Mehmon ma‘ruzachi Uzum Nasiya loyiha ofisi rahbari Sardorbek Bayahmedov IT-infratuzilmasini Servercore bulutiga ko‘chirish bo‘yicha o‘z tajribasi bilan o‘rtoqlashadi.

Dasturda:

— 2024 yilgi bozor tendentsiyalari va e-commercening asosiy ko‘rsatkichlari.
— Onlayn tijorat loyihalari qanday biznes muammolariga duch keladi?
— Elektron tijoratdagi muammolarni hal qilish uchun IT-infratuzilmasi.
— Uzum Nasiya keysi: kompaniya qanday qilib 1 oy ichida IT-infratuzilmasini Servercore’ga to‘liq o‘tkazdi.

🔺 Yangi ishtirokchilarga test xizmatlari uchun 400 000 so‘m beriladi.

Vebinar sanasi: 28 fevral, Chorshanba

Havolani orqali o'tib, veb-seminarga ro‘yxatdan o‘ting.
👏2👍1
🌙 Ramazon oyi barchamizga muborak boʻlsin

👉 @python_backend_dev
👍3
Masala:
Shart:
find_max funksiyasini e'lon qiling. Funksiyani 3 ta parametri bor (a, b, c).
Input orqali 3 ta son kiritamiz va bu sonlarni find_max funksiyasini chaqirib argumentlariga beramiz. find_max funksiyasi bu (a, b, c) o'zgaruvchilardan eng kattasini topib quyidagicha print qiladi.

Eng katta son - A = 10
yoki
Eng katta son - A va B = 10
yoki
Eng katta son - A va B va C = 10

Yechim:
def find_max(a, b, c):
if a > b:
if a > c:
result = f"Eng katta son - a = {a}"
elif a == c:
result = f"Eng katta son - a va c = {a}"
else:
result = f"Eng katta son - c = {c}"

elif a == b:
if b > c:
result = f"Eng katta son - a va b = {a}"
elif b == c:
result = f"Eng katta son - a, b va c = {a}"
else:
result = f"Eng katta son - c = {c}"

else:
if b > c:
result = f"Eng katta son - b = {b}"
elif b == c:
result = f"Eng katta son - b va c = {b}"
else:
result = f"Eng katta son - c = {c}"

return result


a = int(input("a: "))
b = int(input("b: "))
c = int(input("c: "))

print(find_max(a, b, c))


SIz qanday yechim bergan bo'lardingiz? Izohda qoldiring.

👉 @python_backend_dev
👍3
Python Closures (yopilishi)

Python Closures (yopilishi) tashqi funktsiya yopilgandan keyin ham tashqi funktsiyaning o'zgaruvchilariga kirish imkonini beruvchi ichki funksiyadir.

Python-da Nested(ichki) funksiya
Pythonda biz boshqa funksiya ichida funksiya yaratishimiz mumkin. Bu Nested(ichki) funksiya sifatida tanilgan. Masalan,
def greet(name):
# inner function
def display_name():
print("Hi", name)

# call inner function
display_name()

# call outer function
greet("John")

# Output: Hi John

Yuqoridagi misolda biz greet() funksiyasi ichida display_name() funksiyasini aniqladik.

Bu erda display_name() ichki funksiya hisoblanadi. Ichki funktsiya odatdagi funksiyaga o'xshash ishlaydi. U greet() funksiyasi ichida display_name() chaqirilganda ishlaydi.

Yuqorida aytib o'tganimizdek, yopish - bu tashqi funktsiya yopilgandan keyin ham tashqi funktsiyaning o'zgaruvchilariga kirishga yordam beradigan ichki funksiya. Masalan,

def greet():
# variable defined outside the inner function
name = "John"

# return a nested anonymous function
return lambda: "Hi " + name

# call the outer function
message = greet()

# call the inner function
print(message())

# Output: Hi John


Yuqoridagi misolda biz greet() nomli funktsiyani yaratdik, u ichki o'rnatilgan anonim funksiyani qaytaradi.

Bu erda biz tashqi funktsiyani chaqirganimizda, message = greet()

Qaytarilgan funksiya endi message o'zgaruvchisiga tayinlangan.

Bu vaqtda tashqi funktsiyani bajarish tugallanadi, shuning uchun name o'zgaruvchisi yo'q qilinishi kerak. Biroq, biz anonim funktsiyaga qo'ng'iroq qilganimizda, print(message())

biz tashqi funksiyaning name o'zgaruvchisiga kira olamiz.

Bu mumkin, chunki ichki o'rnatilgan funksiya endi tashqi funksiya bajarilgandan keyin ham o'z doirasidagi tashqi doira o'zgaruvchisini yopuvchi yopish vazifasini bajaradi.

Ushbu tushunchani aniqroq qilish uchun yana bir misolni ko'rib chiqaylik.

Misol: Python Closure yordamida toq sonlarni chop eting
def calculate():
num = 1
def inner_func():
nonlocal num
num += 2
return num
return inner_func

# call the outer function
odd = calculate()

# call the inner function
print(odd())
print(odd())
print(odd())

# call the outer function again
odd2 = calculate()
print(odd2())

Yuqoridagi misolda,
odd = calculate()
Bu kod tashqi calculate() funksiyasini bajaradi va toq songa closureni qaytaradi.

Shuning uchun biz tashqi funktsiyani bajarganimizdan keyin ham account() num o'zgaruvchisiga kira olamiz.

Shunga qaramay, biz tashqi funktsiyani chaqirganimizda
odd2 = calculate()
yangi closure qaytariladi. Demak, biz odd2() ni chaqirganimizda yana 3 ni olamiz.

Closures-ni qachon ishlatish kerak?

Xo'sh, closures nima uchun yaxshi?

Closures global qadriyatlardan qochish va ma'lumotlarni yashirishni ta'minlash uchun ishlatilishi mumkin va bir yoki bir nechta usullar bilan oddiy holatlar uchun yaxshi yechim bo'lishi mumkin.

Biroq, bir nechta atribut va usullarga ega bo'lgan kattaroq holatlar uchun (class) sinfni ishlatish ko'proq mos kelishi mumkin.

def make_multiplier_of(n):
def multiplier(x):
return x * n
return multiplier


# Multiplier of 3
times3 = make_multiplier_of(3)

# Multiplier of 5
times5 = make_multiplier_of(5)

# Output: 27
print(times3(9))

# Output: 15
print(times5(3))

# Output: 30
print(times5(times3(2)))

Barcha funktsiya ob'ektlari closure atributiga ega bo'lib, agar u closure funktsiyasi bo'lsa, cell ob'ektlari majmuasini qaytaradi.

Yuqoridagi misolga murojaat qilib, biz vaqt3 va marta5 closure funksiyalari ekanligini bilamiz.

Manba: Bu yerdan tarjima qilindi.

👉 @python_backend_dev
👍4
Ramazon hayiti muborak boʻlsin
👍4
Forwarded from Django darslari (Mukhammad irmatov) (mukhammad irmatov)
Load testing nega kerak?

Loyihadagi eng oxirgi buglarni ham to’g’irlab, so’nggi o’zgarishlarni deploy qilgach, endi nima ish qilsam ekan deb o’ylayotgan bo’lsangiz, dasturingizni load(stress) test qilib, uning imkoniyatlarini bilib olganingiz maqul.

Load testing - dasturga turli xil yuklama berish orqali ya’ni dastur yuklama yo’q, yuklama ko’p va yuklama haddan tashqari ko’p vaqtda qanday ishlashini bilib olish mumkin bo’ladi.

Siz o’zingiz ishlab chiqqan dasturni tinch holatda tekshirganingizda aksariyat holatda test muvaffaqiyatli o’tadi. Lekin dasturingizga 1000, 10000 va 100000 lab request jo’natilganda qanday ishlashini, qachon server ishlashdan to’xtashini albatta tekshirib olishingiz kerak.

Load testing(stress test ham deb atashadi) quyidagi savollarga javob topish uchun kerak:

1) Serverdan bir vaqtda foydalanuvchilar soni keskin oshganda qanday ishlaydi

2) Serverni maksimal qobiliyati qanday ya’ni bir vaqtda maksimal qancha user yoki qancha so’rovlarga javob bera oladi yoki server down bo’lish nuqtasi qayerda

3) Foydalanuvchilar soni oshganda response time qanchalik o’zgaradi

4) Dasturni qayerida qanday muammolar bor. Database querylar to’g’ri sozlanmaganmi yoki server resurslari yetarlimi yoki yo’q

Bu ma’lumotlarni bilish sizga dasturingiz kamchiliklarini to’g’irlashga va resurslarni to’g’ri sarflashga yordam beradi
👍4
👨🏾‍💻 Google-da ishlaydigan bir Dasturiy ta'minot muhandisini (Software Engineer) gaplari.

Dasturiy ta'minot muhandisi sifatida siz hamma narsani bilishingiz shart emas.

Men dasturchi sifatida birinchi ishimni boshlaganimda hech qanday Linux buyruqlarini(kamandalarini) bilmasdim.

Men Amazonga qo'shilganimda(isha kirganimda) Gitni to'liq tushunmasdim.

Amazonda mening birinchi loyiham Python-da edi, lekin men hech qachon Python-da bir qator ham kod yozmaganman.

Men Google-ga qo'shilganimda, men C++ da dasturlay olmasdim, lekin ishimning aksariyati C++ da edi.

Keyinchalik jamoani o'zgartirganimda, men Dart-da xususiyat(feature) yaratdim, lekin men ilgari hech qachon Dart-dan foydalanmaganman.

Dasturiy ta'minot muhandisi sifatida siz hamma narsani bilishingiz shart emas. Siz shunchaki kerak bo'lganda uni qayerdan topishni bilishingiz kerak.

👉 @python_backend_dev
👍4
Python Dev
👨🏾‍💻 Google-da ishlaydigan bir Dasturiy ta'minot muhandisini (Software Engineer) gaplari. Dasturiy ta'minot muhandisi sifatida siz hamma narsani bilishingiz shart emas. Men dasturchi sifatida birinchi ishimni boshlaganimda hech qanday Linux buyruqlarini(kamandalarini)…
Noto'g'ri tushuncha paydo bo'lishi mumkin ekan, shuni uchun postni linkini ulashiyapman. Ya'ni qanday? Bu gaplarni Amazonga va Googlega ishga kirgan Engineer aytiyapti, endigina kursni tugatib, ishga joylashgan dasturchi emas.

"Dasturiy ta'minot muhandisi sifatida siz hamma narsani bilishingiz shart emas. Siz shunchaki kerak bo'lganda uni qayerdan topishni bilishingiz kerak." shu joyiga e'tibor bering, yuklatilgan vazifani o'zi kerakli resurslarni internetdan qidirib topib, hal qiladigan odam, pashti 2-3 yil dasturlashda xizmat qilgan hisoblanadi, u bir dasturlash tili(soha)da yaxshigina tajribasi bor degani.
Siz ham mustaqil o'rganuvchiga aylaning!!!

Yuqoridagi postga link: Manba
🔥4
😂

Sizda qanday 😁?

👉 @python_backend_dev
😁3
😄😁

👉 @python_backend_dev
😁2🤣2
This media is not supported in your browser
VIEW IN TELEGRAM
SPACETOP G1

Dunyodagi birinchi ekransiz noutbuk.

Manba: https://www.sightful.com

Settings

Blog: Has spatial computing failed?

Ajoyib, foydalanib koʻrmasdan biron nima deyish qiyin 🙂

👉 @python_backend_dev
🔥4
MRO (Method Resolution Order) haqida

class A:
def f(self):
print("A.f", end="")


class B(A):
def f(self):
print("B.f", end="")
super().f()


class C(A):
def f(self):
print("C.f", end="")


class D(B, C):
pass


def main():
D().f()
print()


main()

Bu misolda sinflar o'rtasidagi ko'pburchak meros olish (multiple inheritance) mexanizmi ishlaydi va natijada D sinfining metodlarini chaqirish tartibini belgilash uchun Python'da MRO (Method Resolution Order) deb ataluvchi tartib amal qiladi.

Qanday hodisa ro'y beryapti:

Bu yerda sinflarning meros olish tartibi quyidagicha: D sinfi B va C sinflaridan meros oladi, B va C sinflari esa A sinfidagi metodlarni meros oladi. Keling, MRO tartibini qanday ishlashini ko'rib chiqaylik.

MRO (Method Resolution Order) Tartibi
Python'da MRO algoritmi sinfda metodlar qanday chaqirilishini belgilaydi. D sinfining MRO tartibini aniqlash uchun quyidagi qoidalar amal qiladi:

1. Sinfning o'zi (D)
2. Chapdan o'ngga qarab asosiy sinflar (bu holda, B keyin C)
3. Barcha ota sinflar (A)
4. D sinfi uchun MRO tartibi shunday bo'ladi: D -> B -> C -> A.

Kodning ish tartibi
1. D().f() chaqirilganda, Python MRO tartibida f metodini izlaydi.
2. D sinfi B sinfidan meros olganligi sababli, B sinfidagi f metodi topiladi va chaqiriladi.
3. B sinfidagi f metodi ishlaydi va print("B.f", end="") bajariladi. Natijada ekranda "B.f" paydo bo'ladi.
4. super().f() chaqiriladi. super() bu yerda MRO tartibiga asoslanadi va B sinfidan keyingi sinfni izlaydi, bu holda C sinfi.
5. C sinfidagi f metodi chaqiriladi va print("C.f", end="") bajariladi. Natijada ekranda "C.f" paydo bo'ladi.

Umumiy tahlil

- D().f() chaqirig'i MRO tartibida B sinfning f metodini topdi.
- B sinfning f metodida super().f() chaqirig'i MRO tartibiga ko'ra C sinfning f metodini topdi.
- Shu tarzda ekranda "B.f" va "C.f" qator-qator chiqdi.

Shu bilan, kodning natijasi B.fC.f bo'ldi. Bu MRO algoritmi va super() funktsiyasi yordamida murakkab meros olish holatlarini boshqarish imkonini beradi.

Muallif: ChatGPT

👉 @python_backend_dev
😁2👍1
Forwarded from Davronbek | SWE 🪐 (🪐)
#tavsiya

- Bazida toshkentda o'ziz izlagan texnalogiyaga oid kitoblarni sifatliroq varyantini topish qiyin bo'ladi. 🤔

- Bu kitoblarni PDF varyantlari ham bor lekin man kabi "old school"lar uchun kitob varyanti o'zgacha bo'lsa kerak 😉

Dante.uz - dan bazi kitoblarni topshingiz mumkin (tekin reklama) 👌

p.s)Katta hajmdagi kitoblarning razmeriga etibor bering! 🚫 (siz qayerdan xarid qilasiz bu kabi kitoblarni? ⬇️)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1🤝1
To'lov tizimlari uchun integratsiya. Payme, Click va boshqa turdagi tizimlarga qanday ulaniladi?

https://diary.manu.uz/blog/tolov-tizimlari-uchun-integratsiya-payme-click-va-boshqa-turdagi-tizimlarga-qanday-ulaniladi.htm

@yetimdasturchi
👍4
🌙Barchangizga bugungi Qurbon Hayiti bayrami muborak bo’lsin!

👉 @python_backend_dev
👍3