بچه ها اگه کسی نات کوین داره کانالای تلگرامی دارن ده میلیونی شو بین هفتصد تا یک و نیم میلیون میخرن
اما قیمت واقعی که تو #گتگمز داره معامله میشه
تقریبا سه میلیون و دویست و سی هزارتومن بابت هر ده میلیونش هست حواستون باشه مفت نخرن ازتون
اما قیمت واقعی که تو #گتگمز داره معامله میشه
تقریبا سه میلیون و دویست و سی هزارتومن بابت هر ده میلیونش هست حواستون باشه مفت نخرن ازتون
👍4👎2👌1
یه چالش برای بچه های که به html css علاقه دارن
این صفحه رو سعی کنید طراحی کنید
اکثر المان ها رنگ پس زمینه شون
Glass morphism
هست که حالت شیشه ای بهش میگن عکس پیتزا رو هم میتونید از صفحه عکس بگیرید و با این سایت های حذف بک گراند عکس رو کامل بصورت
png
داشته باشید
این تمرین برای بچه های دوره جنگو هست
بعد از تعطیلات تو یکی از کلاس های دوره جنگو انجامش میدم براتون
صفحه سایت رو روی حالت موبایلی بذارید و طراحی کنید
این صفحه رو سعی کنید طراحی کنید
اکثر المان ها رنگ پس زمینه شون
Glass morphism
هست که حالت شیشه ای بهش میگن عکس پیتزا رو هم میتونید از صفحه عکس بگیرید و با این سایت های حذف بک گراند عکس رو کامل بصورت
png
داشته باشید
این تمرین برای بچه های دوره جنگو هست
بعد از تعطیلات تو یکی از کلاس های دوره جنگو انجامش میدم براتون
صفحه سایت رو روی حالت موبایلی بذارید و طراحی کنید
👌3👍1
پاول دورف نابغه قرن جدید !؟!
تلگرام بر خلاف اکثر شبکه های اجتماعی و پیام رسان های معروف به دور از سیاسی گری متولد شد و تا به امروز به دو شعار باطنی خود که دوری از جانب گری در مسایل سیاسی و حفظ حریم خصوصی کاربران بوده عمل کرده است.
به شکلی که تلگرام هم در کشورهای کمونیستی و شبه کمونیستی مثل چین روسیه و ایران فیلتر شده و هم جدیدا در دولت های غربی که در ظاهر فقط شعار آزادی و احترام به حریم شخصی کاربران می دهند.
اما تیم تلگرام از روز نخست برنامه طولانی مدتی برای کار داشت که در چند ماه اخیر چندین نمونه شو نهایی کرده ،
تقسیم هزینه تبلیغات با کانال های تلگرامی که گامی بسیار مثبت در زمینه تولید محتوای واقعی و با کیفیت خواهد بود .
استارت نات کوین که یک ارز دیجیتال بر روی شبکه Ton است
شبکه Ton بلاک چین خود تلگرام است که شما میتوانید هر ارز دیجیتالی رو با این شبکه انتقال بدهید شبیه به شبکه بیت کوین و اتریوم ، ترون و....
ساده لوحی بود که فکر کنید نات کوین فقط یک بازی ساده است و برنامه ای پشتش نیست
در حال حاضر نات کوین 26 میلیون کاربر فعال دارد که قوی ترین شروع تاریخ یک ارز دیجیتال است ، قطعا تلگرام و تیم نات کوین قرار نیست ازین فرصت تاریخی به سادگی عبور کنند.
در همین حین که استخراج نات کوین سه روز پایانی خود را طی میکند چندین پروژه دیگر شبیه به نات کوین روی بستر Ton تلگرام شروع به کار کرده اند و قطعا نمی شود بدون تحقیق نظری راجع به آنها داد .
سخن پایانی اینکه در این تاریخ حاضر به نظر میرسد که تلگرام و شبکه Ton یکی از بزرگترین شبکه های انتقال دارایی دنیا در آینده خواهد بود.
متن نوشته شده پیشنویس هست و ادیت نشده بابت مشکلات نگارشی پوزش میخواهم در آینده سعی میکنم یک مقاله جامع و کامل تری راجع به این موضوع منتشر کنم.
میثم شبانی 10/1/1403
تلگرام بر خلاف اکثر شبکه های اجتماعی و پیام رسان های معروف به دور از سیاسی گری متولد شد و تا به امروز به دو شعار باطنی خود که دوری از جانب گری در مسایل سیاسی و حفظ حریم خصوصی کاربران بوده عمل کرده است.
به شکلی که تلگرام هم در کشورهای کمونیستی و شبه کمونیستی مثل چین روسیه و ایران فیلتر شده و هم جدیدا در دولت های غربی که در ظاهر فقط شعار آزادی و احترام به حریم شخصی کاربران می دهند.
اما تیم تلگرام از روز نخست برنامه طولانی مدتی برای کار داشت که در چند ماه اخیر چندین نمونه شو نهایی کرده ،
تقسیم هزینه تبلیغات با کانال های تلگرامی که گامی بسیار مثبت در زمینه تولید محتوای واقعی و با کیفیت خواهد بود .
استارت نات کوین که یک ارز دیجیتال بر روی شبکه Ton است
شبکه Ton بلاک چین خود تلگرام است که شما میتوانید هر ارز دیجیتالی رو با این شبکه انتقال بدهید شبیه به شبکه بیت کوین و اتریوم ، ترون و....
ساده لوحی بود که فکر کنید نات کوین فقط یک بازی ساده است و برنامه ای پشتش نیست
در حال حاضر نات کوین 26 میلیون کاربر فعال دارد که قوی ترین شروع تاریخ یک ارز دیجیتال است ، قطعا تلگرام و تیم نات کوین قرار نیست ازین فرصت تاریخی به سادگی عبور کنند.
در همین حین که استخراج نات کوین سه روز پایانی خود را طی میکند چندین پروژه دیگر شبیه به نات کوین روی بستر Ton تلگرام شروع به کار کرده اند و قطعا نمی شود بدون تحقیق نظری راجع به آنها داد .
سخن پایانی اینکه در این تاریخ حاضر به نظر میرسد که تلگرام و شبکه Ton یکی از بزرگترین شبکه های انتقال دارایی دنیا در آینده خواهد بود.
متن نوشته شده پیشنویس هست و ادیت نشده بابت مشکلات نگارشی پوزش میخواهم در آینده سعی میکنم یک مقاله جامع و کامل تری راجع به این موضوع منتشر کنم.
میثم شبانی 10/1/1403
👍3👌3
پروژه های مشابه نات کوین که شروع به کار کردن و بعضاً امکانات بهتری هم دارند اما فعلا نمیشه با قطعیت راجع به آینده ش صحبت کرد
پروژه swap بر پایه سولانا
پروژه timecoin بدون نیاز به کلیک هر روزه
پروژه swap بر پایه سولانا
پروژه timecoin بدون نیاز به کلیک هر روزه
#SADRA_K
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👌2
گوگل هوش مصنوعی ابداع کرده است که می تواند بیماری را با سرفه تشخیص دهد
محققان یک شبکه عصبی را بر روی صداهای سرفه برای بیماری های مختلف آموزش دادند و اکنون قادر به تشخیص فوری COVID-19، سل و سایر بیماری ها هستند.
این پروژه در حال حاضر در مرحله آزمایش است و برنامههای بیشتری برای کسب مجوز از مقامات ایالات
متحده و ورود به بازار انبوه دارد.
https://cybernews.com/news/google-ai-system-cough-disease-diagnosis/
#M_Sh
@persians_python
محققان یک شبکه عصبی را بر روی صداهای سرفه برای بیماری های مختلف آموزش دادند و اکنون قادر به تشخیص فوری COVID-19، سل و سایر بیماری ها هستند.
این پروژه در حال حاضر در مرحله آزمایش است و برنامههای بیشتری برای کسب مجوز از مقامات ایالات
متحده و ورود به بازار انبوه دارد.
https://cybernews.com/news/google-ai-system-cough-disease-diagnosis/
#M_Sh
@persians_python
👎3
http://ads.telegram.org
هر کسی میتونه تو کانال شما تبلیغ بکنه.
https://telegram.org/blog/monetization-for-channels
#SADRA_K
Please open Telegram to view this post
VIEW IN TELEGRAM
ads.telegram.org
Telegram Ad Platform
The Telegram Ad Platform is a privacy-conscious tool to create sponsored messages in public one-to-many channels with 1000+ subscribers.
👍2👌1
LibreTube 0.22.2
یوتیوب بدون فیلترشکن و تبلیغات
بروزرسانی جدید هم اکنون در دسترس است
https://libre-tube.github.io/
لیبرهتیوب یک نرمافزار آزاد و اوپن سورس برای استفاده از یوتیوب است که تبلیغات را به طور اتوماتیک حذف میکند و ویدیوها را پراکسی میکند، به همین دلیل شما دیگر احتیاجی به تماشای تبلیغات و استفاده از VPN ندارید.
با لیبرهتیوب شما هیچ اتصالی به یوتیوب ندارید پس میتوانید با خیال راحت نسبت به دنبال شدن و نقض حریمخصوصیتان توسط گوگل به تماشای ویدیوها بپردازید.
به دلیل استفادهی «لیبرهتیوب» از کدینگ ویدئویی DASH در سمت سرور، ترافیک مصرفی شما میتواند تا ۵۰٪ کاهش یابد.
دانلود از مخزن گیتهاب
https://github.com/libre-tube/LibreTube/releases/tag/v0.22.2
دانلود از f droid
https://f-droid.org/en/packages/com.github.libretube
https://apt.izzysoft.de/fdroid/index/apk/com.github.libretube
@persians_python
یوتیوب بدون فیلترشکن و تبلیغات
بروزرسانی جدید هم اکنون در دسترس است
https://libre-tube.github.io/
لیبرهتیوب یک نرمافزار آزاد و اوپن سورس برای استفاده از یوتیوب است که تبلیغات را به طور اتوماتیک حذف میکند و ویدیوها را پراکسی میکند، به همین دلیل شما دیگر احتیاجی به تماشای تبلیغات و استفاده از VPN ندارید.
با لیبرهتیوب شما هیچ اتصالی به یوتیوب ندارید پس میتوانید با خیال راحت نسبت به دنبال شدن و نقض حریمخصوصیتان توسط گوگل به تماشای ویدیوها بپردازید.
به دلیل استفادهی «لیبرهتیوب» از کدینگ ویدئویی DASH در سمت سرور، ترافیک مصرفی شما میتواند تا ۵۰٪ کاهش یابد.
دانلود از مخزن گیتهاب
https://github.com/libre-tube/LibreTube/releases/tag/v0.22.2
دانلود از f droid
https://f-droid.org/en/packages/com.github.libretube
https://apt.izzysoft.de/fdroid/index/apk/com.github.libretube
@persians_python
👎3
JavaScript : Visual Studio Code
Java : IntelliJ IDEA
Swift : Xcode
Go : Visual Studio Code
Ruby : RubyMine
TypeScript : Visual Studio Code
Kotlin : IntelliJ IDEA
Rust : Visual Studio Code
MATLAB : MATLAB Editor
SQL : SQL Server Management Studio
R : RStudio
Scala : IntelliJ IDEA
Perl : Padre
Shell Scripting : Visual Studio Code
Lua : Visual Studio Code
Objective-C : Xcode
Dart : Visual Studio Code
Groovy : IntelliJ
Visual Basic : Visual Studio IDE
Assembly : Visual Studio Code
Lisp : Emacs
Haskell : GHCi
F# : Visual Studio Code
PowerShell : PowerShell
Clojure : Emacs
#SADRA_K
Please open Telegram to view this post
VIEW IN TELEGRAM
👌3👍1👎1
سلام به همگی تصویر استوری مجتمع فنی رو گذاشتم دو مطلب قبل ولی دوباره اعلام میکنم طبق اعلام مجتمع فنی کلاس ها از شنبه 18 فروردین رسماً شروع میشه
برای آخرین مطلب راجع به نات کوین
اینکه فکر کنید با کلیک کردن قراره کسی پولدار بشه یه رویای خوشایند غیرواقعی هست این شکل پروژه ها با استفاده از اهرم تعداد افراد به یه پروژه ای ارزش میدن و حالا ممکنه در آینده با ایده های پشتش بتونن این ارز رو قیمت گذاری کنند بهش به عنوان یک بازی نگاه کنید مثل کلی بازی دیگه که با بازی کردن و بازار nft میشه یه درآمد زایی انجام داد
مهم ترین نکته ای که باید در نظر گرفته بشه این شکل پروژه ها و احتمالا پروژه های در آینده دارن به بزرگتر شدن شبکه تلگرام یعنی ton کمک میکنند ، آینده درخشانی که در انتظار تلگرام و شبکه ton بعنوان شبکه انتقال دارایی خواهد بود
فرصتی که برای یک برنامه نویس بوجود اومده
با درآمد زا شدن کانال های تلگرامی قطعا ساخت ربات های کاربردی میتونه ایده های پول سازی باشه و وقتش شده که ساخت ربات تلگرام با پایتون رو کاملا جدی بگیرید و به دنبال ایده های ناب باشید
حتی در صورت قیمت گذاری نات کوین درآمدی که خواهد داشت به اندازه درآمد یک هفته یک پیک موتوری هم نخواهد بود پس تمرکز رو روی یادگیری بذارید و دنبال رویاهای محال نرید
اینکه فکر کنید با کلیک کردن قراره کسی پولدار بشه یه رویای خوشایند غیرواقعی هست این شکل پروژه ها با استفاده از اهرم تعداد افراد به یه پروژه ای ارزش میدن و حالا ممکنه در آینده با ایده های پشتش بتونن این ارز رو قیمت گذاری کنند بهش به عنوان یک بازی نگاه کنید مثل کلی بازی دیگه که با بازی کردن و بازار nft میشه یه درآمد زایی انجام داد
مهم ترین نکته ای که باید در نظر گرفته بشه این شکل پروژه ها و احتمالا پروژه های در آینده دارن به بزرگتر شدن شبکه تلگرام یعنی ton کمک میکنند ، آینده درخشانی که در انتظار تلگرام و شبکه ton بعنوان شبکه انتقال دارایی خواهد بود
فرصتی که برای یک برنامه نویس بوجود اومده
با درآمد زا شدن کانال های تلگرامی قطعا ساخت ربات های کاربردی میتونه ایده های پول سازی باشه و وقتش شده که ساخت ربات تلگرام با پایتون رو کاملا جدی بگیرید و به دنبال ایده های ناب باشید
حتی در صورت قیمت گذاری نات کوین درآمدی که خواهد داشت به اندازه درآمد یک هفته یک پیک موتوری هم نخواهد بود پس تمرکز رو روی یادگیری بذارید و دنبال رویاهای محال نرید
تو دنیای برنامه نویسی یکسری قرارداد های نامگذاری وجود داره برای اینکه بتونیم کدهای خوانایی بزنیم و ازونجایی که در دنیای برنامه نویسی چیزهای زیادی مانند متغیرها، توابع، کلاس ها، متد ها و ... وجود داره توسعه دهنده ها تصمیم گرفتن تا از کیس تایپ های مختلفی استفاده کنند برای نامگذاری.
اکثر ( اگر نگیم همه ) زبان های برنامه نویسی هر کلمه رو یک چیز کاملا جدا و منحصر فرد در نظر میگیرند. مثال زیر رو برای نامگذاری یک متغیر در نظر بگیرید
Number of donuts = 34
سه کلمه ی (number, of, donuts) در یک زبان برنامه نویسی به صورت مستقل باهاشون رفتار میشه به علت اینکه کارکتر اسپیس بین انها قرار گرفته است. برای اینکه برنامتون به درستی کار بکنه باید کارکتر های اسپیس رو حذف بکنید و اونرو به یک استرینگ واحد به شیوه خاصی تبدیل کنید.
4 نوع تایپ کیس داریم که جلوتر بهتون توضیح میدم ولی در همین ابتدا بگم هیچ جواب قاطعی برای اینکه کدوم بهتره وجود نداره.
شما باید با توجه به بست پرکتیس های زبان پروژتون انتخاب کنید که قراره از کدوم تایپ کیس استفاده کنید.
—————————————————————-
1- snake_case
- تمام حروف باید کوچک باشند.
- هر کلمه با استفاده از _ به هم وصل میشود.
بیشتر در زبان پایتون این قابل مشاهده هست و در زبان هایی مثل جاوا، جاوااسکریپت کمتر دیده میشه.
● کاربرد ها :
- ساختن متغیر ها، نام متد ها
- اسامی جدول و ستون های یک دیتابیس
همچنین یک ورژن دیگه از snake case وجود داره که از حروف بزرگ استفاده میشه و معمولا در زبان های برنامه نویسی مواقعی استفاده میشه که نشان دهنده داده ای است که در طول برنامه تغییر نخواهد کرد.
—————————————————————-
2- kebab-case
- تمام حروف باید کوچک باشند.
- هر کلمه با استفاده از – به هم وصل میشود.
● کاربرد ها :
- در یو ار ال ها (URLs) مشاهده میشود.
—————————————————————-
3- camelCase
- حرف اول کلمه اول کوچک و حرف اول بقیه کلمات بزرگ است.
● کاربرد ها :
- در زبان های جاوا، جاوااسکریپت واسه ساخت متغیر ها و توابع و اسامی متد ها استفاده میشود
—————————————————————-
4- PascalCase
- حرف اول تمام کلمات بزرگ نوشته میشود.
● کاربرد ها :
- در نامگذاری کلاس ها در اکثر زبان ها کاربرد دارد.
—————————————————————-
منبع
حالا بنظر شما ایدی چنل ما از کدوم تایپ کیس استفاده کرده؟
#monitoring
#mahyar
اکثر ( اگر نگیم همه ) زبان های برنامه نویسی هر کلمه رو یک چیز کاملا جدا و منحصر فرد در نظر میگیرند. مثال زیر رو برای نامگذاری یک متغیر در نظر بگیرید
Number of donuts = 34
سه کلمه ی (number, of, donuts) در یک زبان برنامه نویسی به صورت مستقل باهاشون رفتار میشه به علت اینکه کارکتر اسپیس بین انها قرار گرفته است. برای اینکه برنامتون به درستی کار بکنه باید کارکتر های اسپیس رو حذف بکنید و اونرو به یک استرینگ واحد به شیوه خاصی تبدیل کنید.
4 نوع تایپ کیس داریم که جلوتر بهتون توضیح میدم ولی در همین ابتدا بگم هیچ جواب قاطعی برای اینکه کدوم بهتره وجود نداره.
شما باید با توجه به بست پرکتیس های زبان پروژتون انتخاب کنید که قراره از کدوم تایپ کیس استفاده کنید.
—————————————————————-
1- snake_case
- تمام حروف باید کوچک باشند.
- هر کلمه با استفاده از _ به هم وصل میشود.
بیشتر در زبان پایتون این قابل مشاهده هست و در زبان هایی مثل جاوا، جاوااسکریپت کمتر دیده میشه.
● کاربرد ها :
- ساختن متغیر ها، نام متد ها
- اسامی جدول و ستون های یک دیتابیس
همچنین یک ورژن دیگه از snake case وجود داره که از حروف بزرگ استفاده میشه و معمولا در زبان های برنامه نویسی مواقعی استفاده میشه که نشان دهنده داده ای است که در طول برنامه تغییر نخواهد کرد.
—————————————————————-
2- kebab-case
- تمام حروف باید کوچک باشند.
- هر کلمه با استفاده از – به هم وصل میشود.
● کاربرد ها :
- در یو ار ال ها (URLs) مشاهده میشود.
—————————————————————-
3- camelCase
- حرف اول کلمه اول کوچک و حرف اول بقیه کلمات بزرگ است.
● کاربرد ها :
- در زبان های جاوا، جاوااسکریپت واسه ساخت متغیر ها و توابع و اسامی متد ها استفاده میشود
—————————————————————-
4- PascalCase
- حرف اول تمام کلمات بزرگ نوشته میشود.
● کاربرد ها :
- در نامگذاری کلاس ها در اکثر زبان ها کاربرد دارد.
—————————————————————-
منبع
حالا بنظر شما ایدی چنل ما از کدوم تایپ کیس استفاده کرده؟
#monitoring
#mahyar
freeCodeCamp.org
Snake Case VS Camel Case VS Pascal Case VS Kebab Case – What's the Difference Between Casings?
As a software engineer, you may be familiar with the following quote by Leon Bambrick: “There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors.” Indeed, naming things when programming can be challengin...
👍6
بنچمارکینگ ( benchmark test) چیست؟؟؟
همیشه بحث بر سر کدهامون هست
مدام و مدام کد میزنیم چه در قالب فردی، چه در قالب گروهی و موضوع اصلی همیشه پابرجاست کد ما چقدر خوب و سریع هستش
یک کد رو از دیدگاههای مختلفی میشه بررسی کرد سرعت اجرایی اون در حالتهای مختلف، محک گذاری برای یافتن تنگناها، ناکارآمدی ها و رگرسیونها
تست عملکرد (benchmark) شامل قراردادن کد در معرض عوامل استرس زا و سناریوهای مختلف جهت سنجش پاسخگویی، ثبات و مقیاس پذیری است
از طرفی هم معیارسنجی فرآیند اندازهگیری زمان اجرای کد یا استفاده از منابع برای ایجاد یک خط پایه عملکرد و پیگیری تغییرات در طول زمان است
در خصوص موضوع این پست pytest متحد ما خواهد بود و در کنار آن pytest benchmark همراه ما خواهد بود
چرا باید کدهای خود را محک بزنیم؟؟؟
پیش نیازها
این کتابخونه به ما امکان این رو میده که کدهامون رو تو حالتهای مختلف و تعداد بالا محک بزنیم با استفاده از pytest گروه بندی کنیم خروجی هارو نگه داریم و هنگام توسعه خروجیها رو با هم مقایسه کنه و اینکه هیستوگرام بنچمارک رو هم برامون رسم کنه
به طور پیش فرض، pytest-benchmark محک گذاری مبتنی بر زمان را انجام می دهد. زمان اجرای کد مورد آزمایش را اندازه گیری می کند و آماری در مورد زمان بندی هر اجرا ارائه می دهد.
که موارد زیر رو شامل میشه
توضیحات رو در کامنتها براتون میزارم
در پست بعدی یک نمونه عملی رو باهم انجام میدیم
#monitoring
#mahyar
همیشه بحث بر سر کدهامون هست
مدام و مدام کد میزنیم چه در قالب فردی، چه در قالب گروهی و موضوع اصلی همیشه پابرجاست کد ما چقدر خوب و سریع هستش
یک کد رو از دیدگاههای مختلفی میشه بررسی کرد سرعت اجرایی اون در حالتهای مختلف، محک گذاری برای یافتن تنگناها، ناکارآمدی ها و رگرسیونها
تست عملکرد (benchmark) شامل قراردادن کد در معرض عوامل استرس زا و سناریوهای مختلف جهت سنجش پاسخگویی، ثبات و مقیاس پذیری است
از طرفی هم معیارسنجی فرآیند اندازهگیری زمان اجرای کد یا استفاده از منابع برای ایجاد یک خط پایه عملکرد و پیگیری تغییرات در طول زمان است
در خصوص موضوع این پست pytest متحد ما خواهد بود و در کنار آن pytest benchmark همراه ما خواهد بود
چرا باید کدهای خود را محک بزنیم؟؟؟
۱-برای بهینه سازی الگوریتمها و تکههای کد، شناسایی تنگناهای عملکرد و اعتبارسنجی پیشرفتها
۲-در مقایسه نسخههای متفاوت کمک میکند و اطمینان حاصل میکند که نسخههای جدید عملکرد را حفظ یا بهبود داده
۳-به تست سازگاری سخت افزار و پلتفرم کمک میکند و اختلافات را در محیطهای مختلف برجسته میکند
۴-در خطوط لوله یکپارچه سازی پیوسته، محک زدن بعنوان یک سیستم هشدار اولیه عمل میکند و از رگرسیون عملکرد جلوگیری میکند(به این معنی که کد جدید بر عملکرد قبلی تاثیر منفی نمیگذارد)
۵-در نهایت کمک میکند تا با مقایسه عملکرد کتابخانهها مختلف، انتخابهای فناوری آگاهانه داشته باشیمپیش نیازها
دانش پایهای از پایتون و ساختارهای داده(list, tuple, string)
دانش پایهای از pytest
اندکی دانش از الگوریتمها
pip install pytest
pip install pytest-benchmarkاین کتابخونه به ما امکان این رو میده که کدهامون رو تو حالتهای مختلف و تعداد بالا محک بزنیم با استفاده از pytest گروه بندی کنیم خروجی هارو نگه داریم و هنگام توسعه خروجیها رو با هم مقایسه کنه و اینکه هیستوگرام بنچمارک رو هم برامون رسم کنه
به طور پیش فرض، pytest-benchmark محک گذاری مبتنی بر زمان را انجام می دهد. زمان اجرای کد مورد آزمایش را اندازه گیری می کند و آماری در مورد زمان بندی هر اجرا ارائه می دهد.
که موارد زیر رو شامل میشه
Min
Max
Mean
StdDev
Median
IQR
Outliers
OPS (Mops/s)
Rounds
Iterationsتوضیحات رو در کامنتها براتون میزارم
در پست بعدی یک نمونه عملی رو باهم انجام میدیم
#monitoring
#mahyar
👌5
خب بیاید با یک پروژه ساده پیش بریم دایرکتوری کاری ما به شکل زیر خواهد بود
توضیحات
با دستور زیر گروه sort_small رو اجرا میکنیم
با دستور زیر میتونیم هیستوگرام اون رو هم ببینیم
و اما یک سوال
ایا اگر در تابع تستی نیاز به خوندن داده از کسیر خاصی یا دیتابیس خاصی باشد آیا این تایم صرف شده رو در بررسی سطح عملکر و محک تاثیر میده؟؟؟ طبق اسناد این کتابخونه خیر
#monitoring
#mahyar
Plbenchmark-test
├── src
│ └── sorting_examples.py
└── test
├── conftest.py
└── test_benchmark.pتوضیحات
در داخل فایل sorting_example.py سه الگوریتم مرتب سازی قرار دادیم
در فایل conftest.py دو نوع داده ورودی کوچک و بزرگ برای تستهامون ساختیم
در فایل test_benchmark.py تستهامون رو نوشتیمبا دستور زیر گروه sort_small رو اجرا میکنیم
pytest -m sort_small -v -sو خروجی سه تستی که برای اون نوشتیم رو میبینیم که شامل موارد ذکر شده در پست قبلی میباشد
با دستور زیر میتونیم هیستوگرام اون رو هم ببینیم
pip install pygalدر پست قبلی گفته بودیم که این کتابخونه پیش فرض بر روی زمان اجرا تمرکز دارد با دستور زیر و احرا کردن یک قسمت خاص از کدهای تست میتونید این مورد رو مشاهده کنید
pytest --benchmark-histogram -m sort-larg
هیستوگرام رو در یک تصویر در مسیر جاریتون خواهد ساخت هر تابع تست شده رو به شکل یک کندل نشون میده
pytest --benchmark-histogram -m benchmarkو با دستور زیر در هربار اجرا میتوانید بنچمارک رو ذخیره کنید
خروجی تست عملکرد در خط فرمان و هیستوگرام در یک فایل تصویری بصورت کندل
pytest -m sort_large --benchmark-autosaveو اخرین دستور جهت مقایسه دو مقدار بنچمارک ذخیره شده
در مسیر جاری و در دایرکتوری benchmarks. این فایلهارو مطابق با ورژن پایتون ذخیره میکند در ابتدای هر فایل یک مقدار چهر عددی قرار میده که بعدا از این برای مقابسه دو بنچمارک باهم استفاده میکنیم
جالبه بدونید که مشخصات سخت افزار و نود ،تاریخ و ورژن ، مشخصات پردازنده بصورت و ... روکامل هم ذخیره میکنه تا در هربار بنچمارک بتونید مقایسه کاملی انجام دهید
pytest-benchmark compare 0001 0002
نتایج خروجی رو در خط فرمان میتونید مشاهده کنیدو اما یک سوال
ایا اگر در تابع تستی نیاز به خوندن داده از کسیر خاصی یا دیتابیس خاصی باشد آیا این تایم صرف شده رو در بررسی سطح عملکر و محک تاثیر میده؟؟؟ طبق اسناد این کتابخونه خیر
#monitoring
#mahyar
👍4
پایتون فارسی(PyCore)
خب بیاید با یک پروژه ساده پیش بریم دایرکتوری کاری ما به شکل زیر خواهد بود Plbenchmark-test ├── src │ └── sorting_examples.py └── test ├── conftest.py └── test_benchmark.p توضیحات در داخل فایل sorting_example.py سه الگوریتم مرتب سازی قرار دادیم…
این ریپوزیتوری میتونید دریافت کنید ، و فایل ها و کد رو روی سیستم خودتون ببنید و اجرا کنید
GitHub
GitHub - mahyardelbari/benchmark-test-master
Contribute to mahyardelbari/benchmark-test-master development by creating an account on GitHub.
👍4
کتابخانه pydantic یکهمه کاره در validate!?
اگر قراره یک داده رو بصورت صفر تا صد validate کنید چه از لحاظ نوع داده که عدد باشه یا رشته یا حتی لیست یا دیکشنری باشه که داخلش مجموعه ای از استرینگ ها باشه
فیلد های داخل کلاس رو چک کنید مثلا پسورد و تکرار پسورد که هر کدوم ساختار خاصی داشته باشند مثل regix ها و ....
حتی پارامتری که به تابع پاس داده میشه رو میتونید با دکوریتوری که در اختیار میذاره قبل از پاسخ دادن چک کنه و اگه valid بود تازه پاس بده به تابع یا حتی نوع خروجی که تابع return میکنه رو چک کنه و کلی امکانات دیگه
یک مثال ساده
( pip install pydantic )ابتدا با دستور
کتابخانه رو نصب میکنید
حالا میخایم یک کلاس بسازیم که نام و شماره دانشجویی فرد رو بگیره و نوعش رو چک کنه
from pydantic import BaseModel
class NameValid(BaseModel):
name : str
number : int
user1 = NameValid (name="ali" , number = 12345 )
print(user1)
اگر همه چیز درست باشه دقیقا داده ها رو بهتون برمی گردونه اما اگه تایپ ها اشتباه باشه ValidationError برمی گردونه که میتونید با try و except مدیریتش کنید
داده های پاس داده شده میتونند بصورت Json باشند که در وب خیلی زیاد ازشون استفاده میشه
#M_Sh
@persians_python
اگر قراره یک داده رو بصورت صفر تا صد validate کنید چه از لحاظ نوع داده که عدد باشه یا رشته یا حتی لیست یا دیکشنری باشه که داخلش مجموعه ای از استرینگ ها باشه
فیلد های داخل کلاس رو چک کنید مثلا پسورد و تکرار پسورد که هر کدوم ساختار خاصی داشته باشند مثل regix ها و ....
حتی پارامتری که به تابع پاس داده میشه رو میتونید با دکوریتوری که در اختیار میذاره قبل از پاسخ دادن چک کنه و اگه valid بود تازه پاس بده به تابع یا حتی نوع خروجی که تابع return میکنه رو چک کنه و کلی امکانات دیگه
یک مثال ساده
( pip install pydantic )ابتدا با دستور
کتابخانه رو نصب میکنید
حالا میخایم یک کلاس بسازیم که نام و شماره دانشجویی فرد رو بگیره و نوعش رو چک کنه
from pydantic import BaseModel
class NameValid(BaseModel):
name : str
number : int
user1 = NameValid (name="ali" , number = 12345 )
print(user1)
اگر همه چیز درست باشه دقیقا داده ها رو بهتون برمی گردونه اما اگه تایپ ها اشتباه باشه ValidationError برمی گردونه که میتونید با try و except مدیریتش کنید
داده های پاس داده شده میتونند بصورت Json باشند که در وب خیلی زیاد ازشون استفاده میشه
#M_Sh
@persians_python
👍5