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
#خارج_از_بحث

پست قبلی یک کلمه غلط املایی داشت؛
اصرار رو من اسرار نوشتم که باید بگم!

I don't give a shit about it ...


بعد یک پستی گذاشتم؛ که چندتا از دوستان لطف کردند پیام دادند که فرم درست این کلمه اصرار هست، توضیح دادم با این منظور که آقا کلمه رو بی‌خیال اگر مفهوم رو متوجه شدید من کارم رو کردم (البته که ازین دوستان ممنونم که انقدر دقیق پست‌ها رو می‌خونند و اهمیت میدند، خداییشم خیلی‌ها مودبانه این موضوع رو مطرح کردن) برای همین کلمه رو به پافشاری تغییر دادم.

ولی ازونجایی که توی هر جمعی چندتا بیشعور هم هست؛ بعضی‌ها با کلمات و لحن نامناسب جواب دادند.

خطاب به این بی‌شعورها؛
یاد هزاران بار؛ مصاحبه‌ها، دمو محصول برای مدیران و دانشگاه افتادم ...

وقتایی که یک بحث تخصصی رو انجام می‌دادی؛ یک محصول رو نشون میدادی یا ...
و همگی لال بودند، چون سواد نداشتند و مغزشون به این بحث‌ها نمی‌کشید.
بعد در آخر جلسه؛ می‌گفتن چرا رنگ بنر رو آبی نکردی ؟ چرا اسلایدت فونت Arial نبود و ...

پست‌های قبلی گواه این موضوع هستند؛ گروهی که به کانال متصل بود بیشتر!

توی مملکت ما یکسری آدم عقده‌ای هستند، که برای اینکه بتونند عذاب وجدان بی‌سوادی رو از روی دوش خودشون بردارند، نشستند تا ازت ایراد بگیرند. اما چون سواد تخصصی ندارند ایراد گرفتن‌هاشون دقیقاً مثال‌هایی هست که زدم.

اینارو گفتم، چون توی کانال‌های باقی دوستان بدتر از این‌ها رو دیدم (مخصوصاً اونهایی که به گروه وصل هستند)
همه مثل من بی‌ادب و بی‌اعصاب نیستند که همونجا جواب بدند، خیلی‌ از بچه‌های متخصص بی‌انگیزه می‌شوند.

اما برای دوستان متخصص:

پیشنهادمم اینه که، نه تنها نادیده بگیرید بلکه این افراد رو از گروها و کانال‌هاتون بن کنید!

همونجوری که کسی آدم لاابالی رو توی مهمونیش دعوت نمی‌کنه؛ تو میزبان این مهمونی هستی بذار مهمونات لذت ببرند، تمرکزت رو بذار روی لذت اون‌هایی که دعوتند.

بازهم ممنون از دوستانی که فقط برای درست بودن پست پیام دادند، نه برای ماهی گیری از آب گل آلود.
91👍26❤‍🔥5👏3
Python Hints
#تجربه بیش از ۹۸٪ پروژه‌های اپلیکیشن‌هایی که کار کردم دیتابیس رو اشتباه انتخاب کرده بودند! اصلا طبیعیت دیتاها و کار با دیتابیس و ... اشون SQL نیست اما ۱۰۰٪ تأکید دارند که از SQL استفاده بشه و اکثراً بعد از مدتی کوئری‌های پیچیده کل سیستمشون رو می‌گیره !…
اینو می‌خواستم توی یک کانال دیگری بذارم ولی دیدم بحث انتخاب اشتباه دیتابیس اینجا بوده اینجا می‌ذارم!

۵-۶ ماه پیش، یکی سوال پرسیده بود آقا من پستگرسم هی به مشکل میخوره روی پروژه‌ام!

من هی میومدم کمک کنم، هر سوالی می‌پرسیدم یا جواب نمی‌داد (انگار داشت ناسا رو هک می‌کرد) یا نمی‌دونست.

چندبار بهش گفتم تا مشکل رو پیدا نکنم نمی‌شه به راهکار رسید
ولی
آخر عصبی شدم؛ گفتم برو sqlite بزن! واقعاً منظورم این نبود که اینکارو بکنه می‌خواستم بفهمه که اینجوری نمیشه راهنمایی کرد و البته دیگه پیام نده.

الان پیام داد، تشکر کرد بابت پیشنهاد sqlite (صحبت کردم باهاش اجازه گرفتم این پست رو بذارم) منم توضیحات بالا رو دادم بهش ....

بعد توی همین صحبت فعلی متوجه شدم؛ دیتابیس برای کار ایشون واقعاً در همین حد sqlite زیادم بوده؛ کل دیتابیس‌اش بعد از ۶ ماه کار به کمی کمتر از ۱۰۰ مگ رسیده (البته ازینجا به بعد سرعت رشدش کمتر می‌شه شاید سالی ۲۰-۳۰ مگ)

برای بکاپ هم بهش گفتم بذار برای خودت ایمیل کنه هر ۶ ساعت؛ واقعاً رفت اینم پیاده‌سازی کنه! 😂


خلاصه که تا ی چیزی توی ویدئو آموزشی می‌بینید نپرید سراغش؛ یک مقدار تحقیق بد هم نیست!

تجربه جالبی هم بود برای خودم!
👍5312🔥6👏1
#یکبار_برای_همیشه

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

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

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

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

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

که ۹۹.۹٪ کاربرهای دسکتاپ این مشکل رو ندارند (نهایتاً ری‌استارت می‌کنید، سرور که نیست بگی صدای یوزرهام در میاد) و استفاده از swap فقط باعث افت سرعت سیستم و هنگ کردن بسیار براشون می‌شه بخصوص اونایی که swappiness رو هم کانفیگ نمی‌کنند.
👍3811👏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