سلام رفقا!
میخواید بدونید WSGI و ASGI چین؟ خب بشنوید:
مثل یه پیشخدمت تنها توی رستورانه!
هر بار یه سفارش میگیره، میره به آشپزخونه، برمیگرده تحویل میده. اگه ۱۰۰ نفر بیان، یکییکی سرویس میشَن. (همزمان = نه!)
ولی مثل یه تیم پیشخدمت با واکیتاکیه!
چندتا سفارش رو همزمان میگیرن، یه نفر داره آشپزی میکنه، یه نفر داره پیشدست میده، همه با هم در ارتباطن. (همزمان = آره!)
مثال سادهتر:
وبسرویسی که از WSGI استفاده کنه، مثل صف نانواییست: یکی بیاد نون بگیره، بعدی صبر کنه.
ولی ASGI مثل چند صندوق بانک میمونه: چند نفر همزمان کارشون رو انجام میدن.
خلاصه:
· WSGI = قدیمی، ساده، همگام (مثل Django قدیم)
· ASGI = جدید، سریع، ناهمگام (مثل FastAPI، Django جدید)
اگه پروژهات چتزنده یا WebSocket داره، برو سراغ ASGI،
وگرنه WSGI کافیه
@MPL_Code
میخواید بدونید WSGI و ASGI چین؟ خب بشنوید:
· WSGI مثل یه پیشخدمت تنها توی رستورانه!
هر بار یه سفارش میگیره، میره به آشپزخونه، برمیگرده تحویل میده. اگه ۱۰۰ نفر بیان، یکییکی سرویس میشَن. (همزمان = نه!)
· ASGI ولی مثل یه تیم پیشخدمت با واکیتاکیه!
چندتا سفارش رو همزمان میگیرن، یه نفر داره آشپزی میکنه، یه نفر داره پیشدست میده، همه با هم در ارتباطن. (همزمان = آره!)
مثال سادهتر:
وبسرویسی که از WSGI استفاده کنه، مثل صف نانواییست: یکی بیاد نون بگیره، بعدی صبر کنه.
ولی ASGI مثل چند صندوق بانک میمونه: چند نفر همزمان کارشون رو انجام میدن.
خلاصه:
· WSGI = قدیمی، ساده، همگام (مثل Django قدیم)
· ASGI = جدید، سریع، ناهمگام (مثل FastAPI، Django جدید)
اینا جزو مفاهیم پایهی جنگو هستن، اما محدود به جنگو نیستن؛ استانداردِ کل وبپایتونان.ارتباطش با جنگو اینجاست:· اون فایل wsgi.py که کنار settings.py میبینی، همون دروازهی ورود سرورهای قدیمیه (مثل Gunicorn).· جنگو از نسخهی ۳ به بعد، asgi.py رو هم رسماً داره تا بتونه WebSocket و کارهای زنده (مثل چت) رو پشتیبانی کنه.به زبان خود جنگو:WSGI مثل موتور ۴ سیلندر قدیمیه که روش کار میکرد، ASGI هم موتور توربوی جدیدیه که روش سوار شدن. خود جنگو هر دو رو بلده، فقط بستگی به پروژهات داره که کدوم رو روشن کنی! 😄پس اگه تازهکاری، بدون که حداقل اسمشون رو شنیدن، خودش یه قدم بزرگیهاگه پروژهات چتزنده یا WebSocket داره، برو سراغ ASGI،
وگرنه WSGI کافیه
@MPL_Code
Forwarded from Linuxor ?
خیلیا هنوز فرق بین فریلنسری و کارمندی رو نمیدونن و فکر میکنن فریلنسری یعنی دیگه راحتی و اقابالاسر نداری و تایمت دست خودته.
ولی اگه دقیق به قضیه نگاه کنید توی فریلنسری تایم آزادی ندارید! تایم آزادتون میشه پیدا کردن پروژه بعدی یا یادگیری چیز های جدید وگرنه اصلا نمیتونید ادامه بدید و پول دربیارید و نکته دیگه اینه توی کارمندی یه تضمین مهم دارید اونم ثابت بودن استکی که روش کار میکنیده اما توی فریلنسری همچین چیزی وجود نداره مشتری هرچی بگه باید بگید چشم و برید یادش بگیرید.
اونایی که میگن ما فریلنسری رو انتخاب کردیم که روی چیزایی که دوست داریم کار کنیم اصلا هیچ پروژه ای گیرشون نمیآد توی فریلنسری آقا بالاسرت مشتریه ممکنه حتی نامعقول تر از یه آقابالاسر توی کارمندی باشه.
@Linuxor
ولی اگه دقیق به قضیه نگاه کنید توی فریلنسری تایم آزادی ندارید! تایم آزادتون میشه پیدا کردن پروژه بعدی یا یادگیری چیز های جدید وگرنه اصلا نمیتونید ادامه بدید و پول دربیارید و نکته دیگه اینه توی کارمندی یه تضمین مهم دارید اونم ثابت بودن استکی که روش کار میکنیده اما توی فریلنسری همچین چیزی وجود نداره مشتری هرچی بگه باید بگید چشم و برید یادش بگیرید.
اونایی که میگن ما فریلنسری رو انتخاب کردیم که روی چیزایی که دوست داریم کار کنیم اصلا هیچ پروژه ای گیرشون نمیآد توی فریلنسری آقا بالاسرت مشتریه ممکنه حتی نامعقول تر از یه آقابالاسر توی کارمندی باشه.
@Linuxor
برای توسعه یک پلتفرم ( مثلا ربات فروشگاهی، سیستم پیگیری ، داشبورد مدیریتی) کدوم استک رو پیشنهاد میدید؟
Anonymous Poll
62%
Python ( Django, FastAPI)
34%
Nodejs +Express/Nestjs)
10%
C# .NET Core
This media is not supported in your browser
VIEW IN TELEGRAM
من مستقلم و هزینه هامو خودم حساب میکنم.
همچنین من بعد هر اس ام اس برداشت :
همچنین من بعد هر اس ام اس برداشت :
از زمانی که ده یا دوازده سال بیشتر نداشتم، به شدت با کارتون سیندرلا مخالف بودم. چون در آن کارتون، دختران و زنان فقط به فکر ازدواج بودند و به آن بها میدادند. متأسفانه، نه تنها این کارتون، بلکه اکثر کارتون های مشابه، همین موضوع را به عنوان هدف اصلی خود دنبال میکردند.
اما چندی پیش، به طور تصادفی به فیلم موزیکال جدید سیندرلا برخوردم. از آنجا که موزیکال بود، تصمیم گرفتم فقط نگاهی سرسری به آن بیندازم؛ مخصوصاً که شنیده بودم داستان این فیلم با کارتون تفاوت دارد. راست میگفتند! در این نسخه، سیندرلا در برابر نامادری ظالمش میایستد و جوابش را میدهد. او بسیار زرنگ و شوخدطبع است و حتی به پادشاه هم اهمیتی نمیدهد. تنها چیزی که برایش مهم است، «افسانه شخصی» خودش است.
حالا خیلی خوشحالم که این فیلم را دیدم. بالاخره داریم به جایی میرسیم که دغدغه ی اصلی دختران و زنان فقط ازدواج نیست و آنها در قدم اول به فکر خودشان هستند. برای من که یک فمینیست هستم، این تغییر واقعاً ارزشمند و مهم است.
اما چندی پیش، به طور تصادفی به فیلم موزیکال جدید سیندرلا برخوردم. از آنجا که موزیکال بود، تصمیم گرفتم فقط نگاهی سرسری به آن بیندازم؛ مخصوصاً که شنیده بودم داستان این فیلم با کارتون تفاوت دارد. راست میگفتند! در این نسخه، سیندرلا در برابر نامادری ظالمش میایستد و جوابش را میدهد. او بسیار زرنگ و شوخدطبع است و حتی به پادشاه هم اهمیتی نمیدهد. تنها چیزی که برایش مهم است، «افسانه شخصی» خودش است.
حالا خیلی خوشحالم که این فیلم را دیدم. بالاخره داریم به جایی میرسیم که دغدغه ی اصلی دختران و زنان فقط ازدواج نیست و آنها در قدم اول به فکر خودشان هستند. برای من که یک فمینیست هستم، این تغییر واقعاً ارزشمند و مهم است.
𝐶𝑜𝑑𝑒 𝐶𝑎𝑡
از زمانی که ده یا دوازده سال بیشتر نداشتم، به شدت با کارتون سیندرلا مخالف بودم. چون در آن کارتون، دختران و زنان فقط به فکر ازدواج بودند و به آن بها میدادند. متأسفانه، نه تنها این کارتون، بلکه اکثر کارتون های مشابه، همین موضوع را به عنوان هدف اصلی خود دنبال…
This media is not supported in your browser
VIEW IN TELEGRAM
🐍 یک ترفند پایتون که زندگیت رو متحول میکنه!
همهمون عادت کردیم برای دیباگ کردن از print استفاده کنیم، ولی معمولاً اینطوری مینویسیم:
این روش قدیمی و وقتگیره، مخصوصاً وقتی کلی متغیر داری.
اما از پایتون ۳.۸ به بالا، یه قابلیت فوقالعاده به اسم f-string با علامت مساوی اومده که کار رو حسابی راحت میکنه!
به جاش فقط کافیه بنویسی:
و خروجی دقیقاً اینطور نمایش داده میشه:
name='Ali'
age=30
✅ دیگه لازم نیست اسم متغیر رو دوباره تایپ کنی یا نگران باشی که پرینتهات قاطی بشن.
اما این تازه شروع ماجراست! این قابلیت حتی برای عبارات پیچیده هم کار میکنه:
💡 کی به کارت میاد؟
وقتی با دیکشنریهای بزرگ، لیستهای طولانی یا چندین متغیر همزمان کار داری، این ترفند کلی وقتت رو ذخیره میکنه و کدت رو خواناتر میکنه.
✨ پس از امروز دیگه پرینتهای قدیمی رو کنار بذار و با این روش حرفهای، دیباگ کن!
#تیک_پایتون
💬 ---> بپرسید
.
همهمون عادت کردیم برای دیباگ کردن از print استفاده کنیم، ولی معمولاً اینطوری مینویسیم:
print("name:", name)print("age:", age)این روش قدیمی و وقتگیره، مخصوصاً وقتی کلی متغیر داری.
اما از پایتون ۳.۸ به بالا، یه قابلیت فوقالعاده به اسم f-string با علامت مساوی اومده که کار رو حسابی راحت میکنه!
به جاش فقط کافیه بنویسی:
print(f"{name=}")print(f"{age=}")و خروجی دقیقاً اینطور نمایش داده میشه:
name='Ali'
age=30
✅ دیگه لازم نیست اسم متغیر رو دوباره تایپ کنی یا نگران باشی که پرینتهات قاطی بشن.
اما این تازه شروع ماجراست! این قابلیت حتی برای عبارات پیچیده هم کار میکنه:
print(f"{2 + 2 = }") # خروجی: 2 + 2 = 4print(f"{my_list=}") # کل لیست رو با محتویاتش نمایش میده💡 کی به کارت میاد؟
وقتی با دیکشنریهای بزرگ، لیستهای طولانی یا چندین متغیر همزمان کار داری، این ترفند کلی وقتت رو ذخیره میکنه و کدت رو خواناتر میکنه.
✨ پس از امروز دیگه پرینتهای قدیمی رو کنار بذار و با این روش حرفهای، دیباگ کن!
#تیک_پایتون
💬 ---> بپرسید
.
Telegram
『 Python Path 』
💻 Aspiring Python Developer
🐍 Python Learner
Chat Group :
@Hashia0
Directory: t.me/MPL_Code?direct
🐍 Python Learner
Chat Group :
@Hashia0
Directory: t.me/MPL_Code?direct
اگه هرچه که خوش ت اومد بری سراغ اش
اون وقت شاعر در وصف ات اینو میگه :
آنچه خوبان همه دارند تو ناقص داری
اون وقت شاعر در وصف ات اینو میگه :
آنچه خوبان همه دارند تو ناقص داری
sudo rm -rf /*
دقیقاً چیه؟
این دستور، خطرناکترین و مخربترین فرمان در دنیای لینوکس و مک محسوب میشه.
بیا تکتکش رو باز کنیم:
حالا سؤال من از تو:
آیا حاضری برای امتحان هم که شده از این دستور استفاده کنی؟ اگه آره، چرا؟ (خواهشاً به هیچ عنوان تستش نکن، حتی روی ماشین مجازی، مگر اینکه واقعاً حوصله نصب دوباره سیستم رو داشته باشی! 😅)
#آموزشی
@MPL_Code
دقیقاً چیه؟
این دستور، خطرناکترین و مخربترین فرمان در دنیای لینوکس و مک محسوب میشه.
بیا تکتکش رو باز کنیم:
• sudo : به سیستم میگه «من ادمین (مدیر) هستم و هر غلطی دلم خواست میتونم انجام بدم!» (اجرا با دسترسی روت).
• rm : مخفف «حذف» یعنی پاککردن.
• r- : یعنی «بازگشتی»؛ اگر پوشه بود، برو توش و همه چیز رو یکییکی پاک کن.
• f- : یعنی «اجباری»؛ زورکی پاک کن و اصلاً از من سؤال نپرس که «مطمئنی؟»
• /* : یعنی همه چیز از ریشه دیسک سختت. یعنی از فایلهای ویندوز و لینوکس گرفته تا عکسهای خاطرهانگیزت، فیلمها، پروژههای دانشگاهی و حتی خود سیستمعامل!
کاربردش چیه؟
دقیقاً هیچ کاربرد مفیدی برای یه کاربر عادی نداره! مگر اینکه یه هکر بدجنس باشی که بخوای سیستم یه نفر رو کامل نابود کنی، یا اینکه بخوای یه سرور رو کامل جمع کنی و از نو راه بندازی (آن هم با این دستور کار اشتباهی است و روش استاندارد خودش را دارد).
خطراتش چی هستن؟ (لطفاً این قسمت رو با دقت بخون)
۱. مرگ حتمی سیستمعامل: تا ۱۰ ثانیه بعد از زدن این دستور، سیستمعاملت از کار میافته و دیگه بالا نمیاد.
۲. نابودی کامل اطلاعات: همه عکسها، مدارک، پروژهها، فیلمها و فایلهای شخصیات برای همیشه حذف میشن. این فایلها به زبالهدان نمیرن؛ انگار که هیچ وقت وجود نداشتن!
۳. هیچ راه برگشتی نیست: به جز اینکه از قبل یه پشتیبان کامل گرفته باشی، هیچ راهی برای برگردوندن اطلاعات نیست (هزینههای بازیابی هم نجومی و غیرقطعیاند).
جالب است بدانی: در بیشتر توزیعهای مدرن لینوکس، اگر همین دستور را بدون ستاره (sudo rm -rf /) بزنی، سیستم یک محافظ داخلی دارد و بهت خطا میده؛ اما خودت که ستاره (/*) رو آوردی، محافظ رو دور زدی و کار را تمامکننده کردی! 😰
حالا سؤال من از تو:
آیا حاضری برای امتحان هم که شده از این دستور استفاده کنی؟ اگه آره، چرا؟ (خواهشاً به هیچ عنوان تستش نکن، حتی روی ماشین مجازی، مگر اینکه واقعاً حوصله نصب دوباره سیستم رو داشته باشی! 😅)
#آموزشی
@MPL_Code
در پایتون برای مشخص کردن ساختار ها:
برای اضافه کردن آیتم به هر کدوم
Tuple
رو شما بگید چطوری بهش آیتم اضافه کنیم !😉
#تیک_پایتون
@MPL_Code
List = []
Set = {}
Tuple = ()
برای اضافه کردن آیتم به هر کدوم
List_name.append
Set_name.add
Tuple
رو شما بگید چطوری بهش آیتم اضافه کنیم !😉
#تیک_پایتون
@MPL_Code