ar
Feedback
Python Hints

Python Hints

الذهاب إلى القناة على Telegram

Python tips and tricks The Good, Bad and the Ugly توی این کانال فقط قرار هست در مورد core python صحبت کنیم. این کانال یک بلاگ شخصی هست و پیرامون نظرات و چیزهایی که توی بیش از ۱۰ سال کد زدن یاد گرفتم (فقط برای کمک به دوستان تازه‌کار) Admin: @Abbasi_ai

إظهار المزيد
9 613
المشتركون
+924 ساعات
+647 أيام
+22130 أيام
أرشيف المشاركات
قِشَنگ حیدو هدایتی

photo content

صبح یکی از بچه‌ها بهم گفت چطوری توی لاگ اکثر پروژه‌های بزرگ شرکت همیشه اسمت هست ؟ کی وقت می‌کنی انقدر چیز بفرستی ؟ اصن کی وقت می‌کنی همه پروژه‌ها رو بخونی و کد هم دونیت کنی ؟ چیزی نگفتم (واقعا نمی‌دونستم چی بگم) تا رسید الان اومدم از chromadb استفاده کنم دیدم یه کلاس نوشتن یک متغییر توی کتابخونه زیریش هست که مسیر دانلود مدل هوش مصنوعی رو مشخص می‌کنه ( توی داکر کردن پروژه خیلی مهمه ) ولی به هر دلیل فراموش شده و توی chromadb نذاشتن. واقعیتم اینه که اگر فقط ی instance ازش استفاده می‌کنه لازمش نداریم ولی برای پروداکشن خیلی خیلی کار رو آسونتر می‌کنه اومدم توی __init__ اون کلاس زدم cache_folder: Optional[str] = None بعدم همین متغییر رو پاس دادم به کتابخونه‌ی زیر commit, pull request بعد برای اون دوستمون عکس گرفتم و گفتم : لازم نیست کدهای بزرگ تحویل بدی؛ بعضی وقتا ی خط کد هم کار خیلی‌‌هارو راه می‌ندازه سعی کن مشکل خودت رو حل کنی؛ و بعد راه‌حلت رو دونیت کن.

اینو ۲ سال پیش توی کانال هوش مصنوعی گذاشتم الان دوباره صحبتش رو آوردم، چون نیروی DevOps از تیم DevOps تحویل گرفتیم (بعد از کلی دردسر) و شرط کردم که نیرو سواد خوبی راجب داکر و ... داشته باشه سرتون رو درد نیارم، ۲ ساعت رفتم جلسه و ... کل تیم خودم رو نشستم باهاشون کد بررسی کردم. نگاه کردم دیدم، جناب devops کاری که همشون روی سرش قسم میخورند یک داکر ایمیج درست کرده حجمش ۵ گیگابایت. گزارش ایشون رو دادم و ... مدیر فنی و مدیر خودش و هرکسی که این وسط بود اومدن که نه قطعاً کدها مشکل داره و ازین حرفا نشستم خودم مجدداً کارهای داکر کردن پروژه رو انجام دادم، حجم نهایی فایل + سرویس و هرچیزی که نیاز داشت شده ۶۰۰ مگابایت (تفاوت رو ببین) فایل رو تحویل دادم، روش هم ی درخواست افزایش حقوق گذاشتم + حذف نیروی دواپس از تیم هوش مصنوعی تا یافتن نیروی مناسب (این بار اول نبود) رفتم گیت طرف رو نگاه می‌کنم، می‌بینم توی ۷ دقیقه پروژه رو داکر کرده خدایی چرا فکر می‌کنید ما خودمون نمی‌تونیم Shit code, ... بزنیم ؟ چرا داریم کار رو می‌سپاریم دست نیروی متخصص ؟ اصن چرا ی همچین آدمی رو باید بعنوان نیروی متخصص شناخت توی شرکت ؟ شما ببین اوضاع مدیر فنی شرکت و مدیر devops چقدر خرابه که پشت همچین نیروی قسم هم می‌خوردند.

تفاوت نسخه های مختلف پایتون (داکر) و البته تاثیرش روی سایز image نهایی (عکس رو باز کنید) : نسخه‌ای که من از بچه‌ها گرفتم درنه
تفاوت نسخه های مختلف پایتون (داکر) و البته تاثیرش روی سایز image نهایی (عکس رو باز کنید) : نسخه‌ای که من از بچه‌ها گرفتم درنهایت سایز image اش به 1.3GB میرسید نسخه‌ای که من برای چک کردن کدها و توسعه استفاده کردم 241MB هست و نسخه‌ای که برای deploy تحویل دادم 153MB (روش multistage که قبلا راجبش توضیح دادم توی زبان‌هایی مثل Go lang) علاوه بر کم کردن هزینه و مزایایی سریعتر up شدن و ... که میدونید cloud provider شرکت بابت نگهداری از این image ها (زیر ۲۵۰ مگ) هیچ هزینه‌ای نمیگیره و حتی بابت نسخه تست هم (رم و cpu کم) هیچ هزینه‌ای نداره.

برای اون دوستانی که اعلام کردن مه ۴۲ سال نیست و بجای ۳۰ سال فقط شده ۳۵ سال و ... دوست عزیز، یا قانون رو نخون یا می‌خونی کامل
برای اون دوستانی که اعلام کردن مه ۴۲ سال نیست و بجای ۳۰ سال فقط شده ۳۵ سال و ... دوست عزیز، یا قانون رو نخون یا می‌خونی کامل بخون شخصاً این جداول رو چک کردم.

#موقت افزایش سن بازنشستگی به ۴۲ سال توسط شورای نگهبان تایید شد. اگر سن شروع به کار رو پس از لیسانس و سربازی برای آقایون ۲۴سالگی در نظر بگیریم، باید تا ۶۶ سالگی کار بکنه. میانگین سنی متوفی‌های امسال کشور، ۶۶ سال بوده. یعنی تا روز مرگت باید کار کنی تا شاید حقوق بازنشستگی بگیری منبع : کانال پروکسی نظر من : شما کار کن، به بازنشستگی که رسیدی اگر زنده نبودی بخوری می‌دیم یمن، فلسطین، حزب‌الله و غزه و ... درسته این دنیا چیزی دستت رو نگرفت، ولی اون دنیا توی جهاد این گروها شریک خواهید بود.

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

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

برای استوری کتاب امروز بازم نیاز داریم. دوستان دقت کنید فقط ۱ کانال رو می‌تونید Boost کنید (تلگرام احمق)

#خارج_از_بحث #جهت_انتشار #جهت_آگاه‌سازی من راجب لو رفتن دیتاهای اسنپ (حتی همون بخش کوچیک)، ایرانسل، همراه‌اول توی این چندسال هیچ چیزی نگفتم توی این کانال چون واقعاً ربطی نداشت به ما. اما یک مورد رو بسیار زیاد دیدم توی چند وقت اخیر، یک گروه از افراد (بیاید بگیم گروه هکری، هرچند خیلی از هکرها شرف دارند) شروع کردند به دخترها، توی تلگرام پیام دادن که: خلاصه و مضمون این پیام اینطوری هست که به دلیل مشکلات جسمی و #جنسی نیاز به رابطه دارند و ... ولی امکانش رو ندارند. بنابراین اگر شما بدون چهره و ... بهشون تصویر یا ویدئو لخت بدید حاضرند به شما پرداخت داشته باشند، به عمد هم مبالغ خوبی رو پیشنهاد می‌دهند. و تأکید می‌کنند پلتفرم ناشناس باشه، چهره نباشه و ... حالا بخش اخاذی چطوری میاد ؟ دیتابیس #ایرانسل، #اسنپ #همراه_اول هر ۳ مورد علاوه بر شماره اطلاعات دقیق صاحب خط، شناسنامه‌، آدرس و ... رو هم داره توی موردی که شخصاً با فرد داشتم چت می‌کردم، حتی اعلام کرد برای ویدیو ۵ دقیقه‌ای حاضر هست ۱ میلیون تومان پرداخت مستقیم داشته باشه بعد از ۲ تا عکس هم حاضره نصف مبلغ رو درجا پرداخت کنه، (همین شیوه پرداخت خودش،ناشناس بودن رو می‌بره زیر سوال) متأسفانه جامعه هدف این افراد کسانی هستند که سواد کامپیوتری ندارند و یا طبق اطلاعات ثبت شده سن افراد بین ۱۸ تا ۲۵ هست. من نمی‌دونم چطوری اما اگر شما هم کسی رو می‌شناسید که دختر داشته باشه، یا دوست و آشنایی دارید حتماً این پیام رو بفرستید براشون یا بهشون توضیح بدید. می‌دونم زندگی سخت شده و برای پول هرکاری شاید بکنند بعضی افراد، با تصور اینکه هیچ اطلاعاتی ازشون وجود نداره (توی گروهی بودم که حداقل ۱٪ می‌خواستند اینکارو رو بکنند) اما شما و من می‌دونیم به محض اینکه اولین ویدئو رو دریافت کنند اخاذی شروع خواهد شد. بر اساس همون آدرس‌ها و اطلاعاتی که توی دیتابیس‌های مختلف هک شده وجود داره می‌دونم موضوع کانال این چیزا نیست، اما وظیفه خودم دونستم که این موضوع رو حتماً اطلاع بدم و شخصاً از شما عزیزان خواهش می‌کنم که این مطلب رو به اشتراک بذارید (نیاز به ذکر منبع نیست) کاش با این شرکت‌هایی که امنیت کاربر براشون مهم نیست و اطلاعات دقیق از کاربر میگیرند برخورد محکم و قاطعی صورت می‌گرفت.

#موقتی کتابی که استوری شد، برای همه کسانی هست که می‌گفتند نمی‌دونند چطور باید کدهای OOP بزنند یا اینکه چطوری تصمیم بگیرند از Inheritance, Multi-Inheritance, Interface, Protocol, ... کجا استفاده کنند. شخصاً نسخه قدیمی این کتاب رو خوندم، python3 OOP اما پیشنهاد می‌دم نسخه‌ای که استوری شده رو بخونید. خوبی کتاب‌های Dusty Philips اینه که علاوه بر تئوری، همه چیز رو بصورت کدهای عملی مثال می‌زنه و نمایش می‌ده

#موقت داشتم لیست کتاب‌هایی که خوندم رو بررسی می‌کردم، یک کتابی رو لازم داشتم ۲ مورد کتاب فوق‌العاده دیدم که توی posts های کانال نذاشتم، ی هل بدید به لول ۱ برسیم مجدداً این دو مورد رو هم Story کنم.

#خارج_از_بحث #لینوکس خبر پشتیبانی از پکیج‌های x86_64-v3 خلاصه و به زبان ساده بگم؛ این نسخه از پکیج‌ها برای cpu های سال 2015 به بعد بهینه شده خوبیش استفاده بهینه از منابع و حتی سرعت بیشتر هست. اگر کاربر یا طرفدار ubuntu هستید می‌دونید که گفته به سراغ این موضوع میره؛ fedora هم از این قضیه مستثنی نیست و گفته که این موضوع رو بررسی می‌کنه؛ اما این وسط RedHat حرکت عجیبتری زده
RedHat Enterprise Linux v10 
که سال بعدی میاد گفته که دیگه از نسخه‌های قدیمی پشتیبانی نخواهد کرد
x86_64-v3
تنها گزینه خواهد بود. این یعنی cpu های قبل از 2015 دیگه توانایی نصب RHEL10, Rocky10 , ... رو نخواهد داشت و این موضوع رو هم اعلام کرده که حتی اگه اینکار باعث بهبود سرعت و پرفورمنس هم نشه بازم اینکار رو می‌کنه چون دیگه لازم نیست توی کدها شرایط AVX - , ... رو بررسی کنند ( داستان کد کمتر باگ کمتری هست که ۲ هفته پیش صحبت کردم راجبش ) در همین راستا چندسال قبل راجب
Intel Clear Linux 
صحبت کرده بودم و گفتم که این OS روی اکثر سرورهای پردازشی شرکتی که اون زمان کار میکردم وجود داره و دلیلش هم بهینه بودنش توی استفاده از منابع هست. بازم میگم : کاربران Fedora, Ubuntu و مشتقاتش نگرانی نداشته باشند چون x86-64-v3 در کنار نسخه‌های قدیمی اضافه خواهد شد؛ که اتفاقا خبر خوبی هست اگر cpu شما پشتیبانی کنه OS بهینه تری خواهید داشتید. شخصا بی‌صبرانه منتظر آپگرید سیستمم به Rocky10 هستم.

sticker.webp0.25 KB

کسی درمانی برای بیشعوری داره ؟! من خیلی مودبانه گفتم که اجازه صحبت راجب این موضوع رو ندارم با توجه به قرارداد‌هام همه‌ی دوستا
+1
کسی درمانی برای بیشعوری داره ؟! من خیلی مودبانه گفتم که اجازه صحبت راجب این موضوع رو ندارم با توجه به قرارداد‌هام همه‌ی دوستانی هم که من رو می‌شناسند می‌دونند که بنده حداقل ۹ ماه گذشته هیچ گروه هوش مصنوعی و ... ایی هم وارد نشدم و مطلبی نذاشتم. دروغ گویی و ... توی گروه تهدید به انتشار چت و بد گویی، بعد می‌گن چرا جواب سوالات خصوصی رو نمی‌دی، چرا کمک نمی‌کنی و ... عادت ندارم این چت‌ها رو جایی پخش کنم، ولی چون خودشون گفتند اینکارو می‌کنند و توی گروه هم به دروغ صحبت کردند برای همین گذاشتم. #موقت #بیشعوری

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

اعلام نفرت می‌کنم از تمام کتاب‌خونه‌هایی که می‌گه پشتیبانی از python3.xx داره ولی وقتی نصبش می‌کنی میگه your system has an unsupported version of sqlite3 بعد می‌ری سرچ میزنی می‌بینی این نسخه دیفالت ۲ تا ورژن بالاتر هست. نمونه‌اش chromadb

توی این مباحث یک کامنت داده شد درباره Fail Fast (Defensive Programming) چون خودم هم همیشه با نیروهای جدید (بخصوص Ai, Data Science, Data Engineering) مشکل دارم بدم نمیاد راجبش یک توضیح بدم. اما fail fast نه تنها توی برنامه‌نویسی که توی زندگی هم باید رعایت کنید؛ من بسیار استارتاپ دیدم که درگیر فیچر پشت فیچر دادن می‌شوند، اونقدری که فراموش می‌کنند اصلا محصول رو عرضه کنند (داستان این باکس‌های نوشیدنی، که ۶ میلیون دلار fund raise داشت یک مورد بسیار بسیار معروف هست که بدون هیچ محصولی fail شد) Assumption kills این یکی از جمله‌هایی هست که بسیار توی شرکت استفاده می‌کردم (توی تیم دیتاساینس)، اینکه فرض کنی تیم Data Engineering همه چیز رو تست کرده و دیتای فوق‌العاده بهت داده خطاس اما بی‌اعتمادی هم اشتباه هست (برای همین ی بخشی از دیتا رو shuffle می‌کنی و تست) توی برنامه‌نویسی اینکه فکر کنی، چون به یوزر گفتی لیست بهم بده دلیلی نمیشه که حتماً لیست بهت بده یا Dynamic Programming دیدیم که تست می‌کنیم یک کلاس هست یا خیر، ولی این دلیل نمی‌شه اون متد خاص پیاده سازی شده باشه Fail fast اگر نباشه، ممکنه شما ۱۰ دقیقه، ۱ روز ، ۱ماه پردازش انجام بدید (توی کار دیتا اصلا بعید نیست) و در نهایت ببنید کاربر دیتای اشتباه بهتون داده و ... Fail fast میگه همه ویژگی‌هایی که بهشون نیاز داری رو همون اول کار تست کن قرار بوده از یوزر list بگیری ؟! اوکی تستش کن : تو بدترین حالت user_input = list(user_input) بذار اگر خطایی هست، همین اول برگرده به یوزر.