Davronbek SWE 🪐
935 subscribers
578 photos
113 videos
66 files
446 links
- Loyihalardagi xatoliklar va ularni xal qilishdagi ba'zi tavsiyalarni ulashib boraman.

Don't be shy, say hi 👋 | @firdavs_dev | davronbekdev.uz
Download Telegram
MALUMOTLAR_BAZASINI_LOYIHALASH (1).pdf
333.3 KB
SQLda uzb contentda biroz izlanish qilayotgan edim. 📕

Shu yerda turib tursin arxiv bulib kerak buladi.

P/s uzizda bor DBga oid uzb content bulsa comentda qoldirishingiz mumkin 👇
Optimize Django response time.

Erta tongdan miya qabul qilish darajasi yuqori buladi deyishar edi. 🤓 📈

More: https://youtu.be/vYWPnzhDpTo

* https://youtu.be/qDyxmgWkjvI
* https://youtu.be/a-sfr6y_hY8
* https://youtu.be/XXG-ESzB9Q8
* https://youtu.be/7CEsc-GgLyg
#useful_tip (2016)

Things You Must Know About Django Admin As Your App Gets Bigger

p/s Eski article bulishi mumkin lekin ko'p narsalar uncha o'zgarishlar yo'q hozirgi versiyalarda

More: https://hakibenita.com/things-you-must-know-about-django-admin-as-your-app-gets-bigger
Forwarded from JR TwitGram 🥂
Dasturlash bo'yicha savol-javob kodeksi.pdf
11.1 MB
Mohirdevdagilar Dasturlash bo’yicha savol javob kodeksini ishlab chiqishgan ekan. Ayniqsa endi o’rganayotganlar uchun foydali
“Happy Eid” 🌙🎉

Assalomu alaykum
Ramazon hayiti muborak bo'lsin do’stlar! Qilgan duolarizni, tutgan ro’zalaringizni alloh qabul qilsin. 🤲

Dam olish kunlardan unumli foydalangan holda yangi texnalogiyalar o’rganib ular ustida amaliyot qilshda davom etamiz
📚

#happy_eid
Python + Kafka video 🔥

Kafka orqali uz loyhalarizga producer va consumerlar yaratish orqali performance sezilarli darajada tasir o’tkazishingiz mumkin bo’ladi 🤓

More: https://youtu.be/qi7uR3ItaOY
Redis caching(keshlash)ni loyiha optimizatsiya qilishda o’rni beqiyos. Redis to’g’ri sozlansa, foydalanuvchi so’rov yuborganda, so’ralgan ma’lumotni nechadir soniyalarda emas, millisoniyalarda taqdim etsa bo’ladi. Ammo doimgidek to’g’ri sozlashni ham bilish kerak.

Caching (keshlash) ishlatayotganda juda ehtiyotkor bo’lib ishlating. Avvalo u sizga qanchalik zarur va dasturning aynan qaysi qismlariga ishlatmoqchisiz, shuni aniqlab oling. Cachingni har bir foydalanuvchiga alohida ma’lumot yuboruvchi endpointlarga qo’llash unchalik ham to’g’ri ish emas, agar to’g’ri sozlay olmasangiz foydalanuvchi so’ragan ma’lumotni emas, boshqa ma’lumotni jo’natib qo’yishingiz ham mumkin.

Barchaga umumiy bo’lgan ma’lumotlar uchun, bir muncha vaqt oladigan murakkab hisob kitobni talab qiladigan sahifalar va sekinroq javob qaytadigan tashqi API larga bog’langan qismlarga Caching ishlatish ish unumdorligini oshirib, javob qaytish vaqtini karrasiga kamaytirib beradi.

Cache Invalidation ni to’g’ri sozlang. Bu eski ma’lumotlarni keshdan o’chirib tashlash jarayoni. Caching ishlatganda, qanchadir muddatdan so’ng keshlangan ma’lumot o’chib ketishini ta’minlash uchun expiration time (yaroqlilik muddatini) belgilang. Aks holda eski ma’lumotni foydalanuvchiga yuborishingiz mumkin va eski keshlangan ma’lumotlar yig’ilib, xotiradan unumli foydalanishingizga to’sqinlik qiladi.

Expiration time ham eng ideal yechim emas, misol uchun siz har 25 daqiqada keshlangan ma’lumotni o’chirib tashlaydigan qilgansiz, lekin ma’lumotlar bazasida siz cachingda ishlatgan Model(DB table) yangilandi yoki biror bir ma’lumot o’chirib tashlandi va tabiiyki sizning kesh xotirangiz bu aks etmaydi. Buni oldini olish uchun esa Django signal dan foydalanishni tavsiya qilaman. Post_save va post_delete signallari orqali kerakli modellarni ulab, ular o’zgargan vaqtda redis cachingni o’chirib tashlaydigan funksiya yozsangiz bo’ladi.

@receiver([post_save, post_delete], sender=Products)
def
product_invalidate_cache(sender, instance, **kwargs):
cache_key = {'
product_key’: str(instance.id)}
cache_key_str = json.dumps(cache_key)
redis.delete(cache_key_str)


Caching ni to’g’ri sozlay olsangiz, sizga judayam katta foydasi tegishi aniq
Handling a Million Tasks in Django: Efficient Prioritization with Celery, Redis, and Flower

More:
https://medium.com/@srinivasaravind5/handling-a-million-tasks-in-django-efficient-prioritization-with-celery-redis-and-flower-b06fc8957d5
Medium ilovasidan foydalanishingiz maslahat berar edim, juda ko’plab ajoyib maqolalarni topishingiz mumkin. 📚

Mediumda ‘Reading List’da uzimga o’qigan va o’qiyotgan barcha maqolalarni jamlamoqdaman: ⬇️

https://medium.com/@davrondev/list/predefined:f5289fbfd4e8:READING_LIST 🔗
Forwarded from PyNotes
#Django_ORM #filters
Subquery

Django allows using SQL subqueries. Let’s start with something simple, We have a UserParent model which has OnetoOne relation with auth user. We will find all the UserParent which have a UserParent.

from
django.db.models import Subquery
users = User.objects.all()
UserParent.objects.filter(user_id__in=Subquery(users.values('id')))

#source
https://books.agiliq.com/projects/django-orm-cookbook/en/latest/subquery.html
Forwarded from Malikov | Blog | Notes
Software Engineering at Google.pdf
7.5 MB
Software Engineering at Google

@malikovdev
Resume tayorlashingizda oneapp.ly va linkedin.com saytidagi classic template mode #recommendation qilgan bular edim :)

More: https://old.mohirdev.uz/yaxshi-resume/ 🇺🇿

#resume
Docker Container Backup/Restore Guide

p/s Bugungi kundagi "Stellar job" bu databse qayta tiklash buldi 🥶.

Loyhalarda DataBase muhum hisoblaniladi shu bois undan buckuplar olib turish kerak (avto)

More: https://simplebackups.com/blog/docker-container-backup-restore-guide/
* Dockerdan loyhalarimizda build time kamaytirish maqsadida cache management ishlatar edik va 100GB serverimizda No Space error bulib qolgan edi🚀

*
docker system df
- commandasi orqali build cache 80GB bulib ketgani kurgan edik🥶

💡 Bu algorithmlar qoidasi kabi: Tezlik ko'proq memory talab qiladi, Kamroq memory esa ko'proq vaqt

Build cache tozalash uchun:
docker builder prune

commandasi (volumelada backup olib quyganiz ham maqul) 🧹

p/s CI/CD buyicha serverda faqat docker-compose.yml file turishi kerak u imagelarni dockerHubdan tortib image uzini qayta up qilishi kerak holos

None image larni tozalash uchun:

docker rmi -f $(docker images | grep "<none>" | awk "{print \$3}")


More: https://medium.com/@iceburn/remove-docker-build-cache-3eca3d44dbb3

https://docs.docker.com/build/cache/

https://lipanski.com/posts/speed-up-your-docker-builds-with-cache-from 🔥 (optimize )
Xa bugun shanba dam olish - (lazy day) ammo serverda kutilmagan error tufayli tasklar girdobida qoldik 😐

p/s Maslahatim 1haftalik yangi featurelarni juma kuniga production ga deploy qilmang 🥲
LINKS TO LEARN DEVOPS


1) Linux :
Basic Linux commands are necessary before jumping into shell scripting.

* https://lnkd.in/dBTsJbhz
* https://lnkd.in/dHQTiHBB
* https://lnkd.in/dA9pAmHa

2. Shell Scripting:

* https://lnkd.in/da_wHgQH
* https://lnkd.in/d5CFPgga

3. Python: This will help you in automation

* https://lnkd.in/dFtNz_9D
* https://lnkd.in/d6cRpFrY
* https://lnkd.in/d-EhshQz

4. Networking

* https://lnkd.in/dEmZ8zhY
* https://lnkd.in/dqTx6jmN
* https://lnkd.in/dRqCzbkn

5. Git & Github

* https://lnkd.in/d9gw-9Ds
* https://lnkd.in/dEp3KrTJ

6. YAML
https://lnkd.in/duvmhd5X
https://lnkd.in/dNqrXjmV

7. Containers — Docker:

* https://lnkd.in/dcKuY4j5
* https://lnkd.in/dY2ZswMZ
* https://lnkd.in/d_EySpbh
* https://lnkd.in/dPddbJTf

8. Continuous Integration & Continuous Deployment (CI/CD):

* https://lnkd.in/dMHv9T8U

9. Container Orchestration — Kubernetes:
* https://lnkd.in/duGZwHYX

10. Monitoring:

* https://lnkd.in/dpXhmVqs
* https://lnkd.in/dStQbpRX
* https://lnkd.in/de4H5QVz
* https://lnkd.in/dEtTSsbB

11. Infrastructure Provisioning & Configuration Management (IaC): Terraform, Ansible, Pulumi

* https://lnkd.in/dvpzNT5M
* https://lnkd.in/dNugwtVW
* https://lnkd.in/dn5m2NKQ
* https://lnkd.in/dhknHJXp
* https://lnkd.in/ddNxd8vU

12. CI/CD Tools: Jenkins, GitHub Actions, GitLab CI, Travis CI, AWS CodePipeline + AWS CodeBuild, Azure DevOps, etc

* https://lnkd.in/dTmSXNzv
* https://lnkd.in/dAnxpVTe
* https://lnkd.in/daMFG3Hq
* https://lnkd.in/dqf-zzrx
* https://lnkd.in/diWP7Tm7
* https://lnkd.in/dYDCSiiC

13. AWS:

* https://lnkd.in/dmi-TMv9
* https://lnkd.in/de3-dAB6
* https://lnkd.in/dh2zXZAB
* https://lnkd.in/dQMyCBWy


14. Learn how to SSH
SSH using mobaxterm:

* https://lnkd.in/gx-T_FU8

15. SSH using Putty :

* https://lnkd.in/gGgW7Ns9


HAPPY LEARNING 📌

From: Source

@saidamins_blog🏴
Djangoda powerful ORM and query capabilities built-in:

❇️ Case...
When

Qachon
: Book degan databasedagi faqat “categoriyasi Romance bulganlarga 20% chigirma bulsin, Historical categorysidagi kitoblarga 35% chegirma elon qilinayotganda ishlatishingiz mumkin (example)

Qanday? 😐
from django.db.models import F, Q, Value, When, Case
from decimal import Decimal
books = Book.objects.annotate(discounted_price=Case(
When(category="Romance", then=F("price") * Decimal(0.95)),
When(category="Historical fiction", then=F("price") * Decimal(0.8)),
default=None
))

Nega
:🤔
For
gets filtered data from database quickly 🚀


More: https://juhanajauhiainen.com/posts/advanced-django-queries
Vaqt kerak

Oldinlari "vaqt" muammo edi hozir esa uni "to'g'ri sarflash".

Biz vaqtim yo'q iborasini ishlatamiz aslida esa noto'g'ri. Vaqt doim bo'lgan.

Uxlash, yeyish, dam olish, kitob o'qish, ishlash uchun topilayabdiku.

Vaqtni topishdan ko'ra to'g'ri sarflash qiyinroq muammo deb bilaman.

Instagramga ketadigan vaqtingizni o'sha ishlarga sarflang.

Vaqtingizni bekorchi o'g'irlaydigan ishlardan o'zingizni chetlating.

Doim oldinda bo'ling. Ustozingiz 1-mavzuda bo'lsa siz 3-mavzuda bo'ling.

Internet rivojlangan davrda oldinda yurish muammo emas qidirmaslik muammo.

Vaqt doim topilgan va topiladi. Ammo uni sarflash uchun qobilyat va matonat kerak.

Manba: @otabeknurmatov_1