This media is not supported in your browser
VIEW IN TELEGRAM
💢 آموزش Sniff شبکه و حمله Mac Flooder با پایتون
♨️ همونطور که دیدن بدون دسترسی روت یا ادمین اگر فایل رو اجرا کنیم بهمون خطای پرمیژن میده. در قسمت iface باید اسم کارت شبکه خودتون رو قرار بدین که با دستور ipconfig در ویندوز و با دستور ifconfig در لینوکس میتونید اسم کارت شبکه رو پیدا کنید. تمام ترافیک رو بررسی میکنه حتی اون پینگی که برای تست زدم. میتونید یک آرگومان به اسم count به متد sniff بدید که بیاد دیتایی که برمیگردونه رو محدود کنه.
آدرس گپ :
🔰 www.tg-me.com/PyFarsi
آدرس کانال :
🔰@PSFarsi
♨️ همونطور که دیدن بدون دسترسی روت یا ادمین اگر فایل رو اجرا کنیم بهمون خطای پرمیژن میده. در قسمت iface باید اسم کارت شبکه خودتون رو قرار بدین که با دستور ipconfig در ویندوز و با دستور ifconfig در لینوکس میتونید اسم کارت شبکه رو پیدا کنید. تمام ترافیک رو بررسی میکنه حتی اون پینگی که برای تست زدم. میتونید یک آرگومان به اسم count به متد sniff بدید که بیاد دیتایی که برمیگردونه رو محدود کنه.
آدرس گپ :
🔰 www.tg-me.com/PyFarsi
آدرس کانال :
🔰@PSFarsi
👍3👎1
Constant folding:
فرض کنید قرار هست تا یک فانکشن بنویسیم تا به ما تعداد ثانیه های موجود در یکسال رو بده. به سه شکل میتونیم بنویسیم:
از نظر خوانایی :
تو فانکشن fn1 کاملا مشخص هست که اون عدد ها چین از کجا اومدن ، خروجی چی هست... تو fn2 میشه یه حدس هایی زد که خروجی ما حاصل ضرب چه عدد هایی بوده توی فانکشن سوم هیچ نظری نمیشه داد که اون عدد چیه.
از نظر performance چی؟
اگه با واژه ی constant folding آشنا نبوده باشید احتمالا حدس میزنید که به همون میزان که از خوانایی داره کم میشه، به سرعت داره اضافه میشه. ولی توی runtime اینطور نیست:
پایتون زمانی که داره کد شمارو compile میکنه یه سری optimization های ریز انجام میده مثلا وقتی به عبارت :
پس زمانی که کد شما compile شد دیگه "حاصل" اون عبارت که 31536000 باشه برمیگرده موقع کال کردن و دقیقا انگار که fn3 رو کال کرده باشید.
توی اولی ولی اینطور نیست. هربار که شما فانکشن fn1 رو کال کنید پایتون اول میاد ۳۶۵ رو میگیره ذخیره میکنه تو days بعد ۲۴ رو میگیره ذخیره میکنه تو hours همینطور تا انتها... خط آخر هم میاد days و hours و minutes و seconds رو از local variable ها میگیره و تو هم ضرب میکنه و حاصل رو برمیگردونه.
✅ و در آخر فقط زمانی باید performance براتون مهم باشه که کدتون رو profile کردین و دیدین سرعت پایین فلان بخش از کد داره تاثیر جدی میذاره و بودن یا نبودن فلان عنصر تفاوت قابل توجهی داره ایجاد میکنه. شاید مثال خیلی خوبی نبود صرفا هدف گفتن constant folding بود چون با کامنت گذاری و docstring خوانایی کد رو به راحتی میتونید بالا ببرید. (در ضمن comment ها توی پروسه compile کاملا ignore میشن.) اگه خواستید docstring ها رو هم موقع compile نادیده بگیره پایتون:
فرض کنید قرار هست تا یک فانکشن بنویسیم تا به ما تعداد ثانیه های موجود در یکسال رو بده. به سه شکل میتونیم بنویسیم:
def fn1():اینا چه فرق هایی باهم دارن ؟
days = 365
hours = 24
minutes = 60
seconds = 60
return days * hours * minutes * seconds
def fn2():
return 365 * 24 * 60 * 60
def fn3():
return 31536000
از نظر خوانایی :
تو فانکشن fn1 کاملا مشخص هست که اون عدد ها چین از کجا اومدن ، خروجی چی هست... تو fn2 میشه یه حدس هایی زد که خروجی ما حاصل ضرب چه عدد هایی بوده توی فانکشن سوم هیچ نظری نمیشه داد که اون عدد چیه.
از نظر performance چی؟
اگه با واژه ی constant folding آشنا نبوده باشید احتمالا حدس میزنید که به همون میزان که از خوانایی داره کم میشه، به سرعت داره اضافه میشه. ولی توی runtime اینطور نیست:
پایتون زمانی که داره کد شمارو compile میکنه یه سری optimization های ریز انجام میده مثلا وقتی به عبارت :
365 * 24 * 60 * 60میرسه میدونه که این ۴ تا مقادیر ثابت هستن نمیشه که تغییر پیدا کنن پس میگه دلیلی نداره من هربار که fn2 رو کسی کال کرد بیام این ۴ تا عدد رو تو هم ضرب کنم و حاصل رو برگردونم. من میام یه بار حاصلش رو حساب میکنم و به جای اون عبارت قرارش میدم.
پس زمانی که کد شما compile شد دیگه "حاصل" اون عبارت که 31536000 باشه برمیگرده موقع کال کردن و دقیقا انگار که fn3 رو کال کرده باشید.
توی اولی ولی اینطور نیست. هربار که شما فانکشن fn1 رو کال کنید پایتون اول میاد ۳۶۵ رو میگیره ذخیره میکنه تو days بعد ۲۴ رو میگیره ذخیره میکنه تو hours همینطور تا انتها... خط آخر هم میاد days و hours و minutes و seconds رو از local variable ها میگیره و تو هم ضرب میکنه و حاصل رو برمیگردونه.
✅ و در آخر فقط زمانی باید performance براتون مهم باشه که کدتون رو profile کردین و دیدین سرعت پایین فلان بخش از کد داره تاثیر جدی میذاره و بودن یا نبودن فلان عنصر تفاوت قابل توجهی داره ایجاد میکنه. شاید مثال خیلی خوبی نبود صرفا هدف گفتن constant folding بود چون با کامنت گذاری و docstring خوانایی کد رو به راحتی میتونید بالا ببرید. (در ضمن comment ها توی پروسه compile کاملا ignore میشن.) اگه خواستید docstring ها رو هم موقع compile نادیده بگیره پایتون:
python -OO your_file.py@PSFarsi
👍12🔥2
✔️دوره آموزش FastAPI به زبان فارسی
9️⃣0️⃣ قسمت نهم
https://youtu.be/apTbcp4xDvE
#fastapi #آموزش
🆔 @PyFarsi
9️⃣0️⃣ قسمت نهم
https://youtu.be/apTbcp4xDvE
#fastapi #آموزش
🆔 @PyFarsi
YouTube
آموزش Api نویس با FastApi Python ( قسمت نهم - Body Validator )
سلام به کانال یوتیوبی پرشین پایتون خوش آمدید
FAST API
یک وب میکرو فریمورک پایتون هست که با شعار عملکرد بالا
(high performance)
، یادگیری آسان ، کد زنی سریع و آماده برای تولید توسط آقای سباستین رامیرز تولید شده
ویژگی های اصلی این فریمورک :
سرعت : عملکرد…
FAST API
یک وب میکرو فریمورک پایتون هست که با شعار عملکرد بالا
(high performance)
، یادگیری آسان ، کد زنی سریع و آماده برای تولید توسط آقای سباستین رامیرز تولید شده
ویژگی های اصلی این فریمورک :
سرعت : عملکرد…
👍7
بنیاد پایتون کاران فارسی
✔️دوره آموزش FastAPI به زبان فارسی 9️⃣0️⃣ قسمت نهم https://youtu.be/apTbcp4xDvE #fastapi #آموزش 🆔 @PyFarsi
با سلام خدمت کاربران پای فارسی..دوستان با توجه به اینکه یک دوره مربوط به Sqlalchemy در کانال یوتیوب هست آیا مایلید مباحث مربوط به Sqlalchemy در همون دوره ی FastAPI گفته بشه یا دوره ی مربوط به Sqlalchemy کامل بشه و بعد دوره ی FastAPI ادامه پیدا کنه؟
Anonymous Poll
51%
اول دوره ی sqlalchemy کامل بشه
49%
در همون دوره ی FastAPI بهش پرداخته بشه
👍2
✔️دوره آموزش FastAPI به زبان فارسی
0️⃣1️⃣ قسمت دهم
https://youtu.be/af29l0aT50I
#fastapi #آموزش
🆔 @PyFarsi
0️⃣1️⃣ قسمت دهم
https://youtu.be/af29l0aT50I
#fastapi #آموزش
🆔 @PyFarsi
YouTube
آموزش Api نویس با FastApi Python ( قسمت دهم - integer Validators, Multiple Value )
سلام به کانال یوتیوبی پرشین پایتون خوش آمدید
FAST API
یک وب میکرو فریمورک پایتون هست که با شعار عملکرد بالا
(high performance)
، یادگیری آسان ، کد زنی سریع و آماده برای تولید توسط آقای سباستین رامیرز تولید شده
ویژگی های اصلی این فریمورک :
سرعت : عملکرد…
FAST API
یک وب میکرو فریمورک پایتون هست که با شعار عملکرد بالا
(high performance)
، یادگیری آسان ، کد زنی سریع و آماده برای تولید توسط آقای سباستین رامیرز تولید شده
ویژگی های اصلی این فریمورک :
سرعت : عملکرد…
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
تغییر بکگراند لینوکس با پایتون + گذاشتن اون در استارت آپ لینوکس که هربار سیستم روشن میشه خودش بکگراند رو تغییر بده
دو نوع روش برای گذاشتن فایل در استارت آپ لینوکس نشون دادم
اولی با ابزار Tweaks
دومی هم کلید ترکیبی Alt + f2 رو میزنیم و بعدش دستور gnome-session-properties میزنیم
خب برای اینکه در استارت آپ قرار بدیم میریم اون اینپوت رو ها رو برمیداریم و آدرس مستقیم رو توی ابزار میزاریم و سیو
منطقی هم نیست با sleep بریم جلو برای همین میتونیم از ماژول schedule و یا datetime برای زمان بندی دلخواه استفاده کنیم
( میتونستیم هم به جای اینکه اسم عکس ها رو صورت عدد به ترتیب بزارین ، از listdir استفاده کنین و بگین رندوم یکی رو انتخاب کنه و بزاره )
موفق باشید ... 🌹
آدرس گپ :
🔰 www.tg-me.com/PyFarsi
آدرس کانال :
🔰@PSFarsi
دو نوع روش برای گذاشتن فایل در استارت آپ لینوکس نشون دادم
اولی با ابزار Tweaks
دومی هم کلید ترکیبی Alt + f2 رو میزنیم و بعدش دستور gnome-session-properties میزنیم
خب برای اینکه در استارت آپ قرار بدیم میریم اون اینپوت رو ها رو برمیداریم و آدرس مستقیم رو توی ابزار میزاریم و سیو
منطقی هم نیست با sleep بریم جلو برای همین میتونیم از ماژول schedule و یا datetime برای زمان بندی دلخواه استفاده کنیم
( میتونستیم هم به جای اینکه اسم عکس ها رو صورت عدد به ترتیب بزارین ، از listdir استفاده کنین و بگین رندوم یکی رو انتخاب کنه و بزاره )
موفق باشید ... 🌹
آدرس گپ :
🔰 www.tg-me.com/PyFarsi
آدرس کانال :
🔰@PSFarsi
👍2👎1
✔️ بررسی
در سوال قبل تصویر اول شبیه به stdlib مرتب شده، روش دوم رو formatter عه دیفالت پایچارم پیشنهاد داده، روش سوم رو black و روش چهارم هم توی یک کتاب پیدا کردم.
بیاید تا با یکی دو تا مثال دیگه این چند روش رو بررسی کنیم:
تابع dump از کتابخونه json در standard library
در سورس کد این تابع در استاندارد لایبرری، تابع به شکلی که عکسش رو گذاشتم نوشته شده.
خوبی این روش چیه؟
یکی از خوبیهای این روش اینه که در ۳ خط تمام این ۱۲ پارامتری که داره، مرتب شده! اما اگه این رو بیایم دوباره با بلک مرتب کنیم چنین نتیجهای رو میبینیم، که تعداد خطوط زیادی رو اشغال میکنه.
اما وقتی از بلک استفاده میکنیم، چشم قراره فقط به صورت عمودی حرکت کنه و پارامترها رو بخونه و این نوع حرکت برای چشم سادهست اما در روش قبلی هم باید افقی حرکت کنه و هم عمودی
Answers: 1 • 2 • 3
〰️〰️〰️〰️〰️
©️@PSFarsi
در سوال قبل تصویر اول شبیه به stdlib مرتب شده، روش دوم رو formatter عه دیفالت پایچارم پیشنهاد داده، روش سوم رو black و روش چهارم هم توی یک کتاب پیدا کردم.
بیاید تا با یکی دو تا مثال دیگه این چند روش رو بررسی کنیم:
تابع dump از کتابخونه json در standard library
در سورس کد این تابع در استاندارد لایبرری، تابع به شکلی که عکسش رو گذاشتم نوشته شده.
خوبی این روش چیه؟
یکی از خوبیهای این روش اینه که در ۳ خط تمام این ۱۲ پارامتری که داره، مرتب شده! اما اگه این رو بیایم دوباره با بلک مرتب کنیم چنین نتیجهای رو میبینیم، که تعداد خطوط زیادی رو اشغال میکنه.
اما وقتی از بلک استفاده میکنیم، چشم قراره فقط به صورت عمودی حرکت کنه و پارامترها رو بخونه و این نوع حرکت برای چشم سادهست اما در روش قبلی هم باید افقی حرکت کنه و هم عمودی
Answers: 1 • 2 • 3
〰️〰️〰️〰️〰️
©️@PSFarsi
👍3
👍4
با این اوصاف اینجا دیگه پای سلیقه و موقعیت شما میاد وسط و اصلا نمیتونیم بگیم کدوم روش درست یا درستتره! و هر روش خوبی و بدی و طرفدار و مخالفی داره
[اگر] بگیم روش اول درست نیست، پاسخ میگیریم که خیر ۱. در stdlib استفاده شده، یعنی core devهای پایتون ازش استفاده کردن و ۲. تعداد خطوط کمی رو اشغال کرده و مرتب و خوانا شده.
[اگر] بگیم روش black درست نیست، باید بگیم که اولا black توسط یکی از core devهای پایتون که در فیسبوک کار میکرد به اسم Lukas Langa نوشته شده و ۲۷ هزار ستاره گیتهاب داره 😃✌️
و در چنین پروژهها و شرکتهایی استفاده میشه
https://github.com/psf/black#used-by
ثانیا اگه پای type annotations توی کد بیاد وسط روش اول اصلا قشنگ نمیشه!
Answers: 1 • 2 • 3
〰️〰️〰️〰️〰️
©️@PSFarsi
[اگر] بگیم روش اول درست نیست، پاسخ میگیریم که خیر ۱. در stdlib استفاده شده، یعنی core devهای پایتون ازش استفاده کردن و ۲. تعداد خطوط کمی رو اشغال کرده و مرتب و خوانا شده.
[اگر] بگیم روش black درست نیست، باید بگیم که اولا black توسط یکی از core devهای پایتون که در فیسبوک کار میکرد به اسم Lukas Langa نوشته شده و ۲۷ هزار ستاره گیتهاب داره 😃✌️
و در چنین پروژهها و شرکتهایی استفاده میشه
https://github.com/psf/black#used-by
ثانیا اگه پای type annotations توی کد بیاد وسط روش اول اصلا قشنگ نمیشه!
Answers: 1 • 2 • 3
〰️〰️〰️〰️〰️
©️@PSFarsi
👍4