ch
Feedback
Python Hints

Python Hints

前往频道在 Telegram

Python tips and tricks The Good, Bad and the Ugly توی این کانال فقط قرار هست در مورد core python صحبت کنیم. این کانال یک بلاگ شخصی هست و پیرامون نظرات و چیزهایی که توی بیش از ۱۰ سال کد زدن یاد گرفتم (فقط برای کمک به دوستان تازه‌کار) Admin: @Abbasi_ai

显示更多
9 607
订阅者
+1224 小时
+707
+21530
帖子存档
سلام به همگی به دلیل برخی مشکلات شخصی و جابجایی فردا امکان برگذازی جلسه کتابخوانی رو نخواهیم داشت. از همه دوستان عذرخواهی می‌کنم بابت این موضوع. 🌹

#Quick یک سری وقت‌ها هست که توی پروژه بنا به هر دلیلی نیاز هست که یک پوشه خالی داشته باشید و اون رو روی git هم بذارید. اکثرا برای permission درست و ... دیدم این کار انجام میشه. حالا مساله چیه ؟ هرکی برای خودش از یک استاندارد استفاده می‌کنه (همه موارد جواب میده) ۱- اونایی که توی Mac کد میزنند: اضافه کردن فایل .DSStore (با همچین اسمی به پوشه خالی) ۲- بچه‌های Linux : اضافه کردن یکم فایل با نام دلخواه و شروع با . بیشترین مورد : .ignore ۳- ویندوزی‌ها : اضافه کردن یک فایل با پسوند txt اما برای این گار یک قرارداد نانوشته مشترک بین همه برنامه‌نویس‌ها هست اونم؛ توی اون پوشه خالی یک فایل به اسم .gitignore بسازید (جدای از gitignore کل پروژه هست) و محتوای داخلش این خواهد بود: * !.gitignore یعنی همه چیز داخل این پوشه رو برای git نادیده بگیر به غیر از .gitignore ربطی به موارد advance نداشت ولی چون دیدم خیلی کم رعایت میشه گفتم پست بذارم.

از بخش Latency داکیومنت برای دسترسی راحت‌تر orjson latency
+1
از بخش Latency داکیومنت برای دسترسی راحت‌تر orjson latency

این مدت روی یک پروژه دارم کار می‌کنم و تنها خواسته شرکت اینه که تا جایی که می‌شه سرعت پروژه بالا بره؛ فیچر بیشتری قرار نیست اضافه بشه؛ تغییراتی نخواهد داشت. تنها کار ما (من و ۱ نفر دیگر) شده اینکه فرمولها رو بهینه کنیم اگر روشی به ذهنمون رسید؛ کدهارو بخونیم و بهینه کنیم و اگر test-case ها روش اجرا شد بره دپلوی بشه. هرچیزی که شما بهش فکر کنید رو تغییر دادیم و یا توی برنامه برای تغییر داریم. چند وقت پیش داشتم به Profiling یک کد دیگری نگاه میکردم؛ که به ذهنم رسید باید json رو تغییر بدیم؛ اینکارم کردیم سرعت بهتر شد. امروز داشتم سورس FastAPI رو نگاه میکردم (برای پروژه دیگری) که دیدم یکی از ماژول‌هایی که نصب میشه اسمش orjson هست و من تاحالا با این مورد کار نکرده بودم. سرچ و گیت‌هاب و ... که دیدم بخش زیادی از پروژه با Rust نوشته شده. بیشتر راجبش خوندم؛ دیدم خیلی از مشکلات مارو هم حل می‌کنه numpy, datetime, dataclass رو برامون serialize می‌کنه استفاده از همین کتابخونه به تنهایی طبق گزارش همکارم روی پروفایلینگ حدودا ۱۵٪ سرعت کار با Json رو توی کل پروژه بیشتر کرده بخصوص مواردی که numpy, datetime , ... رو داشتیم سر راهمون. GitHub Link تا جایی که متوجه شدم مثل اینکه هنوز روی FastAPI دیفالت نیست ( البته من نخوندم و سری اومدم سراغ پروژه خودم ) اما ممکنه مشکلاتی هم داشته باشه؛ برای پروژه ما عالی عملکرد البته.

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

می‌خوام توی کانال‌های شما عضو باشم؛ اگر کانال برای خودتون هست، تخصصی پست می‌گذارید نه اینکه مطالب باقی رو کپی کنید یا ...
حتماً فقط و فقط خصوصی برام بفرستید @abbasi_ai

ویدئو فصل دوم روی یوتیوب قرار گرفت. ازین به بعد ویدئو‌ها ممکنه با ۱ هفته تأخیر قرار بگیره (نسبت به روز برگذاری جلسات) هر نکته و سوال و ... ایی که بود، حتماً کامنت کنید. https://youtu.be/ciN3fjpBxQo

start in 3 minutes ...

لطفا قبل از JOIN شدن میکروفون و دوربین رو ببندید. https://meet.google.com/spi-tvgp-mjq

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

Repost from Python Hints
یکی از دوستان اشاره کرده که تبلیغاتی از دوره‌های ایرانی کانال‌های دیگه پایین پست‌های کانال میاد. همین اول بگم؛
هیچکدوم از دوره‌های فارسی پولی مورد تأیید ما نیست
و تقریباً هیچکدوم هم مناسب بیزینس نیست، دوره‌ای نیست که شمارو وارد بازار کار کنه.
اما تبلیغات تلگرام، دست ما نیست. تلاش کردم خاموش کنم این موارد رو ولی تلگرام میگه باید 50 لول Boost داشته باشیم تا اجازه غیرفعال کردن بده بهمون پس صرف اینکه تبلیغات تلگرام رو پایین هرکدوم از کانال های ما دید، فکر نکنید که ما تایید کردیم اون دوره رو این پست برای مدتی، بعنوان پست آخر دائماً ارسال خواهد شد. (تا کانال‌ها هدف تبلیغات نباشند) پ.ن : کانال یوتیوب با حمایت شما، به آموزش‌های رایگان و البته مناسب بیزینس در زمینه‌های مختلف ادامه خواهد داد قطعا. http://youtube.com/@pyhints

داشتم راجب TunnelVision می‌خوندم؛ یک تکنیک حمله که اجازه می‌ده ترافیک vpn رو مانیتور کنند و ... تنها موقعیتی که این اتک رو میشه جلوش رو گرفت؛ وقتی هست که یوزر روی Linux - Android باشه و از VPN استفاده کنه و فکر می‌کنند این روش از سال 2002 امکان پذیر بوده (فقط تا حالا درموردش حرفی زده نشده یا کشف نشده)
خلاصه که لینوکسی بشید تباها

کدهای ارائه امروز روی گیت‌ها قرار گرفت

2min to start

لطفا قبل از درخواست ورود میکروفون و ویدئو رو ببندید فصل دوم https://meet.google.com/jwx-kseg-mpx

توی این ماه یک کتاب‌هایی منتشر شده که دلم می‌خواست می‌تونستم، به همه جاهایی که کار می‌کنم بگم آقا ۱ ماه بهم مرخصی بدید برم ۵-
توی این ماه یک کتاب‌هایی منتشر شده که دلم می‌خواست می‌تونستم، به همه جاهایی که کار می‌کنم بگم آقا ۱ ماه بهم مرخصی بدید برم ۵-۶ تا کتاب بخونم و برگردم. یکی ازون موارد این کتاب هست.

فردا جلسه سوم و فصل دوم کتاب رو باهم مرور خواهیم کرد. اگر فصل اول رو ندید یوتیوب می‌تونید چک کنید جلسه فردا نیز مثل همیشه ساعت ۴ خواهد بود. برای دوستان جدید : لینک جلسات داخل کانال گذاشته می‌شه و ۱۰۰ نفر ظرفیت هر جلسه خواهد بود. (جایی برای ثبت‌نام و ... وجود نداره) یک چیزایی هم از یوتیوب یادگرفتم؛ تعداد سابسکرایب - لایک و ... می‌تونه از یک کانال و ویدئو گرفته بشه. کامنت فقط در صورتی حذف میشه که قوانین یوتیوب رو رعایت نکنه. اما یک چیزی رو متوجه نشدم هنوزم اونم watch time هست که بعضی وقتا کم میشه (نمی‌دونم دقیقا چرا)
در نهایت سپاس از همگی view دو ویدئو اول در مجموع به 1500 رسیده که امروز فهمیدم برای کانال با کمتر از ۱۴ روز سابقه مثل اینکه خیلی خیلی خوبه 🌹❤️ مرسی از همگی

یکی از دوستان اشاره کرده که تبلیغاتی از دوره‌های ایرانی کانال‌های دیگه پایین پست‌های کانال میاد. همین اول بگم؛ هیچکدوم از دوره‌های فارسی پولی مورد تأیید ما نیست و تقریباً هیچکدوم هم مناسب بیزینس نیست، دوره‌ای نیست که شمارو وارد بازار کار کنه. اما تبلیغات تلگرام، دست ما نیست. تلاش کردم خاموش کنم این موارد رو ولی تلگرام میگه باید 50 لول Boost داشته باشیم تا اجازه غیرفعال کردن بده بهمون پس صرف اینکه تبلیغات تلگرام رو پایین هرکدوم از کانال های ما دید، فکر نکنید که ما تایید کردیم اون دوره رو این پست برای مدتی، بعنوان پست آخر دائماً ارسال خواهد شد.

انیحا توضیح دادم که هدف نهایی از کانال یوتیوب چطور خواهد بود : https://t.me/pytens/1445 با چندتا از دوستان هم صحبت کردم؛ کسی نه نگفت. بازم میگم بخش خوب اینکار علاوه بر رایگان بودن دوره‌ها این هست که سعی می‌کنم تایید حداقل دو متخصص یا سنیور رو قبل از شروع یا انتشار هر دوره بگیرم. قرار هم نیست همه مباحث رو شخصا درس بدم؛ افراد متخصص آموزش خواهند داد.

نکات مهم و ویژگی‌های جذاب پایتون 3.13 : 1) JIT Compilation (PEP 744) هنوز به numba, pypy نمیرسه و آزمایشی هست اما توقع 2-9% بهبود سرعت بر اساس تست‌ها هست. تکنیک استفاده شده copy-and-patch jit هست که مقاله‌اش سال 2021 منتشر شده اگر دوست داشتید همین عبارت رو سرچ کنید افراد زیادی توضیح دادن مقاله رو. 2) IOS platform support (PEP 730) البته فعلا باید از سورس کد بیلد بگیرید ولی خب آندروید هم درحال توسعه هست و احتمالا توی بتاهای بعدی میاد PEP 738. 3) Added @deprecated راجبش قبلا گفته بودم 4) Deferred evaluation of annotations using descriptors (PEP 649) ازین فقط فهمیدم که __anotate__ اضافه میشه اما دقیق متوجه نشدم (مثال‌ها هم دقت می‌خواست که شخصا خسته تر ازین بودم که بخونم) 5) TypeIs اینو مثالش رو ببینید خیلی راحت تر درک میشه؛ تو حالت if, else شرط اصلی که غلط بشه تایپ رو از else می‌تونه بخونه. مثال رو بخونید. باقی موارد هم تغییرات توی کتابخونه‌های استاندارد هست که بعضی‌هاش واقعا متدهای کارآمدی هست.