در بازی The Farmer Was Replaced یک پهپاد را با استفاده از یک زبان ساده شبیه پایتون برنامهریزی می کنید کنید تا کارهای مختلف کشاورزی را به طور کامل خودکار انجام دهد در غیر این صورت بسیار سخت خواهند بود. فقط با فشار دادن “execute” همه کارها انجام خواهد شد.
مشاهده در steam
دانلود بازی
#game
#python
اطلاعات بیشتر در 😎👇
@developerManifest
مشاهده در steam
دانلود بازی
#game
#python
اطلاعات بیشتر در 😎👇
@developerManifest
بیپروژه ماندهام چو کُدی فراموش
چون سایت بیکاربر، غریب و خاموش
نه مشتری آمد، نه کارفرما زنگ
ماندم بهسان سرور، ولی بیدرنگ!
کُدی ننوشتهام، پروژه ندارم هنوز
ماندهام حیران، مثل مرورگر فریز و سوز
گیتهام خالی است، بیکارم شب و نهار
مثل دکمهی Submit، بیکلیک و بیکار!
#طنز_نویس
اطلاعات بیشتر 😎👇
@developermanifest
چه طور در PHP تصاویر مات درست کنیم؟ (با استفاده از gd)
کافی هست کلاس زیر را به پروژه اضافه کنید:
نحوه استفاده :
⚠️ دقت کنید هرچه اندازه تصویر ساخته شده بزرگتر باشه ، زمان ایجاد تصویر هم طولانی تر میشه ، پس می توانید ساخت تصویر را در لاراول به صورت یک job تعریف کنید.
❇️ امکان استفاده در
Spatie Media Library
هست ؟
✅ بله در کامنت ها یک مثال گذاشتم ببینید
اطلاعات بیشتر در 😎👇
@developerManifest
کافی هست کلاس زیر را به پروژه اضافه کنید:
https://gist.github.com/saeedvir/49b858ad58b4b19b4591898c8948300b
نحوه استفاده :
$thumb = new ThumbBlur(
source: public_path('original.png'),
width: 640,
height: 480,
blur: 30,
quality: 45,
fileType: 'png',
blurIterations: 1,
outputDir: ''
);
$path = $thumb->generate();
⚠️ دقت کنید هرچه اندازه تصویر ساخته شده بزرگتر باشه ، زمان ایجاد تصویر هم طولانی تر میشه ، پس می توانید ساخت تصویر را در لاراول به صورت یک job تعریف کنید.
❇️ امکان استفاده در
Spatie Media Library
هست ؟
✅ بله در کامنت ها یک مثال گذاشتم ببینید
اطلاعات بیشتر در 😎👇
@developerManifest
👍4👌1
چه طور از پکیج های کامپوزر به صورت لوکال استفاده کنیم ؟
https://dev.to/robertobutti/how-to-use-local-packages-in-composer-a-guide-for-php-developers-h89
#tip
#composer
#laravel
اطلاعات بیشتر در 😎👇
@developerManifest
https://dev.to/robertobutti/how-to-use-local-packages-in-composer-a-guide-for-php-developers-h89
#tip
#composer
#laravel
اطلاعات بیشتر در 😎👇
@developerManifest
❤2
GraphQL
یک زبان پرسوجو (Query Language) و همچنین یک محیط اجرایی برای APIهاست که توسط فیسبوک توسعه داده شد. هدف اصلی آن این است که کلاینت بتواند دقیقاً همان دادهای را که نیاز دارد درخواست کند؛ نه کمتر و نه بیشتر.
برای پیاده سازی در لاراول ، پکیج های زیادی هست. از جمله :
#laravel
#tip
#package
اطلاعات بیشتر در 😎👇
@developerManifest
یک زبان پرسوجو (Query Language) و همچنین یک محیط اجرایی برای APIهاست که توسط فیسبوک توسعه داده شد. هدف اصلی آن این است که کلاینت بتواند دقیقاً همان دادهای را که نیاز دارد درخواست کند؛ نه کمتر و نه بیشتر.
برای پیاده سازی در لاراول ، پکیج های زیادی هست. از جمله :
nuwave/lighthouse
rebing/graphql-laravel
mll-lab/laravel-graphiql
secundo/laravel-graphql-query-builder
https://lighthouse-php.com/master/getting-started/installation.html
#laravel
#tip
#package
اطلاعات بیشتر در 😎👇
@developerManifest
یک کتابخانه عالی برای کار با رنگ ها در PHP/Laravel
#laravel
#php
#package
اطلاعات بیشتر در 😎👇
@developerManifest
composer require tomloprod/colority
$hexColor = colority()->fromHex('#51B389');
$similarHexColor = colority()->getSimilarColor($hexColor);
$hslColor = colority()->textToColor("Hi, I'm Tomás");
$imageColors = colority()->getImageColors(
imagePath: __DIR__.'/image-colors.png',
desiredNumColors: 10
);
#laravel
#php
#package
اطلاعات بیشتر در 😎👇
@developerManifest
🔥2
تابع rescue در لاراول
تابع rescue() یک Helper Function برای مدیریت ایمن Exceptionها است که اجازه میدهد بدون استفاده از try/catch صریح، یک عملیات پرریسک را اجرا کرده و در صورت بروز خطا، مقدار جایگزین (fallback) دریافت کنید.
#laravel
#tip
اطلاعات بیشتر در 😎👇
@developerManifest
تابع rescue() یک Helper Function برای مدیریت ایمن Exceptionها است که اجازه میدهد بدون استفاده از try/catch صریح، یک عملیات پرریسک را اجرا کرده و در صورت بروز خطا، مقدار جایگزین (fallback) دریافت کنید.
rescue(callable $callback, mixed $rescue = null, bool $report = true)
$content = rescue(
fn () => file_get_contents(storage_path('data.json')),
'{}'
);
$userName = rescue(
fn () => User::findOrFail($id)->name,
fn () => 'Guest'
);
$result = rescue(
fn () => externalApiCall(),
null,
false
);
$price = rescue(
fn () => $product->prices->first()->amount,
0
);
#laravel
#tip
اطلاعات بیشتر در 😎👇
@developerManifest
👌1
پِرِستو: جایگزینی سریع و هوشمند برای Composer در PHP
پِرِستو یک برنامه مدیریت وابستگی برای PHP است که بهعنوان جایگزینی سریع برای Composer طراحی شده است.
این ابزار با زبان Go نوشته شده و با فایلهای composer.json و composer.lock کاملاً سازگار است.
سرعت نصب بستهها در پِرِستو تا ۲۰ برابر بیشتر از Composer است،
در پروژههای بزرگ مانند Laravel، زمان نصب از ۴۲ ثانیه به ۳.۸ ثانیه کاهش یافته است.
#php
#tools
اطلاعات بیشتر در 😎👇
@developerManifest
پِرِستو یک برنامه مدیریت وابستگی برای PHP است که بهعنوان جایگزینی سریع برای Composer طراحی شده است.
این ابزار با زبان Go نوشته شده و با فایلهای composer.json و composer.lock کاملاً سازگار است.
سرعت نصب بستهها در پِرِستو تا ۲۰ برابر بیشتر از Composer است،
در پروژههای بزرگ مانند Laravel، زمان نصب از ۴۲ ثانیه به ۳.۸ ثانیه کاهش یافته است.
https://github.com/paramientos/presto
#php
#tools
اطلاعات بیشتر در 😎👇
@developerManifest
👍4
ماگو (Mago) یک ابزار توسعه برای PHP است که با زبان Rust نوشته شده و قابلیت های زیر رو دارد :
Formatter
کدهای PHP شما را به صورت استاندارد و مرتب قالببندی میکند.
Linter
مشکلات سبک کدنویسی و ناسازگاریها را پیدا میکند.
Static Analyzer
بدون اجرای کد، خطاهای نوع و باگهای منطقی را تشخیص میدهد.
Architectural Guard
قوانین وابستگیها و ساختار پروژه را بررسی میکند.
نحوه نصب و استفاده
راهنمای هوش مصنوعی
#php
#analyzer
#tools
اطلاعات بیشتر در 😎👇
@developerManifest
Formatter
کدهای PHP شما را به صورت استاندارد و مرتب قالببندی میکند.
Linter
مشکلات سبک کدنویسی و ناسازگاریها را پیدا میکند.
Static Analyzer
بدون اجرای کد، خطاهای نوع و باگهای منطقی را تشخیص میدهد.
Architectural Guard
قوانین وابستگیها و ساختار پروژه را بررسی میکند.
نحوه نصب و استفاده
https://mago.carthage.software/guide/installation
راهنمای هوش مصنوعی
https://context7.com/websites/mago_carthage_software_guide?tab=chat
#php
#analyzer
#tools
اطلاعات بیشتر در 😎👇
@developerManifest
🔥1
راهنمای کامل هوک ها (Hook) در لایووایر
#livewire
#laravel
#tip
اطلاعات بیشتر در 😎👇
@developerManifest
https://noscriptbinary.com/livewire/livewire-lifecycle-hooks-guide
#livewire
#laravel
#tip
اطلاعات بیشتر در 😎👇
@developerManifest
🔧 اگر با لاراول کار میکنی و دنبال راهی برای بررسی عملکرد و پروفایلگیری دقیق هستی، پروژه LaravelProfileProvider رو از دست نده!
این ابزار سبک و کاربردی بهت کمک میکنه تا رفتار اپلیکیشنت رو بهتر بشناسی، مشکلات پنهان رو کشف کنی و تجربه کاربری رو بهینهسازی کنی.
📊 با قابلیتهای قابل توسعه و طراحی تمیز، آمادهست تا وارد پروژههای
حرفهای بشه.
📌 قابلیتها:
⏱ اندازهگیری زمان اجرا هر سرویسپراوایدر
🧠 تحلیل مصرف حافظه در لحظه ثبت سرویسها
🧪 بررسیهای تشخیصی برای کشف رفتارهای غیرمنتظره
🔍 پروفایلگیری دقیق از فرآیند بوت شدن اپلیکیشن
📎 لینک گیتهاب:
github.com/saeedvir/LaravelProfileProvider
#laravel
#package
#optimize
اطلاعات بیشتر در 😎👇
@DeveloperManifest
این ابزار سبک و کاربردی بهت کمک میکنه تا رفتار اپلیکیشنت رو بهتر بشناسی، مشکلات پنهان رو کشف کنی و تجربه کاربری رو بهینهسازی کنی.
📊 با قابلیتهای قابل توسعه و طراحی تمیز، آمادهست تا وارد پروژههای
حرفهای بشه.
📌 قابلیتها:
⏱ اندازهگیری زمان اجرا هر سرویسپراوایدر
🧠 تحلیل مصرف حافظه در لحظه ثبت سرویسها
🧪 بررسیهای تشخیصی برای کشف رفتارهای غیرمنتظره
🔍 پروفایلگیری دقیق از فرآیند بوت شدن اپلیکیشن
📎 لینک گیتهاب:
github.com/saeedvir/LaravelProfileProvider
php artisan profile:providers --top=10
#laravel
#package
#optimize
اطلاعات بیشتر در 😎👇
@DeveloperManifest
👍1
اهراز هویت جدید در NIC.IR
اگر حساب کاربری nic.ir دارید و صاحب دامنه ملی هستید ، حتما پس از ورود به سامانه نسبت به تایید سطح 2 احراز هویت اقدام کنید.
برای تسریع در کار ، می توانید قبل از آن حتما نرم افزار "سامانه هدا" (در کافه بازار و مایکت هست) را در تلفن همراه خود نصب کنید.
برای کاربران IOS این برنامه سیبچه موجود هست.
فرایند احراز هویت توسط هوش مصنوعی انجام می شود و کمتر از 5 دقیقه وقت لازم دارد.
در طی فرایند نیاز به پرداخت 20 هزار تومان است.
اگر حساب کاربری nic.ir دارید و صاحب دامنه ملی هستید ، حتما پس از ورود به سامانه نسبت به تایید سطح 2 احراز هویت اقدام کنید.
برای تسریع در کار ، می توانید قبل از آن حتما نرم افزار "سامانه هدا" (در کافه بازار و مایکت هست) را در تلفن همراه خود نصب کنید.
برای کاربران IOS این برنامه سیبچه موجود هست.
فرایند احراز هویت توسط هوش مصنوعی انجام می شود و کمتر از 5 دقیقه وقت لازم دارد.
در طی فرایند نیاز به پرداخت 20 هزار تومان است.
روش های بهینه در Eloquent - بخش یک
این مطلب به طور خلاصه درباره استفاده از get و chunk گفته که پیشنهاد می کنم ببینید اما اگر بخواهم به صورت فارسی توضیح بدم :
مشکلِ استفاده از متد get برای داده های زیاد ، حجم زیاد اشغال حافظه است که راه حل جایگزین،استفاده از متدهای chunk و cursor هست.
اگر قصد دارید همزمان رکوردها را بهروزرسانی کنید، بهتر است از chunkById استفاده کنید.
روش دیگر متد cursor هست که بهجای بارگذاری دستهای، میتواند دادهها را تکتک بخواند.
🔗 مثال های بیشتر در بخش کامنت ها
#laravel
#optimize
#eloquent
.
این مطلب به طور خلاصه درباره استفاده از get و chunk گفته که پیشنهاد می کنم ببینید اما اگر بخواهم به صورت فارسی توضیح بدم :
مشکلِ استفاده از متد get برای داده های زیاد ، حجم زیاد اشغال حافظه است که راه حل جایگزین،استفاده از متدهای chunk و cursor هست.
User::where('active', true)
->chunk(1000, function ($users) {
foreach ($users as $user) {
// Process user
}
});
User::where('active', true)
->chunkById(1000, function ($users) {
foreach ($users as $user) {
// Guaranteed unique processing
}
});اگر قصد دارید همزمان رکوردها را بهروزرسانی کنید، بهتر است از chunkById استفاده کنید.
روش دیگر متد cursor هست که بهجای بارگذاری دستهای، میتواند دادهها را تکتک بخواند.
foreach (User::where('active', true)->cursor() as $user) {
// One model in memory at a time
}🔗 مثال های بیشتر در بخش کامنت ها
#laravel
#optimize
#eloquent
.
🔥5
مفهوم Memoization در کش لاراول
Memoization
یک تکنیک بهینهسازی است که نتیجه یک عملیات را برای مدت زمان اجرای همان درخواست در حافظه PHP نگه میدارد تا در درخواستهای بعدی نیاز به اجرای مجدد یا واکشی از منبع (مثلاً Redis) نباشد. این یعنی:
اولین بار مقدار داده از کش خوانده میشود (مثلاً Redis یا فایل).
در همان چرخهی اجرای برنامه، بارهای بعدی مقدار از حافظه موقت (Memory) برگردانده میشود بدون اینکه به کش واقعی مراجعه شود.
این روش مخصوص زمانی است که در همان درخواست چند بار یک کلید کش را میخوانید و میخواهی تعداد درخواستها به سرور کش را کاهش بدهید.
زمانی که از متدهایی استفاده میشود که مقدار را تغییر میدهند (مثل put,…):
مقدار Memoized (ذخیره در حافظه) مربوط به آن کلید فراموش (clear) میشود.
سپس تغییر به کش واقعی اعمال میشود.
در درخواست بعدی مقدار تازه از کش واقعی خوانده شده و دوباره در حافظه ذخیره میشود.
👈مثال در کامنت ها
@developerManifest
Memoization
یک تکنیک بهینهسازی است که نتیجه یک عملیات را برای مدت زمان اجرای همان درخواست در حافظه PHP نگه میدارد تا در درخواستهای بعدی نیاز به اجرای مجدد یا واکشی از منبع (مثلاً Redis) نباشد. این یعنی:
اولین بار مقدار داده از کش خوانده میشود (مثلاً Redis یا فایل).
در همان چرخهی اجرای برنامه، بارهای بعدی مقدار از حافظه موقت (Memory) برگردانده میشود بدون اینکه به کش واقعی مراجعه شود.
این روش مخصوص زمانی است که در همان درخواست چند بار یک کلید کش را میخوانید و میخواهی تعداد درخواستها به سرور کش را کاهش بدهید.
use Illuminate\Support\Facades\Cache;
//without Cache Store
$value = Cache::memo()->get('key');
//with Cache Store
$value = Cache::memo('redis')->get('key');
زمانی که از متدهایی استفاده میشود که مقدار را تغییر میدهند (مثل put,…):
مقدار Memoized (ذخیره در حافظه) مربوط به آن کلید فراموش (clear) میشود.
سپس تغییر به کش واقعی اعمال میشود.
در درخواست بعدی مقدار تازه از کش واقعی خوانده شده و دوباره در حافظه ذخیره میشود.
👈مثال در کامنت ها
@developerManifest
👍2
آموزش Cloudflare Tunnel برای به اشتراک گذاری Localhost
فرض کنید بخواهید یک پروژه که روی لوکال هاست هست را از طریق اینترنت دسترس پذیر کنید.
همین طور که اطلاع دارید ، یکی از راه ها ngrok بود.
این یک روش دیگر هست که با استفاده از cloudflare این کار رو می کنید.
ویدیو آموزشی
👈 ویدیو به زودی در کانال قرار می گیرد.
اطلاعات بیشتر 😎👇
@developerManifest
#آموزش
#نکته
#ویدیو
فرض کنید بخواهید یک پروژه که روی لوکال هاست هست را از طریق اینترنت دسترس پذیر کنید.
همین طور که اطلاع دارید ، یکی از راه ها ngrok بود.
این یک روش دیگر هست که با استفاده از cloudflare این کار رو می کنید.
ویدیو آموزشی
https://www.youtube.com/watch?v=etluT8UC-nw
https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/do-more-with-tunnels/local-management/create-local-tunnel/
👈 ویدیو به زودی در کانال قرار می گیرد.
اطلاعات بیشتر 😎👇
@developerManifest
#آموزش
#نکته
#ویدیو
👍2
یه بازی موبایلی که با NativePHP توسعه داده شده
#dev_news
اطلاعات بیشتر در 😎👇
@developerManifest
https://freek.dev/2983-i-built-a-native-mobile-word-game-in-two-weeks
https://github.com/spatie/wordstockt.com?tab=readme-ov-file
https://play.google.com/store/apps/details?id=com.wordstockt.app
#dev_news
اطلاعات بیشتر در 😎👇
@developerManifest
https://medium.com/@developerawam/datatable-livewire-2-0-now-supporting-livewire-4-with-bootstrap-5-templates-0f565bcb495f
#dev_news
اطلاعات بیشتر در 😎👇
@developerManifest
https://github.com/restu-lomboe/datatable-livewire
#dev_news
اطلاعات بیشتر در 😎👇
@developerManifest
Medium
DataTable Livewire 2.0: Now Supporting Livewire 4 with Bootstrap 5+ Templates
DataTable Livewire 2.0 now supports Livewire 4 with Bootstrap 5+ templates, improved type hinting, and bug fixes for better Laravel dev