Python Hints
توی پست قبلی زیر sample.env خروجی دستور tree رو هم گذاشتم (نباید اینجا باشه) فقط گفتم شاید توی مثالهای بعدی لازم شد. اما مهمترین فایل این مثال config.py هست. راجب lru_cache قبلا صحبت کردیم؛ اما بطور خلاصه بخوام یادآوری کنم. اگر یک تابع در طول پروژه مقدار…
یک اشتباهی توی این تصویر هست (توی پست بعدیش درست کردم) خط ۳۷
پست خودش به محدودیت تعداد خط رسیده بود مجبور شدم ی پست جدید بزنم.
type
خروجی باید GlobalConfig
باشه یعنی حالت درستش این هست :def get_config(env_state: str | None) -> GlobalConfig:
پست خودش به محدودیت تعداد خط رسیده بود مجبور شدم ی پست جدید بزنم.
✍7❤🔥5👌4👍1
Python Hints
توی پست قبلی زیر sample.env خروجی دستور tree رو هم گذاشتم (نباید اینجا باشه) فقط گفتم شاید توی مثالهای بعدی لازم شد. اما مهمترین فایل این مثال config.py هست. راجب lru_cache قبلا صحبت کردیم؛ اما بطور خلاصه بخوام یادآوری کنم. اگر یک تابع در طول پروژه مقدار…
config.py
1.3 KB
کدهای مثال قبل
فقط جهت تمرین.
فقط جهت تمرین.
👍11❤🔥5👻2🐳1
همین ابتدا بگم این مثال ایراد فنی داره :
باید داخل
باشه و این موضوع که هربار
میخوام راجب
رو داشته باشه؛ توی همین کدهایی که داشتم review میکردم کلی کلاس دیدم که هیچ کار خاصی نمیکرد جز اینکه همین ۲ تا متد رو پیاده سازی کنه.
اگر شما هم شرایط مشابهایی داشتید از
استفاده کنید؛ کافیه یک تابع بصورت
برای
هم مورد مشابهی هست برای مواردی که
رو داریم.
connection
باید داخل
try, except, finally
باشه و این موضوع که هربار
connection
جدیدی به دیتابیس ایجاد بشه هم چیز خوبی نیست اما مثال خوبی برای آموزش هست:from contextlib import
contextmanger
میخوام راجب
contextmanager
صحبت کنم؛ وقتی میخوایم ی context manager توی پایتون بسازیم باید پروتوکل درستش رو رعایت کنیم؛ یعنی یک کلاسی بنوسیم که __enter__, __exit__
رو داشته باشه؛ توی همین کدهایی که داشتم review میکردم کلی کلاس دیدم که هیچ کار خاصی نمیکرد جز اینکه همین ۲ تا متد رو پیاده سازی کنه.
اگر شما هم شرایط مشابهایی داشتید از
contextmanager decorator
استفاده کنید؛ کافیه یک تابع بصورت
generator
بنویسید هرچیزی قبل از yield
میشه __enter__
و خود yield
مقداری هست که with connect_to_mongodb() as db
برای
db
(آنچه که بعد از as
) میاد بر میگرده و وقتی کار contextmanager
شما یا همون with
تموم شد generator
شما چیزی که بعد از yield
اومده رو بعنوان __exit__
اجرا خواهد کرد.from contextlib import asynccontextmanger
هم مورد مشابهی هست برای مواردی که
__aenter__, __aexit__
رو داریم.
👍15❤🔥5❤1
Python Hints
همین ابتدا بگم این مثال ایراد فنی داره : connection باید داخل try, except, finally باشه و این موضوع که هربار connection جدیدی به دیتابیس ایجاد بشه هم چیز خوبی نیست اما مثال خوبی برای آموزش هست: from contextlib import contextmanger میخوام راجب contextmanager…
main.py
896 B
سورس کد مثال تصویر +
پ.ن:
بهتر بود
exception handling
پ.ن:
بهتر بود
URI
رو هم خارج از connect_to_mongodb
ساخته بشه.👍8❤🔥6❤1
بزرگترین تغییری هم که توی پروژهای که دارم
Motor Github
review
میکنم لازمه اینه که pymongo
حذف بشه؛ موقع کد زدن روی FastAPI
تا جای ممکن باید از کتابخونههای async
استفاده کرد که به اندازه کافی از مزایا بهره ببریم؛ برای مانگو Motor Github
GitHub
GitHub - mongodb/motor: Motor - the async Python driver for MongoDB and Tornado or asyncio
Motor - the async Python driver for MongoDB and Tornado or asyncio - mongodb/motor
👍11👌11✍2❤🔥2👨💻1
اصلاً همه چیز این روزها عجیب شده؛
۹۰٪ آگهیهایی که میاد اینطوری شده (چرا سر و ته نداره این آگهی یا چرا انگار شغل چندنفره هست ؟)، این مورد رو نه
ولی موارد دیگری رو تست کردم؛ به طرف میگم ایمیل شرکت رو بدید رزومه بفرستم.
نگم دیگه به چی ختم میشه، بعضیها که درخواست پرداخت برای معرفی هم میکنند.
بعد چرا توسعه دهندههای AI, Python این پستهارو لایک میکنند ؟
چرا باید شبکه افراد کانکت شده با این مشاغل رو داشته باشند ؟
و اوکی دارند، چرا باید به scam بودن این آگهیها شک نکنید و برعکس پروموت هم بکنیدش ؟
لینکدین جامعه فارسی فقط برای من مزخرف شده یا برای شما هم شده ؟
۹۰٪ آگهیهایی که میاد اینطوری شده (چرا سر و ته نداره این آگهی یا چرا انگار شغل چندنفره هست ؟)، این مورد رو نه
ولی موارد دیگری رو تست کردم؛ به طرف میگم ایمیل شرکت رو بدید رزومه بفرستم.
نگم دیگه به چی ختم میشه، بعضیها که درخواست پرداخت برای معرفی هم میکنند.
بعد چرا توسعه دهندههای AI, Python این پستهارو لایک میکنند ؟
چرا باید شبکه افراد کانکت شده با این مشاغل رو داشته باشند ؟
و اوکی دارند، چرا باید به scam بودن این آگهیها شک نکنید و برعکس پروموت هم بکنیدش ؟
لینکدین جامعه فارسی فقط برای من مزخرف شده یا برای شما هم شده ؟
👍31🤔11😁2
Python Hints
اصلاً همه چیز این روزها عجیب شده؛ ۹۰٪ آگهیهایی که میاد اینطوری شده (چرا سر و ته نداره این آگهی یا چرا انگار شغل چندنفره هست ؟)، این مورد رو نه ولی موارد دیگری رو تست کردم؛ به طرف میگم ایمیل شرکت رو بدید رزومه بفرستم. نگم دیگه به چی ختم میشه، بعضیها که…
اینم از باگ تلگرام :/
همه چیز عجیب شده
همه چیز عجیب شده
🗿25😁10🎃3☃2🍓2💔1
Python Hints pinned «لطفاً پیامهای پین شده کانال رو بطور کامل نگاه کنید، قبل از هرگونه سوال و جواب : 🌹 زحمت این پست رو یکی از اعضا کشیدند 🌹 logging : https://t.iss.one/pyHints/446 https://t.iss.one/pyHints/81 https://t.iss.one/pyHints/127 Dunder methods https://t.iss.one/pyHints/12 https://t.iss.one/pyHints/14…»
#خارج_از_بحث
خبرهارو نمیدونم خوندید یا خیر؛ اما ردیس توی ی حرکت عجیب غریب لایسنساش رو عوض کرد طوری که صدای همه رو درآورد.
حالا الان داشتم خبرها رو بررسی میکردم دیدم
منتظر هستم اولین ایمیج رسمی داکر رو منتشر کنند + اولین نسخه ردیس با لایسنس جدید برای همه به نوعی اجباری بشه.
پ.ن : شما که غریبه نیستید؛ حتی منتظر ی نسخه با باگ خیلی کمتر روی Rust هم هستم.
Valkey Github
خبرهارو نمیدونم خوندید یا خیر؛ اما ردیس توی ی حرکت عجیب غریب لایسنساش رو عوض کرد طوری که صدای همه رو درآورد.
حالا الان داشتم خبرها رو بررسی میکردم دیدم
The Linux Foundation
اومده ی پروژه بر اساس آخرین نسخه Redis
و کاملا OpenSource
منتشر کرده به اسم Valkey
و تقریبا هم بسیار سریع داره پیشرفت میکنه contribution, community, github star, ...
منتظر هستم اولین ایمیج رسمی داکر رو منتشر کنند + اولین نسخه ردیس با لایسنس جدید برای همه به نوعی اجباری بشه.
پ.ن : شما که غریبه نیستید؛ حتی منتظر ی نسخه با باگ خیلی کمتر روی Rust هم هستم.
Valkey Github
GitHub
GitHub - valkey-io/valkey: A flexible distributed key-value database that is optimized for caching and other realtime workloads.
A flexible distributed key-value database that is optimized for caching and other realtime workloads. - valkey-io/valkey
❤🔥15👍3👏1🍓1
#موقت
برای سازمان سنجش :
از صبح ۷-۸ نفر از آشناها که جوان کنکوری دارند تماس گرفتند
درجا جواب دادم: شماره پلاک و طبقه خونه رو به عدد ننویسید، به حروف تایپ کنید.
خواستم بگم برنامهنویس سازمان سنجش هر کسی که هستید؛ منطق فکریات چی بوده واقعاً ؟
جالبتر اینکه به هرکس میگم، عدد ننویس و به حروف بنویس میخنده میگه ایستگاه نکن مارو وقت نداریم، ولی بعدش فحش میده به سازمان سنجش 😂
پ.ن :
چیزی که فکر میکنم، سازمان سنجش یک پیغام گذاشته و نوشته که از ()، - ، _ و ... استفاده نکنید توی آدرس
احتمالاً توی بکند رنج دادند برای regex و این رنج روی حروف فارسی هست.مثل انگلیسی :
[A-Z]
رو همین حساب اعداد رو قبول نمیکنه 😂😂
برای سازمان سنجش :
از صبح ۷-۸ نفر از آشناها که جوان کنکوری دارند تماس گرفتند
درجا جواب دادم: شماره پلاک و طبقه خونه رو به عدد ننویسید، به حروف تایپ کنید.
خواستم بگم برنامهنویس سازمان سنجش هر کسی که هستید؛ منطق فکریات چی بوده واقعاً ؟
جالبتر اینکه به هرکس میگم، عدد ننویس و به حروف بنویس میخنده میگه ایستگاه نکن مارو وقت نداریم، ولی بعدش فحش میده به سازمان سنجش 😂
پ.ن :
چیزی که فکر میکنم، سازمان سنجش یک پیغام گذاشته و نوشته که از ()، - ، _ و ... استفاده نکنید توی آدرس
احتمالاً توی بکند رنج دادند برای regex و این رنج روی حروف فارسی هست.مثل انگلیسی :
[A-Z]
رو همین حساب اعداد رو قبول نمیکنه 😂😂
😨53😁25🌚4🤔1🗿1🙊1
به بهانه معرفی فریمورک <جایخالی> با ۳ برابر سرعت در پاسخگویی نسبت به
وقتی صحبت از بکند توی پایتون میشه تا همین چندسال قبل تنها گزینه خوب فقط و فقط
گفت که پایتون فقط یک جو هست و خیلی زود هم تموم میشه؛ بعد هم ادعا کرد به همین دلیل مطالبش رو نیاورده و ترجیح میده راجب مطالب مهمتر صحبت کنه (سخنرانی به شوخی گذشت و تنها کسی که اعتراض کرد توی سالن ۳۰۰-۴۰۰ نفری من بودم) الان شنیدم همون بنده خدا داره از پایتون نون میخوره و دوره هم میذاره.
بگذریم اومد جلوتر و
دپلوی رو
حتی جوگیری زیاد شد مدل هارو سمت وب و موبایل و ... هم بردند که صحبتی نیست.
یادی کنم از شب زنده داریها و دپلوی کدها و مدلها با
۲ نسخه اول مدلهای پردازش تصویرمون روی کلاستر رزپبری پای و نسخه آخر روی لپتاپ شخصی بنده بود.
ازین دوران گذشتیم
البته اضافه کنم سرویسهایی مثل
بعد از این زمان
به لطف همهی دولوپرهای پروژههای قبلی
دولوپرهای پروژههای قبلی نشون دادند که توسعه پکیجهایی با ایدههایی حتی کمی بهتر بسیار ارزش داره و جامعه پایتون همیشه قدردان این زحمات خواهد بود.
تا اینجا که حالا
توی مطالبی که داشتم میخوندم و بنچمارکهایی که از باقی شنیدم اکثرا اشاره میکنند که به راحتی سرعتی
از نظر کدهم شخصا یک نگاهی انداختم به همون سادگی هست؛ خلاصه که شمارو نمیدونم اما شخصا فکر کردم باید قدردان زحمات تیمهای توسعه
FastAPI
و البته باهدف battery included
بودن مثل django
وقتی صحبت از بکند توی پایتون میشه تا همین چندسال قبل تنها گزینه خوب فقط و فقط
django
بود و مرسی دولوپرهاش؛ تو زمانی که همه غر میزدند پایتون کند هست و نباید و ... (تو ایرانم ازین حرفا زیاد بود) قشنگ یادمه ی بنده خدایی اسم نمیبرم ولی معروفم هست توی یکی از دانشگاها پنل سخنرانی داشت.گفت که پایتون فقط یک جو هست و خیلی زود هم تموم میشه؛ بعد هم ادعا کرد به همین دلیل مطالبش رو نیاورده و ترجیح میده راجب مطالب مهمتر صحبت کنه (سخنرانی به شوخی گذشت و تنها کسی که اعتراض کرد توی سالن ۳۰۰-۴۰۰ نفری من بودم) الان شنیدم همون بنده خدا داره از پایتون نون میخوره و دوره هم میذاره.
بگذریم اومد جلوتر و
async
معرفی شد؛ هوش مصنوعی از فقط ریسرچ بودن داشت خارج میشد و تجریه دپلوی مهم شد.دپلوی رو
django
انقدر سخت و غیر بهینه بود که عملا خیلی از تیمهایی که پروژههاشون مشتری کافی رو داشت مجبور به توسعه بکند توی زبانهای برنامه نویسی دیگه بودند؛ خیلی از بچه ها رفتند سراغ C, C++
, Go-lang
و ...حتی جوگیری زیاد شد مدل هارو سمت وب و موبایل و ... هم بردند که صحبتی نیست.
یادی کنم از شب زنده داریها و دپلوی کدها و مدلها با
Majid A.M
(آیدی نمیزارم ولی احتمالا هرکی django
کار میکنه میشناسه) عزیز و حجم اپتیمایزهای بالا جزو اولین نفرات و تیمهایی بودیم که کل مدل هوش مصنوعی و اپتیمایز و وب و ... همه روی پایتون بود و البته دسترسی و درخواست رایگان (این برای زمانی بود که همه میرفتن سراغ C, ...
برای دپلوی و کسی باورش نمیشد بشه مدلهای سنگین رو روی سرور بیاری و اون تعداد ریکوست رو با پایتون جواب بده) اون زمان همه فکر میکردند روی سرورهای خفن و ...هستیم ولی این موضوع رو اولین بار هست دارم اعلام میکنم؛۲ نسخه اول مدلهای پردازش تصویرمون روی کلاستر رزپبری پای و نسخه آخر روی لپتاپ شخصی بنده بود.
ازین دوران گذشتیم
flask
با ایدههای جدید اومد و خوبیش این بود که دیگه به اندازه django
سنگین نبود (برای تستهای کوچیک خیلی جواب بود ولی بازم همون مشکلات رو داشت)البته اضافه کنم سرویسهایی مثل
Celery, ...
خیلی از مشکلات رو توی django
حل میکردندبعد از این زمان
FastAPI
معرفی شد؛ روی همون کامیتهای اولیه که عمومی شد چون از بچهها و همکارای بکندم توی شرکتهای سیلیکونولی و ... بسیار راجبش شنیدم به خیلی از دوستان بکند دولوپرم پیشنهاد کردم که وقتش هست یاد بگیرند و بهش کد donate
کنند (کاش خودم اینکارو میکردم) خیلی هم مسخره میکردند. همون Majid A.M
جزوشون بود.به لطف همهی دولوپرهای پروژههای قبلی
django - flask - fastapi
حالا خیلیها باور دارند پایتون میتونه توی پروداکشن و برای پروژههای بزرگ استفاده بشه؛ خیلیها قبول دارند که میشه با پایتون کد زد و از پکیجهایی استفاده کرد که سرعت پردازش بسیار بیشتر بشه .دولوپرهای پروژههای قبلی نشون دادند که توسعه پکیجهایی با ایدههایی حتی کمی بهتر بسیار ارزش داره و جامعه پایتون همیشه قدردان این زحمات خواهد بود.
تا اینجا که حالا
community
زبانی مثل Rust
برای توسعه یک web framework
با سرعت بیشتر و البته به راحتی موارد قبلی برای Python
وارد شده و پروژه Robyn رو به حد خوبی رسونده بطوری که امروز توی چندین جلسه مختلف با دوستان و همکاران بسیار درمورد این پروژه شنیدم.توی مطالبی که داشتم میخوندم و بنچمارکهایی که از باقی شنیدم اکثرا اشاره میکنند که به راحتی سرعتی
۳
برابر fastapi
رو ارائه میده.از نظر کدهم شخصا یک نگاهی انداختم به همون سادگی هست؛ خلاصه که شمارو نمیدونم اما شخصا فکر کردم باید قدردان زحمات تیمهای توسعه
django, flask, fastapi
و برو بچه هایی که توی دوران سخنرانی ضد سرعت و ... پایتون با این زبان برنامه نویسی ادامه دادند باشم.Robyn Framework
Robyn - A Fast, Innovator Friendly, and Community Driven Python Web Framework.
Robyn is a fast, innovator-friendly, and community-driven Python web framework.
👍70❤10😍4❤🔥2🤪2🆒2🐳1
قشنگ
رفتم مصاحبه
بعنوان
Meme
شدم : رفتم مصاحبه
Rust
دادم، بعنوان
Senior Python Engineer
قرارداد بهم دادند.😁164🗿10👾7🤓5😢4🔥3❤🔥1🌚1🤪1
#خارج_از_بحث
چون خیلی سوال شده؛ سوال این بوده :
آیا رنج حقوق و دستمزد Job Vision توی گزارشی که منتشر شده درست و معقول هست ؟
مختصر و مفید :
توضیحات:
۱) ولیدیشن درستی براش وجود نداره.
۲) تفکیک بر اساس شهر بسیار، بسیار مهم هست توی این دیتا
متأسفانه تیم Job vision این مورد رو فراموش کردند. بنظرم مهمترین نکته توی میزان پرداخت و حتی درخواست دستمزد این هست که کدوم شهر زندگی میکنید یا محل کار توی کدوم شهر هست. (عدم توجه به این نکته ارزش گزارش رو کم میکنه)
۳) خیلی کم دیدم شرکتها همون مبلغی که توی آگهی میزنند رو پرداخت کنند (بیشتر مواقع شرکت به این نتیجه میرسه که با این مبالغ نیروی مد نظر رو پیدا نمیکنه)
البته این موضوع برای Junior, Intern بوجود نمیاد ولی خب.
اما با این حال زحمت خوبی کشیده شده و قدردان تیم Job Vision باید بود، حداقل بخاطر تلاشی که انجام شده.
ولی پیشنهاد نمیکنم،
حداقل توی حوزههای پایتون و ... که دستمزدها رو میدونم روی این گزارش تکیه نکنید، بخصوص اگر دنبال نیروی با سواد میگردید.
آپدیت ۳ روز بعد از گزارش :
پ.ن : حتی یک نفر (کارفرما یا کارمند) ندیدم که گزارش رو تایید کنه.
واقعاً چرا ارقام دروغ توی این گزارش آنقدر زیاد هست ؟
بخصوص در آستانه دلار ۷۰ هزار تومانی ؟
وقتی با وجود افزایش دستمزدهای سال جدید، شما از سال قبل حقوق کمتری دارید میگیرید (به نسبت دلاری) ؟
اضافه کنم، من و خیلی از اطرافیان که میبینم دیگه کانال دلار رو ۱۰۰۰ تومان یا ۲۰۰۰ تومانی نمیبینیم اگر ۶۵ رو رد کرد اون رو توی کانال ۷۰.۰۰۰ تومان میبینیم.
چون خیلی سوال شده؛ سوال این بوده :
آیا رنج حقوق و دستمزد Job Vision توی گزارشی که منتشر شده درست و معقول هست ؟
مختصر و مفید :
خیر
توضیحات:
۱) ولیدیشن درستی براش وجود نداره.
۲) تفکیک بر اساس شهر بسیار، بسیار مهم هست توی این دیتا
متأسفانه تیم Job vision این مورد رو فراموش کردند. بنظرم مهمترین نکته توی میزان پرداخت و حتی درخواست دستمزد این هست که کدوم شهر زندگی میکنید یا محل کار توی کدوم شهر هست. (عدم توجه به این نکته ارزش گزارش رو کم میکنه)
۳) خیلی کم دیدم شرکتها همون مبلغی که توی آگهی میزنند رو پرداخت کنند (بیشتر مواقع شرکت به این نتیجه میرسه که با این مبالغ نیروی مد نظر رو پیدا نمیکنه)
البته این موضوع برای Junior, Intern بوجود نمیاد ولی خب.
اما با این حال زحمت خوبی کشیده شده و قدردان تیم Job Vision باید بود، حداقل بخاطر تلاشی که انجام شده.
ولی پیشنهاد نمیکنم،
حداقل توی حوزههای پایتون و ... که دستمزدها رو میدونم روی این گزارش تکیه نکنید، بخصوص اگر دنبال نیروی با سواد میگردید.
آپدیت ۳ روز بعد از گزارش :
پ.ن : حتی یک نفر (کارفرما یا کارمند) ندیدم که گزارش رو تایید کنه.
واقعاً چرا ارقام دروغ توی این گزارش آنقدر زیاد هست ؟
بخصوص در آستانه دلار ۷۰ هزار تومانی ؟
وقتی با وجود افزایش دستمزدهای سال جدید، شما از سال قبل حقوق کمتری دارید میگیرید (به نسبت دلاری) ؟
اضافه کنم، من و خیلی از اطرافیان که میبینم دیگه کانال دلار رو ۱۰۰۰ تومان یا ۲۰۰۰ تومانی نمیبینیم اگر ۶۵ رو رد کرد اون رو توی کانال ۷۰.۰۰۰ تومان میبینیم.
👍44❤7👎3👌2❤🔥1😢1
#خارج_از_بحث
دانشگاهها واقعاً اعتبار ندارند
چندسال قبل این حرف رو زدم و گفتم با این وضعیت سهمیه و بسیج و ...
با این وضعیت به منسب نشاندن رئیسهای بیسواد و ارزشی تا چندسال آینده برترین دانشگاههای کشور هم دست کمی از دانشگاههای پولکی نخواهند داشت.
توی ۱ سال اخیر شاهد بسیاری ازین موارد بودیم، اما این بدترین مورد هست :
فامیلی شخص رو توی متن انگلیسی به
Cross-border
ترجمه کردند، دانشگاه شریف.
پ.ن : تصویر و منابعی که عکس رو گذاشتند بنظر
valid
میاد؛ امیدوارم مثلاً یک مقام مسئول یا کسی این چنین قبل از تحویل مدرک به دانشجو متوجه ایراد کار مترجم شده باشه و این عکس رو پخش کرده باشه.اینجوری حداقل مقداری امید باقی میمونه.
😢44😁25👍8😨5👎2🌚1💯1🗿1
#linux
این موضوع
با یکی از دوستان بودم و داشتیم روی یک کدی کار میکردیم، به نظرم اومد که لپتاپ برای شروع اولیه همه ابزارها بسیار کند هست.
ترمینال رو که میخواستم باز کنم ی لحظه سکته میزد و بعد شروع میکرد به کار خیلی عجیب بود و عصبی کننده،
اول به ذهنم رسید شاید هارد سیستم
چیزی نگفتم و ادامه دادیم به کار کردن و تا جایی که میشد سعی کردم هیچ برنامهی جدیدی باز نکنم، وقتی کار تموم شد خودش گفت که سیستم بسیار کند هست و عصبیش کرده و ... اگر میشه یک نگاهی بهش بندازم ببینم مشکل چیه، دروغ چرا منم کرم افتاده بود توی مغزم که چرا انقدر کند هست.
اولین کاری که کردم،
رو وقتی باز کردم همه پنجرههای داخلش رو بستم جز
ممکنه مشکل از
میزان
پنجره بعدی
من خودم چون
همینطوری داشتم به صفحه نگاه میکردم یک دفعه شمردم دیدم بجای ۵ تا گزارش برای
دقت کردم دیدم
اول زدم
مقدار
بخصوص اینکه وقتی
گفتم اینجا هم بگم شاید بدرد کسی خورد :
۱- پیشنهاد میکنم روی لپتاپ ۱۶ گیگ یا بیشتر رم و وقتی
۲- اگر به هر دلیلی فعال میکنید، حتماً فضای کمی بهش اختصاص بدید ۲ گیگ بیشتر واقعاً نذارید و حتماً هم روی
۳- مقدار
خلاصه که حواستون به
این موضوع
swap
واقعاً رو مخ هست، با وجود رم ۱۶ گیگ به بالا و بخصوص روی linux desktop
من ۳ سال هست که به دوستان میگم swap
استفاده نکنند.با یکی از دوستان بودم و داشتیم روی یک کدی کار میکردیم، به نظرم اومد که لپتاپ برای شروع اولیه همه ابزارها بسیار کند هست.
ترمینال رو که میخواستم باز کنم ی لحظه سکته میزد و بعد شروع میکرد به کار خیلی عجیب بود و عصبی کننده،
اول به ذهنم رسید شاید هارد سیستم
HDD
هست یک نگاهی به تنظیمات کردم دیدم Hybrid هست (HDD + SSD
) و /
هم روی SSD
نصب شده.چیزی نگفتم و ادامه دادیم به کار کردن و تا جایی که میشد سعی کردم هیچ برنامهی جدیدی باز نکنم، وقتی کار تموم شد خودش گفت که سیستم بسیار کند هست و عصبیش کرده و ... اگر میشه یک نگاهی بهش بندازم ببینم مشکل چیه، دروغ چرا منم کرم افتاده بود توی مغزم که چرا انقدر کند هست.
اولین کاری که کردم،
btop
رو نصب کردم زمان آپدیتش رو آوردم روی 100ms
و همون استفادههایی که داشتیم رو ادامه دادم باز کردن ترمینال و ... btop
رو وقتی باز کردم همه پنجرههای داخلش رو بستم جز
CPU
، مطمئن شدم مشکل از CPU
و گرما و ... نیست ممکنه مشکل از
SSD
باشه، شاید آخر عمرش هست و کند شده، پنجره بعدی رو باز کردم. میزان
Read, Write
خیلی کم و بسیار سریع بود پس اینم نبود.پنجره بعدی
Ram
وقتی باز کردم دیدم ۳۲ گیگ رم داره و کلا ۶ گیگ درگیر هست، پس اینم نیست.من خودم چون
swap
رو کلا خاموش میکنم و هیچ فضایی رو بهش اختصاص نمیدم اصلا حواسم به این موضوع نبود.همینطوری داشتم به صفحه نگاه میکردم یک دفعه شمردم دیدم بجای ۵ تا گزارش برای
Memory
، توی سیستم ایشون ۶ تا گزارش دارم میبینم.دقت کردم دیدم
swap
هست و ۷ گیگ هم پر شده 😢🤦اول زدم
swapoff
رو اجرا کردم، بعد گفت که بذارم باشه و ... چون مانیتور نمیکنه وضعیت رم سیستماش رو وقتی متوجه شدم درک درستی از swap
نداره مقدار swappiness
رو نگاه کردم که روی 60
(دیفالت هست) بود شاید روی سرور و ... مقدار خوبی باشه که اونجا هم با مانیتورینگ درست بهتره این مقدار رو کم کنید ولی روی دسکتاپ باعث lag
زیاد میشه.مقدار
swapiness
رو گذاشتم روی 5 و swapon
زدم، تمام لگ سیستم از بین رفت.بخصوص اینکه وقتی
startup
میکرد سریع برنامههای مختلف رو باز میکرد تا آماده کار باشه همین باعث میشد یکباره مصرف رم بالا بره و swapiness
هم چون مقدارش بالا بود همون با شروع لپتاپ فعال میشد انگار و با اینکه بعدش بسیار رم سیستم خالی بود اما swap
درگیر میموند.گفتم اینجا هم بگم شاید بدرد کسی خورد :
۱- پیشنهاد میکنم روی لپتاپ ۱۶ گیگ یا بیشتر رم و وقتی
SSD
هم دارید کلا swap
رو خاموش کنید.۲- اگر به هر دلیلی فعال میکنید، حتماً فضای کمی بهش اختصاص بدید ۲ گیگ بیشتر واقعاً نذارید و حتماً هم روی
SSD
باشه.۳- مقدار
swapiness
رو از ۶۰ که دیفالت هست، به نهایتاً ۱۰ تغییر بدید که فقط توی شرایط بحرانی از swap
استفاده کنه و این موضوع به شما اجازه میده قبل از پر شدن رم وقت کافی برای بستن ابزارهایی که داره رم رو میخوره داشته باشید.خلاصه که حواستون به
swap
باشه👍85❤🔥3👎3🙏3❤2🔥2👌2💯2🆒2👀1
#بسیار_مهم
#خارج_از_بحث
خواهشاً بیاید این مورد رو آنقدر به اشتراک بذاریم که همه رعایت کنند.
چند وقت پیش دنبال یک نیروی
اولین کاری که کردم این بود که رفتم، پستهای open 2 work اون هارو خوندم.
یک چیزی خیلی اذیتم کرد اونم این عادت بد که زیر پست پشت هم کامنت میذارند؛ #up از اون موقع توی مغزم رژه میرفت که اینکار بیفایده هست و باید یک جایگزین بهتر براش ایجاد بشه.
پیشنهاد من :
۱- اگر فقط برای
۲- اگر طرف رو میشناسید، بجای نوشتن #up چند خط در مورد ویژگی هاش بنویسید.
این خیلی بهتره هم برای من که میخوام نیروی جدیدی رو استخدام کنم ، هم برای اون شخص
اول اینکه، من اگر به شما و کار شما اطمینان داشته باشم وقتی شما زیر پست اون شخص میزنید #up من نمیدونم که آیا فقط چون کانکشن لینکدین بوده اینکار رو کردید یا اینکه واقعاً با هم همکار بودید و دارید به نوعی تأیید میکنید ایشون رو ولی اگر ۲ خط بنویسید راجبش قطعاً انتخاب برای من هم راحتتر هست و اون شخص هم سادهتر کار پیدا میکنه.
دوم، این قرار نیست یک
مثلاً یک کامنت میتونه این باشه؛
توی ۳ سال که باهم کار کردیم هیچوقت حتی برای یک پروژه هم نشد کارهاش رو دیرتر از
سوم؛ خداییش من هیچی ولی تا حالا دیدید کسی بیاد بگه، اوه این آدم پستش خیلی #up خورده برم استخدامش کنم.
ولی چند نفر هستند که من کارشون رو بسیار قبول دارم که اگر این افراد با صحبتی که بالا کردم زیر پست
خلاصه که بیاید ی کار بیارزش رو به یک حرکت ارزشمند تبدیل کنیم، مخصوصاً حالا که همه داریم وقت میگذاریم.
اینجوری هم برای کارفرما، هم برای نیروی کار بسیار بسیار بهتر خواهد بود.
مگر اینکه این #up ها فقط برای برداشتن یک باری از دوش باشه و بیارزش (ولی یادمون نره، خود ما هم یک روزی
لینک پست روی لینکدین (برای اشتراگ گذاری)
#خارج_از_بحث
خواهشاً بیاید این مورد رو آنقدر به اشتراک بذاریم که همه رعایت کنند.
چند وقت پیش دنبال یک نیروی
React
برای شرکت یکی از دوستان میگشتم، گفتم میرم لینکدین چندتا پروفایل open to work رو میبینم و درخواست رزومه میدم به اونهایی که بنظرم کارشون بهتر هست.اولین کاری که کردم این بود که رفتم، پستهای open 2 work اون هارو خوندم.
یک چیزی خیلی اذیتم کرد اونم این عادت بد که زیر پست پشت هم کامنت میذارند؛ #up از اون موقع توی مغزم رژه میرفت که اینکار بیفایده هست و باید یک جایگزین بهتر براش ایجاد بشه.
پیشنهاد من :
۱- اگر فقط برای
support
و بیشتر دیده شدن اینکار رو میکنید، نیازی به کامنت گذاشتن نیست از همون support
reaction
توی لینکدین استفاده کنید.۲- اگر طرف رو میشناسید، بجای نوشتن #up چند خط در مورد ویژگی هاش بنویسید.
این خیلی بهتره هم برای من که میخوام نیروی جدیدی رو استخدام کنم ، هم برای اون شخص
اول اینکه، من اگر به شما و کار شما اطمینان داشته باشم وقتی شما زیر پست اون شخص میزنید #up من نمیدونم که آیا فقط چون کانکشن لینکدین بوده اینکار رو کردید یا اینکه واقعاً با هم همکار بودید و دارید به نوعی تأیید میکنید ایشون رو ولی اگر ۲ خط بنویسید راجبش قطعاً انتخاب برای من هم راحتتر هست و اون شخص هم سادهتر کار پیدا میکنه.
دوم، این قرار نیست یک
recommendation
رسمی و ضمیمه شده به رزومه باشه و چون در حد چند خط هست بسیار ساده و راحت هست نوشتنش مثلاً یک کامنت میتونه این باشه؛
توی ۳ سال که باهم کار کردیم هیچوقت حتی برای یک پروژه هم نشد کارهاش رو دیرتر از
deadline
تحویل بده.سوم؛ خداییش من هیچی ولی تا حالا دیدید کسی بیاد بگه، اوه این آدم پستش خیلی #up خورده برم استخدامش کنم.
ولی چند نفر هستند که من کارشون رو بسیار قبول دارم که اگر این افراد با صحبتی که بالا کردم زیر پست
open 2 work
کسی اینطوری براش کامنت بگذارند، قطعاً اون آدم اولویت استخدام من خواهد بود.خلاصه که بیاید ی کار بیارزش رو به یک حرکت ارزشمند تبدیل کنیم، مخصوصاً حالا که همه داریم وقت میگذاریم.
اینجوری هم برای کارفرما، هم برای نیروی کار بسیار بسیار بهتر خواهد بود.
مگر اینکه این #up ها فقط برای برداشتن یک باری از دوش باشه و بیارزش (ولی یادمون نره، خود ما هم یک روزی
open2work
میشیم.)لینک پست روی لینکدین (برای اشتراگ گذاری)
👍79👎6👏5❤2👌2🤪1
#امنیتی
تلگرام تایید نکرده هنوز؛ اما مثل اینکه یک باگ امنیتی
دموهای مختلف و مورد بحث فعلا فقط روی
چرا این پست رو اینجا گذاشتم ؟
چون سیستم هدف حتما باید پایتون رو نصب داشته باشه
مک و لینوکس که دیفالت نصب هست
ویندوز هم که توی تمامی نفوذها بهش اشاره شده برای بچههایی که اینجا هستند حتما نصب هست.
پ.ن :
توی فرمهای امنیت پیدا کردم این مورد رو مثل اینکه یک فایل با پسوند
توی آپدیت تلگرام این موضوع حل شده و فایل بصورت
نمایش داده میشه .
حتما حتما آپدیت کنی؛ و اگر فایل
ورژن
بجای
تلگرام تایید نکرده هنوز؛ اما مثل اینکه یک باگ امنیتی
0-day
روی نسخه دسکتاپ تلگرام وجود داره که هکر یک فایل رو برای شما ارسال میکنه (استیکر - فیلم یا ...) و با کلیک روی اون یک سری دستورات روی سیستم اجرا میشه.دموهای مختلف و مورد بحث فعلا فقط روی
Windows
هستند (اما تلگرام چندساعت قبل آپدیت جدیدی رو برای دسکتاپ منتشر کرد که هنوز مشخص نیست آیا مربوط به این باگ بوده یا خیر)چرا این پست رو اینجا گذاشتم ؟
چون سیستم هدف حتما باید پایتون رو نصب داشته باشه
مک و لینوکس که دیفالت نصب هست
ویندوز هم که توی تمامی نفوذها بهش اشاره شده برای بچههایی که اینجا هستند حتما نصب هست.
پ.ن :
توی فرمهای امنیت پیدا کردم این مورد رو مثل اینکه یک فایل با پسوند
pyzw
برای شما ارسال میشده و تلگرام اون رو بصورت video
رندر میکرده و اسکریپت همراهش هم اجرا میشده با اجرای ویدئو.توی آپدیت تلگرام این موضوع حل شده و فایل بصورت
filename.pyzw.untrusted
نمایش داده میشه .
حتما حتما آپدیت کنی؛ و اگر فایل
untrusted
توی هیستوری دارید که باز شده؛ سیستم رو به متخصص امنیت جهت بررسی بدید.ورژن
4.16.6
ورژنی هست که این باگ رو داره و طبق commit message
ایی که توی تلگرام زده شده یک اشتباه تایپی باعث این موضوع شده بجای
pywz؛ pyzw
تایپ شده.👍38🌚3🗿3🤯2👎1💔1
Python Hints
یک نمونه exploit خیلی ساده برای تست؛ سورس کد رو گذاشتم که خودتون اجرا کنید و مطمئن باشید امن هست. اما بجای ls میشد هرکار دیگری هم کرد یا خوندن passwd میشد خیلی کارهای دیگهای کرد. هیچوقت هیچ فایل Pickle ایی رو از کسی قبول نکنید اگر قبول کردید روی سیستم…
#موقت
تکنیک هک شدن و دسترسی به کلاستر پردازشی
راجیش توی @pytens توضیح دادم اگر علاقه داشتید.
پ.ن : این پست رو میتونید برای تیم hugging face هم بفرستید؛ بنظرم یک سری اونجا نیاز به آموزشهای کانال دارند 😁
تکنیک هک شدن و دسترسی به کلاستر پردازشی
hugging face
همین موردی هست که پارسال توضیح دادم.راجیش توی @pytens توضیح دادم اگر علاقه داشتید.
پ.ن : این پست رو میتونید برای تیم hugging face هم بفرستید؛ بنظرم یک سری اونجا نیاز به آموزشهای کانال دارند 😁
👍19😁7👌1🕊1😐1😎1
یک اسکریپت پایتون نوشتم، که افرادی که برای خوانش گروهی
Fluent Python
درخواست دادن رو بهشون پیام بدم تا گروه دوم راهاندازی بشه.
تعداد درخواستها حدوداً ۵۰۰ نفر هست، گروه اول هم به انتهای کتاب رسیدند تقریباً (توی تعطیلات بودیم 😁)
از اونجایی که google meet برای 500 نفر یا حتی بیشتر (تعداد اعضای کانال بیش از ۲ برابر شده نسبت به سری قبل) وجود نداره.
تصمیم گرفتم، شخصاً این دوره رو ارائه بدم
البته از روی فایلهایی که گروه اول تهیه کردند.
لینک هر جلسه گذاشته بشه و نهایتاً لایو رو روی یوتیوب به اشتراک بذاریم.
به زودی اینکار رو شروع خواهیم کرد (نهایتاً ۱-۲ هفته دیگر) و جلسات لایو هر جمعه خواهد بود.
مزیتاش برای افرادی که توی لایو شرکت میکنند این هست که به تمام سوالات پاسخ داده خواهد شد.
این دوره کاملاً رایگان هست مثل همیشه و فرض بر این هست که افراد خودشون موضوعات فصل رو قبل از ارایه خواندهاند.
پ.ن :
۱) میخواستم همزمان لایو رو روی یوتیوب هم داشته باشیم
ولی فکر نمیکنم هیچکدوم از سرویسهای اینترنت ایران این قدرت رو داشته باشند.
۲) برای کتابخوانی جدید که لایو خواهد بود گروهی وجود ندارد (چون شخصا ارائه خواهم داد یا به کمک بعضی دوستان)
و بصورت هفتگی ۵-۱۵ دقیقه قبل از شروع لایو لینک google meet داخل کانال قرار خواهد گرفت.
۳) اگر بتونیم روی یوتیوب هم همزمان لایو بریم، که بهترین حالت ممکن هست و میتونیم سوالات یوتیوب رو هم پاسخ بدیم (اگر راهکاری دارید بگید، البته غیر از اینکه برم فیبرنوری بخرم یا استارلینک و ... واقع بین باشیم)
Fluent Python
درخواست دادن رو بهشون پیام بدم تا گروه دوم راهاندازی بشه.
تعداد درخواستها حدوداً ۵۰۰ نفر هست، گروه اول هم به انتهای کتاب رسیدند تقریباً (توی تعطیلات بودیم 😁)
از اونجایی که google meet برای 500 نفر یا حتی بیشتر (تعداد اعضای کانال بیش از ۲ برابر شده نسبت به سری قبل) وجود نداره.
تصمیم گرفتم، شخصاً این دوره رو ارائه بدم
البته از روی فایلهایی که گروه اول تهیه کردند.
لینک هر جلسه گذاشته بشه و نهایتاً لایو رو روی یوتیوب به اشتراک بذاریم.
به زودی اینکار رو شروع خواهیم کرد (نهایتاً ۱-۲ هفته دیگر) و جلسات لایو هر جمعه خواهد بود.
مزیتاش برای افرادی که توی لایو شرکت میکنند این هست که به تمام سوالات پاسخ داده خواهد شد.
این دوره کاملاً رایگان هست مثل همیشه و فرض بر این هست که افراد خودشون موضوعات فصل رو قبل از ارایه خواندهاند.
پ.ن :
۱) میخواستم همزمان لایو رو روی یوتیوب هم داشته باشیم
ولی فکر نمیکنم هیچکدوم از سرویسهای اینترنت ایران این قدرت رو داشته باشند.
۲) برای کتابخوانی جدید که لایو خواهد بود گروهی وجود ندارد (چون شخصا ارائه خواهم داد یا به کمک بعضی دوستان)
و بصورت هفتگی ۵-۱۵ دقیقه قبل از شروع لایو لینک google meet داخل کانال قرار خواهد گرفت.
۳) اگر بتونیم روی یوتیوب هم همزمان لایو بریم، که بهترین حالت ممکن هست و میتونیم سوالات یوتیوب رو هم پاسخ بدیم (اگر راهکاری دارید بگید، البته غیر از اینکه برم فیبرنوری بخرم یا استارلینک و ... واقع بین باشیم)
👍94❤34❤🔥5🙏2👎1🍓1
#موقت
یک مشت دلقک شدن قانونگذار کشورم
خرید جت شخصی تو ایران آزاد شد.
یعنی شما میتونی جت بخری،
ولی بنز و بیامو یا ... اجازه نداری.
شما میتونی جت بخری،
ولی حق خرید آیفون نداری.
دلقک بازی هست، یا آقازاده واسه فرارش آماده میشه ؟
یکی از دوستان پیام داده :
فکر کن از جت شخصی پیاده بشی
مجبور بشی پراید سوارشی.
یک مشت دلقک شدن قانونگذار کشورم
خرید جت شخصی تو ایران آزاد شد.
یعنی شما میتونی جت بخری،
ولی بنز و بیامو یا ... اجازه نداری.
شما میتونی جت بخری،
ولی حق خرید آیفون نداری.
دلقک بازی هست، یا آقازاده واسه فرارش آماده میشه ؟
یکی از دوستان پیام داده :
فکر کن از جت شخصی پیاده بشی
مجبور بشی پراید سوارشی.
👍95😁27👏10✍3☃2🍾2🗿1👾1
#خارج_از_بحث
داشتم یک ویدئو میدیدم؛ یکی از بچهها گفت با این وضعیت اینترنت چطوری ویدئو آموزشی میبینی ؟
گفتم اینجاهم بگم شاید بدرد شما هم بخوره.
مرورگر
بخش AI اش یک قابلیت داره روی ویدئو وقتی فعال میکنید
ویدئو تصویر بالا
اما خیلی وقتا روی
میتونید چند دقیقه تا چندساعت صبر کنید سرعت اینترنت نرمال بشه یا اینکه مثل من برنامهریزیهاتون رو بهم نزنید و ازین ویژگی استفاده کنید.
داشتم یک ویدئو میدیدم؛ یکی از بچهها گفت با این وضعیت اینترنت چطوری ویدئو آموزشی میبینی ؟
گفتم اینجاهم بگم شاید بدرد شما هم بخوره.
مرورگر
opera
که معرف حضورتون هستند ؟بخش AI اش یک قابلیت داره روی ویدئو وقتی فعال میکنید
Image Enhancement
انجام میده Lucid Mode
ویدئو تصویر بالا
480
بوده (بخش سمت راست)اما خیلی وقتا روی
320px
هم خروجی خوبی میده و ویدئو رو به راحتی میشه دنبال کرد.میتونید چند دقیقه تا چندساعت صبر کنید سرعت اینترنت نرمال بشه یا اینکه مثل من برنامهریزیهاتون رو بهم نزنید و ازین ویژگی استفاده کنید.
👍82❤8❤🔥4😘2☃1🍾1