conventions.yml
1.9 KB
🔅 با نگاهی به این فایل میتونید ببینید که چطوری میشه در github action ها از میکروسکوپ به همراه لایه ی کش بهره برد.
▪️این فایل رو من برای پروژه خودمون نوشتم ولی اگر شما هم پروژه لاراولی رو گیت هاب دارید، احتمالا بتونید از این فایل بدون تغییر روی پروژه تون استفاده کنید.
@codino
▪️این فایل رو من برای پروژه خودمون نوشتم ولی اگر شما هم پروژه لاراولی رو گیت هاب دارید، احتمالا بتونید از این فایل بدون تغییر روی پروژه تون استفاده کنید.
@codino
👏11👍1👌1
Printer.php
9.1 KB
این فایل رو داخل پوشه tests قرار بدید و بعد این دستور رو اجرا کنید:
اتفاق جالبی براتون میافته 😏
البته اگر تستی در بساط داشته باشید...
@codino
php artisan test --printer=Tests\Printer
اتفاق جالبی براتون میافته 😏
البته اگر تستی در بساط داشته باشید...
@codino
👀7👍3🤓1
پروژه تون رو کجا گذاشتید؟
Anonymous Poll
65%
GitHub
31%
Gitlab
4%
Bitbucket
18%
Private Server
6%
Other
TestParallel.php
3.1 KB
این فایل رو میتونید بذارید داخل پوشه commands
و با دستور artisan test:parallel
تستهاتون رو به صورت موازی در ۳ رشته مجزا اجرا کنید.
البته در نظر داشته باشید که که باید سه فایل phpunit1.xml و phpunit2.xml , phpunit3.xml رو تعریف کنید و داخل شون تست سوییت های متفاوت برای پوشه های متفاوت بنویسید. (مثال ش رو در قسمت کامنت ها ببینید)
برای پروژه ما سرعت تست ها تقریبا ۲ برابر شد.
به هر حال یه نگاهی به محتوای فایل داشته باشید. آموزنده س.
@codino
و با دستور artisan test:parallel
تستهاتون رو به صورت موازی در ۳ رشته مجزا اجرا کنید.
البته در نظر داشته باشید که که باید سه فایل phpunit1.xml و phpunit2.xml , phpunit3.xml رو تعریف کنید و داخل شون تست سوییت های متفاوت برای پوشه های متفاوت بنویسید. (مثال ش رو در قسمت کامنت ها ببینید)
برای پروژه ما سرعت تست ها تقریبا ۲ برابر شد.
به هر حال یه نگاهی به محتوای فایل داشته باشید. آموزنده س.
@codino
❤13
Codino School
در نسخه v1.0.353 دستور: php artisan check:imports --folder=folder1,folder2 قابلیت این رو داره که چند تا فولدر رو بهش بدید و بین شون کاما , بگذارید. سایر دستورات هم این قابلیت رو دارند البته. https://github.com/imanghafoori1/laravel-microscope @codino
در نسخه ی v1.0.364 میتونید دستور زیر رو اجرا کنید:
تبدیل خودکار توابع بینام به معادل شون از نوع پیکانی
@codino
php artian check:arrow_functions --folder=appتبدیل خودکار توابع بینام به معادل شون از نوع پیکانی
fn () =>
@codino
🤓6❤2
👍1🥴1
آیا code coverage رو برای تست هاتون اندازه گیری میکنید؟
Anonymous Poll
20%
بله
40%
خیر
40%
تست نداریم
😁5👀4
▪️شاید باورتون نشه ولی با تغییر ترتیب اعضای این آرایه دستور check:import حدود ۳۰-۴۰٪ سریع تر اجرا شد.
▪️ منطق شم اینه:
اونایی که به لحاظ آماری تو کد پر تکرار هستند باید بالاتر قرار بگیرند و اونایی که به ندرت استفاده میشن باید برن پایین...
چون از بالا به پایین وقتی داره جستجو میکنه به محض پیدا شدن، ادامه لیست رو بررسی نمیکنه. پس چه بهتر که پرکاربردها بالا باشن که پایینی ها الکی بررسی نشن.
▪️ نسخه جدید هنوز منتشر نشده...
@codino
▪️ منطق شم اینه:
اونایی که به لحاظ آماری تو کد پر تکرار هستند باید بالاتر قرار بگیرند و اونایی که به ندرت استفاده میشن باید برن پایین...
چون از بالا به پایین وقتی داره جستجو میکنه به محض پیدا شدن، ادامه لیست رو بررسی نمیکنه. پس چه بهتر که پرکاربردها بالا باشن که پایینی ها الکی بررسی نشن.
▪️ نسخه جدید هنوز منتشر نشده...
@codino
👍9🔥3
قبل و بعد از این بهینه سازی
دستور نصب میکروسکوپ:
دستور بهینه سازی شده در نسخه جدید:
احتمالا در نسخه های بعدی سریع تر هم بشه 🙂
@codino
دستور نصب میکروسکوپ:
composer require imanghafoori/laravel-microscope --dev
دستور بهینه سازی شده در نسخه جدید:
php artisan check:import
احتمالا در نسخه های بعدی سریع تر هم بشه 🙂
@codino
👍8😁1
در بهینه سازی مجدد در نسخه
روش بهینه سازی این بار استفاده از hash table به جای عملگر
https://github.com/imanghafoori1/laravel-microscope
🔬🔬🔬
@codino
v1.0.366 این بار سرعت اجرا دستور زیر ۲ برابر شد.روش بهینه سازی این بار استفاده از hash table به جای عملگر
=== بود.php artisan check:importhttps://github.com/imanghafoori1/laravel-microscope
🔬🔬🔬
@codino
👍5
اگر میخواید از deep source استفاده کنید باید این متغیر رو بگذارید داخل github secrets تا بتونید گزارش code coverage رو براش ارسال کنید...
@codino
@codino
👍4
👌10👍3👀3
به نظرم هوش مصنوعی جای برنامه نویسها نمیگیره ولی احتمالا بتونه به عصر تاریک بیتستی پایان بده...
https://www.codium.ai/
@codino
https://www.codium.ai/
@codino
Qodo
[DS] Homepage
Qodo is an agentic code integrity platform for reviewing, testing, and writing code, integrating AI across development workflows to strengthen code quality at every stage.
👍10🔥3