Davronbek SWE 🪐
936 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 Abduaziz π
⁉️ Samaradorlik: "N+1" muammosi

ORM
ning "buyuk" qudrati sababli N+1 muammosiga duch kelishimiz mumkin. Har xil atamalar bilan boshingizni qotirmayman: N+1 muammosi bu 1ta so'rov bilan amalga oshirilishi mumkin bo'lgan ishni N ta so'rov bilan bajarish.

1-rasmda ma'lumotlar omborining modelini ko'ring, sinov uchun 10 000 ta obyekt yaratib qo'ydim.

Barcha "bratlar"ni faqat ismi va yoshi kerak bo'lsin. Katta ehtimol bilan Brat va Info o'rtasidagi munosabatdan foydalanib, 2-rasmdagi usuldan foydalanamiz. Muammosi nima buni desangiz (3-rasm), 10 001 ta so'rov 🔥 Barcha Bratlarni ro'yxati uchun 1ta so'rov (N ta obyekt), for tsikl ichida munosabatdan foydalanib yoshini olish uchun N ta qo'shimcha so'rov va jami N+1 ta so'rov ketyapdi !

Optimallashtirish: select_related metodi argumentiga aynan qaysi "field"lar kerak ekanligini yuborasiz, muammo hal (4-rasm) va 1 ta so'rov yuboriladi (5-rasm, ~1380 marta tezlashdi).

SQLda qilinishi shart bo'lgan ish uchun pythonni zo'rlamang.

👋 Yaqinlarga ulashing.

@AbduazizPy
Forwarded from Bekzod's Blog (Bekzod 👨‍💻)
Select_related and prefetch_related are both methods in Django that can be used to improve the performance of queries by fetching related data from the database in a single query.

Select_related works by performing a join on the database table when the query is executed. This means that all of the related data is returned in a single query, which can improve performance if the related data is large. However, select_related can only be used if the relationship between the two models is a one-to-one or one-to-many relationship.


Prefetch_related works by fetching the related data in a separate query after the initial query has been executed. This means that the related data is not returned in the initial query, but it is available when it is needed. Prefetch_related can be used for any type of relationship, but it is most useful for many-to-many relationships.

More informations
This media is not supported in your browser
VIEW IN TELEGRAM
Bazida yosh avlodga, tanishlarga dasturlashni o’rganishni tavsiya berishga o'ylanib qolaman 🤔

- Nega ? 🤔

p.s Yaqin 2, 3 yil ichida uzbekiston bozorida dasturchilar soni sezilarli darajada oshdi va usha vaqtlarda junior uchun quyilgan talab hozirda junior dasturchidan suralayotgan talablarda kam bo’lgan. Hozirda o’quv markazni tugatib, video darsliklar kurib ishga topshirish kelganda qiyinchiliklar yuzaga keladi. Bu vaqtni ‘depression time’ deb ham atasak bo’ladi. Shu depretsiyani yengib o’tganlargina AT da o’z kareryasini muvaffaqiyat qo'ra olishi mumkin.

Never give up 🚀


📍 PDP academy (10 sentabr 2023)
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
"Tabriklations" 🎉

Happy programmers' day🥳🤩

Hayotdan zavqlanishni ham esdan chiqarmang. (bayram bayramdek o’tsin) 😉

Bayram muborak, o'rtoq programmistlar 🎉👨‍💻

@davron_coder
.
Please open Telegram to view this post
VIEW IN TELEGRAM
Bundan 3yilchalar oldin ilk ishxonada stajor sifatida ishga olinayotgan vaqtimda ‘Core Python, OOP, va algorithm masala’ interview qilishgan edi. 🤓

Esda qolarli Algorithm masala bo’lgan edi pythoni o’rganganiga endi 3oy bo’lgan dasturchi sifatida manga, hozirgacha man ham ishga topshirayotganlardan shu algorithm masalaga yechim berishlarni surayman interviewlarda 😌

Masala oddiy:

N gacha bo’lgan tub sonlar ruyhatini qaytarib beradigan funksiya tuzub berish.
Input: 10
Output: [2,3,5,7]

P.s Izohda man usha vaqtdagi interviewda yozib bergan codimni va hozirda biroz optimize qilgan varyantini qoldiraman (
siz ham o’z varyantizni google search qilmasdan qoldirishga harakat qiling)🔽👇
Please open Telegram to view this post
VIEW IN TELEGRAM
So’ngi 2 oy stresslarga boy o’tdi 🤯

Berilgan loyha hajmi kattaroq edi.

Bunga:

- Machine Learning - model train qilish
- FastAPI da ko’targan microserviceni refactoring qilish o’rniga GO’da qayta yozib chiqish
- Bazaga hitlarni kamaytirish uchun soft SQL surovlar yozish
- M.U.N.I.S kabi boshqa davlat loyhalari biLan integrasiyalash
- Search tezlashtirish maqsadida Elastic Search ishlatish
- Admin role uchun esa VueJs'da Frontent qismini ishlab chiqish
- Va boshqalarga …

majbur bo’ldim …🤦‍♂️

Shu faqat Jiramda biroz tasklar qoldi (DB sharding, Docker Swarm)

Natijada esa o’qiyman deb saqlab qo’ygan kitoblarim va video darslarim ham tuxtab qoldi 😕

Xullas loyha uchun deadline belgilanilayotganda etiborli bo’lishimiz zarur 😑

P.s Loyhani MVP qilib topshirishim bilanoq Ochiq tabiat quynida sizlar bilan picnic 🧺 qilish niyat qilib quydim. Insha’Allah)

Keladiganlar bormi ?
👇 🙃
In this tutorial, you’ll learn how to:

* Run Python threads in parallel on multiple CPU cores
* Avoid the data serialization overhead of multiprocessing
* Share memory between Python and C runtime environments
* Use different strategies to bypass the GIL in Python
* Parallelize your Python programs to improve their performance
* Build a sample desktop application for parallel image processing

More: https://realpython.com/python-parallel-processing/

p.s Bar bir bazilarda bu mavzularda tushunmovchiliklar, ikkilanishlar bo'lmoqda 'Deep dive' qilib ko'rish zarur ... (Junior-Middle Interview results ... )
New (blue button) ⌨️ 😌

Shu sal ovozi shovqinli ekan 🥲 ishxonada ishlatib bo’lmayapti, ko’nikish ham qiyinro bo’lmoqda ….

Qanday keyboard maslahat bera olasizlar boshqa tovushi uncha baland bo’lmagan 🤷‍♂️

More: https://geekboards.ru/page/mechanical_switches_v2
Please open Telegram to view this post
VIEW IN TELEGRAM
#savol

Juniorlar dan Docker bilan ishlay olish tajribasini(ko'nikma) talab qilish qanchalik to'gri deb uylaysiz ?

More: https://awstip.com/dockerizing-django-effortless-deployment-with-postgres-nginx-and-gunicorn-2584c39adcf3
Forwarded from ULUSHAHIVE (УЛУША)
“Lets Crack It!” bir oylik challengining summarysi:

Har bir haftada bitta mavzu tanlanib, shu mavzuga doir 6 tadan masala ishlandi va live video editorial ko'rinishida tushuntirib berildi.


Week 1 - Dynamic Programming I
-> Edit Distance
-> Best Time to But and Sell Stocks II
-> Potions
-> Min Jumps Array
-> Rod Cutting
-> Word Break

Week 2 - Graph Theory
-> Largest Distance Between Nodes of a Tree
-> Clone Graph
-> Water Flow
-> Convert Sorted Tree to a Binary Search Tree
-> Capture Regions on a Board
-> Word Ladder

Week 3 - Binary Search
-> Search for a Range
-> Painter’s Partition Problem
-> Median of Array
-> Allocate Books
-> Implement Power Function
-> Find a Peak Element

Week 4 - Dynamic Programming II
-> Intersecting Chords in a Circle
-> Distinct Subsequences
-> Longest Valid Parentheses
-> Repeating Subsequence
-> Submatrices With Sum Zero
-> Increasing Path in Matrix


Foydali deb topsangiz, do’stlaringiz va yaqinlaringizga ulashing! 😉

👉 @Code_With_Ulugbek 👈
Pythonchilar uchun kechga tinglash uchun podcast: 🎧

https://youtu.be/-DVyjdw4t9I?si=3z-ySV3X9I0R0XLI
This media is not supported in your browser
VIEW IN TELEGRAM
Va nihoyat dam olish kunidamiz 🎉

Endi mazza qilib, o’z ustimizda ishlashi tuxtatib quymasdan dars qilsak ham bo’ladi 🥲


Git bilan ishlashni takrorlab olamiz. Interviewlarda tushgan (man ham ko’p suraydigan) savolardan bu.

* https://youtu.be/zOnwgxiC0OA?si=PJl4V1oiRtsNnjKm
* https://youtu.be/Uszj_k0DGsg?si=-ncuOBBhaE231NC0
* https://youtu.be/TLB5MY9BBa4?si=jPDIKeBzNynEzsVk (github actions)

P.s Maqoladan o’qib o’rgansak ko’proq foydali bo’ladi. O’zizda bor Git haqida foydali linklarni qoldiring siz ham 👇

(‘Tutorial hell’ bo’lib qolmang!!!)
Please open Telegram to view this post
VIEW IN TELEGRAM
#Savol

Sizda bir necha pdf formatidagi filelar va ichida malumotlari mavjud.

example:
* devops_names.pdf (10_000_000 pages)
* programmers_names.pdf (100_000_000 pages)


Vazifa shundan iboratki agar user John deb qidirganida barcha faylardan John qatnashgan page raqamlar qaytaradigan search engine qilish.

Example:
Input: John Washington
Output:
[
{
pdf_name:[ page_no1, page_no2]
},

{
devops_names:[
12, 854]
},

]
Python/JS Middle dasturchi (FULL TIME/FULL STACK)

Kompaniya:
O'simliklar karantini va himoyasi agentligi.
Axborot kommunikatsiya texnologiyalari boshqarmasi.

Oylik Maosh: +15 000 000 so'm (Davlat tashkiloti)
Ish vaqti: Dushanbadan – Jumagacha 9:00 – 18:00
Ish joyi: Toshkent shahar(office)

Talablar:
- SQL so'rovlarini yozish, RDBMS bilan ishlash qobiliyati;
- Python (Django, DRF) 2.5 yil real tajribaga ega bo’lish;
- JS(React, Redux, ContextAPI) 1.5 yil real tajribaga ega bo’lish;
- Git (Github) bilan ishlay olish;
- API bilan ishlay olish ko'nikmasi;
- Deploy qilish (Nginx, Docker, CI/CD, AWS);
- Kodni doimiy tahlil qilish, optimallashtirish va kengaytirish;
- Oliy maʼlumotga ega boʼlish!

Afzal ko’riladi:
- Karta bilan ishlash tajribasi(Leaflet);
- SOAP protokoli bilan ishlay olish;
- SOLID, DRY tamoyillarini bilish;
- Web-sockets;
- Rus va Ingliz tilini bilish.

Yuqorida koʼrsatilgan texnologiyalar asosida qilingan ishlari boʼlishi talab etiladi.

Resume yoki CV ni quyidagi emailga yuboring:
uzdavagency@gmail.com

👉 @uzpythonjobs
Ko'p savol keladi shu mavzudan ham

DEBUG=FALSE qilingandan sung static file ishlamay qoldi (dockerda ham .. )

Balki yechim bulishi mumkin: https://testdriven.io/blog/django-static-files/

Sizda ham bu mavzuga oid link bulsa qoldiring 👇
O'zbekistonda Stackoverflow, Hubstaff, CodeSandbox va shunga o'xshash development toolarni bloklash uchun qaysi darajada "tupoy" bo'lish kerak?