Python Hints
LinkedIn URL این کد بصورت آموزشی و async هست باقی مطلب رو روی لینکدین بخونید ...
چندتا از دوستان پیام دادند که چرا از لینکدین پست میذارید و ...
همرو همینجا بذارید (خلاصه که میگن بین پلتفرمهای مختلف جابجا نکنید مارو)
پست لینکدین جنبه دستاوردی داره
پستهای کانال جنبه آموزشی داره
برای همین از هم جدا شون میکنم، توی پست بالا هم اگر دقت کنید و متن رو بخونید، یکسری مواردی رو گفتم که شما بعنوان برنامهنویس پایتون میتونید کد بزنید و تست کنید.
مطمئن باشید توی مسیر انجام اون موارد بسیار بسیار مطلب مهم یاد خواهید گرفت، و به همین دلیل هم لینک از لینکدین قرار دادم.
همرو همینجا بذارید (خلاصه که میگن بین پلتفرمهای مختلف جابجا نکنید مارو)
پست لینکدین جنبه دستاوردی داره
پستهای کانال جنبه آموزشی داره
برای همین از هم جدا شون میکنم، توی پست بالا هم اگر دقت کنید و متن رو بخونید، یکسری مواردی رو گفتم که شما بعنوان برنامهنویس پایتون میتونید کد بزنید و تست کنید.
مطمئن باشید توی مسیر انجام اون موارد بسیار بسیار مطلب مهم یاد خواهید گرفت، و به همین دلیل هم لینک از لینکدین قرار دادم.
👍26❤3🤪3👏2⚡1🙏1🍓1
این ۶ خط کد (البته نه همهاش و فقط خط ۶ام) توی ی پروژه خیلی بزرگ ۲ هفتهاس که مارو درگیر کرده بود و امروز وسط یک کار دیگر به راه حل رسیدم.
اینو جدی میگم که هیچکس؛ نتونسته بود مشکل رو پیدا کنه (حتی گروه مشاورین)
@PyHints
ادامه پست بعدی:
اینو جدی میگم که هیچکس؛ نتونسته بود مشکل رو پیدا کنه (حتی گروه مشاورین)
@PyHints
ادامه پست بعدی:
✍9🤪4🤷♂2👍2⚡1
Python Hints
این ۶ خط کد (البته نه همهاش و فقط خط ۶ام) توی ی پروژه خیلی بزرگ ۲ هفتهاس که مارو درگیر کرده بود و امروز وسط یک کار دیگر به راه حل رسیدم. اینو جدی میگم که هیچکس؛ نتونسته بود مشکل رو پیدا کنه (حتی گروه مشاورین) @PyHints ادامه پست بعدی:
نمیتونم مثال پروژه رو بدون اینکه کل شرایط رو بگم توضیح بدم اما سعی میکنم اونقدر توضیحاتم مفید باشه که اگر بهش برخوردید سریع متوجه بشید.
داستان ازین قرار هست که همهی ما؛ وقتی میخوایم تعداد
ما تقریبا شرایطی مشابه بالا داشتیم و همین باعث میشد نتونیم باگ رو پیدا کنیم (سیستم توسعه و تست تمام
اما روی سرور اصلی اینطور نبوده : استفاده از
برای بررسی بیشتر به داکیومنت
stackoverflow
@PyHints
پ.ن :
داستان ازین قرار هست که همهی ما؛ وقتی میخوایم تعداد
cpu core
رو توی کدهای پایتون بدست بیاریم از os.cpu_count
استفاده میکنیم (همینجا بگم که توی همین تحقیقات متوجه شدم این مورد تعداد hyper thread
رو بر میگردونه) os.cpu_count
تعداد کل core
یا بهتر بگم hyper thread
های در اختیار سیستمعامل رو برمیگردونه؛ اما شرایطی رو فرض کنید که شما حق استفاده از کل core
های سیستم رو ندارید؛ تعداد pool
ایی که برای multiprocess
در نظر میگیرید بهم میریزه و سیستم توی زمان peak
به فنا میره درحالی که روی سرور تست مطمئن بودید این تعداد یوزر رو باید جواب بده.ما تقریبا شرایطی مشابه بالا داشتیم و همین باعث میشد نتونیم باگ رو پیدا کنیم (سیستم توسعه و تست تمام
core
ها در اختیار python
هست)اما روی سرور اصلی اینطور نبوده : استفاده از
pid = os.getpid()
len(os.sched_getaffinity(pid))
راه حلی بود که مشکل مارو حل کرد.os.sched_getaffinity
تعداد core
هایی که یک پروسس خاص میتونه در اختیار داشته باشه رو برمیگردونه.برای بررسی بیشتر به داکیومنت
CPython
, لینک زیر مراجعه کنیدstackoverflow
@PyHints
پ.ن :
99.9
% شرایط از همون os.cpu_count
استفاده خواهیم کرد اما خب ما اینجا راجب مباحث ساده و عادی صحبت نمیکنیم 😁😎.Stack Overflow
os.sched_getaffinity(0) vs os.cpu_count()
So, I know the difference between the two methods in the title, but not the practical implications.
From what I understand: If you use more NUM_WORKERS than are cores actually available, you face big
From what I understand: If you use more NUM_WORKERS than are cores actually available, you face big
👏29👍14🤔3🤪3⚡1
Python Hints
LinkedIn URL این کد بصورت آموزشی و async هست باقی مطلب رو روی لینکدین بخونید ...
توی این کد یکی از مواردی که چندین بار ازم پرسیده شده این بخش کد هست :
چیزی که پر واضح هست اینه که به متنهایی که توی ترمینال print میشه رنگ میده (میدونم کلی پکیج آماده هست ولی خب استفاده از اونها جنبه آموزش رو از بین میبرد)
بطور کلی برای در اختیار گرفتن اتفاقاتی که توی ترمینال میوفته از کدهای
میتونیم استفاده کنیم.
نه تنها برای رنگ، بلکه برای جابجایی
نشان دهنده این هست که ما میخوایم ازین کدها استفاده کنیم و اصطلاحاً بهش
گفته میشه.
اگر اسکریپت نویسی با پایتون رو بیشتر از
انجام میدید، بهتره با این موارد آشنا باشید شاید
چیزی که پر واضح هست اینه که به متنهایی که توی ترمینال print میشه رنگ میده (میدونم کلی پکیج آماده هست ولی خب استفاده از اونها جنبه آموزش رو از بین میبرد)
بطور کلی برای در اختیار گرفتن اتفاقاتی که توی ترمینال میوفته از کدهای
ANSI escape
میتونیم استفاده کنیم.
نه تنها برای رنگ، بلکه برای جابجایی
cursor
، تغییر متن داخل ترمینال و پیادهسازی حالتی مثل scroll
و ... استفاده میشه\033[
نشان دهنده این هست که ما میخوایم ازین کدها استفاده کنیم و اصطلاحاً بهش
control sequence introducer
گفته میشه.
اگر اسکریپت نویسی با پایتون رو بیشتر از
Jupyter notebook, ...
انجام میدید، بهتره با این موارد آشنا باشید شاید
vim
بعدی رو شما نوشتید.👍21❤6👎2🌚2☃1
#Quick
از پایتون درست استفاده کنید.
دلیل این اختلاف زمانی و حافظه رو دوستان به خوبی توی کامنتها توضیح دادند پس دیگه من صحبت نمیکنم راجبش.
اما غیر از مورد اول :
که بهینه ترین حالت محاسبات و استفاده درست از numpy هست (وقتی میخواهید روی آرایه قبلی بنویسید) باقی موارد هر ۲ باعث خطا و terminate شدن کولب شدند.
شاید فکر کنید ۱ میلیارد عدد بزرگی هست :
۱- بستگی به موضوع داره ولی توی دنیای فعلی خیر واقعاً بزرگ نیست
۲- مدل
۳-
رو همیشه باید توی بدترین حالات محاسبه کرد (برای همین Big O رو یاد گرفتیم)
از پایتون درست استفاده کنید.
دلیل این اختلاف زمانی و حافظه رو دوستان به خوبی توی کامنتها توضیح دادند پس دیگه من صحبت نمیکنم راجبش.
اما غیر از مورد اول :
x1 *= 2
که بهینه ترین حالت محاسبات و استفاده درست از numpy هست (وقتی میخواهید روی آرایه قبلی بنویسید) باقی موارد هر ۲ باعث خطا و terminate شدن کولب شدند.
شاید فکر کنید ۱ میلیارد عدد بزرگی هست :
۱- بستگی به موضوع داره ولی توی دنیای فعلی خیر واقعاً بزرگ نیست
۲- مدل
LLAMA 2
(تلفظ : لاما) که چندروز پیش توسط meta
معرفی شد کوچکترینش 7 میلیارد و بزرگترینش 70 میلیارد پارامتر داره.۳-
performance
رو همیشه باید توی بدترین حالات محاسبه کرد (برای همین Big O رو یاد گرفتیم)
❤🔥29👍20🤪5✍3👎2⚡1❤1👏1💘1
یکبار برای همیشه :
اگر کسی با من، طرز بیان من و ... مشکلی داره
میتونه از گروه - کانال
Left
بده، و حتماً من رو هم
Block
بکنه.
واسه درآمد زایی کانال نزدم، واسه دیده شدن هم نیازی به این کانال ندارم (چون اصلاً پروژه تو ایران قبول نمیکنم)
ولی راجب این موضوعات دیگه پیام ندید؛ ترجیح میدم کانال و گروه حتی ۴۰ نفر باشه اما آدمهای درست (که حتی خودمم ازشون یاد بگیرم)
پ.ن : این رو میگم، چون ترجیح میدم بجای اینکه انرژیام رو صرف آدمهای زبون نفهم و دنبال حاشیه کنم ، جواب سوالات کسایی که واقعاً نیاز به کمک دارند رو بدم. ( چون خودمم ی روزی توی این جایگاه بودم و افراد کمی رو برای کمک گرفتن کنارم داشتم)
اگر کسی با من، طرز بیان من و ... مشکلی داره
میتونه از گروه - کانال
Left
بده، و حتماً من رو هم
Block
بکنه.
واسه درآمد زایی کانال نزدم، واسه دیده شدن هم نیازی به این کانال ندارم (چون اصلاً پروژه تو ایران قبول نمیکنم)
ولی راجب این موضوعات دیگه پیام ندید؛ ترجیح میدم کانال و گروه حتی ۴۰ نفر باشه اما آدمهای درست (که حتی خودمم ازشون یاد بگیرم)
پ.ن : این رو میگم، چون ترجیح میدم بجای اینکه انرژیام رو صرف آدمهای زبون نفهم و دنبال حاشیه کنم ، جواب سوالات کسایی که واقعاً نیاز به کمک دارند رو بدم. ( چون خودمم ی روزی توی این جایگاه بودم و افراد کمی رو برای کمک گرفتن کنارم داشتم)
👍90❤19👎11🤪6🤔4🌚2🆒2
Python Hints
#Quick از پایتون درست استفاده کنید. دلیل این اختلاف زمانی و حافظه رو دوستان به خوبی توی کامنتها توضیح دادند پس دیگه من صحبت نمیکنم راجبش. اما غیر از مورد اول : x1 *= 2 که بهینه ترین حالت محاسبات و استفاده درست از numpy هست (وقتی میخواهید روی آرایه…
#موقت
این پست ی باگ و سوتی داره که متأسفانه کسی متوجه نشد
و خودم الان متوجه شدم و باید بهش اعتراف کنم.
البته بحثی که شده در مورد سرعت و مصرف حافظه کاملاً درست هست ولی خب کد اشتباه داره
تصویر و متن آپدیت میشه
مشکل رو ازینجا پیدا کردم که اون
Online Interpreter
قطعاً نباید توانایی محاسبه
100,000,000
رو میداشت (دیشب فکر میکردم روی 10,000 گذاشتم، تاثیرات شایعه حذف ۴ صفر از پول هست.)
این پست ی باگ و سوتی داره که متأسفانه کسی متوجه نشد
و خودم الان متوجه شدم و باید بهش اعتراف کنم.
البته بحثی که شده در مورد سرعت و مصرف حافظه کاملاً درست هست ولی خب کد اشتباه داره
تصویر و متن آپدیت میشه
مشکل رو ازینجا پیدا کردم که اون
Online Interpreter
قطعاً نباید توانایی محاسبه
100,000,000
رو میداشت (دیشب فکر میکردم روی 10,000 گذاشتم، تاثیرات شایعه حذف ۴ صفر از پول هست.)
👍14👌2😐2👀2👾2⚡1
1690891967408.gif
849.4 KB
این پکیج هم جالب هست،
Pypi Link
البته شخصاً فعلاً کاربرد جدیایی براش نمیبینم (ویدئو گویا هست دیگه)
وسط اجرا یادت میوفته ی کاری رو نکردی همون لحظه اضافه میکنی
احتمال زیاد پرفورمنس رو خراب میکنه
منبع: لینکدین (پروفایل طرف رو گم کردم)
پ.ن : یک کاربرد
Checkpoint
زدن توی تنسورفلو - کراس - پایتورچ میتونه باشه ولی موافقش نیستم
اگر یادت هست که اینو بذاری تو for loop پس قطعاً میدونی برای checkpoint زدن هست، خب کد رو همونجا آپدیت میکنی 😬
واقعاً شخصاً هنوز کاربرد منطقی براش نمیبینم
Pypi Link
البته شخصاً فعلاً کاربرد جدیایی براش نمیبینم (ویدئو گویا هست دیگه)
وسط اجرا یادت میوفته ی کاری رو نکردی همون لحظه اضافه میکنی
احتمال زیاد پرفورمنس رو خراب میکنه
منبع: لینکدین (پروفایل طرف رو گم کردم)
پ.ن : یک کاربرد
Checkpoint
زدن توی تنسورفلو - کراس - پایتورچ میتونه باشه ولی موافقش نیستم
اگر یادت هست که اینو بذاری تو for loop پس قطعاً میدونی برای checkpoint زدن هست، خب کد رو همونجا آپدیت میکنی 😬
واقعاً شخصاً هنوز کاربرد منطقی براش نمیبینم
👍21⚡2
تغییراتی که به احتمال بسیاری نهایی خواهند بود برای پایتون 3.12 :
Python3.12 what's bew ?
و مواردی که باعث افزایش سرعت خواهند شد.
Python3.12 what's bew ?
و مواردی که باعث افزایش سرعت خواهند شد.
👍19
Python Hints
تغییراتی که به احتمال بسیاری نهایی خواهند بود برای پایتون 3.12 : Python3.12 what's bew ? و مواردی که باعث افزایش سرعت خواهند شد.
Tokenizer
توی این نسخه روی C نوشته شده همین ی مورد به تنهایی خیلی سرعت رو بالا میبره (البته اینطوری که این زمان روی ماژولهای متفاوت chain میشه و خودشو نشون میده)
حتماً این تغییرات رو بخونید، بخصوص اگر درحال توسعه پکیج هستید
مثلاً f-string فوقالعاده خوب شده \ ، f-string های تو در تو هم دیگه پشتیبانی میشه و ...
توی این نسخه روی C نوشته شده همین ی مورد به تنهایی خیلی سرعت رو بالا میبره (البته اینطوری که این زمان روی ماژولهای متفاوت chain میشه و خودشو نشون میده)
حتماً این تغییرات رو بخونید، بخصوص اگر درحال توسعه پکیج هستید
مثلاً f-string فوقالعاده خوب شده \ ، f-string های تو در تو هم دیگه پشتیبانی میشه و ...
👍17⚡3
Python Hints
من محمد عباسی (@abbasi_ai) یک توسعه دهنده پایتون هستم با بیش از ۸ سال تجربه کار با پایتون (البته زمانی که دارم این پست رو مینویسم و باقی موارد تجربیاتم هم برای این کانال اهمیتی نداره) سعی میکنم نکاتی که فکر میکنم مهم هست تغییراتی که توی نسخههای اخیر…
#موقت
#Quick
دوستان من لینکدین رو هرروز چک نمیکنم مگر اینکه پیام یا کاری داشته باشم
اگر connect request فرستادید و طول کشید برای
Accept
کردن، عذرخواهی میکنم 🌹
توی مواردی که نخوام accept بزنم (پروفایل مشخص نیست، از نظر شغلی و ... به هم نمیخوریم مثلا مورد داشتیم طرف زده بود مشاور املاک، درخواست داده بود 😂) خودم reject میزنم. اما اگر ببینم بدون پاسخ نمیذارم.
این مورد برای پیامهای تلگرام هم صدق میکنه (اگر پیامی رو چندروز ندیدم یک پیام دیگه با متن up بفرستید که پیام بالا بیاد و ببینم)
#Quick
دوستان من لینکدین رو هرروز چک نمیکنم مگر اینکه پیام یا کاری داشته باشم
اگر connect request فرستادید و طول کشید برای
Accept
کردن، عذرخواهی میکنم 🌹
توی مواردی که نخوام accept بزنم (پروفایل مشخص نیست، از نظر شغلی و ... به هم نمیخوریم مثلا مورد داشتیم طرف زده بود مشاور املاک، درخواست داده بود 😂) خودم reject میزنم. اما اگر ببینم بدون پاسخ نمیذارم.
این مورد برای پیامهای تلگرام هم صدق میکنه (اگر پیامی رو چندروز ندیدم یک پیام دیگه با متن up بفرستید که پیام بالا بیاد و ببینم)
👍19👌8🗿5🤪2❤1
#خارج_از_بحث
این خیلی بدردم خورد گفتم با شما هم به اشتراک بذارم شاید مشکلات شما رو هم حل کمه
مخصوصاً مورد سوم
Reset Imported Contacts
فقط کافیه وارد
Settings
بشید و متن پایین که با فلش اشاره کردم رو ۲ بار طولانی لمس کنید.
دوستان اشاره کرده بودند شماره مشخص هست 😬
این خیلی بدردم خورد گفتم با شما هم به اشتراک بذارم شاید مشکلات شما رو هم حل کمه
مخصوصاً مورد سوم
Reset Imported Contacts
فقط کافیه وارد
Settings
بشید و متن پایین که با فلش اشاره کردم رو ۲ بار طولانی لمس کنید.
دوستان اشاره کرده بودند شماره مشخص هست 😬
👍14❤3😐1
#Quick
این یکی از
یکی از سرویسهای شرکت رو چون جلوتر از
Sprint
بودم و بسیار بسیار شبیه یکی دیگه از سرویسهایی هست که خودم کد زده بودم بجای اینکه طبق معمول پیاده سازی کنم
پیادهسازی کردم با اینکه فکر میکردم چون
دوستان یوتیوبر بنظرم، ازین دورهها بسازید.
برای توسعه دهندهها شاید الان خیلی چیز پر دردسری باشه نسبت به موارد دیگه که وجود داره و نیاز به
ولی قطعاً آینده Django به این سمت هست و برای درآمد بهتر در اون زمان، الان وقت شروع تمرین هست بنظرم
این یکی از
Django
هست نسخه 3.2 به بعد (من فقط 3.2 و 4.2 رو تست کردم) یکی از سرویسهای شرکت رو چون جلوتر از
Sprint
بودم و بسیار بسیار شبیه یکی دیگه از سرویسهایی هست که خودم کد زده بودم بجای اینکه طبق معمول پیاده سازی کنم
Async
پیادهسازی کردم با اینکه فکر میکردم چون
ORM
هنوز async
نشده و نباید خیلی کمک بزرگی بهم بکنه اما طبق خروجی profiler
تقریباً ۲.۲ برابر request
بیشتری رو دارم هندل میکنم با سختافزار و کانفیگ یکسان.دوستان یوتیوبر بنظرم، ازین دورهها بسازید.
برای توسعه دهندهها شاید الان خیلی چیز پر دردسری باشه نسبت به موارد دیگه که وجود داره و نیاز به
sync_to_async , ...
ولی قطعاً آینده Django به این سمت هست و برای درآمد بهتر در اون زمان، الان وقت شروع تمرین هست بنظرم
👍26⚡7👎1
Python Hints
نحوه استفاده از هوش مصنوعی؛ چندتا از بچه ها بعد از ارائه پیام دادند که یک آموزش از اینکه چطوری با AI الگوریتم و … رو یاد بگیریم بذارید گفتم این نمونه رو بذارم. برعکس این هم هست؛ زمانی که شما یک الگوریتم رو میشناسید ولی مثال برنامه نویسی ازش ندیدید؛ کافیه…
چندساعت قبل یک ملاقات داشتم؛ که توش بحث راجب
PEP703
پیش اومد (همین ۹ روز قبل آپدیت شده) و پروپوزال حذف
GIL
از پایتون هست (در دست بررسی هم هست)
شروع کردم راجبش صحبت کردن؛ ی مقدار که فردی که بحث رو وسط انداخت تعجب کرد بعد یکی از بچهها گفت تعجب نکن محمد همیشه آپدیت هست
خواستم بگم همیشه آپدیت بودن این نیست که برید کل
PEP703
رو بخونید (این اشتباهی هست که خیلی از بچههای تازهکار میکنند و فکر میکنند اینطوری سطحشون بالا میره)
فقط باید از ابزار های مناسب استفاده کنید.
من فقط این ۳ تا سوال رو از
chatGPT
پرسیده بودم قبلش (وقتی دیدم صحبتها در موردش داره شروع میشه)
حتی میتونستم راجبش تا ۱۵-۲۰ دقیقه بعد لکچر هم بدم :
اول این سوال و بعد هم خوندن بخشهای مهم پروپوزال PEP703 که هایلایت شده
پ.ن : احتمال داره پایتون 3.13 اولین نسخهای باشه که
@PyHints
PEP703
پیش اومد (همین ۹ روز قبل آپدیت شده) و پروپوزال حذف
GIL
از پایتون هست (در دست بررسی هم هست)
شروع کردم راجبش صحبت کردن؛ ی مقدار که فردی که بحث رو وسط انداخت تعجب کرد بعد یکی از بچهها گفت تعجب نکن محمد همیشه آپدیت هست
خواستم بگم همیشه آپدیت بودن این نیست که برید کل
PEP703
رو بخونید (این اشتباهی هست که خیلی از بچههای تازهکار میکنند و فکر میکنند اینطوری سطحشون بالا میره)
فقط باید از ابزار های مناسب استفاده کنید.
من فقط این ۳ تا سوال رو از
chatGPT
پرسیده بودم قبلش (وقتی دیدم صحبتها در موردش داره شروع میشه)
What is PEP703, what are the main problems in the way of PEP703 ?
What are the proposed ways for removing GIL from CPython in PEP703 if any provided ?
Give me a summary of PEP703 for a 5 minute talk about it
.حتی میتونستم راجبش تا ۱۵-۲۰ دقیقه بعد لکچر هم بدم :
اول این سوال و بعد هم خوندن بخشهای مهم پروپوزال PEP703 که هایلایت شده
Give me a summary of PEP703 for a 20 minute talk about it in 4000 words
خلاصه که استفاده درست از ابزارهای موجود بسیار بسیار مهم هست؛ و شما باید این رو هم یاد بگیرید که کجا و چطور از چه ابزاری استفاده کنید.پ.ن : احتمال داره پایتون 3.13 اولین نسخهای باشه که
--disbale-gil
ارائه خواهد شد و نیازی هم ندارید این مورد رو بخونید (من فقط خواستم ی آدم جوگیر رو ادب کنم)@PyHints
✍20👍16👎3❤2👏2👌2⚡1💔1🤝1
ی پروژه و پکیج جالب برای ساده کردن
Multiprocessing
در پایتون (شخصاً استفاده نکردم ولی جالب هست بسیار)
Github Link
Multiprocessing
در پایتون (شخصاً استفاده نکردم ولی جالب هست بسیار)
Github Link
GitHub
GitHub - sybrenjansen/mpire: A Python package for easy multiprocessing, but faster than multiprocessing
A Python package for easy multiprocessing, but faster than multiprocessing - sybrenjansen/mpire
👍7❤🔥2⚡1🎃1
#Quick
برای بالا بردن سرعت کدها اولین کاری که میکنید اینه که میرید
یاد میگیرید ؟
اشتباه نکنید، چیزی که قبل از اون نیاز دارید و ۹۹.۹٪ مشکلاتتون رو حل میکنه
(شاید یک آموزشی هم براش گذاشتم)
برای مثال توی پروژه اخیر، بجای یک سری از پردازشهای مهم تصویر رو که با
numpy
پیاده سازی شده بود آوردیم روی
Cython (numpy)
زمان اجرا تمام پردازشها قبل از این برای ۱ عکس توی بنچمارک ۵۳ ثانیه بود و بعد از تبدیل به Cython به حدوداً ۱ ثانیه رسید.
خیلی مهمه با همین ابزارهایی که در اختیارتون هست آشنا باشید و بتونید کار کنید.
پ.ن : کتاب بروزی نداریم برای این موضوع متأسفانه ولی یکی از بهترین منابع که یادم هستم (چندسال قبل خوندم؛ با یکی از دوستان)
بود و البته داکیومنت خود
Cython
حتی یاد گیری مقدماتش هم میتونه تا ۴-۵ برابر کدهاتون رو سریعتر کنه
برای بالا بردن سرعت کدها اولین کاری که میکنید اینه که میرید
C
یاد میگیرید ؟
اشتباه نکنید، چیزی که قبل از اون نیاز دارید و ۹۹.۹٪ مشکلاتتون رو حل میکنه
Cython
(شاید یک آموزشی هم براش گذاشتم)
برای مثال توی پروژه اخیر، بجای یک سری از پردازشهای مهم تصویر رو که با
numpy
پیاده سازی شده بود آوردیم روی
Cython (numpy)
زمان اجرا تمام پردازشها قبل از این برای ۱ عکس توی بنچمارک ۵۳ ثانیه بود و بعد از تبدیل به Cython به حدوداً ۱ ثانیه رسید.
خیلی مهمه با همین ابزارهایی که در اختیارتون هست آشنا باشید و بتونید کار کنید.
پ.ن : کتاب بروزی نداریم برای این موضوع متأسفانه ولی یکی از بهترین منابع که یادم هستم (چندسال قبل خوندم؛ با یکی از دوستان)
Cython (A guide for python programmers) by Kurt W.Smith - O'Reilly
بود و البته داکیومنت خود
Cython
حتی یاد گیری مقدماتش هم میتونه تا ۴-۵ برابر کدهاتون رو سریعتر کنه
👍44🤯8👌4⚡1
Python Hints
موسیقی تقدیم شما بابت 1k شدن کانال توی کمتر از ۱ ماه مرسی از همگی، امیدوارم لذت ببرید.🌹 بازم تاکید میکنم share , reference دادن به کانال رو هستم، ولی اگر میخواید مطالب رو کپی هم کنید کپی کاملاً آزاد. مطالب رو ویدئو youtube کردن، کاملاً آزاد. کلا…
☝️☝️☝️☝️☝️☝️
قبلاً هم گفتم حتی استفاده از مطالب بدون رفرنس دادن به کانال هم مجاز هست.
البته بسیاری از دوستان رفرنس میزنند (قدردان هستم)
و این مطلب رو مجدد گذاشتم چون بعضی از دوستان پرسیدند توی آموزش میتونند استفاده کنند یا خیر .
قبلاً هم گفتم حتی استفاده از مطالب بدون رفرنس دادن به کانال هم مجاز هست.
البته بسیاری از دوستان رفرنس میزنند (قدردان هستم)
و این مطلب رو مجدد گذاشتم چون بعضی از دوستان پرسیدند توی آموزش میتونند استفاده کنند یا خیر .
❤24👍3👏3
اینم ارزش نگاه انداختن داره :
توجه کنید حالت
Local Mode
داره که وقتی فعال کنید لاگ روی سرورهای خودشون نگه نمیدارند و از دیتا برای training استفاده نمیشه (مشکل جدی شرکتهای بزرگ با chatGpt)
Cursor
The Ai First Code Editor
توجه کنید حالت
Local Mode
داره که وقتی فعال کنید لاگ روی سرورهای خودشون نگه نمیدارند و از دیتا برای training استفاده نمیشه (مشکل جدی شرکتهای بزرگ با chatGpt)
Cursor
The Ai First Code Editor
Cursor
Cursor - The AI Code Editor
Built to make you extraordinarily productive, Cursor is the best way to code with AI.
👍11
این رو همین الان توی مصاحبه ازم پرسیدند : (حتی فرصت فکر کردن به راهحل و ... هم نداشتم)
البته باید بگم که توی مصاحبه یک حجم بالایی از دیتا بهم داده شد و یک کد با بیش از
توی این شرکت قرار هست
باشم و حالا میخوان کدهاشون رو optimize و review کنند
تا اول خط ۱۴ من داشتم مثالی مشابه برای شما آماده میکردم؛ و توی ۸ خط من ۶۰٪ کدهای نفر قبلی رو انجام دادم.
استفاده از
۳ تا مفهوم اصلی بود که با این کد نشون دادم بهش مسلط هستم.
پ.ن :
راستی این یکی از سوالات مصاحبه مرحله دوم بود، مرحله سوم هم که احتمال زیاد
هست.
البته باید بگم که توی مصاحبه یک حجم بالایی از دیتا بهم داده شد و یک کد با بیش از
۱۰۰
خط توی این شرکت قرار هست
senior python developer
باشم و حالا میخوان کدهاشون رو optimize و review کنند
تا اول خط ۱۴ من داشتم مثالی مشابه برای شما آماده میکردم؛ و توی ۸ خط من ۶۰٪ کدهای نفر قبلی رو انجام دادم.
استفاده از
match-case / Destructuring / Runtime type checking
۳ تا مفهوم اصلی بود که با این کد نشون دادم بهش مسلط هستم.
پ.ن :
isbn
رو نباید int
در نظر بگیرید (سربار و …) ولی من برای مثال چیز دیگری به ذهنم نرسید برای همین اینطوری در نظر گرفتمشراستی این یکی از سوالات مصاحبه مرحله دوم بود، مرحله سوم هم که احتمال زیاد
System Design
هست.
👍34✍8⚡2❤2🍾1