Plyer moduli
Desktop Notifier (Ish stoli xabarnomasi) - bu ish stolida xabar ko'rinishida qalqib chiquvchi bildirishnoma xabarini ishlab chiqaradigan oddiy dastur. Shu maqsadda Plyer modulidan foydalanamiz. Ushbu modul vaqt ob'ekti bilan ishlaydi.
O'rnatish:
👉 @python_backend_dev
Desktop Notifier (Ish stoli xabarnomasi) - bu ish stolida xabar ko'rinishida qalqib chiquvchi bildirishnoma xabarini ishlab chiqaradigan oddiy dastur. Shu maqsadda Plyer modulidan foydalanamiz. Ushbu modul vaqt ob'ekti bilan ishlaydi.
O'rnatish:
pip install plyer
Kompyuterda ishlayotganizda qo'l kelarkan, har yarim soatda tanaffus olish uchun 👨💻👉 @python_backend_dev
👍4
Forwarded from Sardor Dushamov | PHP - tengi yo'q til!
Assalomu alaykum!
Hurmatli kanalim a'zolari!
Mana bugun deyarli 1 yildan beri yozayotgan, PHP, MySQL,Yii videodarsimizni taqdimoti bo'lib o'tdi. Maqsadim, ushbu kurs orqali jamiyatimizga ozgina bo'lsa ham manfaat yetkazishdir. O'rganganlarimni orqalab olib ketmaymiz, keyingilarga qoldirishdir. Ushbu kurs orqali o'rganib, o'z yo'llarini topib ketishiga ko'maklashishdir. Men 11 yillik tajribamni ishga solib, foydali, sifatli darslar qilishga harakat qildim. Darslarni yozish oson bo'lmadi.
Sizlardan iltimosim shuki, bu kursimdan ko'pchilik xabar topishiga ko'maklashishingizni so'ramoqchiman. Yordamingizni ayamang. Rahmat.
Kursni xarid qilgan o'quvchilar 16-apreldan o'qishni boshlashlari mumkin bo'ladi
Chegirma narx: 1,800,000 (ushbu narx 30-aprel, 23:59 gacha amal qiladi. Undan so'ng, kurs narxi 2,000,000 ga o'zgaradi)
👉 Kursga ro'yxatdan o'tish
Hurmatli kanalim a'zolari!
Mana bugun deyarli 1 yildan beri yozayotgan, PHP, MySQL,Yii videodarsimizni taqdimoti bo'lib o'tdi. Maqsadim, ushbu kurs orqali jamiyatimizga ozgina bo'lsa ham manfaat yetkazishdir. O'rganganlarimni orqalab olib ketmaymiz, keyingilarga qoldirishdir. Ushbu kurs orqali o'rganib, o'z yo'llarini topib ketishiga ko'maklashishdir. Men 11 yillik tajribamni ishga solib, foydali, sifatli darslar qilishga harakat qildim. Darslarni yozish oson bo'lmadi.
Sizlardan iltimosim shuki, bu kursimdan ko'pchilik xabar topishiga ko'maklashishingizni so'ramoqchiman. Yordamingizni ayamang. Rahmat.
Kursni xarid qilgan o'quvchilar 16-apreldan o'qishni boshlashlari mumkin bo'ladi
Chegirma narx: 1,800,000 (ushbu narx 30-aprel, 23:59 gacha amal qiladi. Undan so'ng, kurs narxi 2,000,000 ga o'zgaradi)
👉 Kursga ro'yxatdan o'tish
👍3
Sardor Dushamov | PHP - tengi yo'q til!
Assalomu alaykum! Hurmatli kanalim a'zolari! Mana bugun deyarli 1 yildan beri yozayotgan, PHP, MySQL,Yii videodarsimizni taqdimoti bo'lib o'tdi. Maqsadim, ushbu kurs orqali jamiyatimizga ozgina bo'lsa ham manfaat yetkazishdir. O'rganganlarimni orqalab olib…
PHP ni o'rganmoqchi boʻlgan doʻstlaringizga yuborib qo'ying.
Bilaman biz Pythonchilarmiz 😎
Bilaman biz Pythonchilarmiz 😎
👍6
Biroz kulgili tuyuladi aa 😁
Xafa bo'lmaymiz, Seniorlar ham Junior bo'lishganku to'g'rimi? 🙂
👉 @python_backend_dev
Xafa bo'lmaymiz, Seniorlar ham Junior bo'lishganku to'g'rimi? 🙂
👉 @python_backend_dev
😁4👍1🤣1
Defaultdict
Defaultdict - bu dictionaryga o'xshash ob'ektni qaytaradigan dictionary classning sub-classidir. Dictionaries va defaultdict funksiyalari deyarli bir xil, faqat, defaultdict hech qachon KeyError xatoligini ko'tarmaydi. U Not Present(mavjud emas) qiymatini key uchun default qiymat sifatida beradi.
Quyidagi misolni koʻrib oʻtamiz:
Defaultdict - bu dictionaryga o'xshash ob'ektni qaytaradigan dictionary classning sub-classidir. Dictionaries va defaultdict funksiyalari deyarli bir xil, faqat, defaultdict hech qachon KeyError xatoligini ko'tarmaydi. U Not Present(mavjud emas) qiymatini key uchun default qiymat sifatida beradi.
Quyidagi misolni koʻrib oʻtamiz:
def def_value():
return "Not Present"
d = defaultdict(def_value)
d["a"] = 1
d["b"] = 2
print(d["a"])
print(d["b"])
print(d["c"])
👉 @python_backend_dev👍2
Deque
Deque - Asosiy ma'lumotlar strukturasining har ikki uchidan elementlar ustida append va pop operatsiyasini tez va xotirada samarali usullarini ta'minlash uchun maxsus ishlab chiqilgan.
List bilan deyarli bir xil ishlaydi faqat bazi metodlariga qo'shimcha qo'shilgan (masalan: popleft, appendleft va hokazo) va tezlik jihatdan samaraliroq ishlaydi.
Koʻproq tanishib chiqing: RealPython
👉 @python_backend_dev
Deque - Asosiy ma'lumotlar strukturasining har ikki uchidan elementlar ustida append va pop operatsiyasini tez va xotirada samarali usullarini ta'minlash uchun maxsus ishlab chiqilgan.
List bilan deyarli bir xil ishlaydi faqat bazi metodlariga qo'shimcha qo'shilgan (masalan: popleft, appendleft va hokazo) va tezlik jihatdan samaraliroq ishlaydi.
Koʻproq tanishib chiqing: RealPython
👉 @python_backend_dev
👍3
Forwarded from Fulfil Education
Backend bo'yicha bepul onlayn ochiq darsimizga ro'yxatdan o'ting
— Backend dasturlashni JavaScript, NodeJS orqali tajribali ustozdan noldan mutaxassisgacha o'rganing.
— JavaScript, NodeJS Backend kursimiz haftada 3 marta 2 soatdan onlayn Zoom platformasida 5 oy davomida olib boriladi.
— Kursda Javascript, NPM, NodeJS, ExpressJS, EJS, NestJS, TypeScript, MongoDB, PostgreSql, Socket.io, Telegram-bot , GraphQl o'rgatiladi. Kurs davomida haqiqiy amaliyot va portfolioga ega bo'lasiz.
👉 Agar ushbu backend kursimiz siz uchun qiziq bo'lsa, 14-aprel juma soat 17:00'da bo'lib o'tadigan onlayn 1-darsimizga BEPUL ro'yxatdan o'ting!
🎁 Ochiq darsga ro'yxatdan o'tganlarga sovg'a tariqasida JavaScript asoslari video darsi tekinga taqdim qilinadi, siz ham shoshiling
🌐 BEPUL 1-darsimizga ro'yxatdan o'tish
— Backend dasturlashni JavaScript, NodeJS orqali tajribali ustozdan noldan mutaxassisgacha o'rganing.
— JavaScript, NodeJS Backend kursimiz haftada 3 marta 2 soatdan onlayn Zoom platformasida 5 oy davomida olib boriladi.
— Kursda Javascript, NPM, NodeJS, ExpressJS, EJS, NestJS, TypeScript, MongoDB, PostgreSql, Socket.io, Telegram-bot , GraphQl o'rgatiladi. Kurs davomida haqiqiy amaliyot va portfolioga ega bo'lasiz.
👉 Agar ushbu backend kursimiz siz uchun qiziq bo'lsa, 14-aprel juma soat 17:00'da bo'lib o'tadigan onlayn 1-darsimizga BEPUL ro'yxatdan o'ting!
🎁 Ochiq darsga ro'yxatdan o'tganlarga sovg'a tariqasida JavaScript asoslari video darsi tekinga taqdim qilinadi, siz ham shoshiling
🌐 BEPUL 1-darsimizga ro'yxatdan o'tish
👍1
Fulfil Education
Backend bo'yicha bepul onlayn ochiq darsimizga ro'yxatdan o'ting — Backend dasturlashni JavaScript, NodeJS orqali tajribali ustozdan noldan mutaxassisgacha o'rganing. — JavaScript, NodeJS Backend kursimiz haftada 3 marta 2 soatdan onlayn Zoom platformasida…
Assalomu alaykum barchaga shunchaki ochiq darsga qatnashganiz uchun Javascript asoslari darslari tekinga berilarkan. Bu imkoniyatdan quruq qolmanglar deb buni sizlar uchun ulashdim 🫡
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Kod yozishdagi Junior va Seniorning farqi 😊
Palindrommi yoki palindrom emasligini aniqlash.
Palindrom - ikki tarafdan ham bir xil oʻqiladigan sonlar va matnlarga aytiladi.
👉 @python_backend_dev
Palindrommi yoki palindrom emasligini aniqlash.
Palindrom - ikki tarafdan ham bir xil oʻqiladigan sonlar va matnlarga aytiladi.
👉 @python_backend_dev
👍3💯2
Forwarded from Jakhongir Rakhmonov - IT
Dasturchi sifatida o’sishning eng yaxshi usuli
Bu judda ham oddiy. Qilayotgan ishingizni to’g’ri tanlash kerak. Juda qiyin ish tanlab qo’ysangiz ham, juda oson ish tanlab qo’ysangiz ham ma’lum bir muammolarga duch kelasiz.
Agar qilmoqchi bo’lgan ishingiz juda oson bo’lsa sizda o’sish bo’lmaydi. Chunki bu ishni siz ortiqcha qiyinchiliklarsiz bitira olasiz. Agar juda qiyin bo’lsa esa sizda qiziqish yo’qolib qolish ehtimoli katta bo’ladi. Juda ham qiynalib ketganingizdan bu ishni tashlab qo’yishingiz mumkin.
Shuning uchun ham o’zingizning darajangizdan sal balandroq bo’lgan ish tanlash kerak. Masalan sizning darjangizni “x” deb olsak, qilishingiz kerak bo’lgan ish “x+1” yoki “x+2” darajasida bo’lishi kerak, “x+10” yoki “x-5” emas. Natijada siz o’zingiz qiziqib, izlanib, bilmagan joyingizni o’rganib bu ishni ohirigacha yetkazasiz va sizda progress bo’ladi.
Seniorlar ham mana shu mantiq bilan o’zining jamoasidagi junior yoki middlelarga vazifalar tanlab berishlari kerak. Aynan seniorlar va menejerlar sabab dasturchilar ishdan ketgan holatlar juda ko’p kuzatiladi. “Ha?” desangiz “qiladigan ishlarim yoqmasdi” degan javobni olasiz.
Work smart.
@jakhonrakhmonov
Bu judda ham oddiy. Qilayotgan ishingizni to’g’ri tanlash kerak. Juda qiyin ish tanlab qo’ysangiz ham, juda oson ish tanlab qo’ysangiz ham ma’lum bir muammolarga duch kelasiz.
Agar qilmoqchi bo’lgan ishingiz juda oson bo’lsa sizda o’sish bo’lmaydi. Chunki bu ishni siz ortiqcha qiyinchiliklarsiz bitira olasiz. Agar juda qiyin bo’lsa esa sizda qiziqish yo’qolib qolish ehtimoli katta bo’ladi. Juda ham qiynalib ketganingizdan bu ishni tashlab qo’yishingiz mumkin.
Shuning uchun ham o’zingizning darajangizdan sal balandroq bo’lgan ish tanlash kerak. Masalan sizning darjangizni “x” deb olsak, qilishingiz kerak bo’lgan ish “x+1” yoki “x+2” darajasida bo’lishi kerak, “x+10” yoki “x-5” emas. Natijada siz o’zingiz qiziqib, izlanib, bilmagan joyingizni o’rganib bu ishni ohirigacha yetkazasiz va sizda progress bo’ladi.
Seniorlar ham mana shu mantiq bilan o’zining jamoasidagi junior yoki middlelarga vazifalar tanlab berishlari kerak. Aynan seniorlar va menejerlar sabab dasturchilar ishdan ketgan holatlar juda ko’p kuzatiladi. “Ha?” desangiz “qiladigan ishlarim yoqmasdi” degan javobni olasiz.
Work smart.
@jakhonrakhmonov
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Assalomu alaykum barchaga salomatmisizlar. Kanalning yangi profil rasmiga fikrlaringizni izohda qoldiring 👇
Yoki qaysi biri maʼqulroq scrn qilib izohda qoldiringlar 🙂
👉 @python_backend_dev
Yoki qaysi biri maʼqulroq scrn qilib izohda qoldiringlar 🙂
👉 @python_backend_dev
👍3
Nested Serializers in DRF
Bizda ikkita Author va Book modellari mavjud va ikki modeldan daraxtsimon(yoki ichma-ich deymizmi) API chiqarish kerak, bu quyidagicha amalga oshiriladi.
Misol uchun bitta authorga bir nechta kitob tegishli bo'lishi mumkin. Yoki boshqa bi misol, bir xil xarakteristikali bir necha brendli telefon va kompyuterlarni olish mumkin.
Book model:
Bizda ikkita Author va Book modellari mavjud va ikki modeldan daraxtsimon(yoki ichma-ich deymizmi) API chiqarish kerak, bu quyidagicha amalga oshiriladi.
Misol uchun bitta authorga bir nechta kitob tegishli bo'lishi mumkin. Yoki boshqa bi misol, bir xil xarakteristikali bir necha brendli telefon va kompyuterlarni olish mumkin.
Book model:
class Book(models.Model):
# relations
author = models.ForeignKey(Author, on_delete=models.CASCADE, related_name='books')
# ...
from rest_framework import serializers
from .models import Author, Book
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = ['id', 'title', 'publication_date', 'is_published']
class AuthorSerializer(serializers.ModelSerializer):
book = BookSerializer(source='books', many=True, read_only=True)
class Meta:
model = Author
fields = ['id', 'name', 'email', 'book']
Savollar boʻlsa izohga marhamat 👇
👉 @python_backend_dev👍3
Forwarded from Jakhongir Rakhmonov - IT
Mutaxsis sifatida o’sishning eng yaxshi usuli
2019chi yildan men “Building Your Own Python Web Framework” degan kurs chiqargan edim. Uning ustida tahminan 2 oycha ishlaganman. Shu paytgacha $10000 dan ortiq daromad olib kelgan. Katta pul emas, lekin juda yoqimli pul, passiv bo'lgani uchun. Bir uhlab tursangiz cho’ntagingizda $50 paydo bo'lib qolsa kimga yoqmaydi?
Bu kurs yozishdan oldin menda frameworklar yozishda umuman tajribam bo'lmagan. Qanday uddalaganman aytaymi? Ko'chirganman. Ha, to'g'ri o'qidingiz, ko'chirganman.
O'zimga yoqqan 3-4ta frameworklarning kodini o'rganib chiqqanman. Qanday ishlashini ko'rib chiqqanman. Birinchisidan ozgina ko'chirganman, ikkinchisidan ozgina ko'chirganman va hokazo. O’zim oz-moz o'zgartirishlar kiritganman. Hammasini birlashtirib shu kursni qilganman. Natijada bilimim oshgan, qolganlarga foydali bo'lgan, cho'ntakka ham foydali bo'lgan.
Siz ham ko'chiring.
Yaxshi dastruchi bo’lmoqchimisiz, siz bilgan yaxshi dasturchi qilgan ishlarni ko’chiring. Python o’rganyapsizmi, yaxshi yozilgan Python kodini topingda, ko’chiring. Django o’rganyapsizmi, yaxshi yozilgan Django loyihani topingda, ko’chiring.PHP o’rganyapsizmi, yaxshi fermer tanishingiz qilayotgan ishlarni ko’chiring.
Yetarlicha ko’chirdingizmi? Darajangiz oshganini sezyapsizmi? Keyingi qadam: kichik o’zgartirishlar kiriting. Qilgan ishingizni u yeriga tegib ko’ring, bu yeriga tegib ko’ring. O’zgartiring. Freestyle qiling. Tutoriallardan, kitoblardan tashqariga chiqing.
Shu qadamlarni yetarlicha qilganing. Tabriklayman, sizning unvoningiz endi Senior Copy Cat Developer. Hazil albatta. Lekin darajangiz oshgani aniq.
@jakhonrakhmonov
2019chi yildan men “Building Your Own Python Web Framework” degan kurs chiqargan edim. Uning ustida tahminan 2 oycha ishlaganman. Shu paytgacha $10000 dan ortiq daromad olib kelgan. Katta pul emas, lekin juda yoqimli pul, passiv bo'lgani uchun. Bir uhlab tursangiz cho’ntagingizda $50 paydo bo'lib qolsa kimga yoqmaydi?
Bu kurs yozishdan oldin menda frameworklar yozishda umuman tajribam bo'lmagan. Qanday uddalaganman aytaymi? Ko'chirganman. Ha, to'g'ri o'qidingiz, ko'chirganman.
O'zimga yoqqan 3-4ta frameworklarning kodini o'rganib chiqqanman. Qanday ishlashini ko'rib chiqqanman. Birinchisidan ozgina ko'chirganman, ikkinchisidan ozgina ko'chirganman va hokazo. O’zim oz-moz o'zgartirishlar kiritganman. Hammasini birlashtirib shu kursni qilganman. Natijada bilimim oshgan, qolganlarga foydali bo'lgan, cho'ntakka ham foydali bo'lgan.
Siz ham ko'chiring.
Yaxshi dastruchi bo’lmoqchimisiz, siz bilgan yaxshi dasturchi qilgan ishlarni ko’chiring. Python o’rganyapsizmi, yaxshi yozilgan Python kodini topingda, ko’chiring. Django o’rganyapsizmi, yaxshi yozilgan Django loyihani topingda, ko’chiring.
Yetarlicha ko’chirdingizmi? Darajangiz oshganini sezyapsizmi? Keyingi qadam: kichik o’zgartirishlar kiriting. Qilgan ishingizni u yeriga tegib ko’ring, bu yeriga tegib ko’ring. O’zgartiring. Freestyle qiling. Tutoriallardan, kitoblardan tashqariga chiqing.
Shu qadamlarni yetarlicha qilganing. Tabriklayman, sizning unvoningiz endi Senior Copy Cat Developer. Hazil albatta. Lekin darajangiz oshgani aniq.
@jakhonrakhmonov
👍5
Search query in Django
views.py faylga quyidagi funksiyani yozamiz
So'rovning search_results.html sahifada chiqishi:
views.py faylga quyidagi funksiyani yozamiz
from django.db.models import Q
from django.shortcuts import render
from myapp.models import MyModel
def my_view(request):
query = request.GET.get('q')
if query:
instances = MyModel.objects.filter(
Q(titleicontains=query) | Q(descriptionicontains=query)
)
else:
instances = MyModel.objects.none()
context = {'instances': instances}
return render(request, 'search_results.html', context)
index.html da GET usuli bilan forma:<form method="get">
<input type="search" name="q" />
<button type="submit">Search</button>
</form>
So'rovning search_results.html sahifada chiqishi:
{% if instances %}
<ul>
{% for instance in instances %}
<li>{{ instance.title }}</li>
{% endfor %}
</ul>
{% else %}
<p>No instances found.</p>
{% endif %}
👉 @python_backend_dev👍6🔥1
Qiziqarli masala
Funksiyalar bilan ishlash qobilyatingizni tekshirgan holda javobingizni izohda qoldiring 👇🏻
👉 @python_backend_dev
Funksiyalar bilan ishlash qobilyatingizni tekshirgan holda javobingizni izohda qoldiring 👇🏻
👉 @python_backend_dev
👍6
Dataclasses modulining dataclass metodi
dataclass - dekorator hisoblanib, faqat ma'lumotlar qiymatlarini saqlash uchun mo'ljallangan sinfdir. dataclass oddiy classdan deyarli farq qilmaydi, faqat bunda oddiy classga qaraganda init, repr, str va boshqa metodlari oldindan mavjud, ularni qaytadan yozish talab etilmaydi.
Eslatma: Bu modul faqat Python 3.7 va undan yuqori versiyalarda ishlaydi.
Ko'proq tanishib chiqish uchun manbalar: DATAQUEST RealPython
👉 @python_backend_dev
dataclass - dekorator hisoblanib, faqat ma'lumotlar qiymatlarini saqlash uchun mo'ljallangan sinfdir. dataclass oddiy classdan deyarli farq qilmaydi, faqat bunda oddiy classga qaraganda init, repr, str va boshqa metodlari oldindan mavjud, ularni qaytadan yozish talab etilmaydi.
Eslatma: Bu modul faqat Python 3.7 va undan yuqori versiyalarda ishlaydi.
Ko'proq tanishib chiqish uchun manbalar: DATAQUEST RealPython
👉 @python_backend_dev
👍6