Python Hints
8.61K 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
RandRng
#تجربه از تجربیات دوستان : قبل من یکی تو بود بعدش من رفتم و مکالمه اونارو هم قبلش شنیده بودم. خیلی از رزومه خوشش اومده بود و شروع کرد از یکی از نیروهاش که تو تیمشه هی تعریف کردن ولی گفت یه تسک میدیدم ما خیلی راحتم هست ببینیم چجوری انجام میدین ۱۶ ساعت زمان…
فصل استخدام هست، بنظرم کفتن این موضوع واجب بود.

راستی سفته هم ندید؛ آخرین باری که این موضوع رو به من گفتند؛
از مدیر عامل شرکت ۱۲ تا چک به تاریخ توافق شده برای پرداخت حقوق و به مبلغ دستمزد خواستم.

بند سفته رو بطور کلی از استخدام شرکت حذف کردند.
👍83❤‍🔥144👏1
3rd edition
این کتاب معرفی شد؛ برای دوستانی که گفته بودند این نسخه 2nd ed قدیمی شده و ....

High Performance Python 3rd edition
24👍8
Python Hints
3rd edition این کتاب معرفی شد؛ برای دوستانی که گفته بودند این نسخه 2nd ed قدیمی شده و .... High Performance Python 3rd edition
بیشترین سوال:

ما امکان خرید کتاب‌های معرفی شده توی کانال رو نداریم، چاپ شده هم گرون هست.

۱- شخصاً مخالف خرید کتاب‌های چاپ شده هستم، چون هیچکدوم هیچ پولی به نویسنده نمی‌ده

چند مورد رو به نویسنده هم ایمیل زدم، تأیید کردند. (قدیم)

۲- کتاب به هیچ‌وجه توی گروه و کانال نمی‌ذارم، کسی هم نباید بذاره چون کانال یا گروه بسته می‌شه.
(موارد امنیتی هم حتی به کنار)

۳- سایت
libgen.is
رو دنبال کنید، اکثر کتاب‌های معرفی شده اینجا هستند.

۴- سایت ممکن هست از خارج از ایران دردسترس نباشه؛
اول سعی کنید کتاب رو بخرید
دوم ما قضاوت نمی‌کنیم، مسخره می‌کنیم سعی کنید دامنه‌های متفاوت سایت libgen رو پیدا کنید
سوم، اگر نشد مثل مهاجرت معکوس، vpn معکوس بزنید با ip ایران دانلود کنید.


قبلاً چندبار برای دیگران کتاب فرستادم توی گروهای قبلی، ریپورت و بن شدم.
دیگه اینکارو نکردم، با اینکه فقط شماره‌های ایران اجازه ورود داشتند.
پس دیگه اینکار رو نمی‌کنم.
👍459
داشتم تغییرات مربوط به Pi Python یا همون Python 3.14 رو می‌خوندم (پروژه‌های خودم رو میخوام منتقل کنم روی این نسخه) از این لینک:
What's new in Python 3.14

یک مورد جالب دیدم Pep 765 که :
Disallow return/break/continue that exit a finally block


داستان چیه؟ قطعا شما هم توی کدهای جنگو یا fastapi دیدید وقتایی که یک نفر try/except رو استفاده کرده و ارور‌ها رو لاگ میندازه و بعدش finally داره که یک return خاص انجام بده مثلا مقدار پیش‌فرض رو بفرسته.
تا اینجا هیچ مشکلی وجود نداره و برای همین هم خیلی‌ها نمی‌دونند که اینکار باعث مشکل میشه.

حالا فرض کنید توی اون exception شما بجای نوشتن لاگ raise انجام میدید تا توی بخش دیگری از پروژه اون Exception رو بتونید بهتر هندل کنید؛ اما وقتی Finally رو دارید که توش Return هم انجام میشه؛ چیزی که کد شما می‌بینه بعنوان response مربوط به اون try/except بلاک هیچوقت نمی‌تونه raise باشه (همیشه finally آخر از همه اجرا میشه)

پس هیچوقت کد شما raise ایی که نوشتید رو نشون نخواهد داد.

توی این نسخه چیکار کردن ؟
Syntax warning
اضافه کردند که اگر اینطوری کد زدید بهتون نشون بده که این مشکل وجود داره؛ ولی همچنان backward compatible بمونه.

خیلی هم عالی.
47👍28🔥1
این داستان که کنسرت؛
گلزار، مدیری و ...

بیش از ۲هزارتا بلیط می‌فروشه و ویدئو‌های fluent python ما کمتر از ۵۰۰ تا view خورده تازه تو بازه‌ی ۱ ساله

غمگین کننده‌اس؛ 😂😂
Youtube Playlist

تا فصل ۱۲ آپلود شده؛ فکر کنم تا فصل ۱۵ رو لایو رفتیم ولی هیچوقت فرصت نشد تا آخر ادامه بدیم.

البته اینم مطمئنم اگر دوره پولی بود، قطعاً چندین برابر فروش داشت؛ پیش قراردادی که چندتا از سایت‌های معروف بهم دادند این رو نشون میداد.

شایدم امسال اینکار رو کردم.
👍8732❤‍🔥14🔥2
توی پایتون 3.14 برای دوستانی که ابزار و فریمورک توسعه می‌دهند بنظرم t-string گزینه جذابی خواهد بود؛ کمی اطمینان خاطر

T-String PEP 750
15👍4❤‍🔥1
#تجربه #جنگو

چیزی که توی کدهای Django توی ایران به معنای واقعی اصلا و هیچوقت ندیدم؛ اما جزو مهمترین موارد هست.

تست نویسی برای سرویس‌های third-party هست که از طریق API استفاده می‌کنیم.

همینجا اضافه کنم؛ همیشه فرض ما این هست که هیچ اتفاقی برای اون سرویس‌ها نمیوفته ولی چندتا سوال؛

۱- سرویس ما چه اتفاقی باید براش بیوفته اگر سرویس دهنده تغییراتی داشته باشه ؟ و درخواست‌های ما 400, 404 , ... برگرده ؟

۲- چه اتفاقی برای سرویس‌های ما خواهد افتاد اگر سرویس دهنده بخاطر محدودیت‌های جدید یا .... بهمون 500, 503, ... برگردونه ؟

اینا چیزهایی هست که ننوشتن تست براش می‌تونه خسارت زیادی به سرویس بزنه مثلاً:

فرض کنید، من یک فروشگاه اینترنتی دارم؛ اگر سرویس درگاه پرداخت به هر دلیلی کار نکنه یعنی فروشگاه من هیچ خروجی نداره دوتا مورد باید هرچه سریعتر انجام بشه :

۱- یک ایمیل critical برای ادمین بره تا بتونه پیگیری کنه موضوع رو از سرویس دهنده

۲- خطای مناسب (اینکه سرویس پرداخت غیرفعال هست) به کاربر نشون داده بشه تا از رفرش و DDOS شدن توسط کاربرهای خودمون جلوگیری بشه

بخصوص روی سرویس‌های auto-scale که با زیاد شدن درخواست سرورهای جدیدی بالا میاد و این یعنی هزینه بیشتر.


توی زبان‌های برنامه‌نویسی مختلف ابزارهای متفاوتی برای اینکار وجود داره؛ توی پایتون هم پکیج
Responses

کمک می‌کنه اینکار رو انجام بدید.

واقعاً نمی‌دونم چرا؛ ولی اینکه این تست‌های توی کدهای شرکت‌های بزرگ داخلی نمی‌بینم یا حتی توی آموزش‌ها و .... مغزم سوت می‌کشه.

بعد اینا از gorilla تست صحبت می‌کنند.


حالا که این موارد رو توی آموزش و کدها ندیدم (توی سرویس‌هایی که تیم‌ خودم می‌نویسه همیشه وجود داره)

گفتم بگم که شما خودتون یاد بگیرید، شاید یک روزی کدهای شما به من رسید یا هم تیمی شدیم.
🔥24👍195
Python Hints
#تجربه #جنگو چیزی که توی کدهای Django توی ایران به معنای واقعی اصلا و هیچوقت ندیدم؛ اما جزو مهمترین موارد هست. تست نویسی برای سرویس‌های third-party هست که از طریق API استفاده می‌کنیم. همینجا اضافه کنم؛ همیشه فرض ما این هست که هیچ اتفاقی برای اون سرویس‌ها…
یادآوری کنم؛ خیلی قبلتر توی یک سخنرانی پایتون به wiremock اشاره کرده بودم.

ولی responses هم آپدیت‌تر هست هم بچه‌های پایتون دولوپر باهاش راحت‌تر کار می‌کنند.

اما اگر از زبان‌های برنامه‌نویسی دیگه میاید؛ این‌ تقریباً همون کارهای wiremock رو انجام می‌ده
👍311
خیلی رفته تو مخم، یک وقت خالی پیدا کنم و یک تیم تشکیل بدم و دوره آموزش Django و Fastapi با تمام استانداردهایی که بلدم بزنم.

یک پروژه‌ای رو بسازم، دپلوی کنم و بگم اوکی قدم بعدی اینه که K8s بذارید بجای docker compose و ...

ولی قطعاً دوره طولانی خواهد شد 🤔

نمی‌دونم ارزش وقت گذاشتن و هزینه کردن داره یا نه (۹۰٪ مخاطب این دوره‌ها نخواهند بود)

یعنی دوره مقدمات پایتون مخاطب و دیده شدن بیشتری داره تا این موارد.
🔥252👍5327
Python Hints
خیلی رفته تو مخم، یک وقت خالی پیدا کنم و یک تیم تشکیل بدم و دوره آموزش Django و Fastapi با تمام استانداردهایی که بلدم بزنم. یک پروژه‌ای رو بسازم، دپلوی کنم و بگم اوکی قدم بعدی اینه که K8s بذارید بجای docker compose و ... ولی قطعاً دوره طولانی خواهد شد 🤔
#یادآوری

یک پرسجو روی گوگل درست کنم؛ ببینم وضعیت چطوری هست.

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

ولی خارج از اینکه دوره برگذار کنم یا نه؛ چشمم به جامعه مخاطبای کانال باز شد.
شاید برداشت من اشتباه بوده، برای همین بد نیست یک نظرسنجی باشه خودم متوجه بشم چه مخاطبایی رو توی کانال دارم.
👍12510
وضعیت یکساعت گذشته من و mypy

دیگه ببخشید اگر تصویر خوب نیست:
chatgpt

تولید کرده و حزئیات رو متوجه نشد.
👍26❤‍🔥2👏1
Forwarded from RandRng
خیلی وقت پیش برای مشکلات دسترسی و تحریم و فیلتر یک پروژه روی گیتهاب معرفی کردم barryfar (عمر اون پست ازین کانال بیشتر بود) مشکلمم اینه که اعتماد ندارم جایی که اطلاعات کارت و ... ام رو داره ترافیکم رو هم داشته باشه.

حالا چندروز پیش دوستان گفتن پروژه رو از گیتهاب حذف کرده - احتمالا مجبورش کردن حذف کنه - ولی دمشگرم این همه مدت کار همه برنامه نویسها رو راه انداخت.

اومدم پروژه رو با پایتون بازنویسی کنم که دیدم ۳ نفر دیگه اینکار رو کردند خلاصه که شمارو با

Epodonios
آشنا میکنم - به امید اینکه یک سنگ بزرگ به اسم فیلترینگ از جلوی پاهاتون برداشته بشه در مسیر پیشرفت.
❤‍🔥30👍94
Python Hints
#یادآوری یک پرسجو روی گوگل درست کنم؛ ببینم وضعیت چطوری هست. شخصاً فکر می‌کردم همه اعضای کانال حداقل میدلول باشند؛ اما بیشترین پیام‌هایی که گرفتم درخواست دوره برای پایتون مقدماتی تا پیشرفته بود. با توجه به اخلاق خودم؛ انجام چنین کاری شاید خیلی بیشتر زمان…
لینک نظرسنجی
Link

اگر دوست داشتید شرکت کنید.
این نظرسنجی ایمیل شمارو هم نگه میداره؛ اگر قرار شد دوره‌ای برگذار بشه بین افرادی که شرکت کردند چندنفر بصورت تصادفی انتخاب خواهد شد که دوره رو ارزیابی کنند.

دوره برای این افراد رایگان خواهد بود.

نکته مهم : سوال "حوزه مورد علاقه" رو به دقت انتخاب کنید چون دوره که برگذار بشه (مثلاً ساختمان داده و الگوریتم)
برای گروه تست (رایگان) از افرادی انتخاب خواهم کرد که توی این نظرسنجی این مورد رو انتخاب کرده باشند.

نکته مهم دیگه: همه‌ی گزینه‌ها رو انتخاب نکنید، در اینصورت اصلا انتخاب نخواهید شد.
گزینه other برای دوره‌ای هست که شما پیشنهاد می‌دید، توضیح بدید.

پ.ن :
۱- دقیقاً مثل گروه تست fluent python با این تفاوت که بجای اینکه بگیم کی زودتر درخواست داده رندم انتخاب می‌کنیم.

۲- حداقل ۴۸ ساعت نظرسنجی باز هست؛ حداکثر مشخص نیست شاید ۴۸ ساعت شاید تا هفته بعدی.
❤‍🔥38👍164
Python Hints
لینک نظرسنجی Link اگر دوست داشتید شرکت کنید. این نظرسنجی ایمیل شمارو هم نگه میداره؛ اگر قرار شد دوره‌ای برگذار بشه بین افرادی که شرکت کردند چندنفر بصورت تصادفی انتخاب خواهد شد که دوره رو ارزیابی کنند. دوره برای این افراد رایگان خواهد بود. نکته مهم : سوال…
نظرات رو خوندم
خیلی جالبه؛
و البته بدترین بخشش اینه که خیلی‌ها هزینه دوره ندارند (یعنی مبالغ پیشنهادی، حتی هزینه برق رو هم نمیده)
همزمان تعداد کمی مبالغ بالایی رو برای دوره خصوصی پیشنهاد دادند.


فقط یکنفر زده، دوره حضوری برگذار کنید (از دوره لایو و ویدئو خیری ندیده انگار)

بعد قیمت زده ساعتی ۱۵۰,۰۰۰ تومان؛ این پست برای ۳ سال پیش هست (دستمزد ساعتی خودم رو اون موقع گفتم: https://t.iss.one/pytens/944)


من اصلاً ازونایی که گفتند حتی امکان هزینه کردن ندارند ناراحت نیستم، ولی ساعتی ۱۵۰,۰۰۰ تومان پول اسنپ من رو هم نمیده بیام جلسه‌ای ۲ ساعت درس بدم و برگردم خونه.


فرم رو پر کنید، لطفاً و خواهشاً دقیق و درست جواب بدید اگر می‌خواید به نتیجه برسه
تا الان فقط ۱۷۵ نفر شرکت کردند.
👍43
بیشترین وقت و هزینه رو ضبط، ادیت و تمیز کردن ویدئو از من میگیره

چون بسیاری از مفاهیم رو حتی با todo-app هم میشه منتقل کرد (توی بکند)
👍48🔥4👏1
توی آنالیز جوابها بیشترین حوزه مورد علاقه (گفتم با اولویت) مربوط به
Machine/Deep learning
هست؛ بعد پروژه واقعی و بعد بکندها

ولی مهمترین نکته‌اش می‌دونید چیه ؟
بیش از نصف کسانی که زدند Machine/Deep learning مورد علاقشون هست توی سوال پایتون چه خبر پایین‌تر از سطح متوسط هستند.

همینجا بگم من وقتی میگم Machine/Deep learning منظورم این نیست که بریم langchain, n8n, ... رو یاد بگیریم یا yolo رو از ultralytics برداریم و باهاش یک ابزاری رو بسازیم که اگر اون بود شما ML کار نیستید شما Software Engineer ایی هستید که یاد گرفتید با ابزارهای ML هم کار کنید.

مثل این میمونه فرانت دولوپر چون داره به بکند request میزنه و دیتا از دیتابیس براش آماده میاد بگه من Database Administrator هستم. لطفا حواستون به این مورد باشه.

درنهایت اگر یک همچین دوره‌ای قرار باشه برگذار بشه؛ از هر ۱۰ ساعت آموزش ۸ ساعت تئوری خواهد بود و ۲ ساعت پیاده‌سازی پایه‌ای فرمول‌های و مباحث تئوری و برای این مورد خیلی خیلی نیاز هست که شما Software Engineer باشید اول.

مثلا این مورد رو ببینید :
https://t.iss.one/pytens/1087

یا توی کنفرانس‌های قبلی صحبت شد (اینی که میگم برای 2018-2019 هست) با یک تیمی در چین کار میکردیم؛ برای اینکه سرعت شناسایی چهره بره بالاتر اونجا هم من همین کار رو کردم embedding تصاویر رو توی redis نگه میداشتم و فقط توی لحظه نیاز اختلاف تصاویر رو میگرفتم.
حتی چون تعداد کاربرها زیاد بود و این قضیه هم باز کند بود؛ بر اساس جنسیت - اینکه از کدوم دستگاه میاد و ... دیتابیس‌ها رو تفکیک کرده بودیم.


خلاصه برای AI اول باید Software Engineer خوبی باشید (میانبور نزنید که وقتتون هدر میره) - بازم به توییت Andrej Karpathy اشاره می‌کنم و استخدام Software Engineer برای موقعیت‌های هوش مصنوعی Tesla
👍38❤‍🔥82
Python Hints
لینک نظرسنجی Link اگر دوست داشتید شرکت کنید. این نظرسنجی ایمیل شمارو هم نگه میداره؛ اگر قرار شد دوره‌ای برگذار بشه بین افرادی که شرکت کردند چندنفر بصورت تصادفی انتخاب خواهد شد که دوره رو ارزیابی کنند. دوره برای این افراد رایگان خواهد بود. نکته مهم : سوال…
فرم رو بستیم.
حدود ۳۵۰ نفر شرکت کردن؛ که از همگی ممنونم.

اما یک سری آمار جالب؛

حدود ۹۴٪ سن ۱۸ تا ۳۴ سال هستن
فقط ۱۱ نفر کاملاً مبتدی داشتیم
و فقط ۳ نفر؛ کاملاً پیشرفته
بیشترین دوره‌هایی که درخواست آموزش داشته:
1- ML/DL
2- Python (Real Projects)
3- DRF, Django
4- Fastapi / Async Python
البته بیش از ۳۰ مورد هم others داریم.

۷ نفر آموزش خصوصی و ۱۶ نفر حضوری رو ترجیح دادند
اما بیش از ۵۶٪ ویدئو طولانی مدنظرشون هست.


جدای از تمرین؛ ۴۷٪ گفتند که حداقل ۳ تا ۵ ساعت وقت می‌گذارند و ۲۷٪ هم ۵ تا ۱۰ ساعت رو انتخاب کردند.

جالبتر اینکه؛ ۳۷٪ هیچوقت بکند و وب کار نکردند.

چیزی که خیلی باعث تعجبم بود؛ ۵۱.۵٪ کاربر ویندوز هستند و ۴۳٪ لینوکس.
خیلی عجیبه که فکر می‌کردم بیش از ۹۰٪ مخاطب‌های کانال کاربر لینوکس هستند 🤔


راجب هزینه دوره و نظرات هم؛ همرو می‌خونم (قول میدم) و بعد تصمیم میگیریم.


یک تشکر ویژه هم از دوستانی که گفتند توانایی ادیت ویدئو‌ها رو دارند می‌کنم؛ اگر بتونیم توی زمان کم ویدئو ضبط و منتشر کنیم.
شخصاً بسیار خوشحال می‌شم آموزش‌ها هدفمند باشه و رایگان (بخصوص بعد از خواندن بعضی کامنت های صادقانه شما)

اگر ایده‌ای برای آموزش دارید هم خوشحال میشم بشنوم (لطفاً کوتاه و مختصر به ویژگی‌های مهم اشاره کنید؛ توییتر رو باهم بسازیم و این مباحث هم نباشه، تمرکز باید روی مفاهیم اصلی باشه که خیلی ساده بشه مفاهیم مهم رو آموزش داد.)
92👍11
Python Hints
فرم رو بستیم. حدود ۳۵۰ نفر شرکت کردن؛ که از همگی ممنونم. اما یک سری آمار جالب؛ حدود ۹۴٪ سن ۱۸ تا ۳۴ سال هستن فقط ۱۱ نفر کاملاً مبتدی داشتیم و فقط ۳ نفر؛ کاملاً پیشرفته بیشترین دوره‌هایی که درخواست آموزش داشته: 1- ML/DL 2- Python (Real Projects) 3- DRF…
یک agent سریع زدم (بیش از ۳۰ نفر)
آموزش پایه پایتون رو همزمان با ML/DL انتخاب کردند.

دوستان من واقعاً نمی‌خوام به کسی رویا بفروشم؛ اینجا هم پکیج فروشی نیست.

نکنید با خودتون اینکار رو؛ حداقل پایتون رو ۶-۷ ماه بخونید و تمرین کنید بعد وارد دنیای ML بشید بخصوص اگر بعدش دنبال کار هستید.
49👍10