Forwarded from Persian python
سلام دوستان وقتتون بخیر بعد از مدت ها 😅
ویدیو پلی لیست FastApi آپلود شد
قسمت : 31
موضوع : قسمت چهارم پروژه instagram - Create Delete Comment
امیدوارم که مفید بوده باشه
میتونین از لینک زیر تماشا کنید
https://youtu.be/0oF2YU_pvuc
فایل های این ویدیو در گیت هاب :
https://github.com/persianpython/FastApi
ویدیو پلی لیست FastApi آپلود شد
قسمت : 31
موضوع : قسمت چهارم پروژه instagram - Create Delete Comment
امیدوارم که مفید بوده باشه
میتونین از لینک زیر تماشا کنید
https://youtu.be/0oF2YU_pvuc
فایل های این ویدیو در گیت هاب :
https://github.com/persianpython/FastApi
YouTube
آموزش Api نویس با FastApi Python ( Instagram قسمت پنجم پروژه Comment )
سلام به کانال یوتیوبی پرشین پایتون خوش آمدید
FAST API
یک وب میکرو فریمورک پایتون هست که با شعار عملکرد بالا
(high performance)
، یادگیری آسان ، کد زنی سریع و آماده برای تولید توسط آقای سباستین رامیرز تولید شده
ویژگی های اصلی این فریمورک :
سرعت : عملکرد…
FAST API
یک وب میکرو فریمورک پایتون هست که با شعار عملکرد بالا
(high performance)
، یادگیری آسان ، کد زنی سریع و آماده برای تولید توسط آقای سباستین رامیرز تولید شده
ویژگی های اصلی این فریمورک :
سرعت : عملکرد…
#دوره_آموزشی_STM32 پیشرفته و طراحی سخت افزار (شماتیک و PCB)
آموزش توابع LL و HAL به صورت تخصصی و عملیاتی به صورت ۱۰۰ درصد پروژه محور
همراه با ایجاد و ساخت سخت افزار و پیاده سازی نرم افزار برروی سخت افزار برای هر پروژه
پروژه هایی که در مسیر اموزش ایجاد خواهند شد :
✅راه اندازی ماژول GSM و ارتباط با یک TCP سرور
✅راه اندازی ال سی دی TFT و Emwin
✅راه اندازی Kline و ارتباط با ECU خودرو
✅راه اندازی Can و ارتباط با سیستم مالتی پلکس خودرو
✅راه اندازی ایسی AD7190 و ساخت ترازوی دیجیتال
✅ایجاد بوتلودر و پراگرام میکرو از راه دور OTA و ساخت بوتلودر از طریق UART و یا USB
✅ ساخت. یک درایور موتور براشلس با میکروهای سری STM32
✅ساخت یک مادربرد کنترلر 3Dprinter
✅اشنایی با انواع پروتکشن های سخت افزاری و نرم افزاری جهت بالابردن امنیت برد و عدم کپی برداری
۱۵ جلسه ۴ ساعته
شروع دوره از تاریخ : 12اسفند ۱۴۰۱
هر جمعه از ساعت ۱۸ الی ۲۲
به صورت آنلاین
هزینه : ۲۴۵۰۰۰۰۰ ریال
پیش نیاز دوره : آشنایی به زبان C
جهت ثبت نام با شماره تماس
۰۹۱۲۰۲۳۶۹۲۰
و یا ای دی تلگرام
@mhelecco_admin
در تماس باشید
آموزش توابع LL و HAL به صورت تخصصی و عملیاتی به صورت ۱۰۰ درصد پروژه محور
همراه با ایجاد و ساخت سخت افزار و پیاده سازی نرم افزار برروی سخت افزار برای هر پروژه
پروژه هایی که در مسیر اموزش ایجاد خواهند شد :
✅راه اندازی ماژول GSM و ارتباط با یک TCP سرور
✅راه اندازی ال سی دی TFT و Emwin
✅راه اندازی Kline و ارتباط با ECU خودرو
✅راه اندازی Can و ارتباط با سیستم مالتی پلکس خودرو
✅راه اندازی ایسی AD7190 و ساخت ترازوی دیجیتال
✅ایجاد بوتلودر و پراگرام میکرو از راه دور OTA و ساخت بوتلودر از طریق UART و یا USB
✅ ساخت. یک درایور موتور براشلس با میکروهای سری STM32
✅ساخت یک مادربرد کنترلر 3Dprinter
✅اشنایی با انواع پروتکشن های سخت افزاری و نرم افزاری جهت بالابردن امنیت برد و عدم کپی برداری
۱۵ جلسه ۴ ساعته
شروع دوره از تاریخ : 12اسفند ۱۴۰۱
هر جمعه از ساعت ۱۸ الی ۲۲
به صورت آنلاین
هزینه : ۲۴۵۰۰۰۰۰ ریال
پیش نیاز دوره : آشنایی به زبان C
جهت ثبت نام با شماره تماس
۰۹۱۲۰۲۳۶۹۲۰
و یا ای دی تلگرام
@mhelecco_admin
در تماس باشید
🐍 Python & Raspberry 🐍 pinned «فروش طلا بدون اجرت جهت سرمایه گذاری پیام به @farhad_naserizadeh @farhad3412»
کدوم زبون رو دیدید که سه دهه زندگی کنه و هر سال بیشتر رشد کنه و محبوبیتش بیشتر بشه 😁
ولی خب چرا:
https://github.blog/2023-03-02-why-python-keeps-growing-explained/
#m4hdi
@raspberry_python
دنبال کردن هشتگ m4hdi
ولی خب چرا:
https://github.blog/2023-03-02-why-python-keeps-growing-explained/
#m4hdi
@raspberry_python
دنبال کردن هشتگ m4hdi
The GitHub Blog
Why Python keeps growing, explained
A deep dive into why more people are using Python than ever, its key use cases, and why it’s still so popular 30-plus years after it was first released.
سلام.
توی این چند وقت اخیر یکی از پر تکرار ترین سوالاتی که پرسیده شده این بوده:
"آیا chatgpt جای مارو میگیره؟"
صرف نظر از اینکه جواب چی هست شاید بهتر باشه یه نگاهی به روند تکاملش از گذشته تا الان + نحوه ی کارکردش + مزایا و معایبش + اینکه چه سوالاتی رو بهتر پاسخ میده و چه سوالاتی رو نمیتونه و غیره بندازیم تا بیشتر آشنا بشیم باهاش و دید بهتری داشته باشیم از chatgpt.
جادی عزیز توی رادیوگیک شماره ۱۴۷ اطلاعات مفیدی رو بهتون میده:
https://www.youtube.com/watch?v=3VULmrB7qTU
این هم لینک کانال جدیدشون هست(به قبلی دیگه دسترسی ندارن):
https://t.me/jadivarlog
🖊 @AmirSoroushh
——————————————————
توی این چند وقت اخیر یکی از پر تکرار ترین سوالاتی که پرسیده شده این بوده:
"آیا chatgpt جای مارو میگیره؟"
صرف نظر از اینکه جواب چی هست شاید بهتر باشه یه نگاهی به روند تکاملش از گذشته تا الان + نحوه ی کارکردش + مزایا و معایبش + اینکه چه سوالاتی رو بهتر پاسخ میده و چه سوالاتی رو نمیتونه و غیره بندازیم تا بیشتر آشنا بشیم باهاش و دید بهتری داشته باشیم از chatgpt.
جادی عزیز توی رادیوگیک شماره ۱۴۷ اطلاعات مفیدی رو بهتون میده:
https://www.youtube.com/watch?v=3VULmrB7qTU
این هم لینک کانال جدیدشون هست(به قبلی دیگه دسترسی ندارن):
https://t.me/jadivarlog
🖊 @AmirSoroushh
——————————————————
YouTube
رادیوگیک - شماره ۱۴۷ - چت جی پی تی
در این شماره از رادیو گیک، من که آزاد شده ام بعد از شش ماه رادیو میدم! خبرها اینقدر زیاد هستن که پوشش دادنشون کار با معنیای نخواهد بود. اینقدر هم حرف برای زدن هست که نمیدونیم از کجا شروع کنیم. پس بیاین یه گوشه رو بچسبیم و از همونجا بیایم جلو! و چه گوشهای…
Forwarded from Sadra Codes
داکیومنت بخونیم یا توتوریال ببینیم؟ مسئله این است..
خیلیا رو دیدم با یه دید تعصبی به این قضیه نگاه میکنن! باور کنید این کار از بیخ اشتباس. شما قراره یاد بگیرید. صد البت مهمه از کجا و به چه شیوهای یاد بگیرید ولی حالا بین خودمون باشه.. داکیومنت بخونیم یا توتوریال و ویدئو تماشا کنیم؟! اصلا کدوم بهتره؟!
واسه پاسخ به این سوال، اینکه بدونیم داکیومنت چیه خیلی حائز اهمیته. داکیومنت (Document) یا گاها خیلی جاها ممکنه بصورت مختصر (Docs) هم نوشته شه، یه کتابچه جامع هست که به شکل ساختاربندیشدهای، اجزای فریمورک، کتابخانه یا زبان رو مورد بررسی قرار داده. منظورم از اجزا همون Components هست یعنی کلاس ها، توابع، متدها، ثبات ها و..
خیلی از داکیومنت ها با محوریت مثال همراه هستن یعنی داخل خودشون، بعد از تشریح و توضیح یک کلاس، یه مثال کوچیک هم از شیوه ساختن یک آبجکت از اون کلاس قرار دادن ولی خب زیاد مرسوم نیست که داکیومنت ها همراه با مثال باشن. نکته بعدی اینه که داکیومنت ها گاها ممکنه از جمعآوری DocStringها باشن. منظورم همون شبه-کامنت ها اول تشریح متدها، کلاسها و توابع هست. این نوع کامنتها (تعریفها) نامهای مختلفی داره. مثلا توی جاوا بهش میگن JavaDoc و گاها مکانیزمها و ابزارهایی اون بیرون موجوده (مثل SphinX در پایتون) که بهتون کمک میکنه این نوع کامنتها رو طبق یه سری کانونشن (Convention) خاص، ساختاربندی کنید و ازشون نسخه ePub، PDF یا حتی HTML اکسپورت بگیرید برای آپلود روی اینترنت. (جاهایی هستن که میشه داکیومنت پروژتون رو بصورت رایگان روشون آپلود کنید مثل readthedocs.io)
من خودم شخصا موقعی میرم سراغ داکیومنت که بخوام از ماهیت یه موجودیت بیشتر باخبر شم. اینکه یه کلاس دقیقا چطور کار میکنه یا چه آپشنهای اضافی داره الی آخر..
توتوریال هم که خیلیامون باهاش آشناییم. نمونش کورسها و دورههایی که تماشا کردید که بیشتر یا جنبه آشناسازی دارن یا دیپ شدن روی یه قضیه. اکثر توتوریالها با مثال همراه هستن و پروژه محورن و این موضوع باعث شده خیلی مورد استقبال قرار بگیرن. اگه میخواید یه موضوع رو تازه شروع کنید، پیشنهاد میشه یه دوتا کلیپ اول ازش ببینید، دوتا مثال ازش تماشا کنید شاید اصلا از یادگیریش منصرف شدید. اگه واقعا میخواید دیپ شید روی یه موضوع، برید سمت داکیومنتش و کتابهایی که درباره اون موضوع نوشته شده.
.
یه نکته پایانی بگم!
شما آزادی به هر روشی که دوست داری یاد بگیری. گاها آدمی با شنیدن، دیدن یا حتی تجسم کردن یاد میگیره. یه نفر اگه یه داستان رو بخونه خوب میتونه نتیجه بگیره.. یه نفر اون داستان رو حتما باید بصورت فیلم تماشا کنه.. سعی کنید اون مدل یادگیری که بیشتر واسه شما جواب میده رو پیدا کنید و به اون شیوه یاد بگیرید ولی در کنارش مطالعه هم داشته باشید. (چه به فارسی چه زبان دیگهای)
نویسنده در نوشتن هیچ محدودیتی نداره. نهایت این کتابش پر شد، باقیشو جلد بعدی مینویسه. واسه همین میتونه ریز و درشت یه قضیه رو مورد بحث قرار بده. ولی توتوریال ها و دیگر مدیا ها، محدودیت زیاد دارن.
یه نویسنده واسه کتابش ممکنه سالها زمان بذاره.. ولی یه Content Creator شاید نهایت یه هفته زمان بذاره همون موضوع رو در ۱۵ دقیقه توضیح بده.
امیدوارم موفق باشین. ❤️
خیلیا رو دیدم با یه دید تعصبی به این قضیه نگاه میکنن! باور کنید این کار از بیخ اشتباس. شما قراره یاد بگیرید. صد البت مهمه از کجا و به چه شیوهای یاد بگیرید ولی حالا بین خودمون باشه.. داکیومنت بخونیم یا توتوریال و ویدئو تماشا کنیم؟! اصلا کدوم بهتره؟!
واسه پاسخ به این سوال، اینکه بدونیم داکیومنت چیه خیلی حائز اهمیته. داکیومنت (Document) یا گاها خیلی جاها ممکنه بصورت مختصر (Docs) هم نوشته شه، یه کتابچه جامع هست که به شکل ساختاربندیشدهای، اجزای فریمورک، کتابخانه یا زبان رو مورد بررسی قرار داده. منظورم از اجزا همون Components هست یعنی کلاس ها، توابع، متدها، ثبات ها و..
خیلی از داکیومنت ها با محوریت مثال همراه هستن یعنی داخل خودشون، بعد از تشریح و توضیح یک کلاس، یه مثال کوچیک هم از شیوه ساختن یک آبجکت از اون کلاس قرار دادن ولی خب زیاد مرسوم نیست که داکیومنت ها همراه با مثال باشن. نکته بعدی اینه که داکیومنت ها گاها ممکنه از جمعآوری DocStringها باشن. منظورم همون شبه-کامنت ها اول تشریح متدها، کلاسها و توابع هست. این نوع کامنتها (تعریفها) نامهای مختلفی داره. مثلا توی جاوا بهش میگن JavaDoc و گاها مکانیزمها و ابزارهایی اون بیرون موجوده (مثل SphinX در پایتون) که بهتون کمک میکنه این نوع کامنتها رو طبق یه سری کانونشن (Convention) خاص، ساختاربندی کنید و ازشون نسخه ePub، PDF یا حتی HTML اکسپورت بگیرید برای آپلود روی اینترنت. (جاهایی هستن که میشه داکیومنت پروژتون رو بصورت رایگان روشون آپلود کنید مثل readthedocs.io)
من خودم شخصا موقعی میرم سراغ داکیومنت که بخوام از ماهیت یه موجودیت بیشتر باخبر شم. اینکه یه کلاس دقیقا چطور کار میکنه یا چه آپشنهای اضافی داره الی آخر..
توتوریال هم که خیلیامون باهاش آشناییم. نمونش کورسها و دورههایی که تماشا کردید که بیشتر یا جنبه آشناسازی دارن یا دیپ شدن روی یه قضیه. اکثر توتوریالها با مثال همراه هستن و پروژه محورن و این موضوع باعث شده خیلی مورد استقبال قرار بگیرن. اگه میخواید یه موضوع رو تازه شروع کنید، پیشنهاد میشه یه دوتا کلیپ اول ازش ببینید، دوتا مثال ازش تماشا کنید شاید اصلا از یادگیریش منصرف شدید. اگه واقعا میخواید دیپ شید روی یه موضوع، برید سمت داکیومنتش و کتابهایی که درباره اون موضوع نوشته شده.
.
یه نکته پایانی بگم!
شما آزادی به هر روشی که دوست داری یاد بگیری. گاها آدمی با شنیدن، دیدن یا حتی تجسم کردن یاد میگیره. یه نفر اگه یه داستان رو بخونه خوب میتونه نتیجه بگیره.. یه نفر اون داستان رو حتما باید بصورت فیلم تماشا کنه.. سعی کنید اون مدل یادگیری که بیشتر واسه شما جواب میده رو پیدا کنید و به اون شیوه یاد بگیرید ولی در کنارش مطالعه هم داشته باشید. (چه به فارسی چه زبان دیگهای)
نویسنده در نوشتن هیچ محدودیتی نداره. نهایت این کتابش پر شد، باقیشو جلد بعدی مینویسه. واسه همین میتونه ریز و درشت یه قضیه رو مورد بحث قرار بده. ولی توتوریال ها و دیگر مدیا ها، محدودیت زیاد دارن.
یه نویسنده واسه کتابش ممکنه سالها زمان بذاره.. ولی یه Content Creator شاید نهایت یه هفته زمان بذاره همون موضوع رو در ۱۵ دقیقه توضیح بده.
امیدوارم موفق باشین. ❤️
4_5803050121738325662 (1).mp4
1.8 MB
📽 درباره ایرانیان باستان، چهارشنبه سوری و آتش پرستی: ایرانیان آتش پرست نبودند؛ مگر کسی که رو به کعبه می کند، سنگ پرست است؟
چهارشنبه سوری مبارک 🌹🌹
چهارشنبه سوری مبارک 🌹🌹
Forwarded from s.h. hoseini
حملات کانال جانبی
در حمله به سیستم های رمز دو نوع حمله مد نظر هست یکی حملات کلاسیک و دیگری حملات کانال جانبی، NIST حملات کانال جانبی رو اینطور تعریف کرده است، حمله ای که با نشت اطلاعات از یک سیستم رمزنگاری فیزیکی فعال می شود. ویژگی هایی که می توانند در حمله کانال جانبی مورد سوء استفاده قرار گیرند عبارتند از زمان بندی، مصرف انرژی و انتشارات الکترومغناطیسی و صوتی.
حملات کانال جانبی را می توان به دسته های مختلفی تقسیم نمود:
👈حملات تحلیل توان (ساده و تفاضلی)
👈حملات تحلیل الکترومغناطیس (ساده و تفاضلی)
👈حملات تحلیل زمان
👈حملات القا خطا
توضیحات کامل در کتاب مقدمه ای بر حملات کانال جانبی و کتاب مهندسی امنیت نوشته آقای دکتر معصومی و همکاری اینجانب آمده است.
گروه رمزنگاری و امنیت اطلاعات
https://t.me/cryoto_info_security
در حمله به سیستم های رمز دو نوع حمله مد نظر هست یکی حملات کلاسیک و دیگری حملات کانال جانبی، NIST حملات کانال جانبی رو اینطور تعریف کرده است، حمله ای که با نشت اطلاعات از یک سیستم رمزنگاری فیزیکی فعال می شود. ویژگی هایی که می توانند در حمله کانال جانبی مورد سوء استفاده قرار گیرند عبارتند از زمان بندی، مصرف انرژی و انتشارات الکترومغناطیسی و صوتی.
حملات کانال جانبی را می توان به دسته های مختلفی تقسیم نمود:
👈حملات تحلیل توان (ساده و تفاضلی)
👈حملات تحلیل الکترومغناطیس (ساده و تفاضلی)
👈حملات تحلیل زمان
👈حملات القا خطا
توضیحات کامل در کتاب مقدمه ای بر حملات کانال جانبی و کتاب مهندسی امنیت نوشته آقای دکتر معصومی و همکاری اینجانب آمده است.
گروه رمزنگاری و امنیت اطلاعات
https://t.me/cryoto_info_security
Forwarded from s.h. hoseini
تروجان سختافزاری یک تغییر مخرب در یک مدار یکپارچه است. یک تروجان سختافزاری کاملاً از طریق ویژگیهای فیزیکی و ظاهری یا رفتاری مشخص میشود. عامل مخرب یک تروجان سختافزاری، کل فعالیتی است که تروجان هنگام اجرای آن انجام میدهد. بهطور کلی، تروجانهای مخرب سعی در دور زدن یا غیرفعال کردن مکانیزمهای امنیتی یک سیستم دارند: این امر میتواند اطلاعات محرمانه را به بیرون درز دهد. تروجان سختافزاری همچنین میتواند کل تراشه یا اجزای آن را غیرفعال، مختل یا نابود کند.
تروجانهای سختافزاری ممکن است به صورت ناخواسته در هنگام طراحی مدار کامپیوتری ایجاد شوند. از طریق استفاده از مدارهای مجتمع با کاربرد خاص یا هسته نیمههادی مالکیت معنوی که از منبع غیر معتبر خریداری شدهاند. یا کارمند شرکت سازنده، به علت انگیزهٔ شخصی، یا عضویت در گروهی مشخص یا جاسوسی برای دولتی خاص، به صورت بدخواهانه و از عمد این کار را انجام دهد.
گروه رمزنگاری و امنیت اطلاعات
https://t.me/cryoto_info_security
تروجانهای سختافزاری ممکن است به صورت ناخواسته در هنگام طراحی مدار کامپیوتری ایجاد شوند. از طریق استفاده از مدارهای مجتمع با کاربرد خاص یا هسته نیمههادی مالکیت معنوی که از منبع غیر معتبر خریداری شدهاند. یا کارمند شرکت سازنده، به علت انگیزهٔ شخصی، یا عضویت در گروهی مشخص یا جاسوسی برای دولتی خاص، به صورت بدخواهانه و از عمد این کار را انجام دهد.
گروه رمزنگاری و امنیت اطلاعات
https://t.me/cryoto_info_security
با سلام و احترام
از تمامی دانشجویان رشته ریاضی کاربردی، علوم کامپیوتر ، مهندسی کامپیوتر-رایانش امن ، مهندسی فناوری اطلاعات، امنیت فناوری اطلاعات و مهندسی برق گرایشهای مخابرات امن و رمزنگاری، مخابرات سیستم و شبکه های مخابراتی در مقاطع ارشد و دکتری جهت تعامل و همکاری های علمی و پژوهشی به گروه وزین رمزنگاری و امنیت فناوری اطلاعات وارد شوند.
لینک ورود به گروه
https://t.me/cryoto_info_security
از تمامی دانشجویان رشته ریاضی کاربردی، علوم کامپیوتر ، مهندسی کامپیوتر-رایانش امن ، مهندسی فناوری اطلاعات، امنیت فناوری اطلاعات و مهندسی برق گرایشهای مخابرات امن و رمزنگاری، مخابرات سیستم و شبکه های مخابراتی در مقاطع ارشد و دکتری جهت تعامل و همکاری های علمی و پژوهشی به گروه وزین رمزنگاری و امنیت فناوری اطلاعات وارد شوند.
لینک ورود به گروه
https://t.me/cryoto_info_security
This media is not supported in your browser
VIEW IN TELEGRAM
ابزاری به اسم Wolverine که با هوش مصنوعی GPT-4 کدهای پایتون شمارو اجرا و به صورت مرحله به مرحله خطاهاش رو بطور خودکار برطرف میکنه تا جایی که بدون خطا اجرا بشه!
این ابزار در اینده به صورت متنباز عرضه میشه.
🔗 BioBootloader
#javad
@raspberry_python
دنبال کردن هشتگ javad
این ابزار در اینده به صورت متنباز عرضه میشه.
🔗 BioBootloader
#javad
@raspberry_python
دنبال کردن هشتگ javad
17 وبسایت جهت یادگیری برنامه نویسی
✅ inprogrammer com
✅ javascript com
✅ theodinproject
✅ stackoverflow
✅ geeksforgeeks
✅ studytonight
✅ freecodecamp
✅ mozilla dev
✅ javatpoint
✅ codecademy
✅ sololearn
✅ programiz
✅ w3schools
✅ tutsplus
✅ w3school
✅ youtube
✅ scrimba
@raspberry_python
✅ inprogrammer com
✅ javascript com
✅ theodinproject
✅ stackoverflow
✅ geeksforgeeks
✅ studytonight
✅ freecodecamp
✅ mozilla dev
✅ javatpoint
✅ codecademy
✅ sololearn
✅ programiz
✅ w3schools
✅ tutsplus
✅ w3school
✅ youtube
✅ scrimba
@raspberry_python
Django Developers Survey 2022 Results
https://lp.jetbrains.com/django-developer-survey-2022/
🔗 Python Hub (@PythonHub)
📲 @twittervid\_bot
https://lp.jetbrains.com/django-developer-survey-2022/
🔗 Python Hub (@PythonHub)
📲 @twittervid\_bot
JetBrains: Developer Tools for Professionals and Teams
Django Developers Survey 2022 Results
Official Django Developers Survey 2022 Results by Django Software Foundation and JetBrains: 4,900 responses.
یکی از کاربرد های bitwise operator ها:
سلام. اگرچه توی زبان های سطح پایین تر استفاده از bitwise operator ها خیلی مرسومه، توی پایتون کمتر نیاز میشه تا برای حل مشکلمون بریم سراغشون و عموما از جایگزین های high-level تری استفاده میکنیم. ولی دونستن اینکه چیکار میکنن بعضی جاها میتونه مفید باشه.
فرض کنید میخوایم با یک regex ساده یه عبارتی رو match کنیم:
موضوع اینجاست که ما یک سری فلگ از پیش تعریف شده داریم که توان های عدد ۲ هستن. اگه یه نگاه بشون بندازیم:
حالا اگر کسی به ما عدد ۱۸ رو بده چطور میتونیم بفهمیم چه flag هایی ست شده؟ با AND:
نکته ی خوبش این بود که تنها با یک عدد این اطلاعات رو منتقل کردیم.
مثال دومی که از این استفاده کرده ماژول selectors هست که وقتی یه socket ای آماده میشه و میخواد بگه آماده ی read هست یا write ، بهمون یه mask میده که از روی این mask باید بفهمیم. یعنی یه همچین چیزی داریم:
با همون if بالا متوجه میشیم و کاری که قرار هست انجام بدیم رو با توجه به این عدد انجام میدیم.
🖊 @AmirSoroushh
سلام. اگرچه توی زبان های سطح پایین تر استفاده از bitwise operator ها خیلی مرسومه، توی پایتون کمتر نیاز میشه تا برای حل مشکلمون بریم سراغشون و عموما از جایگزین های high-level تری استفاده میکنیم. ولی دونستن اینکه چیکار میکنن بعضی جاها میتونه مفید باشه.
فرض کنید میخوایم با یک regex ساده یه عبارتی رو match کنیم:
import reمچ نمیشن! حالا کافیه به عنوان flag بهش عدد ۱۸ رو بدیم:
print(re.search("ABC.", "abc\n"))
print(re.search("ABC.", "abc\n", flags=18))مچ شد! درواقع با دادن عدد ۱۸ بهش گفتیم که case-insensitive باش و new line character ها رو هم با نقطه بگیر. ولی چطور از عدد ۱۸ این رو فهمید؟
موضوع اینجاست که ما یک سری فلگ از پیش تعریف شده داریم که توان های عدد ۲ هستن. اگه یه نگاه بشون بندازیم:
TEMPLATE = 1 -> 00000001
IGNORECASE = 2 -> 00000010
LOCALE = 4 -> 00000100
MULTILINE = 8 -> 00001000
DOTALL = 16 -> 00010000
ما درواقع IGNORECASE رو OR کردیم با DOTALL که شد:00010010
یا همون ۱۸.حالا اگر کسی به ما عدد ۱۸ رو بده چطور میتونیم بفهمیم چه flag هایی ست شده؟ با AND:
TEMPLATE = 1
IGNORECASE = 2
LOCALE = 4
MULTILINE = 8
DOTALL = 16
flag = 18
if flag & TEMPLATE:
print("Has TEMPLATE flag")
if flag & IGNORECASE:
print("Has IGNORECASE flag")
if flag & DOTALL:
print("Has DOTALL flag")
به جای پاس دادن عدد ۱۸ میشه خیلی راحت از "|" استفاده کرد و چیزی رو حفظ نکرد:print(re.search("ABC.", "abc\n", flags=IGNORECASE | DOTALL))
این خودش ۱۸ رو میفرسته.نکته ی خوبش این بود که تنها با یک عدد این اطلاعات رو منتقل کردیم.
مثال دومی که از این استفاده کرده ماژول selectors هست که وقتی یه socket ای آماده میشه و میخواد بگه آماده ی read هست یا write ، بهمون یه mask میده که از روی این mask باید بفهمیم. یعنی یه همچین چیزی داریم:
EVENT_READ = (1 << 0)
EVENT_WRITE = (1 << 1)
اگه ۳ بود یعنی هم READ هم WRITE. اگه ۲ بود یعنی فقط WRITE، اگه 1 بود یعنی فقط READ.با همون if بالا متوجه میشیم و کاری که قرار هست انجام بدیم رو با توجه به این عدد انجام میدیم.
🖊 @AmirSoroushh
✅ شرکت آناکوندا وبسایت
https://pyscript.com/
رو لانچ کرد 😁🎉
یک SaaS رایگان برای استفاده از pyscript تا بتونید اپلیکیشنهای پایتونی رو توی مرورگر براحتی اجرا کنید 😁
#m4hdi
https://pyscript.com/
رو لانچ کرد 😁🎉
یک SaaS رایگان برای استفاده از pyscript تا بتونید اپلیکیشنهای پایتونی رو توی مرورگر براحتی اجرا کنید 😁
#m4hdi