Python Hints
رفتن به کانال در Telegram
Python tips and tricks The Good, Bad and the Ugly توی این کانال فقط قرار هست در مورد core python صحبت کنیم. این کانال یک بلاگ شخصی هست و پیرامون نظرات و چیزهایی که توی بیش از ۱۰ سال کد زدن یاد گرفتم (فقط برای کمک به دوستان تازهکار) Admin: @Abbasi_ai
نمایش بیشتر9 600
مشترکین
+424 ساعت
+727 روز
+21230 روز
آرشیو پست ها
9 600
#Quick
داشتم پروژه
django شرکت رو میخوندم یک مشکل داریم سر بعضی endpointها و برخی تسکها
اولین کاری کردم این بوده که یک سری دیتا تست با faker بهش دادم مثه loadtest ولی بدون ابزار و بعد هم profiling گرفتم و ذخیره کردم.
چیز جالبی که دیدم؛ پروژه موقع کار کردن با redis به مشکل میخورد.
ولی redis منابعش بیشتر از حد مورد نیازش بود.
حجم دیتاهای تست رو کم کردم و مشکل حل شد؛ توی چندتا تست مختلف که زدم دیدم مسئله و مشگل از سمت پیکج redis هست توی پایتون و راهکار ساده9 600
#موقت
۱- مشکلات دیگه از یوتیوب (اگر برای شما هم کند شده نگران نباشید طبیعی هست)
Temporary difficulties with YouTube YouTube is slow. We are doing everything possible to return to normal speed! Use a VPN to speed up your loading times.۲- روی کانفیگ
nvim که گذاشتم بیشترین درخواست برای اضافه شدن javascript بوده.
چون زیاد سوال شده :
نمیدونم کی فرصت بشه ولی توی اولین زمان اضافه میکنم و روی یک برنچ جدا میذارم.9 600
میخوام راجب این صحبت کنم (از پروفایل خودم).
من پیغمبر مخالفت با اهمیت تعداد کامیت بودم و هستم؛ حداقل ۳-۴ ساله دارم این حرف رو میزنم و دلیلش رو هم گفتم (اینکه چندتا گیتهاب خودم به اینو اون دادم و ...)
ولی یک جو احمقانه توی لینکدین و توییتر راه افتاده ضد این بخش؛ ببین از من که گذشته ولی این صحبتهای احمقانه برای کل جامعه برنامهنوبسی بد هست چند مورد :
۱- کسی که پروفایلش انقدر کامیت داره؛ حرفهای نیست چون شرکتهای بزرگ خودشون گیتلب دارند و ...
همینجا جواب این رو میدم:
احمق جون تو تازهکاری گیتلب زمانی به یک سری باگها خورد (توی یوتیوب سرچ کنید) که خیلی شرکتها برگشتند روی گیتهاب و نسخه
organization رو خرید زدند.
خیلی از فعالیتهای گیتهاب من ازونجا شروع شد.
۲- اینا همش ادا بازیه و ...
حماقت محض هست این حرف؛ اگر به اینجا رسیدی که این حرف رو زدی (شما تا حالا کسی رو دیدی عکس این کاشیکاری رو توی رزومهاش بذاره ؟)
هیچ شرکت و یا شخص با سوادی رو نمیشناسم که حتی ۱ درصد این موزاییک براش مهم باشه (مگر بچههایی که روش نقاشی میکشند. اونم کل کل برنامه نویسی هست البته)
و چیزهای از این دست.
در نهایت اینکه؛ من خودم بیشتر کامیتهای گیتهابم برای کارهای شخصی (اسکریپت؛ ایده؛ داکیومنت؛ کانفیگ و حتی تمرین هست)
از این 2176 تا کامیت شاید 700-800 تاش برای شرکتهایی هست که روی گیتهاب هستند؛ باقیش کارهای خودمه؛ و حتی اگر یک روز تا ۱۰ شب هم سرکار باشم هرطور شده باید تا آخر شب ۲-۳ تا مطلب کتابی که خوندم رو برای خودم تمرین کنم (این بدترین حالت هست).
ولی خیلی وقتا تیکه کدی زده شده توی شرکت که بنظرم راه خوبی نبوده و باگ میخوره؛ روی گیتهاب خودم یک سناریو مشابه براش درست میکنم و سعی میکنم اون مشکل رو حل کنم یا پروفایلینگ براش بگیرم و اپتیمایز کنم چون من خالق همه پروژههای شرکتها نیستم و خیلی وقتا بیزینس بهم اجازه نمیده روش رو تغییر بدم.
خلاصه که وظیفه ما :
هشدار دادن راجب افراد سودجو بود؛ که نیروی HR به این کاشی کاری گیتهاب اهمیتی نده برای دعوت به مصاحبه.
اما این موج تخریب افراد تازهکار و با انگیزه بالا هم کاری بس کثیفتر هست که مطمئنم از جامعه توسعه دهنده شروع نشده.
مثال از خودم زدم برای حمایت از تمام دولوپرهای تازهکار و با انگیزه دمتون گرم ❤️9 600
لینکدین فارسی به معنای واقعی به ته ته خط رسیده :
۱- خانومها که میان از پیشنهادات برای آشنایی میگن (این خودش یک معقولهاس که بنظرم اصلا هم بد نیست ولی خب جای بحث داره)
۲- کلی درخواست کانکشن میاد بعد میبینی طرف بلاگر و تبلیغات چی بوده از اینستاگرام اومده لینکدینم به کثافت بکشه
۳- کلی پیام تسلیت میاد، روزی نیست که شخصی فوت نکنه و توی لینکدین پست هزار نفر نشه (افرادی که وقتی زنده بود فحش میدادن بهش، بخصوص استادا نزدیک خودم دیدم که میگم)
۴- همه چیز تبدیل به دستاورد میشه؛ طرف زده رفتم تخم مرغ خریدم و ....
۵- داستان همه آدما کپی میشه؛ اگر یک داستان قشنگی هم پیدا بشه میبینی هزارنفر به اسم خودشون زدند. نمیشه به آدم واقعی داستان رسید شاید کسی بخواد کمک کنه.
۶- مهمترین، استفاده از لینکدین قرار بود این باشه که ما به آدمایی که میشناسیم بگیم آقا٫خانم من دنبال کار میگردم به همه شما اطلاع میدم.
۷- هرکسی
open to work فقط #up , ... میگیره دریغ از یک پیشنهاد همکاری یا ...
قبلاً زده بودم که بهتره چطوری زیر این پستها نظر بدید وگرنه که نادیده بگیرید.
خلاصه که شخصاً ۶-۷ ماه هست که لینکدین فقط میرم message هارو میخونم (همرو رد میکنم) و کانکشنها رو قبول میکنم.
فکر کنم برای شما هم کاربردش همین شده باشه.9 600
Mac Users: If you're struggling to optimize your workflow, don’t worry—you have plenty of money to waste. Just buy a newer Mac instead!
Windows Users: Before searching for a real IDE, you might want to get yourself a real operating system.
#موقت
9 600
چون پرسیدید چرا (تو گروه توضیح دادم همون رو میذارم اینجا) :
تعداد پروژههای همزمان من زیاده و خیلی هم طرفدار استفاده از تولز نیستم
سری آخری که از
vim زدم بیرون هم برای این بود که همه تنظیماتم بدون بکاپ بود و هاردم سوخت (هیچوقت حال نداشتم تنظیم کنم) و هم اینکه خیلی از پلاگینهای الان هم نبود.
موقعی که تعداد پروژههای همزمان زیاد میشه :
۱- کندی شدیدی توی vscode دارم
۲- مصرف رم خیلی زیاد میشه
۳- ی وقتایی حتی خود به خود vscode بسته میشد
و ...
که همگی این ها مشکلات اساسی مربوط به الکترون هست.
مختصرش این بود.
آیا vim بدرد همه میخوره ؟ نه
آیا باید یاد گرفت ؟ نه
ولی اگر کندی vscode اذیت کننده بود یا lag , ... داشتید.
—————————————————————————
چرا پایچارم نه ؟
سعی کن باهاش روی python, rust, javascript کار کنی 😂
بعد اینجوری هم هست که؛ تا دستت میخوره روش میگه علی الحساب ی ۴-۶ گیگ رم بده بعد میبینم چیکار داری.9 600
https://github.com/pykeras/neovim
بالاخره آماده شد.
تست هم رفتیم با ۸ نفر از دوستان و ۲ تا از بچههای گروه خودمون.
فکر میکنم خوب باشه.
توی
ReadMe اصل داستان رو گفتم؛ نکاتی هم برای آنان که میاندیشند وجود داره9 600
به تغییرات آخر رسیدیم :
1- کامندارو آوردم وسط صفحه.
2- فایلای بزرگ رو سپردم به بیگفایل که بخش بخش نمایش بده روی صفحه تا زمان لود کردنشون کند نباشه.
3- ی پلاگین مثل
cursor ai اضافه شد ولی بصورت دیفالت غیرفعال هست.
4- داشبورد اضافه شده که توی تصویر هست.
5- برای پایتون format, lint فقط و فقط ruff رو داریم و اونم موقع ذخیره کارش رو میکنه
6-پلاگین which-key اضافه شد؛ خیلیها گفتن که فراموش میکنند کلیدهارو
7-دیباگر پایتون رو حذف کردم؛ زمان لود رو میبرد بالا
8-کیمپ برای حیسون اضافه کردم که پرتیپرینتش کنه (پلاگین نیست و از پایتون روی سیستم استفاده میکنه)
9-پلاگین برای مشاهده csv, tsv اضافه شد؛ بصورت جدول نشون میده و تمیز.
10-یک venv selector هم داریم؛ البته من برای pyright, ... قبلا کد زدم که .venv رو بخونه اگر نبود از بیس بگیره و ... ولی خب اینم اضافه شد.
احتمال زیاد برای Rust دیباگر رو فعال میکنم (چون نیازه ولی برای پایتون نداشته باشیم؛ نمیدونم)
چیز دیگه به ذهنم نمیرسه و ۹۰٪ چیزایی که پیشنهاد دادید روی این نسخه و نسخه قبلی بود.
هر جیزی هم که توی این توسعه دادن ۱ هفتهای که اومدم روی neovim بهش برخورد میکنم رو اضافه میکنم.9 600
Repost from RandRng
مدل خودشون:
بیغیرت، اون مسئولیه که داره اینو القا میکنه که
حدود ۸ میلیون خمینی فدای ۱۰۰ تا فرانکلین
هر ۱۰۰ دلار حدوداً ۸ میلیون تومان
9 600
تهران امروز
من میگم تهران، شما بخون ایران.
آخوند جز نابودی
هیچ چیزی برای ما نداره ...
9 600
وسط پروژههای مختلف دیگه
vscode بهم جواب نمیده.
من عادت دارم؛ چندتا پروژه رو همزمان انجام میدم. وقتی یکی به Blocking, need data, ... میخوره یا اینکه تسک اون روزم تموم میشه.
میرم سراغ پروژه بعدی و vscode قبلی رو نمیبندم.
یک workspace جدید باز میکنم و ...
دیگه انقدر زیاد شد که Electron بودن vscode شروع به اذیت کرد خیلی دیر load میشد یا کارهارو دیر انجام میداد.
برای همین بعد از چندین سال برگشتم روی vim البته اینبار NeoVim چند روزی هست با بچههای DevChat مشورت میکنم و دارم محیط رو کانفیگ میکنم (خودمم این چندروز با این محیط کد میزنم) دارم سعی میکنم یک تنظیمات مینیمال نگهدارم که به اشتراک بذارم؛ برای کسایی که دوس دارند یاد بگیرند و تجریه کنند؛ ساده باشه مثل vscode با تمام کاراییهای مهم برای حرفهایها هم بیس باشه برای تنظیمات بیشتر.
تنظیماتم برای python تقریبا تکمیل هست؛ برای Rust هم اضافه بشه + پیشنهاد یکی از بچهها پلاگین برای اتصال به هوش مصنوعی رو هم اضافه کنم.
به اشتراک میذارم.
اگر ایده یا نیازمندی خاصی برای Python, Rust دارید بگید (اگر کلی باشه و مفید اضافه میکنم)
تصویر :
NeoVim + Zellijمقداری توضیحات بیشتر: ۱- تم روی
catppuccin هست؛ چون خیلی از همکارا حتی دیفالت دوستش دارند (خودم تغییرش میدم)
۲- تریمینال سمت راست رو من برای موزیک و داکیومنت خوندن و البته اکثر وقتا بررسی لاگ سرور و مانیتورینگ و ... استفاده میکنم
۳- محیط btop رو همیشه دارم برای بررسی پرفورمنس و البته اپتیمایزیشن
۴- بله lsp هم داریم؛ روی متدها یا توابع که برید؛
داکیومنت رو نشون میده؛ پارامترهای ورودی و خروجی و مثال و ...
۵- بله auto-complete رو هم فعال داریم اینجا.
auto format, auto fix
به محض ذخیره اجرا میشه که هردو با ruff هست برای سرعت بیشتر.
اسکرینشات هم داریم از کدها دقیقا مثل پستهای آموزشی که قبلا میذاشتم.
نمایش خط به خط git blame, git change, ... هم داریم.
باقیشم توی تصویر هست9 600
اگر گیتهاب کار نمیده
دست به تنظیمات نزنید
یا فیلتر شده یا تحریم شدیم.
از شب قبل بدون
vpn و از طریق ssh کار نمیکنه (شخصا روی ۳ تا سیستم و اینترنت تست کردم و از بچهها هم شنیدم)
سایت هم به شدت کند شده؛ بدون vpn.
#موقت9 600
یکی از کاربرامون (
منبع ذکر نشود ) بعد از خوردن فرومها و وقت گذاشتن و تست کردن
یک پیشنهادی داد؛ آنبلاک کردن یک دامنه و دسترسی دادن بهش روی ادبلاکر ها مشکل رو حل میکنه :
https://jnn-pa.googleapis.comتا راهکار درست بیاد؛
Adblocker رو روشن نگهدارید و دامنه بالا رو به Trusted site توی تنظیمات Adblocker خودتون اضافه کنید.
همچنان تبلیغات یوتیوب برای شما بسته خواهد ماند ولی مشکل ویدئوها حل میشه.
حداقل برای من و ایشون حل شده9 600
این باگ جدید یوتیوب هم خیلی مزخرفهها :
دقیقه ۱ یا ثانیه ۵۲ تا ۶۰ ویدئو استاپ میشه و دیگه نمیشه دید؛ اول برای جلوگیری از
adblocker قرار بود باشه ولی حالا داره حتی روی یوزرهای عادی هم تاثیر میذاره.
فعلا تنها راهکار اینه که روی ویدئو کلیک راست کنید و لینک رو با تایم استمپ کپی کنید.
تیم یوتیوب نوشته که این باگ ۵-۶ روز پیش بهشون گزارش شده و دارند روش کار میکنند.
ولی تو مخی شده برای همه نوع یوزرها
لینک :
Google Support9 600
هلوکاست ایرانی
یک زمانی شهردار تهران رو بخاطر ترافیک تهران اعدام کردند.
آخوند جز ویرانی، برای ایران دستاورد نداشت.
9 600
گیتهاب دسترسی رایگان به
copilot داره میده؛ نمیدونم برای همه هست یا نه.
ولی دقیقاً وسط کانفیگ NeoVim و بعد از push اولین تنظیمات این ایمیل برام اومده.
جالب بود 😂
پ.ن :
دوستان اشاره کردند یک پلن رایگان بهش اضافه شده که همگی میتوانند استفاده کنند.
ولی دقیقاً وسط سوییچ کردن من به NeoVim بود.
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
