Python Hints
8.62K subscribers
170 photos
11 videos
9 files
141 links
Python tips and tricks
The Good, Bad and the Ugly

توی این کانال فقط قرار هست در مورد core python صحبت کنیم.

این کانال یک بلاگ شخصی هست و پیرامون نظرات و چیزهایی که توی بیش از ۱۰ سال کد زدن یاد گرفتم (فقط برای کمک به دوستان تازه‌کار)

Admin: @Abbasi_ai
Download Telegram
#یکبار_برای_همیشه

خیلی دیدم؛ دوستانی که از لینوکس دسکتاپ استفاده می‌کنند پارتیشن Swap رو تحت همه شرایط فعال می‌کنند.
بعضی‌ وقتا حتی تا ۱۶ گیگ روی لپ‌تاپ با رم ۱۶ گیگ دیدم بهش هارد اختصاص دادند.

اولاً که؛ ۹۹.۹٪ روی Desktop و یوزر عادی نباید اصلا کار به Swap بکشه؛ توی باقی موارد هم برای ۱۶ گیگ رم نهایتاً ۱-۲ گیگ باید باشه که به محض اینکه دیدید رم درحال پرشدن هست؛ قبل از هنگ سیستم بتونید مشکل رو حل کنید.

اینکه خیلی از مدرسین لینوکس، هی میگن swap رو فعال کنید و ... رو هم نمی‌فهمم!
اگر از تاریخچه‌اش بگذریم (اگر خواستید بخونید باید دنبال این باشید، از llm کمک بگیرید)
1970s Virtual memory on IBM OS/360 or Unix

این virtual memory یا نوع پیشرفته تر امروزش به اسم swap برای این اومد که سیستم‌عامل‌ها برای multi-task مشکل رم داشتند و چون تکنولوژی رم حجم بالا اون موقع نبود ازین تکنیک استفاده کردند.

امروزه فقط برای اینکه، به ادمین سرور وقت بده تا قبل از هنگ کردن یا .... سرور مشکل رو حل کنه استفاده می‌شه!

که ۹۹.۹٪ کاربرهای دسکتاپ این مشکل رو ندارند (نهایتاً ری‌استارت می‌کنید، سرور که نیست بگی صدای یوزرهام در میاد) و استفاده از swap فقط باعث افت سرعت سیستم و هنگ کردن بسیار براشون می‌شه بخصوص اونایی که swappiness رو هم کانفیگ نمی‌کنند.
👍3911👏2
چه تغییرات قشنگی داریم روی؛ PostgreSql 18 شماهم دیدید ؟
برای من سه موردش خیلی جذاب هست؛
اولیش بالاخره؛ Asynchronous I/O بله منم خوندم فعلا فقط روی Read ولی همینم خوبه ۲-۳ برابر سرعت بیشتر اونم مفتی کیه که بدش بیاد ؟

دومیش؛ پشتیبانی کامل از UUIDv7 یعنی بدون دردسر می‌تونی حتی روی distributed system هم primary key کاملا یونیک داشته باشی.
تازه اگر پست‌های قبلی رو دنبال کرده باشید می‌دونید UUIDv7 برای ایندکس هم عملکرد بهتری داره (مشکلی که خیلی از پروژه‌ها با UUIDv4 داشتند و حالا تقریبا حل شده)

نهایتا یک سری Optimization های خاص که بصورت اتومات کوئری شما رو قبل از اجرا بهبود میده مثلا اگر OR زیاد باشه و بشه با Any تغییرش میده و ...


و یک اشاره هم بکنم به این پست (حدودا همین موقع‌ها ۲ سال پیش):
https://t.iss.one/pyHints/117
هنوزم دیر نشده؛ وقت بذارید براش و درکش کنید!


پ.ن؛
از دوستان اشاره کردند، created_at هم اگر یادمون بره به چخ نمی‌ریم 😁
شوخی خوبی بود، اگر نگرفتید:
بخاطر این هست که UUIDv7 بر اساس زمان هست
🔥27👍3
Python Hints
نمی‌دونم چرا ولی خیلی‌ها پیام دادید کتاب برای fastapi هم معرفی کنم! برای خودمم نیاز بود یک کتاب خوب تو زمینه FastApi پیدا کنم برای معرفی؛ برای review مطالب یکی از دوستان هم اینکار رو زودتر شروع کرده بودم (۲ هفته قبل). تا اینجا ۳ تا کتاب رو خوندم که بنظرم…
👆👆👆👆👆

هر ۵ تا کتابی که گفتم + ۱ کتاب هم شما گفتید همرو خوندم.

اگر تا حالا اصلا سراغ FastApi نرفتید و خیلی با مفاهیم بکند هم آشنا نیستید؛ هرکدوم از کتاب‌ها که تاریخ 2024 یا 2025 خورده رو می‌تونید بخونید!

اما اگر ۳ ساعت بیشتر روی FastApi وقت گذاشتید؛ هیچکدوم از کتاب‌ها بدرد شما نخواهد خورد!

داکیومنت FastApi رو بخونید!
داکیومنت ابزارهایی که معرفی کرده رو بخونید مثل celery یا sqlmodel بطور استثنا برای sqlalchemy کتاب خوب داریم (سرچ کنید میاد)

نگاهی هم به اسپانسرهاش و پروژه‌های open-source که باهاش نوشته شده بندازید که خودش یک دانشگاه هست!


متاسفم، کتابی برای این مورد نمی‌تونم معرفی کنم.
چون کتاب درخوری ندیدم
25👍11🔥3❤‍🔥2