#Quick
PyScript
هم به نقطهای رسیده که شرکتها حداقل برای prototype دارند ازش استفاده میکنند؛ شاید عالی نباشه ولی برای تست ایدهها ؛ دموها ؛ حتی ارائه به استاد توی دانشگاه و ...
واقعا جالب هست و ارزش بررسی داره
PyScript GitHub
اینو میگم چون خودم برای تست ایده مجبور به یادگیری
PyScript
هم به نقطهای رسیده که شرکتها حداقل برای prototype دارند ازش استفاده میکنند؛ شاید عالی نباشه ولی برای تست ایدهها ؛ دموها ؛ حتی ارائه به استاد توی دانشگاه و ...
واقعا جالب هست و ارزش بررسی داره
PyScript GitHub
اینو میگم چون خودم برای تست ایده مجبور به یادگیری
React شدم.GitHub
GitHub - pyscript/pyscript: PyScript is an open source platform for Python in the browser. Try PyScript: https://pyscript.com …
PyScript is an open source platform for Python in the browser. Try PyScript: https://pyscript.com Examples: https://tinyurl.com/pyscript-examples Community: https://discord.gg/HxvBtukrg2 - pyscri...
👍20
#Quick
من این اخطار هارو همیشه زودتر به دوستان نزدیکم میگم
گفتم ازین به بعد بعضیهاش رو اینجا هم بگم:
اولین :
asyncio
رو هرچه زودتر یاد بگیرید، پترنها و مفاهیم برنامهنویسی
Async, Parallel, Concurent
قبلتر تأکید زیادی روش نداشتم، اما دیر نیست (توی ایران) روزی که حتی
Intermediate python
هم توی مصاحبه باید این مفاهیم رو کامل بدونه.
@PyHints
من این اخطار هارو همیشه زودتر به دوستان نزدیکم میگم
گفتم ازین به بعد بعضیهاش رو اینجا هم بگم:
اولین :
asyncio
رو هرچه زودتر یاد بگیرید، پترنها و مفاهیم برنامهنویسی
Async, Parallel, Concurent
قبلتر تأکید زیادی روش نداشتم، اما دیر نیست (توی ایران) روزی که حتی
Intermediate python
هم توی مصاحبه باید این مفاهیم رو کامل بدونه.
@PyHints
👍49❤11👌3👎1
Python Hints
#Quick من این اخطار هارو همیشه زودتر به دوستان نزدیکم میگم گفتم ازین به بعد بعضیهاش رو اینجا هم بگم: اولین : asyncio رو هرچه زودتر یاد بگیرید، پترنها و مفاهیم برنامهنویسی Async, Parallel, Concurent قبلتر تأکید زیادی روش نداشتم، اما دیر نیست (توی…
#Quick
برای دوستانی که تازه میخوان یاد بگیرند این موضوع رو خیلی مهمه که روی پایتون 3.9 به بعد تمرین کنید و یاد بگیرید این موضوع رو
برای همین کتابی که توی پست pin شده معرفی کردم رو فقط تایید میکنم نسخه پایتون اون کتاب 3.10 هست با تغییرات و باگهای رفع شده آموزش میده.
برای دوستانی که تازه میخوان یاد بگیرند این موضوع رو خیلی مهمه که روی پایتون 3.9 به بعد تمرین کنید و یاد بگیرید این موضوع رو
برای همین کتابی که توی پست pin شده معرفی کردم رو فقط تایید میکنم نسخه پایتون اون کتاب 3.10 هست با تغییرات و باگهای رفع شده آموزش میده.
👍23❤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
Python Hints
من محمد عباسی (@abbasi_ai) یک توسعه دهنده پایتون هستم با بیش از ۸ سال تجربه کار با پایتون (البته زمانی که دارم این پست رو مینویسم و باقی موارد تجربیاتم هم برای این کانال اهمیتی نداره) سعی میکنم نکاتی که فکر میکنم مهم هست تغییراتی که توی نسخههای اخیر…
#موقت
#Quick
دوستان من لینکدین رو هرروز چک نمیکنم مگر اینکه پیام یا کاری داشته باشم
اگر connect request فرستادید و طول کشید برای
Accept
کردن، عذرخواهی میکنم 🌹
توی مواردی که نخوام accept بزنم (پروفایل مشخص نیست، از نظر شغلی و ... به هم نمیخوریم مثلا مورد داشتیم طرف زده بود مشاور املاک، درخواست داده بود 😂) خودم reject میزنم. اما اگر ببینم بدون پاسخ نمیذارم.
این مورد برای پیامهای تلگرام هم صدق میکنه (اگر پیامی رو چندروز ندیدم یک پیام دیگه با متن up بفرستید که پیام بالا بیاد و ببینم)
#Quick
دوستان من لینکدین رو هرروز چک نمیکنم مگر اینکه پیام یا کاری داشته باشم
اگر connect request فرستادید و طول کشید برای
Accept
کردن، عذرخواهی میکنم 🌹
توی مواردی که نخوام accept بزنم (پروفایل مشخص نیست، از نظر شغلی و ... به هم نمیخوریم مثلا مورد داشتیم طرف زده بود مشاور املاک، درخواست داده بود 😂) خودم reject میزنم. اما اگر ببینم بدون پاسخ نمیذارم.
این مورد برای پیامهای تلگرام هم صدق میکنه (اگر پیامی رو چندروز ندیدم یک پیام دیگه با متن up بفرستید که پیام بالا بیاد و ببینم)
👍19👌8🗿5🤪2❤1
#Quick
این یکی از
یکی از سرویسهای شرکت رو چون جلوتر از
Sprint
بودم و بسیار بسیار شبیه یکی دیگه از سرویسهایی هست که خودم کد زده بودم بجای اینکه طبق معمول پیاده سازی کنم
پیادهسازی کردم با اینکه فکر میکردم چون
دوستان یوتیوبر بنظرم، ازین دورهها بسازید.
برای توسعه دهندهها شاید الان خیلی چیز پر دردسری باشه نسبت به موارد دیگه که وجود داره و نیاز به
ولی قطعاً آینده Django به این سمت هست و برای درآمد بهتر در اون زمان، الان وقت شروع تمرین هست بنظرم
این یکی از
Django هست نسخه 3.2 به بعد (من فقط 3.2 و 4.2 رو تست کردم) یکی از سرویسهای شرکت رو چون جلوتر از
Sprint
بودم و بسیار بسیار شبیه یکی دیگه از سرویسهایی هست که خودم کد زده بودم بجای اینکه طبق معمول پیاده سازی کنم
Async پیادهسازی کردم با اینکه فکر میکردم چون
ORM هنوز async نشده و نباید خیلی کمک بزرگی بهم بکنه اما طبق خروجی profiler تقریباً ۲.۲ برابر request بیشتری رو دارم هندل میکنم با سختافزار و کانفیگ یکسان.دوستان یوتیوبر بنظرم، ازین دورهها بسازید.
برای توسعه دهندهها شاید الان خیلی چیز پر دردسری باشه نسبت به موارد دیگه که وجود داره و نیاز به
sync_to_async , ...ولی قطعاً آینده Django به این سمت هست و برای درآمد بهتر در اون زمان، الان وقت شروع تمرین هست بنظرم
👍25⚡7👎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
Rust for Python developers
این یکی واقعاً جالبه، جایگزین Flake8, isort, black, pyupgrade, ... با سرعت خیلی بیشتر. Ruff که با Rust نوشته شده، و پروژه Scipy, Pandas, FastApi, ... هم سمتش رفتند.
#Quick
پست قبلی که گذاشتم راجب
توافق کردند از
استفاده کنند، بخصوص که حالا دیگه
تا اینجا که خیلی خوب پیش رفته (از صبح).
پست قبلی که گذاشتم راجب
uv حقیقتا از اینجا متوجه پروژه شدم که تیمهایData Engineering, Backend, Test توافق کردند از
ruffاستفاده کنند، بخصوص که حالا دیگه
vs-code extension هم براش وجود داره و خیلی راحت شده کار بچهها گفتند ما هم بریم سراغش و منم دارم بررسی میکنم که نظراتم رو راجبش بدم، نسبت به تمام کانفیگهایی که داریم.تا اینجا که خیلی خوب پیش رفته (از صبح).
👍20❤1
#Quick
نوشتن
این مورد رو بین بچههای دیتاساینس و هوش خیلی زیاد میبینم و بین بچههای بکند هم وقتی دارند روی
موضوع فقط مصرف زیاد رم نیست؛ موضوع سرعت هم هست اگر قرار به تمیزکاری و پردازش هر نمونه دپتا یا خط به خط هست لطفا از
مشکل دارن با ما؛ ما اینجا زحمت میکشیم
تصویر ی نمونه خیلی ساده برای مثال هست (زمان اجرا کامنت شده)
نوشتن
list اطراف هر تابع باید دوبار بهش فکر کنید. اگر اون تابع یک generator باشه شما دارید بدترین کار ممکن رو میکنید.این مورد رو بین بچههای دیتاساینس و هوش خیلی زیاد میبینم و بین بچههای بکند هم وقتی دارند روی
CSV, Json و یا Json-line کار میکنند.موضوع فقط مصرف زیاد رم نیست؛ موضوع سرعت هم هست اگر قرار به تمیزکاری و پردازش هر نمونه دپتا یا خط به خط هست لطفا از
generator ها به درستی استفاده کنیدمشکل دارن با ما؛ ما اینجا زحمت میکشیم
generator مینویسیم بعد اینا سریع میندازنش توی listتصویر ی نمونه خیلی ساده برای مثال هست (زمان اجرا کامنت شده)
👍50❤2👎1🐳1
Python Hints
لطفاً پیامهای پین شده کانال رو بخونید 🌹 به لطف شما عزیزان, کانال قابلیت استوری گذاشتن داره و سعی میکنم ازین قابلیت برای معرفی کتابها استفاده کنم تا دوستان به راحتی بتونند کتابها رو پیدا کنند. همونطور که قبلاً گفتم، فقط و فقط کتابهایی رو معرفی میکنم…
#quick_note
تعداد افرادی که از کانالهای جنگو و هوش مصنوعی وارد این کانال شدند درحال افزایش هست
برای همین توی بخش معرفی کتابها و استوری ها ازین به بعد کتابهایی غیر از
معرفی کتاب که ضرری نداره (اما لطفا غیر از موضوع
هر موضوع دیگری : @DevChaiChat
در نهایت؛ یادآوری کنم من فقط کتابی رو معرفی میکنم که شخصا خونده باشم و بنظرم ارزش معرفی داشته باشه
اضافه کنم :
تمامی کتابهای معرفی شده رو میتونید با کلیک روی اسم کانال و رفتن توی قسمت
تعداد افرادی که از کانالهای جنگو و هوش مصنوعی وارد این کانال شدند درحال افزایش هست
برای همین توی بخش معرفی کتابها و استوری ها ازین به بعد کتابهایی غیر از
Core Python رو هم اضافه میکنم.معرفی کتاب که ضرری نداره (اما لطفا غیر از موضوع
Core Python) توی گروه متصل به کانال صحبتی نشههر موضوع دیگری : @DevChaiChat
در نهایت؛ یادآوری کنم من فقط کتابی رو معرفی میکنم که شخصا خونده باشم و بنظرم ارزش معرفی داشته باشه
اضافه کنم :
تمامی کتابهای معرفی شده رو میتونید با کلیک روی اسم کانال و رفتن توی قسمت
Posts ببینید.#Quick
یک سری وقتها هست که توی پروژه بنا به هر دلیلی نیاز هست که یک پوشه خالی داشته باشید و اون رو روی
اکثرا برای
حالا مساله چیه ؟ هرکی برای خودش از یک استاندارد استفاده میکنه (همه موارد جواب میده)
۱- اونایی که توی
اضافه کردن فایل
۲- بچههای
اضافه کردن یکم فایل با نام دلخواه و شروع با
۳- ویندوزیها :
اضافه کردن یک فایل با پسوند
اما برای این کار یک قرارداد نانوشته مشترک بین همه برنامهنویسها هست اونم؛ توی اون پوشه خالی یک فایل به اسم
بسازید (جدای از
یعنی همه چیز داخل این پوشه رو برای
ربطی به موارد
یک سری وقتها هست که توی پروژه بنا به هر دلیلی نیاز هست که یک پوشه خالی داشته باشید و اون رو روی
git هم بذارید.اکثرا برای
permission درست و ... دیدم این کار انجام میشه.حالا مساله چیه ؟ هرکی برای خودش از یک استاندارد استفاده میکنه (همه موارد جواب میده)
۱- اونایی که توی
Mac کد میزنند:اضافه کردن فایل
.DSStore (با همچین اسمی به پوشه خالی)۲- بچههای
Linux :اضافه کردن یکم فایل با نام دلخواه و شروع با
. بیشترین مورد : .ignore۳- ویندوزیها :
اضافه کردن یک فایل با پسوند
txtاما برای این کار یک قرارداد نانوشته مشترک بین همه برنامهنویسها هست اونم؛ توی اون پوشه خالی یک فایل به اسم
.gitignoreبسازید (جدای از
gitignore کل پروژه هست) و محتوای داخلش این خواهد بود:*
!.gitignore
یعنی همه چیز داخل این پوشه رو برای
git نادیده بگیر به غیر از .gitignoreربطی به موارد
advance نداشت ولی چون دیدم خیلی کم رعایت میشه گفتم پست بذارم.👍59❤4🤨2🤝2⚡1🙊1