Telegram Web Link
Python Hints
فصل ۶ https://youtu.be/kjSH58nKgfw
Please open Telegram to view this post
VIEW IN TELEGRAM
امروز صبح رفتم پروژه یک شرکتی رو دیدم؛
خیلی جالب بود واقعا (استارتاپی) اما هرچی جلوتر میرفت نمی‌دونستم بهشون بگم کل ۶ ماه زحمتشون رو باید بازنویسی کنند یا نه.

خودشون انقدر غرق کد و قشنگی ایده و ... شده بودند که هیچکدوم متوجه نشدن کدها و کاری که می‌کنند بخش‌های زیادیش
mission critical / safety-critical

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

بعضی وقتا از محصولتون فاصله بگیرید؛ از بیرون بهش نگاه کنید.
به کل سیستم.
یکی از دوستان توی گروه بحث آزاد یک ویدئو در مورد GIL گذاشت و من یاد این موضوع افتادم که از نسخه Python 3.13 شما می‌تونید یک build تقریبا stable (البته نه برای پروداکشن) روی برنچ nogil داشته باشید برای Cpython
GitHub Link

که خب اگر به اندازه کافی طرفدار و کامیونیتی داشته باشه؛ pre-build منتشر خواهد شد و در دراز مدت بعنوان نسخه دیفالت پایتون منتشر خواهد شد.

این موضوع اهمیت بسیار؛ بسیار بالایی داره برای بهینه سازی پایتون و براحتی می‌تونه کدهای multi-thread رو چندین برابر سریعتر کنه

Python multithreading without GIL
PEP 703 - Making the GIL Optional in CPython
Please open Telegram to view this post
VIEW IN TELEGRAM
لطفاً پیام‌های پین شده کانال رو بخونید 🌹

لینک باقی کانال‌های بنده :
اگر software engineering رو کنار بذاریم و وارد جزئیات بشیم؛

۱- هوش مصنوعی (بیشترین کاری که انجام میدم) و خب بالاترین تجربه‌ام
@pytens

۲- کانال پایتون (دلیل خاصی نداره)
@pyhints

۳- کانال Rust که چیزی برای گفتن ندارم فقط خواستم هرچی دارم یاد میگیرم و میخونم و ... رو اونجا بذارم (بکاپ خودم هست ولی عمومی)
@pyrust

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

Youtube: https://youtube.com/@pyhints
#تجربه
#خارج_از_بحث

من ساعت از خواب بیدار شدنم خیلی متغیر هست، یعنی ممکنه یک روز ۵ صبح از خواب بیدار بشم و خیلی روزا ۵ صبح رو از اونور ببینم ( ۵ صبح بخوابم ).

اما فرقی نمی‌کنه چه ساعتی بخوابم و اکثراً ۶ ساعت، میزان خوابی هست که دارم.

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

کلی پست لینکدین مد شده که؛ رفتارهای مهم میلیاردها ۹۹٪ هم روی ساعت بیداری هست.
همشون هم قبل از ۶ صبح از خواب بیدار میشوند.

میگم احمقانه‌اس؛ شاید مخالف باید اما من منطقی حرف‌ میزنم.
پدر من از ۱۸ سالگی تا قبل از فوت کردنش هرروز ۴:۳۰ دقیقه صبح بیدار می‌شد؛ ولی هیچ وقت یک میلیاردر نشد.
۹۰٪ کارمندها قبل از ۶ صبح از خواب بیدار می‌شوند ولی هیچکدوم میلیاردر نیستند.

اما هیچکس راجب رفتارهای مهمتر از خواب حرف نمیزنه چرا ؟

قبل از اون بگم؛ شخصاً از زندگی‌نامه خوندن و فیلم زندگی‌نامه دیدن متنفرم؛
من یکبار زندگی می‌کنم و به سبک خودم، اصلا دوس ندارم زندگیم شبیه کسی باشه

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

۲- مشورت بگیرید، اما نهایتاً خودتون تصمیم گیری کنید :
یک چیزی توی سال‌های اخیر جا افتاده (بازم ازین اینستاگرام‌ها)؛
اگر میخوای پورشه سوار بشی، از یک پراید سوار پیروی نکن

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

۳- مراقبت از هدف اصلی :
هدف داشتن خیلی قشنگ هست، اما مراقبت از هدف خیلی مهمتر هست، من شخصاً درگیر دوتا مشکل بزرگ هستم هم ADHD دارم و هم شدیداً درگیر Nerd Snipping هستم.

مورد اول (ADHD) توی سال‌های اخیر بهش اسم قشنگ دادند و تکنیک درمان اومده براش و ... من از اواخر دوران راهنمایی تا ۲۳ سالگی شدیداً درگیرش بودم و همه هم می‌گفتند تمرکز نداره و حواس‌پرت هست و ...
توی ۲۳ سالگی تصمیم گرفتم از ADHD و Nerd Snipping خودم سو استفاده کنم و الان هر دو مورد رو نه تنها بد نمی‌بینم که موهبت هست برام.

بطور خلاصه، من برای ADHD خودم هم هدف گذاشتم، بجای اینکه به چیزای مختلف بزنم ازش روی یادگیری استفاده می‌کنم، قطعاً شما وقتی یک کتاب رو شروع می‌کنید خوندن اگر خوشتون بیاد اون رو کامل میخونید.
من همیشه ۵-۶ کتاب رو حداقل باهم و همزمان میخونم و توی هرکدوم فقط ۵ صفحه‌ می‌خونم و قبل از اینکه ADHD بخواد اذیتم بکنه میرم روی کتاب بعدی و ...

برای Nerd Snipping هم همچین راهکاری رو دارم، بجای اینکه بذارم باقی افراد با سوال‌هاشون حواسم رو پرت کنند.
خودم هرروز ۱۰-۲۰ سوالی که برام پیش اومده رو می‌نویسم؛ وقتی یکی با سوالش حواسم رو پرت می‌کنه نگاهی به لیست سوالات خودم می‌کنم و درجا برمی‌گردم به مشکلات خودم.

۴- منطقی باشید.

این روزا با توجه به علاقه خیلی‌ها به فوتبال در مورد بازیکنی به اسم یامال (اگر اشتباه نگم) زیاد صحبت می‌شه؛ کلی آدم که میگن یامال ۱۶ سالش هست فلان، تو توی ۲۴ سالگیت هم هیچی نشدی و ...

که خب اگر این بحث بصورت جدی مطرح بشه؛ به من یک چیز رو خیلی دقیق منتقل می‌کنه.
شخصی که این حرف رو زد فقط و فقط یک احمق هست.
یک بازیکن فوتبال ۳۰ به بعد شروع افت کیفیت‌اش هست نهایتاً هم تا ۴۰ سالگی می‌تونه خوب ادامه بده.
اما بر خلاف اون یک scientist تازه از ۳۰ سالگی شروع رشدش هست یا یک business person از ۴۰ سالگی به بعد برند شخصی رو ساخته و شروع کسب درآمد بالاش هست و ...

هرچیزی زمان خودش رو داره؛ اگر موفقیت توی سن پایین هدف هست مسیر اشتباه رو وارد نشوید.


۵- شبکه‌سازی

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

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

من خودم توی این مورد خیلی خوب نیستم البته.

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

۴ صبح بیدار شدن به تنهایی شمارو بیشتر به کارمند شدن سوق میده تا میلیاردر شدن.


نکته و بحثی اگر بود
@DevChaiChat
poetry
که پیس آف شیت هست بنظرم و همه هم می‌دونیم.

اما ازین به بعد نیم نگاهی هم قطعا به پروژه Rye خواهم داشت.

Rye : a comprehensive project and package management solution for Python

دقت دارید که این بزرگوار با Rust نوشته شده .
#موقت

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

متاسفانه هم به دلیل بدن درد توانایی طولانی نشستن ندارم
هم نمی‌تونم زیاد صحبت کنم یا تمرکز داشته باشم.


سعی می‌کنم با آیدین عزیز هماهنگ کنم ویدئو جلسات ۸-۹ رو آپلود کنم (معطل بنده هست)
Please open Telegram to view this post
VIEW IN TELEGRAM
#خارج_از_بحث

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

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

ولی یک سری از احمق‌ها هم هستند؛ که از روی حماقت این حرف رو دارند جدی میزنند.

روی صحبتم ازینجا به بعد با اون احمق‌های بی‌دانش و بی‌سواد هست:

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

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

سوال آخر ؟ کی میخواید دست از خریت و نابودی ایران بردارید ؟
موقت:
ویدئو فصل ۸ آپلود شد روی کانال

تمام پست‌های مربوط به ویدئو‌های یوتیوب رو از کانال پاک می‌کنم که پیدا کردن مطالب راحت تر باشه

لایک - کامنت - سابسکرایب موقع سر زدن به یوتبوب رو فراموش نکنید.
#شایدـبکارـبیاد

۱ ماه گذشته شرایط خیلی سختی بود و البته فکر می‌کنم تا آخر هفته بعدی هم همینطور باشه.

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

معمولا اینطوری هستم که محیط لینوکس رو تغییر نمیدم توی ترمینال ی فایل کانفیگ برای zsh دارم که راحت تر کامندها رو بخونم و ... و تمام.
بکگراند رو اگر مشکی یا تیره باشه نگه میدارم اگر نباشه ی solid color مشکی میذارم و دیگه شروع به کد زدن می‌کنم و معمولا هم ماهی ۱-۲ بار نهایتا بکگراند رو می‌بینم اونم بعد از ریبوت سیستم.

این ۵ شنبه نشستم یک اسکریپت بلند بالا نوشتم که هر ۱ ساعت یکبار کلی کار رو انجام بده که حالا بخشی که توی این چندروز خیلی حالم رو بهتر کرده این‌هاست:

۱- یک سری wallpaper رو دانلود کنه.
۲- بصورت خودکار wallpaper رو عوض کنه ( براساس نوع تصویر هر عکس توی یکی از ۳ تا پوشه morning, evening, night ) ریخته میشه که هوش مصنوعی خیلی کمک می‌کنه برای دسته بندی خودکارش
۳- بر اساس ساعت یکی از پوشه‌ها بصورت رندم انتخاب می‌شه
۴- بکگراند عوض میشه
۵- اگر یوتیوب یا ویدئویی در حال پخش باشه pause میشه
۶- یکی از موسیقی‌های مورد علاقه‌ام پخش میشه
۷- همه پنجره‌های باز minimize میشوند (البته اینو تغییر دادم زدم ببرتم توی یک workspace جدید)

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

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


بطور کلی می‌تونم انقدر درگیر پروژه‌ها؛ کتاب‌ها و کدهام بشم که حتی وقت بوده ۳-۴ ماه از خونه بیرون نرفتم (شاید در حد ۹ شب و زباله بیرون انداختن ولی کمتر از ۱۰ دقیقه برگشتم خونه.)

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

تصویر مربوط به اتفاقی هست که افتاد و ترکیبش با موسیقی فوق العاده آروم کننده بود.
امروز از ۱۰ صبح تا الان که حدودا ۱۰ شب هست؛ تماما پای کد بودم و واقعا ی همچین چیزی خیلی خیلی بهم کمک کرد.

خوشحالم که ۵ شنبه قبل برای اینکار وقت گذاشتم.
بسیاری از سوالات در مورد این هست که دوره پایتون فلان آموزشگاه برای دیتاساینس خوبه ؟
دوره پایتون فلان استاد برای هوش مصنوعی خوبه ؟


دیگه کلا این سوالات رو جواب نمی‌دم ولی بطور کلی اینو توی ذهن داشته باشید،
هرجا دیدید نوشته، دوره پایتون برای X یا ویژه X بدون شک کلاهبرداری هست.

مگه می‌شه شما ی زبان رو بهت نصف و نیمه یاد بدن بگن چون ویژه فلان کار هست
حتماً توقع داری بعدش بری گوگل ؟!
این پست رو توی کانال Rust زدم

Post Link

بعد یکی از دوستان نزدیکم که با تشویق من شروع به یادگیری برنامه‌نویسی کرده بود گفت که توی ۲-۳ سالی که کار می‌کنه این مورد رو ندیده و اصلا هم الان درک نمی‌کنه.

بنظرم طبیعی هست؛ الگوریتم Red-Black جزو مواردی هست که واقعا ساده نیست مخصوصا وقتی صحبت پیاده‌سازی میشه.

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

با اینکه در حد قبولی مصاحبه‌ها بلد هست ولی همین ضعف باعث شده نتونه مصاحبه‌های با سختی بیشتر رو شرکت کنه.

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

منابعی که تاحالا معرفی کردم هیچکدوم این مورد رو نداره.

تا اینکه چندی پیش این مورد رو دیدم؛

Data structures and algorithms crash course with animated illustrations and off-the-shelf code

از خوبی‌هاش :
۱- تصویری هست
۲- کلی چشم روش هست؛ چون open source هست کلی آدم خطاهاش رو می‌گیرند
۳- همیشه در دسترس هست (حتما برید روی انگلیسی مگر اینکه چینی رو خوب بلد باشید)
۴- تمام موارد پیاده‌سازی داره و این پیاده‌سازی روی چندین زبان هست
۵- پیاده‌سازی‌ها قدم به قدم هست.


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

#DataStructure #Algorithm
Python Hints
این پست رو توی کانال Rust زدم Post Link بعد یکی از دوستان نزدیکم که با تشویق من شروع به یادگیری برنامه‌نویسی کرده بود گفت که توی ۲-۳ سالی که کار می‌کنه این مورد رو ندیده و اصلا هم الان درک نمی‌کنه. بنظرم طبیعی هست؛ الگوریتم Red-Black جزو مواردی هست که…
یکی از شما پیام داده، که درک درستی از
Data structure, Algorithm
نداشته ولی با leetcode, ... پوشش داده و الان توی شرکت‌های خوبی هم کار کرده و می‌کنه

من مسئله نشدنی و شدنی بودن رو ندارم اما بذارید یک جور دیگه بگم.


فرض کنید شما ۲ تا آدم رو دارید همزمان برای استخدام مصاحبه می‌کنید، آدم‌ها توی اتاق های متفاوت هستند که نظر یک نفر روی دیگری تاثیر نذاره یا کمک نباشه
شما با یک بلندگو تسک رو میگید و هر نفر شروع می‌کنه روش کار کردن و نتایج رو گفتن

نفر A؛ بیش از ۳ سال تجربه داره و بیش از ۲۰۰ مسئله leetcode رو حل کرده
پس سوال اول شما که در مورد algorithm هست رو در زمان کمتر و بصورت کاملاً optimize پاسخ میده

نفر B؛ ۱ سال سابقه کاریش رو تازه داره پر می‌کنه و حدوداً ۱۰ تا leetcode رو حل کرده
سوال اول شمارو هم به درستی توی کمتر از زمان خواسته شده حل می‌کنه و از نظر الگوریتم optimization هارو داره اما از نظر پکیج و ... کاملا optimize نیست.

الان راجب system design, syntax, ... حرف نمی‌زنیم (فرض اینه که هر دو هم سطح هستند) شما کدوم رو استخدام می‌کنید ؟

برای سوال دوم یک سناریو تعریف میشه و اینبار الگوریتم روی یک مسئله در دنیای واقعی map شده پس یعنی خودشون باید هم سوال و هم جواب رو پیدا کنند.

فرد A؛ اینبار زمان بیشتری نیاز داره تا فکر کنه و جوابی که در نهایت ارائه میده هم optimization خوبی نداره، مهمتر از همه نمی‌تونه راهکارش رو برای شما بصورت قابل درک و با جزئیات توضیح بده.

فرد B؛ به اندازه سوال اول زمان میگیره و به همون اندازه optimization داره روی الگوریتم.

حالا کدوم رو انتخاب می‌کنید ؟
اگر فرد A رو انتخاب کردید، شما توانایی استخدام نیرو درست رو ندارید و فقط دنبال شرط بندی روی آدم با ریسک کمتر هستید (۳ سال تجربه)

من فرد B رو انتخاب می‌کنم، چون توی کمتر از ۱ سال به جایگاه فردی با ۳ سال تجربه رسیده، اهل وقت تلف کردن نیست و بجای اینکه ۲۰۰ تا leetcode حل کنه و الگوی سوالات رو حفظ کنه، مفاهیم رو یادگرفته و با حل ۱۰ سوال به دید کلی رسیده.

تفاوت صحبت‌های بالا هم همین هست، قطعاً یک آدم با سطح هوش ریاضی و برنامه نویسی متوسط و رو به پایین هم بعد از حل بیش از ۲۰۰ مورد leetcode می‌تونه سوالات رو حل کنه اما راهکار بهینه نیست.

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

از نظر شخصی هم، فرد B خیلی راحت‌تر و توی زمان کمتری به سطوح بالاتر برنامه‌نویسی خواهد رسید.
یکی داره ممبر فیک وارد کانال می‌کنه
دلیلش هرچیزی که هست
امیدوارم اینکار رو ادامه نده
حدوداً ۲۰۰ تا ممبر اضافه شده که ترجیح میدم حذف بشه


تعداد اعضا 6043 هست
قبل از اینکار 5818 بود
چند نفری هم این وسط عضو شدند.
این اعداد رو نوشتم یادم باشه اگر ادامه پیدا کرد مجبورم کانال رو private کنم.
برای حفاظت و جلوگیری از ban شدن کانال
بعدم باید این اکانت‌ها از کانال حذف بشوند.
Please open Telegram to view this post
VIEW IN TELEGRAM
بوقت ریلیزهای پشت هم :

متأسفانه فردا امکان برگزاری جلسه نخواهم داشت 🌹

پ.ن : ساعت ۲ صبح و رسیدن خونه بعد از ۱۸ ساعت کاری
2025/07/07 15:10:37
Back to Top
HTML Embed Code: