تغییراتی که به احتمال بسیاری نهایی خواهند بود برای پایتون 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
Python Hints
من خیلی ازین سالهای آخر رو خرج هوش مصنوعی کردم هم پیشرفت و دستاورد داشتم هم پسرفت راجب پسرفتها بخوام بگم؛ میتونم به موارد زیادی اشاره کنم ولی یک مورد هست که خودم رو خیلی اذیت میکنه اونم کدهای بد هست توی بخش تحقیقاتی کار کردن (هوش مصنوعی و دیتاساینس رو…
پستی که روش ریپلای زدم رو اگر نخوندید شاید بد نباشه بخونید :
توی شرکت چندتا نیروی بخش
تو زمینه هوش مصنوعی هیچوقت این موارد نیاز نیست (مگر به زمان پروداکشن که من اصلا ندیدم توی ایران کسی اینکار رو بکنه؛ تجربهام با شرکتهای خارجی هم همین رو نشون داده که اونطرف هم اوضاع همین هست)
اما وقتی صحبت از
حالا :
ازونجا که واقعا نمیدونستم اوضاع جامعه پایتون کانال روی این موضوع چطور هست (سنیور - جونیور) گفتم قبل از اینکه متن و آموزشی درمورد این موارد بذارم؛ نظرخواهی کنم که آیا نیاز به آموزش راجب فایلهای داخل عکس و استاندارد سازی ساختار کدهای پایتون دارید یا خیر ؟
لایک : آموزش بذارم
دیسلایک : آموزش لازم نیست.
باقی اموجیها : بذاری بهتر نذاشتی هم خودمون میخونیم.
@PyHints
توی شرکت چندتا نیروی بخش
Backend - software engineering
بهم سپرده شده (سنیور توشون نیست) که توی همین چند مدتی که گذشته به conflict
های بسیاری خوردیم (روی پروژههای قبلی) حالا قرار هست با این دوستان پروژه جدیدی رو شروع کنیم و برای همین دارم استاندارد سازی میکنم و آموزش میدم نیروها رو.تو زمینه هوش مصنوعی هیچوقت این موارد نیاز نیست (مگر به زمان پروداکشن که من اصلا ندیدم توی ایران کسی اینکار رو بکنه؛ تجربهام با شرکتهای خارجی هم همین رو نشون داده که اونطرف هم اوضاع همین هست)
اما وقتی صحبت از
Backend development, software engineeringمیشه بنظرم باید این موارد رعایت بشه.
حالا :
ازونجا که واقعا نمیدونستم اوضاع جامعه پایتون کانال روی این موضوع چطور هست (سنیور - جونیور) گفتم قبل از اینکه متن و آموزشی درمورد این موارد بذارم؛ نظرخواهی کنم که آیا نیاز به آموزش راجب فایلهای داخل عکس و استاندارد سازی ساختار کدهای پایتون دارید یا خیر ؟
لایک : آموزش بذارم
دیسلایک : آموزش لازم نیست.
باقی اموجیها : بذاری بهتر نذاشتی هم خودمون میخونیم.
@PyHints
👍263🎃8👎2☃1🐳1🌚1🍾1💋1🆒1
Je n'ai pas changé
Julio Iglesias
je n'ai pas changé
Artist: Julio Iglesias
Album : Sono Un Pirata, Sono Un Signore
Released: 1978
Produce: 1978
Genres: Pop
@PytensMusic
Artist: Julio Iglesias
Album : Sono Un Pirata, Sono Un Signore
Released: 1978
Produce: 1978
Genres: Pop
@PytensMusic
❤20⚡1👍1💔1
Python Hints
Julio Iglesias – Je n'ai pas changé
به مناسبت 2k شدن ممبرهای کانال و پیامهای گرم که این مدت از شما عزیزان دریافت کردم.
مرسی از همگی
امیدوارم این آهنگ رو دوست داشته باشید (هرچند میدونم سلیقه موسیقیام با نسل امروز هماهنگ نیست خیلی)
اما برای تشکر از همهی لطفی که دوستان توی این مدت داشتید چیز بهتری برای ارائه نداشتم.
ترجمه رو هم گذاشتم، شاید بیشتر کمک کنه.
مرسی از همگی
امیدوارم این آهنگ رو دوست داشته باشید (هرچند میدونم سلیقه موسیقیام با نسل امروز هماهنگ نیست خیلی)
اما برای تشکر از همهی لطفی که دوستان توی این مدت داشتید چیز بهتری برای ارائه نداشتم.
ترجمه رو هم گذاشتم، شاید بیشتر کمک کنه.
❤38👍5⚡1👎1👏1
Python Hints
پستی که روش ریپلای زدم رو اگر نخوندید شاید بد نباشه بخونید : توی شرکت چندتا نیروی بخش Backend - software engineering بهم سپرده شده (سنیور توشون نیست) که توی همین چند مدتی که گذشته به conflict های بسیاری خوردیم (روی پروژههای قبلی) حالا قرار هست با این دوستان…
امکان نداره شما پروژه پایتونی رو کد بزنید و اطلاعات درست پروژه رو ندید
۱- سیستم عاملی که روش کد زدید یا تست گرفتید :
۳- دستور اصلی به جهت اجرای پروژه :
فقط تحت ۱ شرابط حق دارید ۲ مورد اول رو جایی گزارش نکنید و کسی هم بهتون سخت نگیره (هرچند بازم خوب نیست ولی خب) :
Readme.mdحداقل باید شامل ۳ مورد باشه :
۱- سیستم عاملی که روش کد زدید یا تست گرفتید :
OS: Ubuntu 20.04
۲- ورژن پایتونی که دارید استفاده میکنید:Python: CPython 3.10.12
پایتون نسخههای مختلفی داره اگر از نسخه سایت python.org
استفاده میکنید به اسم CPython
شناخته میشه (توی شرکتهایی که از نسخههای دیگه مثل IronPython - Pypy - IntelPython
استفاده میکنند رعایت این نکته بسیار مهم هست)۳- دستور اصلی به جهت اجرای پروژه :
$ python main.py —help
فقط تحت ۱ شرابط حق دارید ۲ مورد اول رو جایی گزارش نکنید و کسی هم بهتون سخت نگیره (هرچند بازم خوب نیست ولی خب) :
Docker
اگر Dockerfile
یا docker image
استفاده میکنید توی پروژه میتونید به ترتیب هر ۳ مورد یا ۲ مورد اول رو توی گزارش ننویسید.❤🔥19👍16⚡2👎2🤔2❤1
فایل بعدی که باید داشته باشید
۱- دیلی شرکت نکردن بدون اطلاع قبلی؛ دستمزد اون روز رو حذف میکنه
۲- پروژه تحویل دادن بدون
اما توی تیم من حداقل ۳ نکته هم باید رعایت بشه :
۱- بجای یک فایل باید ۳ تا فایل برای
تصویر بالا برای فایل
requirements.txt
نبودش توی تیم ما خطای بزرگی هست :۱- دیلی شرکت نکردن بدون اطلاع قبلی؛ دستمزد اون روز رو حذف میکنه
۲- پروژه تحویل دادن بدون
requirements.txt
درست بین ۲ تا ۷ روز کسر از دستمزد داره (اهمیت رو ببینید)اما توی تیم من حداقل ۳ نکته هم باید رعایت بشه :
۱- بجای یک فایل باید ۳ تا فایل برای
requirements
داشته باشید base.txt- local.txt - product.txt
یک پوشه به این اسم میسازید و این ۳ فایل داخلش قرار میگیره تصویر بالا برای فایل
base.txt
هست؛ این فایل شامل پکیجهایی میشه که چه توی محیط توسعه چه توی پروداکشن باید وجود داشته باشه local.txt
برای محیط توسعه هست خط اول این فایل همیشه باید -r base.txt
باشه که بصورت اتومات پکیجهای داخل base
رو هم شامل بشه موقع نصب و باقی خطهای فایل شامل پکیجهایی میشه که فقط توی محیط توسعه لازم هست :black, isort, flake8, pre-commit, ...
و در نهایت prod.txt
مواردی که فقط روی پروداکشن لازم هست بازم خط اول باید-r base.txt
باشه حتما و قطعا چیزی که توی local
هست نباید اینجا باشه.👍27⚡2👎2☃1❤1🌚1
Python Hints
فایل بعدی که باید داشته باشید requirements.txt نبودش توی تیم ما خطای بزرگی هست : ۱- دیلی شرکت نکردن بدون اطلاع قبلی؛ دستمزد اون روز رو حذف میکنه ۲- پروژه تحویل دادن بدون requirements.txt درست بین ۲ تا ۷ روز کسر از دستمزد داره (اهمیت رو ببینید) اما توی…
۲- تمامی پکیجها باید ورژن داشته باشند اما استفاده از
استفاده میکنیم دلیلش هم این هست که آپدیتهای پچ رو بتونیم دانلود و نصب کنیم (چه امنیتی باشه چه رفع باگهای ساده) بدون اینکه نیازی به تغییر حتی ۱ خط کد باشه
۳- تا جایی که امکان داره موارد رو بصورت دستی بنویسید و از
این مواردی هست که توی تیم بنده رعایت میشه و تجربه بهم نشون داده کار خوبی هست (جاهای دیگه هم دیدم این مورد رو)
برخی از
بازم میگم ما ترجیح میدیم راجب انتخاب ابزار هیچ فشاری روی باقی تیم نداشته باشیم.
==
برای ورژن زدن پکیجها ریکامند نمیشه بجاش از ~=
استفاده میکنیم دلیلش هم این هست که آپدیتهای پچ رو بتونیم دانلود و نصب کنیم (چه امنیتی باشه چه رفع باگهای ساده) بدون اینکه نیازی به تغییر حتی ۱ خط کد باشه
۳- تا جایی که امکان داره موارد رو بصورت دستی بنویسید و از
pip freeze
دوری کنید؛ که فقط پکیجهای اصلی ذکر بشه و فایل تمیزتری برای بررسی وجود داشته باشه.این مواردی هست که توی تیم بنده رعایت میشه و تجربه بهم نشون داده کار خوبی هست (جاهای دیگه هم دیدم این مورد رو)
برخی از
toml , ...
استفاده میکنند که من برای پروژه تیمی تایید نمیکنم چون هرکسی ممکن ازین ابزارها استفاده نکنه ولی اگر کل تیم شما با اون فرمول پیش میره شما هم همون کار رو بکنید.بازم میگم ما ترجیح میدیم راجب انتخاب ابزار هیچ فشاری روی باقی تیم نداشته باشیم.
👍33☃1⚡1❤1👎1
Python Hints
پستی که روش ریپلای زدم رو اگر نخوندید شاید بد نباشه بخونید : توی شرکت چندتا نیروی بخش Backend - software engineering بهم سپرده شده (سنیور توشون نیست) که توی همین چند مدتی که گذشته به conflict های بسیاری خوردیم (روی پروژههای قبلی) حالا قرار هست با این دوستان…
.editorconfig
من بیشتره استفاده ازین فایل و استاندارد رو زمانی داشتم که از vscode
روی چندین زبان برنامه نویسی استفاده میکردم که هرکدوم استانداردهای خودش رو داشت javascript, python, rustو هر گروه از آدمهایی که باهاشون کار میکردم هم استاندارد خودشون رو داشتند مثلا تیم
js
تعداد indent
رو دو درنظر میگرفت و یک تیم دیگه این مقدار رو چهار و ... یعنی هر پروژه کانفیگ خودش رو داشت.الان خیلی کاربردی نداره مخصوصا اینکه با تیمی که باهاش کار میکنم چندسالی هست باهم کد رد و بدل کردیم و یک توافق نانوشته باهم داریم روی کانفیگ
vscode
ولی خب توی آموزش باید این موضوع باشه مهمترین
option
ها اینجا هست؛ فقط توجه کنید همهی IDE
ها و ... معروف ازین مورد پشتیبانی میکنند فقط شاید لازم باشه تیک فعال سازیش رو بزنید vscode :
settings > search for : EditorConfig > Use Editor Config
برای توضیحات بیشتر :https://editorconfig.org/
👍24⚡2🤔2❤1☃1👎1