Python Hints @pyhints Channel on Telegram

Python Hints

@pyhints


Python tips and tricks
The Good, Bad and the Ugly

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

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

Admin: @Abbasi_ai

Python Hints (Persian)

در کانال Python Hints به بهترین راهکارها، ترفندها و رازهای زبان برنامه نویسی پایتون پرداخته می‌شود. اینجا جایی است که شما می‌توانید با جوانب مختلف این زبان آشنا شوید؛ از خوبی‌های آن تا نقاط ضعف و مسائل پیچیده. در این کانال فقط و فقط در مورد مفاهیم اصلی پایتون بحث می‌شود و ما سعی داریم اطلاعات گرانبها و کاربردی که در طول بیش از ۱۰ سال تجربه کدنویسی به دست آورده‌ام، را به دوستان تازه کار منتقل کنیم تا به آنها کمک کنیم. این کانال در واقع یک بلاگ شخصی است که پیرامون نظرات و تجربیات شخصی من در زمینه پایتون ایجاد شده است. اگر به دنبال یادگیری و بهبود مهارت‌های خود در زمینه پایتون هستید، به ما بپیوندید و از مطالب آموزشی و خلاقانه ما بهره ببرید. ادمین کانال: @Abbasi_ai

Python Hints

10 Feb, 20:45


logging
نوشتن برای ی سیستم ماژولار و بزرگ؛ بعد ی اتفاقی افتاده توی سیستم مجبور شدن لاگ‌هارو چک کنند ولی هیچی به دست نیاوردن.
کاربرا ادعای خسارت کردن و اینها هم مطمئن هستن حداقل ۳۰٪ کاربرا دروغ میگن (منم همین رو دیدم توی دیتاها) اما کدوم کاربرا مشخص نیست.

گفتیم شاید داریم لاگ اشتباهی رو می‌بینیم؛ ممکنه چند بخشی باشه یا ...
ولی وقتی رفتیم پای کدها؛ دیدیم دولوپر نوشته:
BUG: TODO:
I am forced to move to another micro-service, and this will not work on scale.


و حالا به اون مرحله رسیدند؛ ادعاهای خسارت قابل بررسی نیست و مدیرعامل شرکت به غلط کردن افتاده.
طبق گفته خودشون؛ سود چندین سال شرکت پرید - کارد میزدی خون مدیرعامل در نمیومد چون خودش نیروها رو فورس کرده بود.
شرکت دیگری که مقصر این وضعیت هم بوده گفته بدون لاگ هیچ خسارتی پرداخت نمی‌کنیم حتی ۱ نفر و اون ۷۰٪ باقی‌مانده رو که فکر می‌کردن ازین شرکت بگیرند رو هم باید از جیب بدند.


اینجا دیگه موضوع برنامه‌نویس بد نبود؛ موضوع فشار آوردن بیش از اندازه به تیم برنامه‌نویسی بود.

Python Hints

10 Feb, 16:19


با صحبت امروز پزشکیان
من روی دلار ۱۱۰,۰۰۰ تومان دارم می‌بندم.

آخر سال تمام قراردادهای همکاری داخلیم تموم می‌شه و دستمزد جدید رو بر این اساس می‌گیرم، البته که دارم فرض می‌کنم دلار تا چندروز آینده به ۱۰۰,۰۰۰ تومان برسه و مدتی همین حوالی باشه‌.

اگر دلار واقعاً به ۱۱۰,۰۰۰ تومان برسه (که اصلاً بعید نیست)
قراردادهای سال بعدی رو روی دلار ۱۳۰,۰۰۰ تومان می‌بندم.

به ۲ دلیل این رو میگم:

۱- بچه‌های سنیور گفتند چطوری دستمزد بدیم برای سال بعد.

۲- چند نفر دعوت به همکاری کردن، گفتم حدود دستمزد رو بدوند که وقت هم رو نگیریم.

دستمزد فعلی رو بر اساس دلار ۶۰,۰۰۰ تومان بسته بودم سال قبل که خدا بیامرزش.

Python Hints

10 Feb, 07:14


ویدئو توییت همکاری استارلینک و تی‌موبایل برای دسترسی به اینترنت ماهواره‌ای (که البته رایگان هم هست طبق ویدیو)

ایلان ماسک این ویدئو رو گذاشت.

Python Hints

09 Feb, 09:02


هر 1 دلار 90000 تومان
هر 1 گرم طلای ۱۸ عیار 6525000 تومان

مهمتر از همه؛ این افزایش قیمت‌هایی که الان روی تجهیزات و مواد غذایی و ... هست رو دقت کنید بهش؛ اینا برای دلار 65000 تومان بوده و نه دلار 90000 تومانی

Python Hints

08 Feb, 00:44


حدود ۲ سال پیش این موقع یک پروژه بکند رو کار کردیم که همون زمان ۲ قسمت داشت (من مدیر تیم توسعه دهنده این پروژه بودم).

بخشی از پروژه که با Fastapi زده شده بود و بخش دیگری که قرار بود با Django شروع بشه.

توی شروع خیلی استاندارد سازی و داینامیک بودن پروژه مدنظرم بود، برای همین دوتا از تصمیماتی که گرفتم این‌ها بود :

۱- تمامی تست‌ها؛ با پکیج requests باشه.
۲- همه‌ی endpointهای مربوط به create, update بجای بررسی مستقیم با دیتابیس از طریق درخواست دیتا با Get detail بررسی بشه که درست توی دیتابیس هست یا نه.

اون زمان سر این ۲تا خیلی جنگیدم، که تغییر نکنه و حتماً رعایت بشه.

امروز مدیرعامل شرکت برای یک پروژه دیگر باهام تماس گرفت؛ توی meet ایی که داشتیم، مدیر فنی وقتی متوجه شد اون پروژه کار من بوده شاید بیش از ۱۰۰ بار تشکر کرد.

چرا ؟
چون پروژه از FastApi, Django رفته بود روی Golang و بجای Postgres‌ایی که سمت خودشون باشه از Self-Hosted database های شرکت کارفرما استفاده شده بود.

تصمیم اولم کمک کرده بود با وجود زمان کوتاه برای جابجایی به Golang و فشار شرکت کارفرما مبنی بر سرعت بخشیدن به قضیه.
نیازی به تغییر تست‌ها نداشته باشند (۹۰٪ هیچی رو تغییر ندادند ولی دقیقش رو نپرسیدم).

و تصمیم دوم؛ باعث شده بود بتونند به راحتی دیتابیس عوض کنند، یا حتی کدهای دپلوی شده رو تست بیگرند.

توی @pyhints قبلاً اشاره کردم به این موضوع؛ خواستم دوباره بگم که اگر درآینده تغییر فریمورک یا ابزار می‌بینید توی Integration Test ها تا جایی که می‌شه تست‌هارو از ابزارها و فریمورک جدا کنید.

Python Hints

07 Feb, 11:11


۹ تا ازون اسکلا رو اینجا هم داریم 🤣😂🤣

تعداد اسکلا داره میره بالا ۴۴ تا شد 🤣😂🤣

Python Hints

07 Feb, 10:23


عمرا بذارم این یادتون بره ...


حالا این هیچی، اون اسکلا که نشستن این براشون حرف بزنه 🤣

Python Hints

04 Feb, 07:18


اینکه ۹۰٪ دولوپر‌های Django توی ایران

توی Django با استانداردهای Java کد می‌زنند خستم کرده.


اینکه بیش از 50% هم ادعای Mid, Senior دارند عصبیم.

Python Hints

29 Jan, 15:26


نکته جدید:

پایتون خودش پاورشل داره
احتمالا تو لینوکس خودش ترمینال داره
رو مک هم خودش ویندوز داره

جمله بالا از اساتید (مدرس) پایتون

Python Hints

29 Jan, 08:47


باگ فیکس یوتیوب رو دیدید ؟

ویدئو رو از دقیقه ۱ شروع می‌کنه 😂😂😂

Python Hints

29 Jan, 07:17


تصویری از #من_سیاسی_نیستم گویان در طبیعت.

- دلار: ۸۴۰۰۰ تومان
+ من سیاسی نیستم
- طلا: گرم ۵.۶۰۰.۰۰۰ تومان
+ من سیاسی نیستم
- زلزله سرپل ذهاب و عدم کمک دولت
+ من سیاسی نیستم.
- پرداخت چک‌های ۱۴۰۰۰ دلاری خسارت به طرفداران حزب‌الله.
+ من سیاسی نیستم.

خب اگر توی همه‌ی این شرایط سیاسی نیستی؛ فرق تو با گاو چیه دوست عزیز ؟!


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

Python Hints

24 Jan, 14:41


تغییرات هفته قبل رو که زدم؛ خیلی‌ها پیام دادن آقا ما mypy استفاده می‌کنیم این pyright خیلی اذیت می‌کنه و ...

Github (neovim config)

هیجی دیگه منم ی برنچ اضافه کردم؛ که بجای pyright از mypy برای typecheck استفاده کنه.

آپدیت ruff رو هم دیدم؛ که باعث می‌شد بعضی تنظیمات قبلی ruff کار نکنه فیکس اون رو هم اضافه کردم روی این برنچ.

دیگه امیدوارم واقعا استفاده کنید. 😂😂

Python Hints

18 Jan, 20:58


یکسری فیچر دوستان درخواست داده بودند که گفتم اضافه می‌کنم ولی فرصت نمی‌شد؛ الان که منتظر کامپایل شدن کد بودم گفتم اینارو هم اضافه کنم.
من این موارد رو روی branch دیگری گذاشتم؛ چندروزی تست بشه بعد بیارم روی master تمام موارد رو هم بصورت keybinding اضافه کردم چون بنظرم همون فیچرهای موجود خیلی خوب و کافی هست (اینطوری load-time هم همون زیر ۱۰۰ میلی‌ثانیه می‌مونه)

داکیومنت روی برنچ :
feature/mist-requested-bindings

اضافه شده ولی خب تغییرات این موارد هست:

Easier switching between splits:
Move to the left split: <C-h>
Move to the right split: <C-l>
Move to the upper split: <C-k>
Move to the lower split: <C-j>
Toggle relative line numbers: <leader>rl
-----------------------------------------
Go to definition (vertical split): <leader>gdv
Go to definition (horizontal split): <leader>gds
Peek definition: <leader>gdp
Close all splits except current: <leader>qo
-----------------------------------------


در نهایت مرسی از همه اونایی که تست کردند و نظر دادند.

Python Hints

14 Jan, 09:18


#Quick

داشتم پروژه django شرکت رو می‌خوندم یک مشکل داریم سر بعضی endpointها و برخی تسک‌ها.
اولین کاری کردم این بوده که یک سری دیتا تست با faker بهش دادم مثه loadtest ولی بدون ابزار و بعد هم profiling گرفتم و ذخیره کردم.
چیز جالبی که دیدم؛ پروژه موقع کار کردن با redis به مشکل میخورد.
ولی redis منابعش بیشتر از حد مورد نیازش بود.

حجم دیتاهای تست رو کم کردم و مشکل حل شد؛ توی چندتا تست مختلف که زدم دیدم مسئله و مشگل از سمت پیکج redis هست توی پایتون و راهکار ساده رو هم خود redis داده (هرچند من برعکس بهش رسیدم)

$ pip install "redis[hiredis]"


بجای اینکه برای parse کردن دیتا از python استفاده کنه وقتی hiredis رو نصب کنید از C استفاده می‌کنه (بنچمارکاش هم توی گیت‌هاب hiredis هست ببینید)

مشکل خیلی ساده حل شد؛ ولی برای این حل ساده خیلی زمان و درک profiling لازم بود.

اهمیت profiling

Python Hints

13 Jan, 18:47


می‌خوام راجب این صحبت کنم (از پروفایل خودم).

من پیغمبر مخالفت با اهمیت تعداد کامیت بودم و هستم؛ حداقل ۳-۴ ساله دارم این حرف رو میزنم و دلیلش رو هم گفتم (اینکه چندتا گیت‌هاب خودم به اینو اون دادم و ...)

ولی یک جو احمقانه توی لینکدین و توییتر راه افتاده ضد این بخش؛ ببین از من که گذشته ولی این صحبت‌های احمقانه برای کل جامعه برنامه‌نوبسی بد هست چند مورد :

۱- کسی که پروفایلش انقدر کامیت داره؛ حرفه‌ای نیست چون شرکت‌های بزرگ خودشون گیت‌لب دارند و ...

همینجا جواب این رو میدم:
احمق جون تو تازه‌کاری گیت‌لب زمانی به یک سری باگ‌ها خورد (توی یوتیوب سرچ کنید) که خیلی شرکت‌ها برگشتند روی گیت‌هاب و نسخه organization رو خرید زدند.
خیلی از فعالیت‌های گیت‌هاب من ازونجا شروع شد.

۲- اینا همش ادا بازیه و ...

حماقت محض
هست این حرف؛ اگر به اینجا رسیدی که این حرف رو زدی (شما تا حالا کسی رو دیدی عکس این کاشی‌کاری رو توی رزومه‌اش بذاره ؟)
هیچ شرکت و یا شخص با سوادی رو نمی‌شناسم که حتی ۱ درصد این موزاییک براش مهم باشه (مگر بچه‌هایی که روش نقاشی می‌کشند. اونم کل کل برنامه نویسی هست البته)

و چیزهای از این دست.
در نهایت اینکه؛ من خودم بیشتر کامیت‌های گیت‌هابم برای کارهای شخصی (اسکریپت؛ ایده؛ داکیومنت؛ کانفیگ و حتی تمرین هست)

از این 2176 تا کامیت شاید 700-800 تاش برای شرکت‌هایی هست که روی گیت‌هاب هستند؛ باقیش کارهای خودمه؛ و حتی اگر یک روز تا ۱۰ شب هم سرکار باشم هرطور شده باید تا آخر شب ۲-۳ تا مطلب کتابی که خوندم رو برای خودم تمرین کنم (این بدترین حالت هست).

ولی خیلی وقتا تیکه کدی زده شده توی شرکت که بنظرم راه خوبی نبوده و باگ میخوره؛ روی گیت‌هاب خودم یک سناریو مشابه براش درست می‌کنم و سعی می‌کنم اون مشکل رو حل کنم یا پروفایلینگ براش بگیرم و اپتیمایز کنم چون من خالق همه پروژه‌های شرکت‌ها نیستم و خیلی وقتا بیزینس بهم اجازه نمیده روش رو تغییر بدم.

خلاصه که وظیفه ما :
هشدار دادن راجب افراد سودجو بود؛ که نیروی HR به این کاشی کاری گیت‌هاب اهمیتی نده برای دعوت به مصاحبه.
اما این موج تخریب افراد تازه‌کار و با انگیزه بالا هم کاری بس کثیف‌تر هست که مطمئنم از جامعه توسعه دهنده شروع نشده.
مثال از خودم زدم برای حمایت از تمام دولوپرهای تازه‌کار و با انگیزه دمتون
گرم ❤️

Python Hints

12 Jan, 17:18


لینکدین فارسی به معنای واقعی به ته ته خط رسیده :

۱- خانوم‌ها که میان از پیشنهادات برای آشنایی می‌گن (این خودش یک معقوله‌اس که بنظرم اصلا هم بد نیست ولی خب جای بحث داره)

۲- کلی درخواست کانکشن میاد بعد می‌بینی طرف بلاگر و تبلیغات چی بوده از اینستاگرام اومده لینکدینم به کثافت بکشه

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

۴- همه چیز تبدیل به دستاورد می‌شه؛ طرف زده رفتم تخم مرغ خریدم و ....

۵- داستان همه آدما کپی می‌شه؛ اگر یک داستان قشنگی هم پیدا بشه می‌بینی هزارنفر به اسم خودشون زدند. نمی‌شه به آدم واقعی داستان رسید شاید کسی بخواد کمک کنه.

۶- مهمترین، استفاده از لینکدین قرار بود این باشه که ما به آدمایی که می‌شناسیم بگیم آقا٫خانم من دنبال کار می‌گردم به همه شما اطلاع میدم.

۷- هرکسی open to work فقط #up , ... میگیره دریغ از یک پیشنهاد همکاری یا ...
قبلاً زده بودم که بهتره چطوری زیر این پست‌ها نظر بدید وگرنه که نادیده بگیرید.


خلاصه که شخصاً ۶-۷ ماه هست که لینکدین فقط میرم message هارو می‌خونم (همرو رد می‌کنم) و کانکشن‌ها رو قبول می‌کنم.
فکر کنم برای شما هم کاربردش همین شده باشه.

Python Hints

12 Jan, 17:09


💯

Python Hints

01 Jan, 21:25


۲ مورد ایرادی که اشاره کردند دوستان رفع شد.

Python Hints

29 Dec, 20:49


چون پرسیدید چرا (تو گروه توضیح دادم همون رو میذارم اینجا) :

تعداد پروژه‌های همزمان من زیاده و خیلی هم طرفدار استفاده از تولز نیستم
سری آخری که از vim زدم بیرون هم برای این بود که همه تنظیماتم بدون بکاپ بود و هاردم سوخت (هیچوقت حال نداشتم تنظیم کنم) و هم اینکه خیلی از پلاگین‌های الان هم نبود.

موقعی که تعداد پروژه‌های همزمان زیاد میشه :
۱- کندی شدیدی توی vscode دارم
۲- مصرف رم خیلی زیاد میشه
۳- ی وقتایی حتی خود به خود vscode بسته می‌شد
و ...

که همگی این ها مشکلات اساسی مربوط به الکترون هست.

مختصرش این بود.

آیا vim بدرد همه میخوره ؟ نه
آیا باید یاد گرفت ؟ نه

ولی اگر کندی vscode اذیت کننده بود یا lag , ... داشتید.
—————————————————————————
چرا پایچارم نه ؟
سعی کن باهاش روی python, rust, javascript کار کنی 😂
بعد اینجوری هم هست که؛ تا دستت می‌خوره روش میگه علی الحساب ی ۴-۶ گیگ رم بده بعد می‌بینم چیکار داری.

Python Hints

29 Dec, 20:25


https://github.com/pykeras/neovim

بالاخره آماده شد.

تست هم رفتیم با ۸ نفر از دوستان و ۲ تا از بچه‌های گروه خودمون.

فکر می‌کنم خوب باشه.

توی ReadMe اصل داستان رو گفتم؛ نکاتی هم برای آنان که می‌اندیشند وجود داره

Python Hints

26 Dec, 18:33


به تغییرات آخر رسیدیم :

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 بهش برخورد می‌کنم رو اضافه می‌کنم.

Python Hints

26 Dec, 16:30


مدل خودشون:


بی‌غیرت، اون مسئولیه که داره اینو القا می‌کنه که
حدود ۸ میلیون خمینی فدای ۱۰۰ تا فرانکلین

هر ۱۰۰ دلار حدوداً ۸ میلیون تومان

Python Hints

25 Dec, 16:48


تهران امروز

من میگم تهران، شما بخون ایران.

آخوند جز نابودی
هیچ چیزی برای ما نداره ...

Python Hints

24 Dec, 16:45


😂😂😂😂😂😂

Python Hints

23 Dec, 20:10


وسط پروژه‌های مختلف دیگه 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, ... هم داریم.

باقیشم توی تصویر هست

Python Hints

22 Dec, 14:56


یکی از کاربرامون ( منبع ذکر نشود ) بعد از خوردن فروم‌ها و وقت گذاشتن و تست کردن
یک پیشنهادی داد؛ آنبلاک کردن یک دامنه و دسترسی دادن بهش روی ادبلاکر ها مشکل رو حل می‌کنه :

https://jnn-pa.googleapis.com


تا راهکار درست بیاد؛ Adblocker رو روشن نگهدارید و دامنه بالا رو به Trusted site توی تنظیمات Adblocker خودتون اضافه کنید.

همچنان تبلیغات یوتیوب برای شما بسته خواهد ماند ولی مشکل ویدئوها حل میشه.

حداقل برای من و ایشون حل شده

Python Hints

22 Dec, 13:41


این باگ جدید یوتیوب هم خیلی مزخرفه‌ها :
دقیقه ۱ یا ثانیه ۵۲ تا ۶۰ ویدئو استاپ میشه و دیگه نمیشه دید؛ اول برای جلوگیری از adblocker قرار بود باشه ولی حالا داره حتی روی یوزرهای عادی هم تاثیر میذاره.

فعلا تنها راهکار اینه که روی ویدئو کلیک راست کنید و لینک رو با تایم استمپ کپی کنید.
تیم یوتیوب نوشته که این باگ ۵-۶ روز پیش بهشون گزارش شده و دارند روش کار می‌کنند.

ولی تو مخی شده برای همه نوع یوزرها


لینک :
Google Support

Python Hints

19 Dec, 13:09


هلوکاست ایرانی

یک زمانی شهردار تهران رو بخاطر ترافیک تهران اعدام کردند.

آخوند جز ویرانی، برای ایران دستاورد نداشت.

Python Hints

18 Dec, 20:49


گیت‌هاب دسترسی رایگان به copilot داره می‌ده؛ نمی‌دونم برای همه هست یا نه.

ولی دقیقاً وسط کانفیگ NeoVim و بعد از push اولین تنظیمات این ایمیل برام اومده.

جالب بود 😂

پ.ن :
دوستان اشاره کردند یک پلن رایگان بهش اضافه شده که همگی می‌توانند استفاده کنند.
ولی دقیقاً وسط سوییچ کردن من به NeoVim بود.

Python Hints

16 Dec, 20:21


اون هیزم‌ها بود برای زمستان سرد اروپا جمع کردن

نمیشه یکی رو بفرستیم پس بگیره ؟

Python Hints

28 Nov, 11:16


توضیحات پست توی گروه مربوط به کانال Rust

Python Hints

28 Nov, 09:12


کلید RSA هم برای اولین بار شکسته شد.
نیاز فوری به الگوریتم Encryption جدید و قویتر

Blog Post

Python Hints

25 Nov, 00:18


شب و روزگار
خوش

Python Hints

20 Nov, 21:24


این روزا خیلی سرم شلوغه و تمام تمرکزم روی کدها هست.
اینکه وسط اینکارا باید دیتکتیو بازی هم در بیارم یا option های یک ابزاری رو بخاطر بیارم خیلی سخته حتی بعضی کامندها انقدر سخت و ترکیبی می‌شه که خود chatGpt هم نمی‌تونه درست توضیحش بده :

من سلسله‌ای ازین کامندها دارم که ذخیره کردم (از خیلی قدیم) مشکل اینه که یک دفعه وسط پروژه لازمه یکیش رو تغییر بدم (بعضی کامندها انقدر pipe, ... داره خودش یک پروژه هست)

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

اینو برید ببینید متوجه ‌می‌شید چی میگم.

چه ایده خفنی و چه اجرای بی‌نظیری؛ اینو حتما ذخیره‌اش کنید (جدی می‌گم)

Python Hints

19 Nov, 11:52


#Quick

و در نهایت :

استفاده از Insomnia, Postman توی شرکت برای پروژه‌های اصلی ممنوع شد.

بخاطر اینکه برای استفاده ازین ۲ ابزار حتماً باید اکانت داشته باشید و حتماً هم این ابزارها تمام اطلاعات رو با سرور‌هاشون Sync می‌کنند.

پیشنهاد خودشون Bruno بوده (پیشنهاد من بود) ولی هر ابزاری که بدون نیاز به اینترنت و sync بشه استفاده کرد مشکلی نداره.


پ.ن : اگر کسی گزینه بهتری می‌شناسه قطعاً منتظر شنیدنش هستم.
Thunder Client
هم درحال حاضر استفاده می‌کنم البته، ولی خب چندتا از دولوپر‌ها vscode ندارند که دردسر شده.

Python Hints

11 Nov, 08:54


#تجربه

از طرف یک شرکت اومدن، کار استارتاپی داشتند حالا مشتری بین‌المللی پیدا شده براشون می‌خوان uptime, high availability, ... رو بالا ببرند.
چرا ؟
چون توی قرارداد، باید بگن که چه مقدار uptime دارند (معروف‌ترین میزان 99.99% هست که یعنی سالانه ۱ ساعت می‌تونند سرور رو down داشته باشند)
این شامل همه‌ی موارد میشه، آپگرید، جابجایی سرور و ...

این بین که داشتم با نیروها صحبت می‌کردم و مشاوره و همفکری داشتیم، متوجه شدم migration ها یکی از معضلات خواهد بود.

فرض کنید، شما سیستم رو به بهترین شکل چیدید. Load balancer, k8s , ... و برای دپلوی هم rolling update رو گذاشتید.
حالا فرض کنید، قراره برای یک فیچر جدید، یک ستون به جدول user اضافه کنید که به محض لاگین یا اولین استفاده کاربر باید پر بشه ؟

توی rolling update، شما وضعیتی خواهید داشت که هم نسخه قدیمی و هم نسخه جدید همزمان بالا هستند و دارن به کاربر پاسخ می‌دهند :
اگر نسخه قدیمی اجرا باشه models, database با هم نمی‌خونه تازه اگر این ستون not null هم باشه که باید پر بشه ولی منطق این کد توی ورژن قبلی کدها نیست و خطا .‌‌...

اگر نسخه جدید هم اجرا بشه که نیاز به تغییرات دیتابیس داره.

یک راهکار اینه که کلاً نسخه قدیمی رو خاموش کنید (همزمان همش رو) و نسخه جدید رو جایگزین کنید که خب ازون ۱ ساعت downtime با ارزش میزان زیادی رو از دست می‌دید.

یک راهکار multistep migration هست، که مثلاً توی مثال بالا یک ستون nullable تعریف کنید، ولی توی منطق کد مطمئن بشید که هیچوقت null نمونه بعد که ورژن قدیمی کامل از بین رفت، یک migration دیگه بنویسید که دیگه ستون nullable نباشه و مجدد دپلوی کنید.

دیدم بچه‌های این شرکت با این موضوع آشنایی نداشتند گفتم بگم، صرف اینکه HA, K8s, Replica, ... تعریف می‌کنید مشکل downtime شما حل نمی‌شه، فقط بهتر می‌شه.

اضافه کنم، مشکل شما وقتی حادتر می‌شه که ci/cd هم دارید و پروژه توی قدم‌های اولش هست، کلی فیچر و تغییرات هم قراره اضافه بشه


پ.ن:
این موضوع توی مصاحبه‌ها جزو سوالات مهم هست.

Python Hints

08 Nov, 09:36


#خارج_از_بحث

شخص لینوس توروالدز یک تصمیمی گرفت و اونم اخراج تمام maintainer های روس بود. من خیلی صبر کردم ببینم کسی ازین موضوع حمایت می‌کنه یا نه که دیدم خیر همه مخالفان این موضوع هم شدند.

البته اونهایی که داستان ssh backdoor سال قبل رو یادشون هست، حمایت کردند.

سال قبل روی پروژه xz (برای فایل compression) یک گروهی حدوداً ۲ سال وقت گذاشتن و کد سالم ارائه کردند، از یک طرف دیگر هم یک کاراکتر با هویت خانوم (میگم کاراکتر چون جعلی هست) روی یک سری پروژه‌های دیگه شروع کرده بود کد سالم فرستادن، اما اینها پروژه‌هایی بود که نزدیک به mainrainer اصلی xz بود و مطمئن بود ایشون کدها و تلاشش رو می‌بینه (بدون اینکه روی کرنل یا لینوکس کاری بکنه)

گروه شروع می‌کنه به maintainer اصلی فشار آوردن که آقا چقدر دیر تأیید می‌کنی و بررسی می‌کنی اگر وقت نداری جایگزین معرفی کن، که نهایتاً همون کارکتر خانوم رو وارد می‌کنه بعد از یک مدت کاراکتر خانوم کار رو دست میگیره و ایمیل‌های باگ امنیتی رو برای خودش میفرسته و maintenaner اصلی رو دور میزنه (این پروسه ۳ سال طول کشیده از شروع کد زدن تا گرفتن این سطح دسترسی)


باقی داستان رو هم که می‌دونید، دنیا شانس آورد که یک نفر به میزان load cpu اش بسیار اهمیت میداد (پایچارم رو پاک کنید، شاید روی لود رم شما باگ بعدی رو پیدا کردید 🤣😂)

بعد از آنالیز git log مشخص میشه این گروه تلاش می‌کردند، خودشون رو چینی، هندی نشون بدهند (دستکاری تایمزون و ...) اما رفتارشون نشون داده نه تعطیلات چین و نه تعطیلات هند رو هیچوقت بیکار نبودند، فقط تعطیلات روسیه رو کار نمی‌کردند و ...

از همون زمان هم این بحث بررسی مجدد maintainer های روسی و سطح دسترسی و ... شروع شد.
بالاخره روسیه داخل جنگ هست و همه می‌دونند که دولت روسیه چه فشار و اعمال قدرتی روی هکرها و برنامه‌نویس‌هاش داره

خلاصه که شخصاً ازین کار لینوس توروالدز شدیداً حمایت می‌کنم.
امنیت دنیا مهمتر از چندتا maintainer هست و اگر این افراد هم واقعاً هدفشون پیشرفت جامعه لینوکس بوده بنظرم براشون قابل درک خواهد بود (توجیه شدند)

Python Hints

07 Nov, 09:18


#Quick

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

بعد می‌دیدم که خب هیچکدوم ازین پروژه‌ها مثلاً از ابزاری مثل Celery استفاده نکردن یا Celery داره ولی Flower نداره.

اول اینکه مگه توی دنیای فعلی میشه شما پروژه‌ای داشته باشی ولی celery توش نباشه؟ یا اینکه celery رو ببری روی پروداکشن ولی مانیتور نکنی (اینو توی خیلی پروژه‌ها هم دیدم).

یا یک مثال دیگه، هیچکدوم از پروژه‌ها رو نمی‌شد با تک کامند deploy کرد.
local, stage, production

بحث ci/cd نیست الان، ولی docker compose و ... باید به درستی نوشته بشه

و البته کلی نکات دیگه مثل این موضوع.

اینکه چرا دارم این موارد رو دنبال می‌کنم :

ضبط یک دوره کامل، اگر به نتیجه برسیم با یک تیم حرفه‌ای.

Python Hints

05 Nov, 16:52


مصاحبه
Joe Rogan
با
Elon musk
خیلی سیاسی بود ولی بخش آخرش ایلان میگه فقط چندماه فاصله داریم تا سرویس دهی به گوشی‌های معمولی.

ولی با اینم کاری ندارم؛ سرعت دانلود درحال حاضر روی 150MB هم گزارش شده؛ و توی صحبت ایلان میگه فقط اینکه 100x اینترنت ضعیفتری خواهد بود که بدرد پیام دادن، تصویر دیدن، یا ویدیو کیفیت پایین میخوره

حساب کردم؛ ۱۰۰ برابر ضعیفتر اینترنت ۱۵۰ مگ (هنوز تمام ماهواره‌ها ارسال نشده) میشه ۱.۵ مگ و این سرعت اینترنت خیلی بیشتر از پرسرعت ترین اینترنتی هست که خیلی بچه‌های ایرانی دارند.

پوف ......

Python Hints

31 Oct, 15:12


ی آمار ببینم حال کنیم

مرسی از همگی 🌹

Python Hints

30 Oct, 18:09


جواب این سوال ساده هست ولی من با یک مثال مهمترین دلایلش رو می‌گم :

توی فریمورکی مثل جنگو که اگر کار کرده باشید؛ حتما سریالایزر رو دارید؛ توی پایتون جا افتاده که برای باقی فریمورک‌ها هم از همین اسم استفاده می‌کنند.
فرض کنیم من از کاربر ۵ تا اطلاعات میگیریم تا رجیسترش کنم
{
"first_name": "Mo",
"last_name": "abbasi",
"channel": "pyhints",
"email": "[email protected]",
"phone": "09122020200"
}

این برای ثبت‌نام هست؛ برای لاگین :
{
"phone": "09122020200"
}

مشاهده پروفایل توسط دیگران:

{
"first_name": "Mo",
"last_name": "abbasi",
"channel": "pyhints",
}


ادیت پروفایل:

{
"first_name": "Mo",
"last_name": "abbasi",
"channel": "pyhints",
"phone": "09122020200"
}


همه‌ی این موارد با یک فیلد کم و زیاد کاملا مشابه هم هستند؛ اگر سریالایزر نبود برای ولیدکردن شماره تماس چون دیتا از نوع str هست هربار باید یادم بمونه که کدهای مربوط به ولید کردنش رو اجرا بذارم اگر یادم بره چی میشه ؟
شخص با شماره‌ای که ولید نیست توی سیستم ثبت‌نام میشه و دیگه هیچ‌وقت نمی‌تونه وارد سیستم بشه.
اما با وجود سریالایزر اگر جایی از کد ببینم دولوپری دیتای request رو داره می‌خونه فارغ از اینکه چیکار داره می‌کنه کد رو ناامن و همراه باگ می‌دونم.

همین ۱ مورد دوتا ویژگی خوب به من میده :
۱- ولیدیشن اصولی و یکپارچه برای کل سیستم
۲- عدم تکرار کد

اما کارهای دیگه‌ای هم هست که میشه کرد؛ فرض کنید یک دیتاتایپ خاص خودتون رو دارید و سمت دیتابیس با extension های مربوطه اضافه شده؛ به کمک سریالایزر می‌تونید مطمئن بشید اگر یک tuple براتون ارسال شده حتما از اون دیتاتایپ مدنظر هست (مثال vector2d جلسات کتابخونی رو یادتون هست ؟)

دیگه چکاری میشه کرد ؟
فرض کنید یک باگ توی دیتابیس پیدا شد یا یک نوع حمله مثل SQL Injection اونوقت فقط کافیه یکبار روی Base Serializer این مورد رو بررسی کنید و جلوگیری کنید (مثلا برای فیلد ایمیل / اسم‌ها) بعد هرجا برای فیلد ایمیل یا اسم‌ها ازین inherit می‌کنید بصورت خودکار SQL Injection prevention رو هم خواهید داشت.

به لطف جنگو شماه هیچکدوم ازین موارد رو نمی‌بینید اما توی فریمورک‌های دیگه باید با این مفاهیم آشنا باشید تا به درستی پیاده‌سازی کنید.

Python Hints

29 Oct, 21:19


#Quick

مثالی برای یک بحث:

یک سری سوالات هست توی مصاحبه که واقعاً نیاز به درک درست از چندین جنبه داره.
یک مثال میزنم و بعدش دیگه این سوال رو از مصاحبه‌هام حذف می‌کنم :

مثلاً توی بکند؛
چرا به سریالایزر نیاز داریم ؟ من مدل دیتابیس رو دارم پکیج‌های مورد نیاز برای کار با json, dict هم که وجود داره چرا مستقیم خودم اینکار رو نکنم و حتماً باید از serializer‌ استفاده کنم ؟

این مثلاً ازون سوالاتی هست که اگر پوزیشن کاری جنگو باشه، توی سطح mid می‌پرسم.
اما اگر غیر از اون باشه حتماً توی سطح junior می‌پرسم، یک نمونه از چیزهایی که میگم بکند رو فارغ از فریمورک یادبگیرید هم هست.

به جوابش فکر کنید، اگر نمی‌دونید هم تحقیق کنید.

Python Hints

29 Oct, 16:06


گروه‌ مربوط به کانال حذف شد.

خیلی‌ها هنوز شعور عضویت در گروه رو ندارند.

#قوانین و بنر گروه رو خوندن وظیفه اعضا هست.

اینحه صحبتی غیر از Core Python توی گروه نباشه
به خواسته خودتون بوده و رأی گیری شد تا گروه جدابی داشته باشیم.

هیچکدوم از کانال‌های
@pyhints
@pytens
@pyrust

هیچوقت هیچ آورده‌ای برای من نداشتند، هیچ سودی هم نداشته.
قرار باشه تمرکزم رو هم ازم بگیره ترجیح میدم نباشه.

Python Hints

28 Oct, 09:24


بگذارید هرکس به آیین خودش باشد.
زنان را گرامی بدارید.
فرودستان را دریابید.
اجازه دهید هرکسی به تکلم قبیله‌ی خویش سخن بگوید.

آدمی تنها در مقام خویش به منزلت خواهد رسید.

۷ آبان روز بزرگداشت کوروش کبیر، همایون باد.

Python Hints

24 Oct, 14:09


بازم خداروشکر جنگ نشد ...

Python Hints

24 Oct, 12:29


۲ دقیقه به من وقت بدید.

هم مجاب کنم بجای کمک خیریه، غذا و دارو ؛ کاندوم اهدا کنید.

هم به شما نشون بدم حرومزاده چه شکلی هست.

Python Hints

21 Oct, 09:57


https://youtu.be/P6uyGENo7n4


لایک، سابسکرایب و کامنت رو فراموش نکنید
بهمون انرژی میده ...

Python Hints

20 Oct, 20:03


#Quick

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

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

Python Hints

20 Oct, 09:06


#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 تا جایی که می‌شه.

Python Hints

19 Oct, 06:23


لایک، سابسکرایب و کامنت رو فراموش نکنید
بهمون انرژی میده ...

Python Hints

19 Oct, 06:17


https://youtu.be/Y0JBb3CJeFA

Python Hints

16 Oct, 21:41


چطوری بفهمیم قراره یک پست مزخرف توی لینکدین بخونیم ؟!

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

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

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

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

پ.ن : اگر عقده دیده شدن دارید، توی about me لینکدین آدرس صفحه اینستاگرام خودتون رو بذارید (یا حتی only-fans)

Python Hints

16 Oct, 08:26


از صبح داشتم یک پروژه رو 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 باید جوری باشه که فارغ از فریمورک و زبان قابل اجرا باشه.

متاسفانه کدهای جدید این تیم هم این خطا رو داره و باز وابسته شده به فریمورک

Python Hints

14 Oct, 22:09


امروز ۵ تا تماس داشتم، دقیقاً همین الان شمردم
که نه تماس کاری بود
نه تماس حال و احوال بود
نه تماس درد و دل عادی

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

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

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

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

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

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

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

پ.ن : لینکدین من پر شده از آدمایی که زدن FastApi, Django رو یادگرفتن ولی کار نیست ولی تجربه نشون داده یاد نگرفتن فقط دوره رفتن و مدرک گرفتن (نتایج مصاحبه‌ بعضی‌هاشون رو از بچه‌ها گرفتم)

Python Hints

06 Oct, 06:41


واقعا گفتم ی مقدار کتاب بخونم از اخبار جنگ دور باشم؛

صفحه اول فصل ۲۰ کتاب Rust

Python Hints

04 Oct, 11:13


یک پست برای مصاحبه الگوریتم توی @pyrust گذاشتم، دوستان پیام دادن پس پایتون چی

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

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

https://github.com/TheAlgorithms/Python

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

معمولاً بجای پیاده‌سازی مستقیم به شما مسئله‌ای داده میشه که راهکار حل اون یک الگوریتم خاص هست و اینجوری سوالات پیاده‌سازی الگوریتمی پرسیده میشه.

Python Hints

03 Oct, 10:07


#موقت

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

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

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

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


#خر_همون_خره_پالون_عوض_شده

Python Hints

02 Oct, 18:53


https://www.youtube.com/@PyHints

یوتیوب خودمون یادتون نره لایوها همه اینجا قرار میگیره

Python Hints

02 Oct, 18:42


توی این هفته freecodecamp دوتا دوره عالی گذاشته؛ این دو مورد ربطی به پایتون نداره اما بدرد خیلیا میخوره بخصوص :
@pytens, @pyrust

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

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


1- Cuda Programming Course (in C)

2- Linux Device Driver Development (in C)


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

امیدوارم شما هم لذت ببرید؛ کانسپت مهم هست.

Python Hints

30 Sep, 10:18


باقی فصل‌ها آخر هفته اضافه خواهد شد. (لایو نداریم)

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

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

پ.ن :
همچنان ویدیو فصل ۱۳ رو نداریم (بجاش عکس می‌ذاریم روی یوتیوب)
تا شاید بعدها فرصت ضبط مجدد داشتیم.

Python Hints

30 Sep, 09:20


فصل ۹

فصل ۱۰ هم درحال آپلود هست

Python Hints

28 Sep, 17:15


اگر خواستید بدون خرید تلگرام پریمیوم، تبلیغات کانال‌ها رو نبینید.

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

تا درودی دگر، بدرود 😁

Python Hints

27 Sep, 08:19


بابت ویدئو‌ها خودتون به آیدین پیام بدید بنظرم
@aidinze

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

بعد از آپلود همه ویدیو‌ها جلسات لایو رو ادامه خواهیم داد.

Python Hints

26 Sep, 12:31


#برگام

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

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


یاد اون کلیپ افتادم که می‌گفت :
تو خود خری، اصن خر بودن رو از روی تو ساختن.

Python Hints

24 Sep, 18:55


برای اونایی که میرن کارآموزی پول هم میدن به شرکت که دارن میرن کار آموزی

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

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



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


نکنید، زیر بار هرچیزی نرید.
هرکاری رو نکنید.

Python Hints

23 Sep, 11:27


چیزی که درد واقعه رو بیشتر می‌کنه

#معدن_طبس