خواستم یادآوری کنم
Neuralink
امسال (2024) شروع تست روی انسان رو انجام میده و با توجه به نتایجی که روی حیوانات داشته مجوز برای تست روی چند انسان رو گرفته، طبق گزارش قبلی قرار بود ۱۱ نفر باشه، با توجه به حدود قیمت و اینکه تستش تا ۳ سال آینده هر سال روی آدمهای بیشتری خواهد بود و البته اینکه سرعت و هزینه هم هر سال به ترتیب بیشتر و کمتر خواهد شد.
من رو دقیقاً یاد فیلم Upgrade انداخت
Neuralink
امسال (2024) شروع تست روی انسان رو انجام میده و با توجه به نتایجی که روی حیوانات داشته مجوز برای تست روی چند انسان رو گرفته، طبق گزارش قبلی قرار بود ۱۱ نفر باشه، با توجه به حدود قیمت و اینکه تستش تا ۳ سال آینده هر سال روی آدمهای بیشتری خواهد بود و البته اینکه سرعت و هزینه هم هر سال به ترتیب بیشتر و کمتر خواهد شد.
من رو دقیقاً یاد فیلم Upgrade انداخت
IMDb
Upgrade (2018) ⭐ 7.5 | Action, Sci-Fi, Thriller
1h 40m | R
👍21🆒5🔥1
خواستم یکبار دیگه تأکید کنم روی
که هم به خودم یادآوری کرده باشم هم باقی دوستان،
اصولاً توی دنیای واقعی هم همین هست مثال میزنم که جا بیوفته (چون متاسفانه خیلی کم رعایت میشه)
کودکی رو به خاطر بیارید، یک کاری میخواستی بکنی که با شک بالا میدونستی پدر و مادر اجازه نمیدهند.
وقتی میرفتی و اجازه میگرفتی، درجا نه میشنیدی حالا باید تمام جزئیات و ... رو توضیح میدادی تا همهی نگرانیها برطرف بشه
بعد شاید حتی ۱ همراه یا ... هم باهات میفرستادند و در اینصورت شما اجازه داشتی کاری که میخوای رو انجام بدی، لذتش ۲۰٪ میشد.
مثال میزنم :
یک تفریح سالمی که ما (از درس فیزیک و شیمی) داشتیم این بود که ۲ تا آجر میذاشتیم نزدیک هم ی تشتک نوشابه (باید پلاستیک کفش رو میکندیم، قدیما داشت، جدیدا نداره) میذاشتیم روی آجرها و یک تیکه شمع رو میریختیم داخلش (نقش روغن) بعد یک شمع دیگه زیر این تشتک روشن میکردیم صبر میکردیم شمع داخل تشتک به نقطه جوش برسه (یا حتی ی کم آتیش بگیره) بعد ی قطره آب داخلش مینداختیم و شعله چندبرابر میشد.
درس ایمنی :اگر ماهیتابه روغن روی گاز آتیش گرفت آب توش نریزید، فقط درش رو بذارید و شعله زیرش رو خاموش کنید 😁
۹۰٪ بچهها اجازه انجام اینکار رو نداشتند، من اولین بار بدون اجازه رفتم اینکارو کردم جلو در خونه خودمون وقتی پدرم دید گفت نباید اینکارو میکردی و ...
منم عذرخواهی کردم و توضیح دادم که شعله کوچیک هست (صورتمم عقب گرفتم که ابرو و موژهام نسوزه) و نمیدونستم که باید براش اجازه بگیرم، بعد چندبار به خودش نشون دادم، درنهایت گفت پس مراقب باش اشکالی نداره (بزرگ شدی دیگه)
اما قبل از اینکه پدرم من رو ببینه، بیش از ۵۰ بار اون کار رو گرده بودم.
هم همین هست، وقتی نسبت بروز Exception خیلی کم هست چرا هر دفعه میخوای چک کنی که اجازه انجام اون محاسبه رو داری یا نه ؟!
این همه گفتم، که خواهش کنم این مورد رو توی کدهاتون بیشتر رعایت کنید.
پ.ن : یادم رفت پستهای قبلی که EAFP رو توضیح دادم reply کنم ولی این اولین مورد بود (سرچ کنید باقیش رو هم میتونید بخونید)
https://t.iss.one/pyHints/59
EAFP
( easier to ask forgiveness than permission )که هم به خودم یادآوری کرده باشم هم باقی دوستان،
اصولاً توی دنیای واقعی هم همین هست مثال میزنم که جا بیوفته (چون متاسفانه خیلی کم رعایت میشه)
کودکی رو به خاطر بیارید، یک کاری میخواستی بکنی که با شک بالا میدونستی پدر و مادر اجازه نمیدهند.
وقتی میرفتی و اجازه میگرفتی، درجا نه میشنیدی حالا باید تمام جزئیات و ... رو توضیح میدادی تا همهی نگرانیها برطرف بشه
بعد شاید حتی ۱ همراه یا ... هم باهات میفرستادند و در اینصورت شما اجازه داشتی کاری که میخوای رو انجام بدی، لذتش ۲۰٪ میشد.
مثال میزنم :
یک تفریح سالمی که ما (از درس فیزیک و شیمی) داشتیم این بود که ۲ تا آجر میذاشتیم نزدیک هم ی تشتک نوشابه (باید پلاستیک کفش رو میکندیم، قدیما داشت، جدیدا نداره) میذاشتیم روی آجرها و یک تیکه شمع رو میریختیم داخلش (نقش روغن) بعد یک شمع دیگه زیر این تشتک روشن میکردیم صبر میکردیم شمع داخل تشتک به نقطه جوش برسه (یا حتی ی کم آتیش بگیره) بعد ی قطره آب داخلش مینداختیم و شعله چندبرابر میشد.
درس ایمنی :
۹۰٪ بچهها اجازه انجام اینکار رو نداشتند، من اولین بار بدون اجازه رفتم اینکارو کردم جلو در خونه خودمون وقتی پدرم دید گفت نباید اینکارو میکردی و ...
منم عذرخواهی کردم و توضیح دادم که شعله کوچیک هست (صورتمم عقب گرفتم که ابرو و موژهام نسوزه) و نمیدونستم که باید براش اجازه بگیرم، بعد چندبار به خودش نشون دادم، درنهایت گفت پس مراقب باش اشکالی نداره (بزرگ شدی دیگه)
اما قبل از اینکه پدرم من رو ببینه، بیش از ۵۰ بار اون کار رو گرده بودم.
EAFP
هم همین هست، وقتی نسبت بروز Exception خیلی کم هست چرا هر دفعه میخوای چک کنی که اجازه انجام اون محاسبه رو داری یا نه ؟!
این همه گفتم، که خواهش کنم این مورد رو توی کدهاتون بیشتر رعایت کنید.
پ.ن : یادم رفت پستهای قبلی که EAFP رو توضیح دادم reply کنم ولی این اولین مورد بود (سرچ کنید باقیش رو هم میتونید بخونید)
https://t.iss.one/pyHints/59
Telegram
Python Hints
توی این مثال (قطعا غیر واقعی)
هر ۲ تا روش رو بررسی کردیم و البته قانون
exception
هم رعایت شده.
تفاوت سرعت رو خودتون میبینید دلیلش هم اینه که اسم تابع رو وقتی کاربر میبینه توی ۹۹٪ موارد قطعا متوجه هست که ۲ تا عدد باید بده و ...
توی
LBYL
حتی اگر همه چیز…
هر ۲ تا روش رو بررسی کردیم و البته قانون
exception
هم رعایت شده.
تفاوت سرعت رو خودتون میبینید دلیلش هم اینه که اسم تابع رو وقتی کاربر میبینه توی ۹۹٪ موارد قطعا متوجه هست که ۲ تا عدد باید بده و ...
توی
LBYL
حتی اگر همه چیز…
👍28👏7👎1🔥1
Python Hints
خوانش گروهی کتاب Fluent Python به فصل ۱۳ رسید (عضو جدید نمیگیره گروه) Interfaces, Protocol and ABCs داشتم راجب همین موضوع پیش گروهی دیگر از دوستان صحبت میکردم که متوجه شدم خیلی از بچهها با این مفاهیم آشنا هستند، اما کاربرد درستش رو نمیدونند حتی بچههایی…
توی این مباحث یک کامنت داده شد درباره
چون خودم هم همیشه با نیروهای جدید (بخصوص Ai, Data Science, Data Engineering) مشکل دارم بدم نمیاد راجبش یک توضیح بدم.
اما
من بسیار استارتاپ دیدم که درگیر فیچر پشت فیچر دادن میشوند، اونقدری که فراموش میکنند اصلا محصول رو عرضه کنند (داستان این باکسهای نوشیدنی، که ۶ میلیون دلار fund raise داشت یک مورد بسیار بسیار معروف هست که بدون هیچ محصولی fail شد)
این یکی از جملههایی هست که بسیار توی شرکت استفاده میکردم (توی تیم دیتاساینس)، اینکه فرض کنی تیم
Data Engineering
همه چیز رو تست کرده و دیتای فوقالعاده بهت داده خطاس اما بیاعتمادی هم اشتباه هست (برای همین ی بخشی از دیتا رو shuffle میکنی و تست)
توی برنامهنویسی اینکه فکر کنی، چون به یوزر گفتی لیست بهم بده دلیلی نمیشه که حتماً لیست بهت بده یا
Dynamic Programming
دیدیم که تست میکنیم یک کلاس هست یا خیر، ولی این دلیل نمیشه اون متد خاص پیاده سازی شده باشه
Fail fast
اگر نباشه، ممکنه شما ۱۰ دقیقه، ۱ روز ، ۱ماه پردازش انجام بدید (توی کار دیتا اصلا بعید نیست) و در نهایت ببنید کاربر دیتای اشتباه بهتون داده و ...
Fail fast
میگه همه ویژگیهایی که بهشون نیاز داری رو همون اول کار تست کن قرار بوده از یوزر list بگیری ؟!
اوکی تستش کن :
تو بدترین حالت
بذار اگر خطایی هست، همین اول برگرده به یوزر.
پ.ن : سعی کردم ساده توضیح بدم، ولی اگر کسی متوجه نشد بگه سعی کنم بهتر توضیح بدم.
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)
بذار اگر خطایی هست، همین اول برگرده به یوزر.
پ.ن : سعی کردم ساده توضیح بدم، ولی اگر کسی متوجه نشد بگه سعی کنم بهتر توضیح بدم.
👍27👌4❤🔥2🔥1
اعلام نفرت میکنم
از تمام کتابخونههایی که میگه پشتیبانی از
داره ولی وقتی نصبش میکنی میگه
بعد میری سرچ میزنی میبینی این نسخه دیفالت ۲ تا ورژن بالاتر هست.
نمونهاش
راهکار:
ولی بطور کلی کار تمیزی نیست دیگه.
از تمام کتابخونههایی که میگه پشتیبانی از
python3.xx
داره ولی وقتی نصبش میکنی میگه
your system has an unsupported version of sqlite3
بعد میری سرچ میزنی میبینی این نسخه دیفالت ۲ تا ورژن بالاتر هست.
نمونهاش
chromadb
راهکار:
pip install pysqlite3-binary
__import__('pysqlite3')
import sys
sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')
ولی بطور کلی کار تمیزی نیست دیگه.
👍25🤝11😁3
نوجوانی
خیلی با ارزشتر از این حرفاست که توی این کشور هدر بره.
اینو میگم چون خیلی سوال میشه، این ترازو رو تصور کنید،
انجام هرکاری توی ایران ------------- فرار از ایران.
همیشه سمت چپ این ترازو سنگینتر هست،
همیشه.
فقط فرار کنید.
خیلی با ارزشتر از این حرفاست که توی این کشور هدر بره.
اینو میگم چون خیلی سوال میشه، این ترازو رو تصور کنید،
انجام هرکاری توی ایران ------------- فرار از ایران.
همیشه سمت چپ این ترازو سنگینتر هست،
همیشه.
فقط فرار کنید.
👍82👎51💔9🫡5💯3
#خارج_از_بحث #لینوکس
خبر پشتیبانی از پکیجهای
اگر کاربر یا طرفدار
که سال بعدی میاد گفته که دیگه از نسخههای قدیمی پشتیبانی نخواهد کرد
تنها گزینه خواهد بود. این یعنی
در همین راستا چندسال قبل راجب
صحبت کرده بودم و گفتم که این
بازم میگم : کاربران
در کنار نسخههای قدیمی اضافه خواهد شد؛ که اتفاقا خبر خوبی هست اگر
شخصا بیصبرانه منتظر آپگرید سیستمم به
هستم.
خبر پشتیبانی از پکیجهای
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
هستم.
🍾13👍9🔥1😢1
#موقتی
کتابی که استوری شد، برای همه کسانی هست که میگفتند نمیدونند چطور باید کدهای
بزنند یا اینکه چطوری تصمیم بگیرند از
کجا استفاده کنند.
شخصاً نسخه قدیمی این کتاب رو خوندم،
اما پیشنهاد میدم نسخهای که استوری شده رو بخونید.
خوبی کتابهای
پ.ن : کتاب بعدی هم راجب
هست.
کتابی که استوری شد، برای همه کسانی هست که میگفتند نمیدونند چطور باید کدهای
OOP
بزنند یا اینکه چطوری تصمیم بگیرند از
Inheritance, Multi-Inheritance, Interface, Protocol, ...
کجا استفاده کنند.
شخصاً نسخه قدیمی این کتاب رو خوندم،
python3 OOP
اما پیشنهاد میدم نسخهای که استوری شده رو بخونید.
خوبی کتابهای
Dusty Philips
اینه که علاوه بر تئوری، همه چیز رو بصورت کدهای عملی مثال میزنه و نمایش میدهپ.ن : کتاب بعدی هم راجب
Python Software Architecture
هست.
👍47❤24❤🔥1💯1🦄1
#خارج_از_بحث
#جهت_انتشار
#جهت_آگاهسازی
من راجب لو رفتن دیتاهای اسنپ (حتی همون بخش کوچیک)، ایرانسل، همراهاول توی این چندسال هیچ چیزی نگفتم توی این کانال چون واقعاً ربطی نداشت به ما.
اما یک مورد رو بسیار زیاد دیدم توی چند وقت اخیر، یک گروه از افراد (بیاید بگیم گروه هکری، هرچند خیلی از هکرها شرف دارند)
شروع کردند به دخترها، توی تلگرام پیام دادن که:
خلاصه و مضمون این پیام اینطوری هست که به دلیل مشکلات جسمی و #جنسی نیاز به رابطه دارند و ... ولی امکانش رو ندارند.
بنابراین اگر شما بدون چهره و ... بهشون تصویر یا ویدئو لخت بدید حاضرند به شما پرداخت داشته باشند، به عمد هم مبالغ خوبی رو پیشنهاد میدهند.
و تأکید میکنند پلتفرم ناشناس باشه، چهره نباشه و ...
حالا بخش اخاذی چطوری میاد ؟
دیتابیس #ایرانسل، #اسنپ #همراه_اول هر ۳ مورد علاوه بر شماره اطلاعات دقیق صاحب خط، شناسنامه، آدرس و ... رو هم داره
توی موردی که شخصاً با فرد داشتم چت میکردم، حتی اعلام کرد برای ویدیو ۵ دقیقهای حاضر هست ۱ میلیون تومان پرداخت مستقیم داشته باشه
بعد از ۲ تا عکس هم حاضره نصف مبلغ رو درجا پرداخت کنه، (همین شیوه پرداخت خودش،ناشناس بودن رو میبره زیر سوال)
متأسفانه جامعه هدف این افراد کسانی هستند که سواد کامپیوتری ندارند و یا طبق اطلاعات ثبت شده سن افراد بین ۱۸ تا ۲۵ هست.
من نمیدونم چطوری اما اگر شما هم کسی رو میشناسید که دختر داشته باشه، یا دوست و آشنایی دارید حتماً این پیام رو بفرستید براشون یا بهشون توضیح بدید.
میدونم زندگی سخت شده و برای پول هرکاری شاید بکنند بعضی افراد، با تصور اینکه هیچ اطلاعاتی ازشون وجود نداره (توی گروهی بودم که حداقل ۱٪ میخواستند اینکارو رو بکنند) اما شما و من میدونیم به محض اینکه اولین ویدئو رو دریافت کنند اخاذی شروع خواهد شد.
بر اساس همون آدرسها و اطلاعاتی که توی دیتابیسهای مختلف هک شده وجود داره
میدونم موضوع کانال این چیزا نیست، اما وظیفه خودم دونستم که این موضوع رو حتماً اطلاع بدم و شخصاً از شما عزیزان خواهش میکنم که این مطلب رو به اشتراک بذارید (نیاز به ذکر منبع نیست)
کاش با این شرکتهایی که امنیت کاربر براشون مهم نیست و اطلاعات دقیق از کاربر میگیرند برخورد محکم و قاطعی صورت میگرفت.
#جهت_انتشار
#جهت_آگاهسازی
من راجب لو رفتن دیتاهای اسنپ (حتی همون بخش کوچیک)، ایرانسل، همراهاول توی این چندسال هیچ چیزی نگفتم توی این کانال چون واقعاً ربطی نداشت به ما.
اما یک مورد رو بسیار زیاد دیدم توی چند وقت اخیر، یک گروه از افراد (بیاید بگیم گروه هکری، هرچند خیلی از هکرها شرف دارند)
شروع کردند به دخترها، توی تلگرام پیام دادن که:
خلاصه و مضمون این پیام اینطوری هست که به دلیل مشکلات جسمی و #جنسی نیاز به رابطه دارند و ... ولی امکانش رو ندارند.
بنابراین اگر شما بدون چهره و ... بهشون تصویر یا ویدئو لخت بدید حاضرند به شما پرداخت داشته باشند، به عمد هم مبالغ خوبی رو پیشنهاد میدهند.
و تأکید میکنند پلتفرم ناشناس باشه، چهره نباشه و ...
حالا بخش اخاذی چطوری میاد ؟
دیتابیس #ایرانسل، #اسنپ #همراه_اول هر ۳ مورد علاوه بر شماره اطلاعات دقیق صاحب خط، شناسنامه، آدرس و ... رو هم داره
توی موردی که شخصاً با فرد داشتم چت میکردم، حتی اعلام کرد برای ویدیو ۵ دقیقهای حاضر هست ۱ میلیون تومان پرداخت مستقیم داشته باشه
بعد از ۲ تا عکس هم حاضره نصف مبلغ رو درجا پرداخت کنه، (همین شیوه پرداخت خودش،ناشناس بودن رو میبره زیر سوال)
متأسفانه جامعه هدف این افراد کسانی هستند که سواد کامپیوتری ندارند و یا طبق اطلاعات ثبت شده سن افراد بین ۱۸ تا ۲۵ هست.
من نمیدونم چطوری اما اگر شما هم کسی رو میشناسید که دختر داشته باشه، یا دوست و آشنایی دارید حتماً این پیام رو بفرستید براشون یا بهشون توضیح بدید.
میدونم زندگی سخت شده و برای پول هرکاری شاید بکنند بعضی افراد، با تصور اینکه هیچ اطلاعاتی ازشون وجود نداره (توی گروهی بودم که حداقل ۱٪ میخواستند اینکارو رو بکنند) اما شما و من میدونیم به محض اینکه اولین ویدئو رو دریافت کنند اخاذی شروع خواهد شد.
بر اساس همون آدرسها و اطلاعاتی که توی دیتابیسهای مختلف هک شده وجود داره
میدونم موضوع کانال این چیزا نیست، اما وظیفه خودم دونستم که این موضوع رو حتماً اطلاع بدم و شخصاً از شما عزیزان خواهش میکنم که این مطلب رو به اشتراک بذارید (نیاز به ذکر منبع نیست)
کاش با این شرکتهایی که امنیت کاربر براشون مهم نیست و اطلاعات دقیق از کاربر میگیرند برخورد محکم و قاطعی صورت میگرفت.
👍117❤9👌5😁1🤔1
Forwarded from دستاوردهای یادگیری عمیق(InTec)
تفاوت نسخه های مختلف پایتون (داکر) و البته تاثیرش روی سایز image نهایی (عکس رو باز کنید) :
نسخهای که من از بچهها گرفتم درنهایت سایز image اش به 1.3GB میرسید
نسخهای که من برای چک کردن کدها و توسعه استفاده کردم 241MB هست و نسخهای که برای deploy تحویل دادم 153MB (روش multistage که قبلا راجبش توضیح دادم توی زبانهایی مثل Go lang)
علاوه بر کم کردن هزینه و مزایایی سریعتر up شدن و ... که میدونید
cloud provider
شرکت بابت نگهداری از این image ها (زیر ۲۵۰ مگ) هیچ هزینهای نمیگیره و حتی بابت نسخه تست هم (رم و cpu کم) هیچ هزینهای نداره.
نسخهای که من از بچهها گرفتم درنهایت سایز image اش به 1.3GB میرسید
نسخهای که من برای چک کردن کدها و توسعه استفاده کردم 241MB هست و نسخهای که برای deploy تحویل دادم 153MB (روش multistage که قبلا راجبش توضیح دادم توی زبانهایی مثل Go lang)
علاوه بر کم کردن هزینه و مزایایی سریعتر up شدن و ... که میدونید
cloud provider
شرکت بابت نگهداری از این image ها (زیر ۲۵۰ مگ) هیچ هزینهای نمیگیره و حتی بابت نسخه تست هم (رم و cpu کم) هیچ هزینهای نداره.
👍27❤🔥2
دستاوردهای یادگیری عمیق(InTec)
تفاوت نسخه های مختلف پایتون (داکر) و البته تاثیرش روی سایز image نهایی (عکس رو باز کنید) : نسخهای که من از بچهها گرفتم درنهایت سایز image اش به 1.3GB میرسید نسخهای که من برای چک کردن کدها و توسعه استفاده کردم 241MB هست و نسخهای که برای deploy تحویل دادم…
اینو ۲ سال پیش توی کانال هوش مصنوعی گذاشتم
الان دوباره صحبتش رو آوردم، چون نیروی DevOps
از تیم DevOps تحویل گرفتیم (بعد از کلی دردسر) و شرط کردم که نیرو سواد خوبی راجب داکر و ... داشته باشه
سرتون رو درد نیارم، ۲ ساعت رفتم جلسه و ... کل تیم خودم رو نشستم باهاشون کد بررسی کردم.
نگاه کردم دیدم، جناب devops کاری که همشون روی سرش قسم میخورند یک داکر ایمیج درست کرده حجمش ۵ گیگابایت.
گزارش ایشون رو دادم و ... مدیر فنی و مدیر خودش و هرکسی که این وسط بود اومدن که نه قطعاً کدها مشکل داره و ازین حرفا
نشستم خودم مجدداً کارهای داکر کردن پروژه رو انجام دادم، حجم نهایی فایل + سرویس و هرچیزی که نیاز داشت شده
۶۰۰ مگابایت (تفاوت رو ببین)
فایل رو تحویل دادم، روش هم ی درخواست افزایش حقوق گذاشتم + حذف نیروی دواپس از تیم هوش مصنوعی تا یافتن نیروی مناسب (این بار اول نبود)
رفتم گیت طرف رو نگاه میکنم، میبینم توی ۷ دقیقه پروژه رو داکر کرده
خدایی چرا فکر میکنید ما خودمون نمیتونیم
Shit code, ...
بزنیم ؟ چرا داریم کار رو میسپاریم دست نیروی متخصص ؟
اصن چرا ی همچین آدمی رو باید بعنوان نیروی متخصص شناخت توی شرکت ؟
شما ببین اوضاع مدیر فنی شرکت و مدیر devops چقدر خرابه که پشت همچین نیروی قسم هم میخوردند.
پ.ن : یادم باشه ی نسخه بیس میذارم که حداقل ی ذره اوضاع بهتر بشه.
الان دوباره صحبتش رو آوردم، چون نیروی DevOps
از تیم DevOps تحویل گرفتیم (بعد از کلی دردسر) و شرط کردم که نیرو سواد خوبی راجب داکر و ... داشته باشه
سرتون رو درد نیارم، ۲ ساعت رفتم جلسه و ... کل تیم خودم رو نشستم باهاشون کد بررسی کردم.
نگاه کردم دیدم، جناب devops کاری که همشون روی سرش قسم میخورند یک داکر ایمیج درست کرده حجمش ۵ گیگابایت.
گزارش ایشون رو دادم و ... مدیر فنی و مدیر خودش و هرکسی که این وسط بود اومدن که نه قطعاً کدها مشکل داره و ازین حرفا
نشستم خودم مجدداً کارهای داکر کردن پروژه رو انجام دادم، حجم نهایی فایل + سرویس و هرچیزی که نیاز داشت شده
۶۰۰ مگابایت (تفاوت رو ببین)
فایل رو تحویل دادم، روش هم ی درخواست افزایش حقوق گذاشتم + حذف نیروی دواپس از تیم هوش مصنوعی تا یافتن نیروی مناسب (این بار اول نبود)
رفتم گیت طرف رو نگاه میکنم، میبینم توی ۷ دقیقه پروژه رو داکر کرده
خدایی چرا فکر میکنید ما خودمون نمیتونیم
Shit code, ...
بزنیم ؟ چرا داریم کار رو میسپاریم دست نیروی متخصص ؟
اصن چرا ی همچین آدمی رو باید بعنوان نیروی متخصص شناخت توی شرکت ؟
شما ببین اوضاع مدیر فنی شرکت و مدیر devops چقدر خرابه که پشت همچین نیروی قسم هم میخوردند.
پ.ن : یادم باشه ی نسخه بیس میذارم که حداقل ی ذره اوضاع بهتر بشه.
👍51😁6👎4❤2🌚2👀2❤🔥1
صبح یکی از بچهها بهم گفت
چطوری توی لاگ اکثر پروژههای بزرگ شرکت همیشه اسمت هست ؟
کی وقت میکنی انقدر چیز بفرستی ؟
اصن کی وقت میکنی همه پروژهها رو بخونی و کد هم دونیت کنی ؟
چیزی نگفتم (واقعا نمیدونستم چی بگم) تا رسید الان اومدم از
استفاده کنم دیدم یه کلاس نوشتن یک متغییر توی کتابخونه زیریش هست که مسیر دانلود مدل هوش مصنوعی رو مشخص میکنه ( توی داکر کردن پروژه خیلی مهمه ) ولی به هر دلیل فراموش شده و توی
واقعیتم اینه که اگر فقط ی
اومدم توی
بعدم همین متغییر رو پاس دادم به کتابخونهی زیر
بعد برای اون دوستمون عکس گرفتم و گفتم :
لازم نیست کدهای بزرگ تحویل بدی؛ بعضی وقتا ی خط کد هم کار خیلیهارو راه میندازه
سعی کن مشکل خودت رو حل کنی؛ و بعد راهحلت رو دونیت کن.
پ.ن : توضیح اینکه چرا این کد رو تغییر دادم و کجای پروداکشن بدرد میخوره، ۱۰ برابر بیشتر از خود تغییر کد شد (از نظر تعداد کلمات)
چطوری توی لاگ اکثر پروژههای بزرگ شرکت همیشه اسمت هست ؟
کی وقت میکنی انقدر چیز بفرستی ؟
اصن کی وقت میکنی همه پروژهها رو بخونی و کد هم دونیت کنی ؟
چیزی نگفتم (واقعا نمیدونستم چی بگم) تا رسید الان اومدم از
chromadb
استفاده کنم دیدم یه کلاس نوشتن یک متغییر توی کتابخونه زیریش هست که مسیر دانلود مدل هوش مصنوعی رو مشخص میکنه ( توی داکر کردن پروژه خیلی مهمه ) ولی به هر دلیل فراموش شده و توی
chromadb
نذاشتن.واقعیتم اینه که اگر فقط ی
instance
ازش استفاده میکنه لازمش نداریم ولی برای پروداکشن خیلی خیلی کار رو آسونتر میکنه اومدم توی
init اون
کلاس زدم cache_folder: Optional[str] = None
بعدم همین متغییر رو پاس دادم به کتابخونهی زیر
commit, pull request
بعد برای اون دوستمون عکس گرفتم و گفتم :
لازم نیست کدهای بزرگ تحویل بدی؛ بعضی وقتا ی خط کد هم کار خیلیهارو راه میندازه
سعی کن مشکل خودت رو حل کنی؛ و بعد راهحلت رو دونیت کن.
پ.ن : توضیح اینکه چرا این کد رو تغییر دادم و کجای پروداکشن بدرد میخوره، ۱۰ برابر بیشتر از خود تغییر کد شد (از نظر تعداد کلمات)
👍43❤🔥5🌚1
Gheshang
Heydoo Hedayati
قِشَنگ
حیدو هدایتی
حقیقتش سرم شلوغ بود و وقت پست پایتون نداشتم،
گفتم از کانال موسیقی یک آهنگ بفرستم فعلا
لذت ببریم با هم ♥️🌹
پ.ن :
به قول یکی از دوستان که هروقت چیزی برام میفرسته
"خدا کنه خوشت بیاد"
حیدو هدایتی
حقیقتش سرم شلوغ بود و وقت پست پایتون نداشتم،
گفتم از کانال موسیقی یک آهنگ بفرستم فعلا
لذت ببریم با هم ♥️🌹
پ.ن :
به قول یکی از دوستان که هروقت چیزی برام میفرسته
"خدا کنه خوشت بیاد"
❤33👎5👍4
توی
هایی که این هفته انجام میدادم به موارد مشابه چیزی که توی تصویر هست زیاد برخوردم؛ هرکدوم از توسعه دهندههای پروژه (۳ نفر) روش متفاوتی رو انتخاب کرده بودند.
اولین کار توافق سر یک دست کردن بود بعد هم گفتم با مثال اینجا بذارم ببینم شما کدوم مورد رو استفاده میکنید ؟
شخصا همیشه روش آخر رو پیاده میکنم؛ اینجا هم راهکار خودم رو پیادهسازی کردم و گذاشتم :
پ.ن:
این مورد رو همیشه با None همیشه چک کنید، توی این مثال که نه ولی اگر روی اعداد یا شماردن تعداد داشتیم کار میکردیم و 0 هم میتونست جزو خروجی باشه اوضاع بهم ریخته میشد، اگر هدف None هست همیشه باید با
شرط رو بررسی کنید.
code review
هایی که این هفته انجام میدادم به موارد مشابه چیزی که توی تصویر هست زیاد برخوردم؛ هرکدوم از توسعه دهندههای پروژه (۳ نفر) روش متفاوتی رو انتخاب کرده بودند.
اولین کار توافق سر یک دست کردن بود بعد هم گفتم با مثال اینجا بذارم ببینم شما کدوم مورد رو استفاده میکنید ؟
شخصا همیشه روش آخر رو پیاده میکنم؛ اینجا هم راهکار خودم رو پیادهسازی کردم و گذاشتم :
setdefault
پ.ن:
if mapping.get(uname) is not None :
این مورد رو همیشه با None همیشه چک کنید، توی این مثال که نه ولی اگر روی اعداد یا شماردن تعداد داشتیم کار میکردیم و 0 هم میتونست جزو خروجی باشه اوضاع بهم ریخته میشد، اگر هدف None هست همیشه باید با
is None
شرط رو بررسی کنید.
👍23❤3❤🔥1✍1🆒1
#خارج_از_بحث
#موقت
اینم جالب بود :
قیمت دلار توی سایتهای دولتی و نیمه خصوصی،
به ۵۵.۰۰۰ تومان هم رسیده (مثلاً کنترل کردن و اومد پایین)
ولی برید صرافی واسه حواله زدن.
هیچ چیزی پایین نیومده، قشنگ انگار دولت دستور داده سایتا
قیمتشون رو ساعتی x تومن بیارن پایین 🤣😂
وضع مزخرفی داریم خدایی ...
بعد طرف میگه چرا رأی نمیدی .
پ.ن :
چندتا از سایتهای مذکور قیمت روی ۵۵.۰۰۰ تومان دارند
اونایی که فشاری شدند، اگر این قیمت دلار دارید بنده خریدار هستم.
خریدار دیگه هم میشناسم، خصوصی پیام بدید.
(این دلار برای سرمایهگذاری نیست، هرچند تو کشوری که اقتصاد برای خر هست. طبیعی هست که دلار برای سرمایهگذاری باشه)
#موقت
اینم جالب بود :
قیمت دلار توی سایتهای دولتی و نیمه خصوصی،
به ۵۵.۰۰۰ تومان هم رسیده (مثلاً کنترل کردن و اومد پایین)
ولی برید صرافی واسه حواله زدن.
هیچ چیزی پایین نیومده، قشنگ انگار دولت دستور داده سایتا
قیمتشون رو ساعتی x تومن بیارن پایین 🤣😂
وضع مزخرفی داریم خدایی ...
بعد طرف میگه چرا رأی نمیدی .
پ.ن :
چندتا از سایتهای مذکور قیمت روی ۵۵.۰۰۰ تومان دارند
اونایی که فشاری شدند، اگر این قیمت دلار دارید بنده خریدار هستم.
خریدار دیگه هم میشناسم، خصوصی پیام بدید.
(این دلار برای سرمایهگذاری نیست، هرچند تو کشوری که اقتصاد برای خر هست. طبیعی هست که دلار برای سرمایهگذاری باشه)
👍125👎24❤3👏3❤🔥1
Python Hints
#خارج_از_بحث #موقت اینم جالب بود : قیمت دلار توی سایتهای دولتی و نیمه خصوصی، به ۵۵.۰۰۰ تومان هم رسیده (مثلاً کنترل کردن و اومد پایین) ولی برید صرافی واسه حواله زدن. هیچ چیزی پایین نیومده، قشنگ انگار دولت دستور داده سایتا قیمتشون رو ساعتی x تومن بیارن…
پیام دادند چه ربطی به رأی دادند داره، چرا همه چیز رو به همه چیز ربط میدی و کلی حرف مفت دیگه ....
شخصاً نه تاحالا رأی دادم
نه رأی میدم.
حرص بخورید باز.
شخصاً نه تاحالا رأی دادم
نه رأی میدم.
حرص بخورید باز.
👍188👏25👎15🤪13😁9❤🔥8❤2☃2😐2💔1🤨1
چندروز قبل بعنوان
یک پروژه دیگهای توی شرکت انتخاب شدم (با تمام مخالفتی که کردم؛ حتی با وجود افزایش دستمزد)
ولی قرار بر این شد امروز لیستی از تمام تغییرات مورد نیاز قبل از اضافه کردن فیچر جدید رو بدم
اولیه رو انجام دادم و لیست رو نوشتم.
یکی از سطر کدهای اصلی که بیشترین زمان ۲ ماه رو براش اختصاص داده بودم و گفتم که همزمان با توسعه فیچر میتونه پیش بره بخش
بود.
حالا چرا به این بخش رسیدم ؟ موقع کد ریوو چون تیم زیردست خودم کار نمیکرد برای درک بهتر اینکه اکثر مشکلات تیم کجا بوده نشستم
رو خوندم و تغییرات رو نگاه کردم.
همونطور که شاید خیلی از شما هم همین بالاتر تو ذهنتون مرور کردید ۹۰٪ مخالفت روی موضوع
بود و منم از این موضوع کوتاه نمیام قطعا.
توی جلسه به اثبات رسید که حل این مشکل حداقل ۳۰٪ باگها رو حل میکنه و حداقل ۱/۳ سرعت دیباگ و توسعه رو بالا میبره بخصوص وقتی تست نویسی ها هم درست بشه.
#ادامه_پست_بعدی
Team Lead
یک پروژه دیگهای توی شرکت انتخاب شدم (با تمام مخالفتی که کردم؛ حتی با وجود افزایش دستمزد)
ولی قرار بر این شد امروز لیستی از تمام تغییرات مورد نیاز قبل از اضافه کردن فیچر جدید رو بدم
code review
اولیه رو انجام دادم و لیست رو نوشتم.
یکی از سطر کدهای اصلی که بیشترین زمان ۲ ماه رو براش اختصاص داده بودم و گفتم که همزمان با توسعه فیچر میتونه پیش بره بخش
Exception Customization
بود.
حالا چرا به این بخش رسیدم ؟ موقع کد ریوو چون تیم زیردست خودم کار نمیکرد برای درک بهتر اینکه اکثر مشکلات تیم کجا بوده نشستم
git log ( commit messages)
رو خوندم و تغییرات رو نگاه کردم.
همونطور که شاید خیلی از شما هم همین بالاتر تو ذهنتون مرور کردید ۹۰٪ مخالفت روی موضوع
custom exception
بود و منم از این موضوع کوتاه نمیام قطعا.
توی جلسه به اثبات رسید که حل این مشکل حداقل ۳۰٪ باگها رو حل میکنه و حداقل ۱/۳ سرعت دیباگ و توسعه رو بالا میبره بخصوص وقتی تست نویسی ها هم درست بشه.
#ادامه_پست_بعدی
👍34❤8🤔1
Python Hints
چندروز قبل بعنوان Team Lead یک پروژه دیگهای توی شرکت انتخاب شدم (با تمام مخالفتی که کردم؛ حتی با وجود افزایش دستمزد) ولی قرار بر این شد امروز لیستی از تمام تغییرات مورد نیاز قبل از اضافه کردن فیچر جدید رو بدم code review اولیه رو انجام دادم و لیست رو…
توی شرکت روی پروژه شرکت مثال زدم؛ عذر میخوام اگر توی تصویر بالا مثال خیلی کاربردی نیست
جایی رو ندیدم مثال خوب / واقعی بزنه یا زده باشه سعی کردم ی مورد مشابه رو مثال بزنم
فرض کنید ما ۳ نوع فایل داریم که خیلی برامون مهم هست :
1- لاگها ؛ خطاهای سرویسها - دیتابیس و ... توی این فایلها نوشته میشه و وجودش برای پروژه بسیار بسیار مهم هست
پس اگر فایل لاگ وجود نداشت پروژه به هیچ وجه نباید روی پروداکشن بره
2- فایلهای کمکی؛ وجودشون مهم هست اما نه اونقدری که نذاریم پروژه بره روی پروداکشن
بعنوان مثال تصویر لوگوی شرکت
3- یک سری گذارشات روزانه مثلا و.ضعیت پرداختها و ...
که بصورت اتوماتیک انتهای ساعت کاری هر روز درست میشه؛ اما اگر یکی از ادمینها یا مشتریها وسط روز بخواد خروجی بگیره ممکنه نداشته باشم.
توی مثال بالا بصورت دیفالت هر ۳ فایل یک ارور رو بر میگردونه :
که اگر بخوایم
اهمیت
شما میتونید هرجایی که دلتون خواست و هر نوع فایلی که دلتون خواست رو بررسی کنید.
برنامهنویسهای تیم شما آزادی عمل بیشتری دارند و این یعنی تصمیمات بهتری میتونند بگیرند
دیباگ کردن بسیار راحت تر خواهد بود؛ چرا که به لطف خطاهای مشخص میتونید درجا سروقت تابع یا متدی برید که وظیفه بررسی اون خطا رو داره
جداسازی مفاهیم مختلف؛ مثل بررسی لاگ و اعمالش یا بررسی و برخورد با گزارشات روزانه و ... باعث میشه شما بتونید کد رو به راحتی به افراد مختلف بسپارید و این یعنی کار کردن به صورت پارالل به راحتی قابل انجام هست پس سرعت توسعه کد قطعا بیشتر خواهد بود.
و ...
اتفاقی که امروز افتاد: برای ما روی یک پکیج حیاتی و بسیار بزرگ بود که پیدا کردن باگ داخلش میتونه حتی هفتهها طول بکشه
اما اگر پروژه شما انقدر گسترده نیست میتونید این مورد رو چشم پوشی کنید.
ولی در نظر بگیرید:
هیچ کس از رعایت best practice ها متضرر نشده و نمیشه.
جایی رو ندیدم مثال خوب / واقعی بزنه یا زده باشه سعی کردم ی مورد مشابه رو مثال بزنم
فرض کنید ما ۳ نوع فایل داریم که خیلی برامون مهم هست :
1- لاگها ؛ خطاهای سرویسها - دیتابیس و ... توی این فایلها نوشته میشه و وجودش برای پروژه بسیار بسیار مهم هست
پس اگر فایل لاگ وجود نداشت پروژه به هیچ وجه نباید روی پروداکشن بره
2- فایلهای کمکی؛ وجودشون مهم هست اما نه اونقدری که نذاریم پروژه بره روی پروداکشن
بعنوان مثال تصویر لوگوی شرکت
3- یک سری گذارشات روزانه مثلا و.ضعیت پرداختها و ...
که بصورت اتوماتیک انتهای ساعت کاری هر روز درست میشه؛ اما اگر یکی از ادمینها یا مشتریها وسط روز بخواد خروجی بگیره ممکنه نداشته باشم.
توی مثال بالا بصورت دیفالت هر ۳ فایل یک ارور رو بر میگردونه :
FileNotFoundError
که اگر بخوایم
exception handler
بنویسیم باید حتما توی داخلی ترین تابع پردازش نوشته بشه و حتما باید بررسی کنیم که توی یک تابع یا متد بصورت همزمان وجود بیش از ۱ مورد از فایلهای بالا بررسی نشه چون در اون صورت نمیدونیم ارور مربوط به عدم وجود کدوم فایل بوده و نمیتونیم تصمیم بگیریم آیا ابزار باید روی پروداکشن بره یا خیر یا ...اهمیت
custom exception
نوشتن همینجا مشخص میشه؛شما میتونید هرجایی که دلتون خواست و هر نوع فایلی که دلتون خواست رو بررسی کنید.
برنامهنویسهای تیم شما آزادی عمل بیشتری دارند و این یعنی تصمیمات بهتری میتونند بگیرند
دیباگ کردن بسیار راحت تر خواهد بود؛ چرا که به لطف خطاهای مشخص میتونید درجا سروقت تابع یا متدی برید که وظیفه بررسی اون خطا رو داره
جداسازی مفاهیم مختلف؛ مثل بررسی لاگ و اعمالش یا بررسی و برخورد با گزارشات روزانه و ... باعث میشه شما بتونید کد رو به راحتی به افراد مختلف بسپارید و این یعنی کار کردن به صورت پارالل به راحتی قابل انجام هست پس سرعت توسعه کد قطعا بیشتر خواهد بود.
و ...
اتفاقی که امروز افتاد: برای ما روی یک پکیج حیاتی و بسیار بزرگ بود که پیدا کردن باگ داخلش میتونه حتی هفتهها طول بکشه
اما اگر پروژه شما انقدر گسترده نیست میتونید این مورد رو چشم پوشی کنید.
ولی در نظر بگیرید:
هیچ کس از رعایت best practice ها متضرر نشده و نمیشه.
👍41❤3🔥1👏1