Panic Dev – Telegram
Panic Dev
1.11K subscribers
123 photos
29 videos
2 files
132 links
Panic Dev; your Panic's solution 🔥

🍿 Telegram
🔰 t.me/PanicDev

🍿 Laravel Community
🔰 t.me/LaravelGroups

😇 Contact Me
🔰 t.me/MentionHex

Thanks for sharing us 💛
Download Telegram
Media is too big
VIEW IN TELEGRAM
ارائه Bobby bouwman که در hospitable به عنوان product engineer کار میکنه

پترن pipline رو توضیح میده که چطور کار میکنه
کجا به کار میاد
و در لاراول چطور میتونید اون رو استفاده کنید .


@panicdev
🔥8👍7
Media is too big
VIEW IN TELEGRAM
اگر شمام محدودیت آشنایتتون با AI در حد استفاده از chatbot ها و ابزار های هوش مصنوعی هست و نمیدونید اون پشت چه اتفاقی میفته و یا این شرکت هایی که دارن AI خودشون رو در حد ai support برای مشتریانشون توسعه میدن چطور کار میکنند .
و به ساده ترین زبان میخواید بدونید چه اتفاقی می افته و کمی با مفاهیم آشنا بشید . پیشنهاد میکنم اینو از دست ندید .

یک مبحث واقعا جالب از خانم داینا شارف دولوپر شرکت beyond code از آلمان معروف به جادوگر فول استک :))


تو این ارائه موضوع word embedding و مطرح میکنه که اصلا چی هست به چه درد میخوره چه استفاده ای داره Vector چی هست و چطور ذخیره میشه چطور استفاده میشه بهترین دیتابیسی که میشه برای ذخیره vector ها استفاده کرد .

در آخر از پکیج خودش رونمایی میکنه که میتونید با document خودتون باهاش vector بسازید ذخیره کنید بعد ازش کوئری بگیرید
و در نهایت یه چت بات ساده میسازه که ازش سوال میپرسی و بر اساس document که سیستم و تغذیه کردید سعی میکنه بهترین جواب بهتون بده .

این ۴۰ دقیقه واقعا اندازه یک کتاب برام ارزش افزوده داشت .

@panicdev
👍13🔥3
Media is too big
VIEW IN TELEGRAM
ارائه Marcel Pociot داریم که CTO/Co-Founder/Developer شرکت beyond code که سازنده expose , tinker well , Laravel Herd هستند

تو این ارائه نکته های ریزی رو میگه که توی سرعت request ها تاثیر میزاره
و یه نکته ای که برای debug بهش اشاره کرد . اکستنشن spx برای php بود که خیلی تمیز ریکوئست شما رو ترک میکنه و میگه کدوم فانکشن یا خط باعث کندی سرعت میشه، اینو برای Herd پیاده سازی کردن و یه AI هم روش گذاشتن که مشکل و براتون بهتر توضیح بده
ولی من گشتم پکیج اش هم هست و یه UI تمیز برای آنالیز هم میده
ظاهرا پوینت مثبتی که این اکستنشن داره اینه که مثل xdebug باعث کندی روند عملکرد اپلیکیشن نمیشه 😊


@panicdev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍1
Media is too big
VIEW IN TELEGRAM
این ارائه بی نظیر خانم jess Archer تیم لیدر لاراول و از دست ندید
چیزی نمیتونم بگم فقط تماشا کنید =)

یک پرزنتیشن کامل از nightwatch
بنظرم داره میاد که سنتری و لاراول پالس و لاراول دیباگ و تلسکوپ بریزیم دور
اول به طور کامل پرزنتش میکنه بعد نحوه نصبش و توضیح میده
بعد سیستم دیزاینش و این که پشت صحنه چطور این اپلیکیشنتون رو مانیتور میکنه رو توضیح میده
و قسمت هیجان انگیزش این هست که این رو یکماه روی laravel forge فعالش کردن دیتایی که توی یکماه جمع کرده ، هندل کرده پردازش کرده ، هوش از سرتون میپرونه
ببینید و لذت ببرید
خیلی دوست دارم کد هاشو بخونم 😊🥺


@panicdev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3
توی رمان A Study in Scarlet¹ نوشته آرتور کانن² یه قسمتی هست که یکی از کارکتر ها به اسم دکتر واتسن³ متوجه میشه که شرلوک هلمز⁴ از گردش زمین به دور خورشید بی‌خبر هست و از این مسئله خیلی تعجب میکنه؛ این میشه که از هلمز میپرسه که چرا و جواب هلمز خیلی جالبه:

"با توجه به ظرفیت محدود مغز بشر؛ من نمی‌توانم اجازه دهم که اطلاعات بی‌استفاده جای اطلاعات مفید را بگیرد.
به من چه دخلی دارد؟
تو می‌گویی که حول خورشید می‌گردیم.
اگر به دور ماه هم می‌گشتیم قِرانی در من و کارم تفاوت ایجاد نمی‌کرد."
👍6🔥4🌚1
به عنوان یک فرد که توی زندگی روزمره‌ش از کلی ابزار و تکنولوژی استفاده میکنه تعریفتون از مفهوم "کاربرد پذیر بودن" چی هست؟ 🤔

برام بنویسید تا یکم با دیدگاهتون آشنا بشم و بعدش یه تاپیک درمورد کاربرد پذیری و مفهومش رو براتون توضیح میدم تا درموردش بحث کنیم.

هرچیزی که درمورد "کاربرد پذیر بودن" به ذهنتون میرسه رو بگید بهم...
مثلا

کاربرد پذیر بودن یعنی "آیا کاری را که من به انجام آن احتیاج دارم به درستی انجام می‌دهد؟"
Panic Dev
به عنوان یک فرد که توی زندگی روزمره‌ش از کلی ابزار و تکنولوژی استفاده میکنه تعریفتون از مفهوم "کاربرد پذیر بودن" چی هست؟ 🤔 برام بنویسید تا یکم با دیدگاهتون آشنا بشم و بعدش یه تاپیک درمورد کاربرد پذیری و مفهومش رو براتون توضیح میدم تا درموردش بحث کنیم. هرچیزی…
خب همونطور که انتظار می‌رفت - کلی جواب های متفاوت از کاربرد پذیری و تعریفش رو از افراد مختلف شنیدیم.

استاد استیو کروگ توی کتابش میگه:

"تعاریف بسیار متفاوتی از کاربرد پذیری خواهید یافت که اغلب آن‌ را به ویژگی هایی مانند این‌ها تقسیم می‌کنند:"

۱. مفید: آیا کاری که مردم به آن احتیاج دارند را انجام می‌دهد؟

۲. قابل یادگیری: آیا استفاده کنندگان می‌توانند سر در بیاورند که چطوری از آن استفاده کنند؟

۳. به یاد ماندنی: آیا پس از هربار استفاده باید دوباره آن را برای استفاده‌ی مجدد یاد بگیرند؟

۴. به درد بخور: آیا کار مورد نظر را تا آخر انجام می‌دهد؟

۵. به صرفه: آیا کار مورد نظر را با صرف میزان معقولی از وقت و انرژی انجام می‌دهد؟

۶. خواستنی: آیا مردم آن‌را می‌خواهند؟

۷. دلپذیر: آیا استفاده از آن لذت بخش و یا حتی سرگرم کننده است؟

⭐️ اما نکته کجاست؟

استیو کروگ در ادامه میگه:
تمام این موارد درسته اما بخش مهم این تعاریف ساده هست.

اگر چیزی کاربرد پذیر باشد،
چه وب‌سایت باشد یا کنترل تلوزیون یا حتی دستگیره درب
بدین معنی است که:

"فردی با توانایی و تجربه متوسط (یا حتی کمتر از متوسط) باید بتواند سر در بیاورد که چطور از آن برای. انجام کاری استفاده کند بدون اینکه آن چیز بیش از آنچه که ارزشش را دارد دردسر داشته باشد."


این ساده ترین و درست ترین تعریف برای مفهوم کاربرد پذیری هست.
👍17
🤩 ورسل یه ابزاری زده به اسم grep که شما میتونید خیلی ساده باهاش توی چند میلیون ریپازیتوری پابلیک هرچیزی که دوس دارید رو سرچ بزنید و پیداش کنید.

🎩 یکی از کاربرد های دارکش هم اینه که شما میتونید بگردید دنبال کلید هایی که اشتباها پوش شده توی ریپازیتوری ها :))
مثلا لایسنس لاراول نوا توی env از طریق یه کلید به اسم:
NOVA_LICENSE_KEY=
ست میشه - همین رو اگه سرچ کنید تمام ریپازیتوری هایی که این کلید اشتباها توشون پوش شده رو براتون میاره...

🔗 https://grep.app

استفاده به کام 😎🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣16🔥9👍3🌚1
شاید دنبال پرامپت باشید . به marketplace هایی مثل این بر بخورید
که تقریبا همه پرامپت ها فروشی

promptbase.com

ولی خوب از این سایت هم که دوستان گیت هابی زحمت کشیدن هم میتونید استفاده کنید برای مدل های مختلف

https://prompts.chat


@panicdev
👍8🤣2
#نکته : حتماً متوجه شدین که لاراول داره بیشتر و بیشتر از Attributes استفاده می‌کنه و حسابی از این قابلیت که توی PHP 8.0 معرفی شد، بهره می‌بره! 🤌

این دو Attribute کاربردی رو می‌دونستین؟ 🤔

💉 اتریبیوت [CurrentUser]# بهتون اجازه می‌ده کاربر احراز هویت شده رو هر جایی تزریق کنین.
🗄 اتریبیوت [RouteParameter('user')]# دسترسی به پارامترهای مسیر رو خیلی راحت‌تر می‌کنه.

همه‌ی اینا برای داشتن کد تمیزتر و خواناتر هست! 😊😊🍫

@panicdev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍8❤‍🔥5
🚀 جلوگیری از اجرای تصادفی کامندهای خطرناک در پروداکشن !

آیا میدانستید از لاراول ۱۱.۹ به بعد می‌تونین اجرای کامندهای حساس مثل migrate و db:wipe رو توی محیط Production بلاک کنین، فقط با اضافه کردن Trait جدید Prohibitable! 🔒

📌 چطوری؟ خیلی ساده:
use Illuminate\Console\Command;
use Illuminate\Console\Prohibitable;

class SomeDestructiveCommand extends Command
{
use Prohibitable;
}


حالا می‌تونین توی بوت اپلیکیشن، این دستورات رو مسدود کنین:
FreshCommand::prohibit();
RefreshCommand::prohibit();
ResetCommand::prohibit();
WipeCommand::prohibit();


یا خیلی راحت با DB Facade این کار رو انجام بدین:
DB::prohibitDestructiveCommands($this->app->isProduction());


متد prohibit() یه مقدار Boolean می‌گیره و می‌تونین شرطی تنظیمش کنین که فقط توی Production بلاک بشه و توی Development بدون مشکل اجرا بشه. 💡

خیلی کاربردیه، نه؟ 😎


@panicdev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍7❤‍🔥3
📝 یک Rich Text Editor در لاراول با پکیج Rich Text Laravel

اگه توی پروژه‌هاتون نیاز به یه ویرایشگر متن پیشرفته دارین، پکیج Rich Text Laravel که از Trix Editor پشتیبانی می‌کنه، گزینه‌ی عالی‌ایه! 🎯

📌 نصب و راه‌اندازی:

composer require tonysm/rich-text-laravel

php artisan richtext:install




🛠 بروزرسانی مدل
use Tonysm\RichTextLaravel\Models\Traits\HasRichText;

class Product extends Model
{
use HasFactory, HasRichText;

protected $richTextAttributes = ['denoscription']; // فیلدهای ویرایشگر متن
protected $fillable = ['name', 'price', 'type', 'denoscription'];
}



📝 اعتبارسنجی در Form Request
$this->validate([
'name' => ['required', 'string', 'max:255'],
'price' => ['required', 'decimal:10,2'],
'type' => ['required'],
'denoscription' => ['nullable', 'string'],
]);



🖋 استفاده از Blade Component
<x-trix-input id="denoscription" name="denoscription" 
:value="old('denoscription', $product->denoscription?->toTrixHtml())" autocomplete="off" />



💡 می‌تونین دکمه‌های ویرایشگر رو شخصی‌سازی کنین و حتماً ورودی‌ها رو با Symfony’s HTML Sanitizer ایمن‌سازی کنین! 🔒

💡 نگران attachment ها هم نباشید . اون هارو هم بخوبی پشتیبانی میکنه و راحت میتونید دریافتشون کنید و مدیریتشون کنید

💡 کامپوننت لایوایری هم داره که میتونید توی پروژه های لایوایری هم ازش استفاده کنید .

💡 داکیومنت خوب و تکمیلی داره که میتونید ریپازیتوری مربوطه را مشاهده کنید . لینک

اگه به یه ویرایشگر متن قوی برای لاراول نیاز دارین، این پکیج رو امتحان کنین! 🚀
👍8🔥4❤‍🔥2
🔐 افزایش امنیت حساب با Auth::logoutOtherDevices() در لاراول


لاراول یه قابلیت امنیتی قوی داره که با Auth::logoutOtherDevices() می‌تونین تمام سشن‌های کاربر روی دستگاه‌های دیگه رو ببندین و فقط دستگاه فعلی رو فعال نگه دارین. این ویژگی برای محافظت از داده‌های حساس خیلی مفیده! 🚀

🛠 چطور پیاده‌سازی کنیم؟

مثلاً وقتی کاربر فعالیت مشکوک حس کرد، می‌تونیم همه سشن‌ها (به‌جز فعلی) رو ببندیم:

public function secureSessions(Request $request)
{
Auth::logoutOtherDevices($request->password);
return back()->with('status', 'همه‌ی سشن‌های دیگر بسته شدند');
}


نکته: این قابلیت نیاز به auth.session middleware داره:

Route::middleware(['auth', 'auth.session'])->group(function () {
// مسیرهای محافظت‌شده
});


🔑 تغییر رمز عبور + خروج از تمام دستگاه‌ها

class SecurityController extends Controller
{
public function updatePassword(Request $request)
{
$validated = $request->validate([
'current_password' => 'required',
'new_password' => 'required|min:8|confirmed'
]);

if (!Hash::check($request->current_password, Auth::user()->password)) {
return back()->withErrors([
'current_password' => 'رمز عبور فعلی اشتباه است'
]);
}

Auth::logoutOtherDevices($request->current_password);
Auth::user()->update([
'password' => Hash::make($request->new_password)
]);

return redirect('/dashboard')
->with('status', 'رمز عبور بروزرسانی شد و همه‌ی دستگاه‌های دیگر خارج شدند');
}
}


🔒 چرا این قابلیت مهمه؟

کاربر می‌تونه روی امنیت حساب خودش کنترل بیشتری داشته باشه.

دسترسی غیرمجاز به حساب به خاطر سشن‌های فراموش‌شده جلوگیری می‌شه.

یه لایه‌ی امنیتی قوی‌تر برای اپلیکیشن‌های لاراول! 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍4😁1
برای دوستانی که میگن میخوام برنامه نویسی یادبگیرم
نمیدونم از کجا شروع کنم
کدوم آموزش خوبه
بک بزنم یا فرانت
فول استک باشم خوبه ؟
کدوم زبان خوبه ؟

@panicdev
🤣20🔥1
شاید برای شما هم اتفاق افتاده باشد 😊


@panicdev
Please open Telegram to view this post
VIEW IN TELEGRAM
😁16🤣12👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍1
لاراول cloud هم ریلیز شد 🔥
هم اکنون میتوانید ثبت نام کنید 😊

https://app.laravel.cloud/sign-up
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9
Deployed by Laravel Cloud 🤩

https://cloudy-develop-tgs3td.laravel.cloud
🔥9👍2
🚀 خوب Laravel 12 و قابلیت جدید `when()` با Closure!


توسعه‌دهنده‌های لاراول، احتمالاً با متد when() آشنا هستین، ولی می‌دونستین که توی Laravel 12 به بعد حالا می‌تونین از Closure به‌عنوان شرط استفاده کنین؟ 🤌


💡 چرا این قابلیت مهمه؟
چون باعث می‌شه شرط‌های پیچیده‌تر رو به‌شکل خواناتر و تمیزتر بنویسیم!


مثال:

$taxRate = when(
$country === 'US',
fn() => 0.07, // ۷٪ مالیات برای آمریکا
fn() => 0.2 // ۲۰٪ مالیات برای سایر کشورها
);


یا برای تعیین مهلت پرداخت فاکتور:

$invoiceDueDate = when(
fn() => $user->isVIP() && now()->isWeekday(),
fn() => now()->addDays(10), // کاربران VIP ده روز اضافه دارند
fn() => now()->addDays(5) // کاربران عادی پنج روز اضافه دارند
);


نتیجه؟ کد تمیزتر، خواناتر و انعطاف‌پذیرتر! 😎

@panicdev
🔥16❤‍🔥1👍1