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
Forwarded from PHP KODLAR (Адхамбек Қиличев !)
ovoz_open.zip
16.7 KB
Openbudget bot kodi ishlaydi 100%ishlaydi yangi kod asosiy fayl va webhook qilinadigan fayl -> hook.php

demo: @openbudjetuzbot

Manba: @PhpMasterlarUz & @Adhambec
Using Asyncio in Python

Автор:
Caleb Hattingh
Год издания: 2020

#python #english

Скачать книгу

Статьи и задачи по Python - ТУТ
Forwarded from Shukhrat Utaboev | Blog
To'g'ri javob yo'q, if ichidagi kod ishlamaydi.

Bunga asosiy sabab barcha dasturlash tillarida hisob kitoblar binary holatda amalga oshiriladi. Masalan 6 soni 110 (ya'ni 0*2^0 + 1*2^1 + 1*2^2) ko'rinishida bo'ladi va shu ko'rinishdaligida ustida amallar bajariladi.

Yuqoridagi holatni endi ko'rib chiqamiz. Decimal sonlarni binary ko'rinishga o'tkazish unchalik ham murakkab emas. Buni google orqali tezda tushinib olishingiz mumkin.

0.2 = 0.00110011001100110011...

0.3 = 0.01001100110011001100...

Ikkala chiqqan binary sonlarni qo'shamiz.

0.00110011001100110011...
+ 0.01001100110011001100...
= 0.01111111111111111111...

0.5 ni ham binaryga o'tkazsak 0.1 qiymat olamiz.

0.1 > 0.01111111111111111111... .

Ko'rib turganimizdek 0.5 ning qiymati 0.2 + 0.3 nikidan juda kam miqdorda katta.

Orqaga qaytamiz. 0.1 ni decimalga o'zgartiramiz 0*2^0 + 1*2^-1 = 0.5.

0.011111111111111... ni qaytarsak 0*2^0 + 0*2^-1 + 1*2^-2 + 1*2^-3 + 1*2^-4 + 1*2^-5 + ... - "natija"si 0.5 ga teng cheksiz kamayuvchi geometrik progressiya. Kompyuterda esa cheksiz degan tushuncha yo'q, o'zgaruvchiga hotirada qancha joy ajratilgan bo'lsa shuncha aniqlikda hisoblaydi. Misol tariqasida verguldan keyingi 20ta raqam hotiraga sig'di deb hisoblasak 0.01111111111111111111 ni decimalga aylantiramiz, natija esa 0.499999046 chiqadi (aslida bundan ancha aniq ishlaydi).

0.5 ≠ 0.499999046

Bu holat floating point error deb ataladi.

Shu yergacha kelgan bo'lsangiz yana bitta savol 0.2 + 0.3 == 0.1 + 0.4 ning natijasi nima bo'ladi?

#math

@shukhratutaboev
This media is not supported in your browser
VIEW IN TELEGRAM
Dasturchilar uchun manitor hajmi qanchalik muhum? 🤔

Bazi holatlarda katta (34<) manitorlarda ko’z oynaklarsiz ko’p vaqt qolib ketish sog’liq uchun sezilarli darajada hafvli hisoblanadi. 🖥

Shaxsan menga 14 ekranli m2 16/512 MacBookPro uzi yetarli hisoblanadi. 😌

2, 3 ekranga esa qachongi haqiqatda ehtiyoj sezila boshlaganidagina foydalangan maqul va bu sizning foydali ish koefsintizga ijobiy ta’sir kursatadi shu vaqtda siz kuplab oynalar ochiq holatda va ko’p foydalaniladi. 📊

Meni uzimda har doim ochiq turadigan dasturlar VS code, chrome, telegram, PostMan bulardan kunlik ish davomida judda kup marotaba foydalanamiz 🗓
EPAM kabi companylarda interview jarayonida suralish ehtimoli mavjud bo’lgan mavzular (sinior akalar tavsiyasi 😉)

VCS - git merge vs git rebase
Docker, Conterinization - Image, Container, Volume
WEB - REST API, Django architecture
DataBase - Index , Inner Join
CI/CD
Python Types and Operations - Dictionaries, is vs ==, mutable vs immutable, copy vs deepcopy
Algorithms - Complexity
Functions in Python
Memory managemen - Ref counting
Multitasking - GIL, Thread vs process
OOP in Python - Encapsulation, Data hiding


1. Dictionaries in depth. Hash, hash function and its properties. Hashing vs. encrypting. Good reference material on how dictionaries work:https://stackoverflow.com/questions/327311/how-are-pythons-built-in-dictionaries-implemented
2. Decorators in depth. To see into what is decorator is and how it works. How to decorate function without using '@'. The same for parametrized decorators.(https://realpython.com/primer-on-python-decorators/)
3. Figure out how does inheritance in Python work. What is diamond problem. What is MRO. Difference between New Style Classes and Old Style Classes. C3 algorithm. Be able to calculate MRO of large inheritance tree on blackboard or paper(https://blog.pilosus.org/posts/2019/05/02/python-mro/).
4. reference counting (https://towardsdatascience.com/understanding-reference-counting-in-python-3894b71b5611)
5. Garbage collecting in python (https://pythoninternal.wordpress.com/2014/08/04/the-garbage-collector/)
6. Figure out what is scope and how LEGB rule works. (https://python-scripts.com/scope )
7. Algorithms complexity - https://introprogramming.info/english-intro-csharp-book/read-online/chapter-19-data-structures-and-algorithm-complexity/
8. Data hiding - https://www.upgrad.com/blog/data-hiding-in-python/#:~:text=Data%20hiding%20in%20Python%20is,and%20hides%20them%20from%20users.
9. Python GIL (http://www.dabeaz.com/GIL/)

I can suggest to take a look at this books:

* "Clean Code: A Handbook of Agile Software Craftsmanship" (Robert C. Martin )
* "Clean Architecture: A Craftsman's Guide to Software Structure and Design" (Robert C. Martin )
* "Clean Coder, The: A Code of Conduct for Professional Programmers " (Robert C. Martin )
Python:
* Programming Python ( Mark Lutz )
* "Learning Python" by Mark Lutz
* "Python Cookbook" by Brian Jones, David Beazley
* "Fluent Python" by Luciano Ramalho
More complex books:
* "Python Tricks: The Book A Buffet of Awesome Python Features" (Den Baden)
* "Clean Code in Python: Refactor your legacy code base" (by Mariano Anaya)
* "CPython Internals" (Anthony Shaw)

linkedin courses:
* https://www.linkedin.com/learning/effective-serialization-with-python/serialization-with-python
* https://www.linkedin.com/learning/python-parallel-and-concurrent-programming-part-1/learn-parallel-programming-basics
*https://www.linkedin.com/learning/python-parallel-and-concurrent-programming-part-2/learn-parallel-programming-basics?u=2113185
*https://www.linkedin.com/learning/python-code-challenges/put-your-python-skills-to-the-test?u=2113185»


@davron_dev
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 )