Python Hints
8.63K subscribers
171 photos
11 videos
9 files
141 links
Python tips and tricks
The Good, Bad and the Ugly

توی این کانال فقط قرار هست در مورد core python صحبت کنیم.

این کانال یک بلاگ شخصی هست و پیرامون نظرات و چیزهایی که توی بیش از ۱۰ سال کد زدن یاد گرفتم (فقط برای کمک به دوستان تازه‌کار)

Admin: @Abbasi_ai
Download Telegram
برای اونایی که میرن کارآموزی پول هم میدن به شرکت که دارن میرن کار آموزی

اصن خود این قضیه خنده‌داره، ولی ما کی باشیم که آدما رو قضاوت کنیم ؟

قضاوت کار خداست
ما فقط مسخره می‌کنیم



خلاصه، اگر خواستید برید کارآموزی و پول هم بدید.
بیاید من ۵۰-۶۰ تا پروژه بی‌در و پیکر دارم، پول بدید می‌دم کد بزنید.
تهش اگر چیز خوبی شد میرم میفروشم، اگرم پولش خیلی خوب بود.
یک ریکام قوی میدم بهتون، یک شرکت خوب استخدام بشید، حقوق جونیور رو بگیرید.


نکنید، زیر بار هرچیزی نرید.
هرکاری رو نکنید.
104👍52😁20🔥7👎4👌21
#برگام

از گلوبالیست احمق‌تر توی دنیا
فقط بسیجی می‌تونه باشه تو ایران

طرف رفته توی پلتفرم X که مال خود Elon musk هست، هشتگ راه انداخته با موضوع blockelon بعد خود خرش رفته پول داده به پلتفرم X که بهش تیک آبی بده.


یاد اون کلیپ افتادم که می‌گفت :
تو خود خری، اصن خر بودن رو از روی تو ساختن.
😁134👍26👎185🌚2💯2👏1
بابت ویدئو‌ها خودتون به آیدین پیام بدید بنظرم
@aidinze

لطفاً پیام‌های مربوط به ویدئو رو به خودش بدید 😁

بعد از آپلود همه ویدیو‌ها جلسات لایو رو ادامه خواهیم داد.
👍17👎52😁1
یک سری ابزارها بود ۱۰ سال قبل ی دوره‌ای خیلی مد شد اصطلاحا بهشون Bomber می‌گفتند. طرف یک کد نوشته بود که یکسری سرویس چت و پیامک و ... که محدودیت روشون گذاشته نشده بود رو استفاده می‌کرد؛ شما توی اون ابزار شماره کسی که می‌خواستی اذیتش کنی رو وارد می‌کردی و تعداد یا زمان بعد مثلا ۲۰۰۰ تا پیامک براش میرفت.
اگر اشتباه نکنم؛ اون زمان bulk notification remover هم وجود نداشت ولی خب مهم هم نبود به اندازه کافی آزار دهنده بود.

به بچه‌ی یکی از دوستان دارم آموزش میدم (البته بیشتر کدهاش رو بررسی می‌کنم)؛ دوره ابتدایی هست.
کد نوشته به مادرش تو تلگرام پیام بده؛ ۵۰ تا متن از chatgpt گرفته با این مزمون که
چرا نذاشتی ۵ شنبه بیشتر بیدار بمونم جمعه که مدرسه نداریم؛ می‌خواستم PS بیشتر بازی کنم.

مادرش بهم پیام داده که جلوش رو بگیرم اینکار رو نکنه؛ منم گفتم بسیار کار خوبی کرده.
و امروز دقیقا قصدم این هست که بهش یاد بدم مشکلات این سیستم رو برطرف کنه؛ مثلا از چندین اکانت استفاده کنه یا ببره روی چندین پلتفرم مختلف (ایمیل - تلگرام - واتساپ - اینستاگرام و ...)
هدف یادگیری رو پیدا کرده + انگیزه.

خلاصه جلو استعداد بچه‌ها رو نگیرید؛ اما برای اینکه استعدادش مخرب نشه بعد از اینکه ابزارش کامل شد قطعا خودم از همون ابزار علیه خودش استفاده خواهم کرد تا یادبگیره هرکاری یک سری عواقب هم خواهد داشت ولی استعداد و انگیزه‌اش رو از بین نمی‌برم.
😁97👍29👎74🗿3👏2🌚1
اگر خواستید بدون خرید تلگرام پریمیوم، تبلیغات کانال‌ها رو نبینید.

کانال مقصد اون تبلیغ رو ریپورت کنید (توی ریپورت تبلیغ مطمئن بشید، که همون متن یا عکس رو نمی‌زنید و کل کانال مقصد تبلیغ رو ریپورت می‌کنید.)

تا درودی دگر، بدرود 😁
👍45👎42😁273😐32🤔1🌚1
Python Hints
فصل ۹ فصل ۱۰ هم درحال آپلود هست
باقی فصل‌ها آخر هفته اضافه خواهد شد. (لایو نداریم)

قطعاً باید یک تشکر هم از آیدین بکنم، که باوجود تمام درگیری‌های کاری که داره و می‌دونم

وقت اختصاص داد و ویدیو‌ها رو ادیت زد.

پ.ن :
همچنان ویدیو فصل ۱۳ رو نداریم (بجاش عکس می‌ذاریم روی یوتیوب)
تا شاید بعدها فرصت ضبط مجدد داشتیم.
49👎3💔2
توی این هفته freecodecamp دوتا دوره عالی گذاشته؛ این دو مورد ربطی به پایتون نداره اما بدرد خیلیا میخوره بخصوص :
@pytens, @pyrust

اینکه دارم پست رو اینجا میذارم چون متوجه شدم خیلی از بچه ها این کانال فوق العاده رو نمی شناسند و باهاش آشنا نیستند؛ بهونه کردم برای معرفی کانال.

دوره ها کدوم موارد هستند ؟


1- Cuda Programming Course (in C)

2- Linux Device Driver Development (in C)


حقیقتش اینکه این هفته جلسه نداریم؛ برای این هست که از شروع لایوها اولین جمعه ای هست که تسک ندارم و چون ۲ هفته گذشته بسیار بسیار درگیر بودم؛ ترجیح دادم این جمعه رو استراحت کنم و برای این استراحت این ۲ ویدئو رو انتخاب کردم برای دیدن.

امیدوارم شما هم لذت ببرید؛ کانسپت مهم هست.
21👍13👎2🔥1
#موقت

میگن توی جلسه، موضوع فیلترینگ و ... که جلسه اولش بوده

پزشکیان و دیگر دوستانش تصمیم گرفتند که اول از همه فروش vpn رو ممنوع کنند.

نه تنها کمکی به رفع فیلتر نشد، بلکه قیمت فیلترشکن هم رفت بالا

این بود می‌گفت کاسبی فیلترشکن رو جمع می‌کنم و ...


#خر_همون_خره_پالون_عوض_شده
👍83😁13👎8👏3💔2💯1🤝1
یک پست برای مصاحبه الگوریتم توی @pyrust گذاشتم، دوستان پیام دادن پس پایتون چی

کتاب پیاده‌سازی الگوریتم و آموزش و ... توی پایتون چندتایی معرفی شده (بخش Posts کانال رو ببینید، اگر قابلیت استوری برگرده کتاب گذاشتن رو ادامه میدم، چندتا خوب یافتم)

ولی اگر فقط پیاده‌سازی می‌خواید برای تمرین مصاحبه :

https://github.com/TheAlgorithms/Python

خیلی بعید هست کسی مستقیم این پیاده‌سازی‌ها رو بپرسه (من بعضی وقتا که مصاحبه شونده سواد نداره ولی ادعا می‌کنه الگوریتم رو عالی بلد هست می‌پرسم)

معمولاً بجای پیاده‌سازی مستقیم به شما مسئله‌ای داده میشه که راهکار حل اون یک الگوریتم خاص هست و اینجوری سوالات پیاده‌سازی الگوریتمی پرسیده میشه.
16👍8👎2🔥2
واقعا گفتم ی مقدار کتاب بخونم از اخبار جنگ دور باشم؛

صفحه اول فصل ۲۰ کتاب Rust
😁137🤨6💔3🤓2👨‍💻1
بیشترین سوالی که از من میشه، برای پیشرفت چه پروژه‌ای بزنم ؟
یا از کجا بفهمم سطحم برای توسعه پروژه چطوری هست و ...

شاید همین الان هم خود شما درگیر این موضوع باشید، برای بچه‌های frontend, mobile ساده هست، مثلا وارد یوتیوب می‌شن و می‌زنند

Clone X in React
Clone Facebook in React, ....


ولی توی Python و حالا تمرکز خودم Rust موضوع سخت‌تر هست و ۹۹٪ مواقع مجبور میشیم Source Code بخونیم که به اندازه کد زدن لذت بخش نیست واقعاً

codecrafters

این موضوع رو لذت بخش کرده (سایت پولی هست) بعضی از چلنج‌ها رایگان هست و بر اساس سطح شما چلنج سخت یا آسون میشه.

مثلاً توی پیاده‌سازی گیت، اگر beginner باشید ویژگی‌ها ساده‌تر هست وقتی Senior شدید می‌تونید دوباره همون رو تمرین کنید.


اگر هم نتونستید خرید کنید:
۱- ازش ایده بگیرید
۲- توی یوتیوب اسم چالش رو سرچ کنید، ویدئو گذاشتن از مراحل چالش‌ها و حل اون‌ها از نظر سایت هیچ ایرادی که نداره هیچ، تشویق هم می‌شه.


بازم میگم leetcode برای یادگرفتن و تمرین زبان برنامه‌نویسی نیست؛ چون دیدم بعضی اساتید به اشتباه leetcode رو پیشنهاد می‌دهند برای تمرین زبان برنامه‌نویسی.
👍5216
امروز ۵ تا تماس داشتم، دقیقاً همین الان شمردم
که نه تماس کاری بود
نه تماس حال و احوال بود
نه تماس درد و دل عادی

عیناً هر ۵ تا زنگ زده بودند، که آقا تورو قرآن بگو چیکار کنیم ؟
چرا دولوپر نیست ؟
کسی رو نداری ؟

گفتم نه شرمنده، نیروی خوب توی دست و بالم نیست واقعاً.

- اصن دولوپر سطح بالا نمی‌خوایم، فقط چندتا جونیور که برنامه‌نویس باشند نه coder معرفی کن.

کسی رو ندارم واقعاً، اون وقتا که می‌گفتم تبلیغ آموزشگاه و مدرس چرت و پرت نکنید.
حرفم بریده می‌شد و بحث ادامه پیدا می‌کرد.

بر می‌گشتیم سر اینکه اگر کسی رو پیدا کردی، من رو بذار تو اولویت؛ و خود من که نیاز به نیروی کار دارم.

ببخشیدا دیگه #اوضاع_خیته جواب نیست باید بزنم #اوضاع_کثافته

بخش صحبت خودم؛
همه هم دیدی ؟ حقوق بالای ۵۰ میلیون می‌خوان؛ اونوقت طرف از ۳۰ تا سوال مصاحبه ۳ تارو جواب داده :/

پ.ن : لینکدین من پر شده از آدمایی که زدن FastApi, Django رو یادگرفتن ولی کار نیست ولی تجربه نشون داده یاد نگرفتن فقط دوره رفتن و مدرک گرفتن (نتایج مصاحبه‌ بعضی‌هاشون رو از بچه‌ها گرفتم)
👍86💔7👎42😭1
از صبح داشتم یک پروژه رو review می‌کردم که بنا به مشکلات از یک فریمورک به فریمورک دیگه جابجا شده؛ اما بعد از جابجایی یک سری بخش‌های پروژه باگ داره و من وارد شدم برای کد ریویو (امروز صبح روز اول کارم بود)

دسترسی به کدهای قدیمی هم گرفتم، می‌بینم تست نویسی برای این باگ تو زبان و فریمورک قبلی انجام شده ولی این سمت توی تست‌ها نیست !

بنظرتون مشکل از کجاست ؟

مدیرفنی یا تیم‌لید بکند.

یک درس بزرگی که حتی قبل از ورود به دنیای بکند و بخاطر عادت به سورس کد خوندن گرفتم این بود که
Intégration test
اولویت بالاتری داره از
Unit test
واقعیت هم همین هست، unit test برای راحتی خودمون و دولوپر بعدی هست و intégration test برای راحتی و بدون باگ بودن استفاده‌های client

خیلی تیم‌ها (ایرانی و خارجی) که intégration test نمی‌نویسند متاسفانه ولی اون‌هایی هم که می‌نویسند مثل کدهای امروز من دقیقاً از آنچه که فریمورک ارائه میده استفاده می‌کنند.


این کاملاً خطا هست، برای مدیر فنی ٫ تیم‌ لید منظورم هست. الان سوالتون اینه که چرا ؟

توی این پروژه اگر intégration test ها میومد سرور رو روی یک thread جدا اجرا می‌کرد و بعد با استفاده از پکیج دیگری مثل requests درخواست می‌زد به api هاش بنظرتون بهتر نمی‌شد ؟

اگر این اتفاق افتاده بود الان که فریمورک عوض شده نیاز به باز نویسی تست‌ها نبود، یعنی ما فقط برای اجرای سرور روی thread دیگر دستورات رو عوض می‌کردیم و تست‌ها رو اجرا می‌کردیم.

وقتی دارم از بیرون به سیستم نگاه می‌کنم برام چه فرقی داره که چه زبان برنامه‌نویسی یا چه فریمورکی استفاده شده؛ همونطور که برای یوزر من فرقی نداره.

خواستم بگم حواستون به این نکته باشه، intégration test باید جوری باشه که فارغ از فریمورک و زبان قابل اجرا باشه.

متاسفانه کدهای جدید این تیم هم این خطا رو داره و باز وابسته شده به فریمورک
👍7096👌2👎1
چطوری بفهمیم قراره یک پست مزخرف توی لینکدین بخونیم ؟!

بله طرف عکس خودش رو گذاشته؛ ۸۰٪ خانوم ۶۰٪ مواقع اندام نمایی

۴ تا پست اینور و اونور هم، شکایت مزاحمت و ... داره

این کانکشن‌هارو درجا بن می‌کنم؛ اونایی هم لایک می‌کنند درجا ریمو می‌کنم.

#پاکسازی_لینکدین
#موقت

پ.ن : اگر عقده دیده شدن دارید، توی about me لینکدین آدرس صفحه اینستاگرام خودتون رو بذارید (یا حتی only-fans)
👍130😁31👎15👏3😈21🤝1
#Quick

یک عادت خوبی که توی بچه‌های ایران هست که یک endpoint توی پروژه‌های بکند می‌سازند به اسم health-check اما ۹۰٪ اشتباه پیاده‌سازی میشه متأسفانه.

برای اونایی که نمی‌دونند، health-check برای این هست که بصورت اتوماتیک یک سیستم دیگه مثل k8s یا سیستم مانیتورینگ بتونه وضعیت بکند رو بررسی کنه و اگر جوابی نگرفت ایمیل بزنه یا اون pod رو ریست کنه.

حالا چرا میگم اشتباه پیاده‌سازی میشه، اول میرم سراغ مانیتورینگ:

فرض کن شما یک بکند داری که برای کار کردن به postgres, celery نیاز داره با این وضعیت سیستم شما وقتی سالم هست که به postgres شما بتونه یه درستی دسترسی بگیره و البته به celery (عملکرد celery, postgres رو اگر بخواید بررسی کنید نیاز به ۲ تا سیستم مانیتورینگ جدا دارید، برای شما توی سطح اپلیکیشن دسترسی به این سرویس‌ها مهم هست)

فکر کنم متوجه منظورم شدید؛ توی health-check باید دسترسی به سرویس‌هایی که بکند شما بدون اونا healthy نیست رو هم چک کنید.
توی مثال قبلی اگر celery برای شما اجبار نیست توی health-check کانکشن بهش رو تست نمی‌کنید.

حالا چرا k8s رو مثال زدم ؟ برای اینکه بگم استفاده از این endpoint برای بررسی pod ها کار درستی نیست:

هر pod بصورت جداگونه و بصورت تک سرویس در نظر گرفته میشه که به تنهایی می‌تونه restart بشه بدون اینکه به سیستم لطمه بزنه (من HA درنظرم گرفتم، k8s برای همینه دیگه) پس باید تو سریعتر زمانی که عملکرد خودش رو از دست میده restart بشه فکر کن load سیستم بره بالا در این شرایط هم از روی health-check نمی‌شه مطمئن بود آیا چون load شبکه رفت بالا جواب دیر میاد یا memory leakage داریم یا ...
پس سرویس رو از exception, ... مانیتور کنید با k8s تا جایی که می‌شه.
👍44123👎1
#Quick

اگر از vscode برای Rust استفاده می‌کنید حتما این extension رو نصب کنید که دستورات sql رو براتون وسط کدهای rs به خوبی highlight می‌کنه ( از حالت str& خالی در میاد)

الان اومد یک کدی رو بزنم چندتا از Sql Query هاش خیلی طولانی و سخت شد بدون highlight خوندنش قطعا آزار دهنده بود با سرچ به این رسیدم و بنظرم گزینه بسیار کمک کننده و عالی‌ای هست.
👍296🙏21🔥1