تا حالا پیش اومده بخوای یه قابلیت یا یه گزارش فقط برای درصد کمی از کاربران فعال باشه؟
لاراول یه ابزار باحال برای این کار داره: Lottery
مثال:
تست ویژگی جدیده سایتمون فقط برای ۵٪ کاربران
فرض کن میخوای یه قابلیت جدید (مثلا طراحی تازهی داشبورد) رو فقط برای ۵٪ از کاربرها فعال کنی تا عملکردش رو بسنجی 👇🏾
حالا فقط ۵٪ کاربران این داشبورد جدید رو میبینن 🔥
بدون نیاز به feature flag سیستم یا تنظیمات پیچیده.
📌 کاربردهای دیگه ی Lottery در لاراول
مانیتورینگه سبک:
گرفتن لاگ کامل SQL در درصدی از ریکوئستها
تست A/B برای UX
اجرای وظایف سنگین فقط در بخشی از ریکوئست ها (مثلا آنالیز رفتار کاربر)
این Lottery از نسخهی 9.19 به بعد اضافه شده و توی اپهای پر ترافیک کمک میکنه بدون کاهش سرعت، رفتار سیستم رو هوشمندانه بررسی کنی.
#Laravel #Laravel_tip #لاراول
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/wendell_adriel/status/1978788530139635982?t=Hc2oNzGolFfMitfwrxC2zA&s=35
لاراول یه ابزار باحال برای این کار داره: Lottery
مثال:
تست ویژگی جدیده سایتمون فقط برای ۵٪ کاربران
فرض کن میخوای یه قابلیت جدید (مثلا طراحی تازهی داشبورد) رو فقط برای ۵٪ از کاربرها فعال کنی تا عملکردش رو بسنجی 👇🏾
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Lottery;
Lottery::odds(1, 20) // یعنی 5% احتمال
->winner(function () {
session(['new_dashboard' => true]);
})
->loser(function () {
session(['new_dashboard' => false]);
})
->choose();
حالا فقط ۵٪ کاربران این داشبورد جدید رو میبینن 🔥
بدون نیاز به feature flag سیستم یا تنظیمات پیچیده.
📌 کاربردهای دیگه ی Lottery در لاراول
مانیتورینگه سبک:
گرفتن لاگ کامل SQL در درصدی از ریکوئستها
تست A/B برای UX
اجرای وظایف سنگین فقط در بخشی از ریکوئست ها (مثلا آنالیز رفتار کاربر)
این Lottery از نسخهی 9.19 به بعد اضافه شده و توی اپهای پر ترافیک کمک میکنه بدون کاهش سرعت، رفتار سیستم رو هوشمندانه بررسی کنی.
#Laravel #Laravel_tip #لاراول
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/wendell_adriel/status/1978788530139635982?t=Hc2oNzGolFfMitfwrxC2zA&s=35
X (formerly Twitter)
Wendell Adriel (@wendell_adriel) on X
Laravel Tip 🚀
Did you know about the Lottery helper from Laravel? It's great for executing a piece of code only for a percentage of calls/requests.
In the example, we capture full SQL logs for 0.2% of requests, this can be used to spot N+1s and slow endpoints…
Did you know about the Lottery helper from Laravel? It's great for executing a piece of code only for a percentage of calls/requests.
In the example, we capture full SQL logs for 0.2% of requests, this can be used to spot N+1s and slow endpoints…
👍11❤3
در نسخهی جدید PHP 8.5 تابع filter_var() یه قابلیت کاربردیه تازه داره:
FILTER_THROW_ON_FAILURE
تا قبل ازین اگه اعتبارسنجی دیتا (مثلا ایمیل نامعتبر) fail میشد،
تابع فقط مقدار false برمیگردوند و باید دستی بررسیش میکردی.
اما حالا بااین گزینه، بجای برگردوندنه false، یک Exception پرتاب (throw) میشه 👇🏾
مزایاش؟
کد تمیزتر ، خطایابی سریعتر ، هماهنگی بهتر با Exception Handling در پروژههای مدرن PHP
#php #backend
@GoldenCodeir 🔥
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/AshAllenDesign/status/1983537236403794361?t=IIrUtS60L_j-Rl6cHxtwlg&s=19
FILTER_THROW_ON_FAILURE
تا قبل ازین اگه اعتبارسنجی دیتا (مثلا ایمیل نامعتبر) fail میشد،
تابع فقط مقدار false برمیگردوند و باید دستی بررسیش میکردی.
اما حالا بااین گزینه، بجای برگردوندنه false، یک Exception پرتاب (throw) میشه 👇🏾
try {
$email = filter_var('not-an-email', FILTER_VALIDATE_EMAIL, FILTER_FLAG_THROW_ON_FAILURE);
}
catch (ValueError $e)
{
echo "ایمیل نامعتبر است!";
}مزایاش؟
کد تمیزتر ، خطایابی سریعتر ، هماهنگی بهتر با Exception Handling در پروژههای مدرن PHP
#php #backend
@GoldenCodeir 🔥
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/AshAllenDesign/status/1983537236403794361?t=IIrUtS60L_j-Rl6cHxtwlg&s=19
X (formerly Twitter)
Ash Allen 🚀 (@AshAllenDesign) on X
Did you know PHP 8.5 adds a new FILTER_THROW_ON_FAILURE option for the `filter_var` function?
If the `filter_var` validation fails, it will trigger an exception to be thrown 🔥
If the `filter_var` validation fails, it will trigger an exception to be thrown 🔥
👍10🔥1👏1
📌 این سایت هم یک ابزار کاربردیه برای کسانی که میخوان از در دسترس بودن سایتها و APIهایشون مطمئن باشند.👌🏾
در سایت میتونید لینکهای مهمتون رو ثبت کنید تا بصورت خودکار بررسی بشن.
اگه لینک یا سرور شما خطا بدهد، بلافاصله از طریق ایمیل به شما اطلاع داده میشه.
⚙️ امکانات فعلیش:
• مانیتورینگ لینکها با بازههای زمانی قابل تنظیم
• هشدار از طریق ایمیل (از طریق پیامک و واتس اپ هم بزودی اضافه میشه)
• گزارش خطاها در داشبورد
مناسب برای:
توسعهدهندگان، مدیران سرور و صاحبان کسبوکار
(زبان فارسی هم بزودی اضافه میشه)
👇🏾
https://alixdev.ir/
در سایت میتونید لینکهای مهمتون رو ثبت کنید تا بصورت خودکار بررسی بشن.
اگه لینک یا سرور شما خطا بدهد، بلافاصله از طریق ایمیل به شما اطلاع داده میشه.
⚙️ امکانات فعلیش:
• مانیتورینگ لینکها با بازههای زمانی قابل تنظیم
• هشدار از طریق ایمیل (از طریق پیامک و واتس اپ هم بزودی اضافه میشه)
• گزارش خطاها در داشبورد
مناسب برای:
توسعهدهندگان، مدیران سرور و صاحبان کسبوکار
(زبان فارسی هم بزودی اضافه میشه)
👇🏾
https://alixdev.ir/
👍3
Golden Code pinned «📌 این سایت هم یک ابزار کاربردیه برای کسانی که میخوان از در دسترس بودن سایتها و APIهایشون مطمئن باشند.👌🏾 در سایت میتونید لینکهای مهمتون رو ثبت کنید تا بصورت خودکار بررسی بشن. اگه لینک یا سرور شما خطا بدهد، بلافاصله از طریق ایمیل به شما اطلاع داده میشه. …»
خیلی وقتا برای نمایش عددها، قیمتها یا درصدها کمی دردسر داریم ( ویرگول، اعشار، واحد پول، زبان کاربر و...)
اما جاوااسکریپت خودش یه ابزار آماده داره که همهی اینارو خودش انجام میده 👇🏾
چی هستش؟
این Intl.NumberFormat یه قابلیت Native و قدرتمنده
که اعداد رو بر اساس زبان و منطقهی کاربر فرمت میکنه.
نه نیاز به کتابخونه داریم نه regex بنویسیم
یه مثال:
👆🏾 همون عدد، ولی متناسب با زبان کاربر نمایش داده میشه.
برای پول و درصد :
مزایاش؟
• داخلی و سریع (بدون نصب کتابخونه)
• پشتیبانی از تمام زبانها و ارزها
• کنترل اعشار، جداکنندهها، و سبک نمایش
• ظاهر حرفهایتر برای کاربر 👌🏾
خلاصه:
وقتی Intl.NumberFormat هست، دیگه نیازی به کدنویسی اضافی برای فرمت اعداد نیست.
#JS #JavaScript #جاوااسکرپیت
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/KaraBharat/status/1984635931832328388?t=nyibER_ZCoXfs8nLIFoy7g&s=19
اما جاوااسکریپت خودش یه ابزار آماده داره که همهی اینارو خودش انجام میده 👇🏾
چی هستش؟
این Intl.NumberFormat یه قابلیت Native و قدرتمنده
که اعداد رو بر اساس زبان و منطقهی کاربر فرمت میکنه.
نه نیاز به کتابخونه داریم نه regex بنویسیم
یه مثال:
const num = 1234567.89;
new Intl.NumberFormat('en-US').format(num);
// 1,234,567.89 ✅
new Intl.NumberFormat('fa-IR').format(num);
// ۱٬۲۳۴٬۵۶۷٫۸۹ 🇮🇷
👆🏾 همون عدد، ولی متناسب با زبان کاربر نمایش داده میشه.
برای پول و درصد :
new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD'
}).format(4999.99);
// $4,999.99 💵
new Intl.NumberFormat('fa-IR', {
style: 'percent',
maximumFractionDigits: 1
}).format(0.853);
// ٪۸۵٫۳ 🔢مزایاش؟
• داخلی و سریع (بدون نصب کتابخونه)
• پشتیبانی از تمام زبانها و ارزها
• کنترل اعشار، جداکنندهها، و سبک نمایش
• ظاهر حرفهایتر برای کاربر 👌🏾
خلاصه:
وقتی Intl.NumberFormat هست، دیگه نیازی به کدنویسی اضافی برای فرمت اعداد نیست.
#JS #JavaScript #جاوااسکرپیت
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/KaraBharat/status/1984635931832328388?t=nyibER_ZCoXfs8nLIFoy7g&s=19
X (formerly Twitter)
Bharat Kara (@KaraBharat) on X
Intl.NumberFormat makes it so easy to format numbers and it's native 👇
#JavaScript
#JavaScript
👍7❤3
اگه با API Resources در Laravel کار میکنین، احتمالا همیشه با این حالت مواجه بودید:
تکراریه یکم؟
راه حل جدید در Laravel 12.29
حالا میتونین مستقیما در مدل مشخص کنید که از چه Resource و Resource Collection ای استفاده بشه:
استفاده ی ازش هم اسونه
بعده این کار، برای نمایش یک رکورد یا مجموعه کافیست:
متود toResource() بطور خودکار Resource یا Resource Collection مرتبط با مدل را برمیگردونه.
مزایاش؟
•کد تمیزتر و کوتاهتر
•مدل خودش مسئول انتخاب Resource مناسب میشه
•مناسب برای پروژههای بزرگ با چندین API Resource
📌 این ویژگی فقط از Laravel 12.29 به بعد فعال هست.
#Laravel #laravel_tip #لاراول
@GoldenCodeir 🔥
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/AshAllenDesign/status/1986489784408182821?t=Ju0iw4KZdb1e0wg-OzajSQ&s=19
return PostResource::collection(Post::all());
return new PostResource($post);
تکراریه یکم؟
راه حل جدید در Laravel 12.29
حالا میتونین مستقیما در مدل مشخص کنید که از چه Resource و Resource Collection ای استفاده بشه:
use Illuminate\Database\Eloquent\Model;
use App\Http\Resources\PostResource;
use App\Http\Resources\PostCollection;
use Illuminate\Database\Eloquent\Attributes\UseResource;
use Illuminate\Database\Eloquent\Attributes\UseResourceCollection;
#[UseResource(PostResource::class)]
#[UseResourceCollection(PostCollection::class)]
class Post extends Model {}
استفاده ی ازش هم اسونه
بعده این کار، برای نمایش یک رکورد یا مجموعه کافیست:
return Post::first()->toResource(); // یک رکورد
return Post::all()->toResource(); // مجموعه
متود toResource() بطور خودکار Resource یا Resource Collection مرتبط با مدل را برمیگردونه.
مزایاش؟
•کد تمیزتر و کوتاهتر
•مدل خودش مسئول انتخاب Resource مناسب میشه
•مناسب برای پروژههای بزرگ با چندین API Resource
📌 این ویژگی فقط از Laravel 12.29 به بعد فعال هست.
#Laravel #laravel_tip #لاراول
@GoldenCodeir 🔥
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/AshAllenDesign/status/1986489784408182821?t=Ju0iw4KZdb1e0wg-OzajSQ&s=19
X (formerly Twitter)
Ash Allen 🚀 (@AshAllenDesign) on X
As of Laravel 12.29, you can use the "UseResource" and "UseResourceCollection" attributes to explicitly define the resource class and resource collection class a Laravel model should use 🔥
👍10🔥3
در Laravel نسخه 12.16 به بعد یک rule جدید به نام in_array_keys معرفی شده :
یعنی آرایهی data باید حداقل یکی از کلیدهای name یا email رو داشته باشه، بدون نیاز به کد اضافی.
مزایای استفاده ازین rule :
کد تمیز و کوتاه
حذف بررسیهای دستی کلیدها
هماهنگ با دیگر قوانین اعتبارسنجی
📌 این rule فقط وجود کلیدها رو بررسی میکنه. برای بررسی نوع یا مقدار دیتا، از قوانین دیگه ای مثل string یا email استفاده کنین.
ی مثال دیگه:
درین مثال، اگه هیچکدوم از کلیدهای name، email یا password وجود نداشته باشن، Laravel به صورت خودکار خطا برمیگردونه و نیازی به نوشتن کد دستی نیست.
اما اگه فقط یکی از کلیدها موجود باشه، بدرستی انجام میشه بدونه خطا.
#Laravel #Laravel_tip #لاراول
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/mmartin_joo/status/1988233512273543234?t=2ABEYuKulqMioiYyYh6Umg&s=19
$request->validate([
'data' => 'required|array|in_array_keys:name,email',
]);
یعنی آرایهی data باید حداقل یکی از کلیدهای name یا email رو داشته باشه، بدون نیاز به کد اضافی.
مزایای استفاده ازین rule :
کد تمیز و کوتاه
حذف بررسیهای دستی کلیدها
هماهنگ با دیگر قوانین اعتبارسنجی
📌 این rule فقط وجود کلیدها رو بررسی میکنه. برای بررسی نوع یا مقدار دیتا، از قوانین دیگه ای مثل string یا email استفاده کنین.
ی مثال دیگه:
$request->validate([
'user' => 'required|array|in_array_keys:name,email,password',
]);
درین مثال، اگه هیچکدوم از کلیدهای name، email یا password وجود نداشته باشن، Laravel به صورت خودکار خطا برمیگردونه و نیازی به نوشتن کد دستی نیست.
اما اگه فقط یکی از کلیدها موجود باشه، بدرستی انجام میشه بدونه خطا.
#Laravel #Laravel_tip #لاراول
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/mmartin_joo/status/1988233512273543234?t=2ABEYuKulqMioiYyYh6Umg&s=19
X (formerly Twitter)
Martin Joo (@mmartin_joo) on X
🔥 New validation in Laravel 12.21
There's a new `in_array_keys` validation that ensures specific keys exist in your arrays. No more manual array_key_exists checks.
There's a new `in_array_keys` validation that ensures specific keys exist in your arrays. No more manual array_key_exists checks.
👍10❤2
گاهی یک رشته داریم که عناصرش با "," یا ";" جدا شدن. با استفاده از split() و یک Regex ساده میتونیم هر دو رو همزمان جدا کنیم.
مثال:
الگوی بالا میگه هرجا ", " یا ";" دیدی جداسازی انجام بده برامون
#Javanoscript #جاوا_اسکریپت
#جاوااسکریپت
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/Shefali__J/status/1988564436559249609?t=3KBELet8DL6rU_-xqTFCDA&s=35
مثال:
let text = "apple,banana;orange,grape;melon";
let parts = text.split(/[,;]/);
console.log(parts);
// ["apple", "banana", "orange", "grape", "melon"]
الگوی بالا میگه هرجا ", " یا ";" دیدی جداسازی انجام بده برامون
#Javanoscript #جاوا_اسکریپت
#جاوااسکریپت
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/Shefali__J/status/1988564436559249609?t=3KBELet8DL6rU_-xqTFCDA&s=35
X (formerly Twitter)
Shefali (@Shefali__J) on X
JavaScript Tip💡
You can split a string at both commas and semicolons and create an array of individual elements.
You can split a string at both commas and semicolons and create an array of individual elements.
👍6🔥4
وقتی از get() استفاده میکنیم، کل رکوردهای جدول یکباره از دیتابیس خوانده میشن و داخل حافظه لود میشن.
این برای جدول های کوچیک مشکلی نداره؛ اما اگه با هزاران یا میلیونها رکورد سروکار داشته باشیم مصرف حافظه شدیدا بالا میره و ممکنه اسکریپت از کار بیفته.
لاراول قابلیت خوبی در اختیارمون گذاشته:
✅ lazy() — استریمکردن دادهها بهصورت مرحلهای
با lazy() رکوردهامون بصورت streaming لود میشن.
یعنی فقط بخش کوچکی وارد حافظه میشه، پردازش میشه و بعد آزاد میگرده. این روش فوقالعاده بهینه و کممصرف هست.
📌 مثال:
مزیت هاش؟
جلوگیری از مصرف سنگین RAM
مناسب برای پردازش جداول بزرگ
امنتر برای queue job ها و اسکریپتهای طولانی
اگه با دیتاستهای بزرگ سروکار دارین lazy() یکی از ترفندهاییه که بهتره بشناسید.
#Laravel #LaravelTip #لاراول
@GoldenCodeir 🔥
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/laravelbackpack/status/1987135536189055477?t=qISIPBP7OR7Yxe41XToi-Q&s=35
این برای جدول های کوچیک مشکلی نداره؛ اما اگه با هزاران یا میلیونها رکورد سروکار داشته باشیم مصرف حافظه شدیدا بالا میره و ممکنه اسکریپت از کار بیفته.
لاراول قابلیت خوبی در اختیارمون گذاشته:
✅ lazy() — استریمکردن دادهها بهصورت مرحلهای
با lazy() رکوردهامون بصورت streaming لود میشن.
یعنی فقط بخش کوچکی وارد حافظه میشه، پردازش میشه و بعد آزاد میگرده. این روش فوقالعاده بهینه و کممصرف هست.
📌 مثال:
User::lazy()->each(function ($user) {
// پردازش هر کاربر
});مزیت هاش؟
جلوگیری از مصرف سنگین RAM
مناسب برای پردازش جداول بزرگ
امنتر برای queue job ها و اسکریپتهای طولانی
اگه با دیتاستهای بزرگ سروکار دارین lazy() یکی از ترفندهاییه که بهتره بشناسید.
#Laravel #LaravelTip #لاراول
@GoldenCodeir 🔥
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/laravelbackpack/status/1987135536189055477?t=qISIPBP7OR7Yxe41XToi-Q&s=35
X (formerly Twitter)
Backpack for Laravel (@laravelbackpack) on X
#Laravel lazy() vs get()
Did you know.... You can stream large datasets from the DB using lazy() — way more memory-efficient than get().
Did you know.... You can stream large datasets from the DB using lazy() — way more memory-efficient than get().
👍7❤3👎1
یکی از قابلیتهای کمتر استفادهشده ی مرورگرها، Web Speech API است که به شما این امکان رو میده متن رو با صدای طبیعی برای کاربر پخش کنید.
با متود زیر میتونید خیلی ساده به اپلیکیشن وبتون صدا اضافه کنید:
📌 چطوری کار میکنه؟
این SpeechSynthesisUtterance یک شیء (Object) هستش که متن، سرعت، زبان و ... نگه میداره.
متود speechSynthesis.speak() همین شی را به موتور گفتار مرورگر میده و متن رو برای کاربر میخواند.
الان صفحه که لود بشه اون متنی ک نوشتید ،بصورت فایل صوتی پخش میشه .
📌 موارد استفادش:
ساخت نوتیفیکیشن های صوتی در وب
دستیار های صوتی ساده
افزایش Accessibility
خواندن متن یا آموزش زبان برای کاربر
#Javanoscript #جاوااسکریپت #جاوا_اسکریپت
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/denicmarko/status/1989665993871036438?t=nr9Tyq5fblSYnQGZiR58mQ&s=19
با متود زیر میتونید خیلی ساده به اپلیکیشن وبتون صدا اضافه کنید:
const msg = new SpeechSynthesisUtterance("سلام! این متن در مرورگر خوانده میشه.");
speechSynthesis.speak(msg);📌 چطوری کار میکنه؟
این SpeechSynthesisUtterance یک شیء (Object) هستش که متن، سرعت، زبان و ... نگه میداره.
متود speechSynthesis.speak() همین شی را به موتور گفتار مرورگر میده و متن رو برای کاربر میخواند.
الان صفحه که لود بشه اون متنی ک نوشتید ،بصورت فایل صوتی پخش میشه .
📌 موارد استفادش:
ساخت نوتیفیکیشن های صوتی در وب
دستیار های صوتی ساده
افزایش Accessibility
خواندن متن یا آموزش زبان برای کاربر
#Javanoscript #جاوااسکریپت #جاوا_اسکریپت
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/denicmarko/status/1989665993871036438?t=nr9Tyq5fblSYnQGZiR58mQ&s=19
X (formerly Twitter)
Marko Denic (@denicmarko) on X
JavaScript tip:
Use the `speechSynthesis.speak()` method to add voice to your web applications:
Use the `speechSynthesis.speak()` method to add voice to your web applications:
👍5🔥2❤1🥱1
در آپدیت جدید Laravel 12.39 یک ویژگی کاربردی به دستور route:list اضافه شده:
فلگ جدید --middleware
ازین به بعد میتونین روتها رو بر اساس یک middleware مشخص فیلتر کنید.
یعنی برای دیباگ، بررسی امنیت یا پیدا کردن روتهای اشتباه، دیگه نیازی به گشتن بین صدها روت نیست.
📌 مثال:
نمایش فقط اون روتهایی که middleware آنها auth است.
نمایش روتهای مربوطه.
چرا مهمه؟
پیدا کردن سریع روتهای مرتبط با یک middleware
دیباگ راحتتر
بررسی امنیت روت ها
قابلیتی ساده اما بسیار مفید برای پروژههای بزرگ لاراولی
#Laravel #LaravelTip #لاراول
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/MrPunyapal/status/1991187285551788343?t=PtzZDme8H4Mu2P-GeP21DQ&s=35
فلگ جدید --middleware
ازین به بعد میتونین روتها رو بر اساس یک middleware مشخص فیلتر کنید.
یعنی برای دیباگ، بررسی امنیت یا پیدا کردن روتهای اشتباه، دیگه نیازی به گشتن بین صدها روت نیست.
📌 مثال:
php artisan route:list --middleware=auth
نمایش فقط اون روتهایی که middleware آنها auth است.
php artisan route:list --middleware=api
نمایش روتهای مربوطه.
چرا مهمه؟
پیدا کردن سریع روتهای مرتبط با یک middleware
دیباگ راحتتر
بررسی امنیت روت ها
قابلیتی ساده اما بسیار مفید برای پروژههای بزرگ لاراولی
#Laravel #LaravelTip #لاراول
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/MrPunyapal/status/1991187285551788343?t=PtzZDme8H4Mu2P-GeP21DQ&s=35
X (formerly Twitter)
Punyapal Shah ⚡ Laravel Artisan ⚡ PHP Developer (@MrPunyapal) on X
Laravel v12.39 adds a new `--middleware` flag to the `route:list` command 🔎
Now you can filter your routes by middleware — perfect for debugging 🧪
Now you can filter your routes by middleware — perfect for debugging 🧪
👍15❤4
سلام به همتون،
در حال حاضر امکان همکاری حضوری یا دورکار رو دارم. اگه مجموعه یا تیمی نیاز به همکاری داشت خوشحال میشم در ارتباط باشیم.❤️
راه ارتباطی و ارسال رزومه:
@Alixx242
در حال حاضر امکان همکاری حضوری یا دورکار رو دارم. اگه مجموعه یا تیمی نیاز به همکاری داشت خوشحال میشم در ارتباط باشیم.❤️
راه ارتباطی و ارسال رزومه:
@Alixx242
❤11
Golden Code pinned «سلام به همتون، در حال حاضر امکان همکاری حضوری یا دورکار رو دارم. اگه مجموعه یا تیمی نیاز به همکاری داشت خوشحال میشم در ارتباط باشیم.❤️ راه ارتباطی و ارسال رزومه: @Alixx242»
نمایش دادهها به شکل جدول با console.table()
وقتی میخوای آرایهها یا آبجکتهای متعدد رو دیباگ کنی، console.log() همیشه خوانا نیست.
اما با console.table() میتونی دادهها رو مرتب، جدولی و بسیار خوانا ببینی. (در عکس قابل مشاهدست)
📌 مثال:
خروجی:
یک جدول تمیز شامل ستون های name و age.
کاربردهاش :
دیباگ سریعتر
مشاهده نتایج API
بررسی state در React/Vue
اگه تا حالا استفاده نکردی، حتما امتحانش کن :)
#JavaScript #js #جاوا_اسکریپت
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/denicmarko/status/1974822770476192190?t=msuLktjZp2a5rKegj1JdiA&s=35
وقتی میخوای آرایهها یا آبجکتهای متعدد رو دیباگ کنی، console.log() همیشه خوانا نیست.
اما با console.table() میتونی دادهها رو مرتب، جدولی و بسیار خوانا ببینی. (در عکس قابل مشاهدست)
📌 مثال:
const users = [
{ name: "Ali", age: 25 },
{ name: "Sara", age: 30 }
];
console.table(users);
خروجی:
یک جدول تمیز شامل ستون های name و age.
کاربردهاش :
دیباگ سریعتر
مشاهده نتایج API
بررسی state در React/Vue
اگه تا حالا استفاده نکردی، حتما امتحانش کن :)
#JavaScript #js #جاوا_اسکریپت
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/denicmarko/status/1974822770476192190?t=msuLktjZp2a5rKegj1JdiA&s=35
X (formerly Twitter)
Marko Denic (@denicmarko) on X
JavaScript tip:
You can use the `console.table()` method to display tabular data as a table.
You can use the `console.table()` method to display tabular data as a table.
👍7🔥3❤1
Forwarded from Code Lab (Bahaedin)
🚀 چرا API کُند میشه؟
امروز میخوایم در مورد یه مشکل مشترک صحبت کنیم: کندی API.
چرا بعضی وقتها API ما مثل لاکپشت رفتار میکنه؟ 🐢
کوئریهای سنگین و بدون index
قفل شدن جدولها (Table Locking)
ارتباطات زیاد با دیتابیس (N+1 Problem)
اندپوینت (Endpoint) هایی که کارهای زیادی انجام میدن!
عدم استفاده از Pagination برای دادههای زیاد
پردازشهای سنگین در خود API (مثلاً پردازش تصویر)
عدم استفاده از کش برای دادههای تکراری
تنظیم نادرست زمان انقضای کش
کش کردن دادههای بیفایده!
منابع RAM کم
CPU overload شده
محدودیت پهنای باند (Bandwidth)
فاصلهٔ جغرافیایی بین کاربر و سرور
استفاده از هاستینگ ارزانقیمت و ضعیف
مشکل در CDN
حلقههای بیپایان (Infinite Loops)
استفاده از الگوریتمهای ناکارآمد (مثلاً O(n²))
مدیریت نادرست حافظه (Memory Leak)
✅ برای دیتابیس: از indexها استفاده کن، کوئریهاتون رو بهینه کن.
✅ برای معماری: از Microservices و Pagination کمک بگیر.
✅ کش: Redis یا Memcached رو فراموش نکن!
✅ مقیاسپذیری: سرور رو ارتقا بده یا از Load Balancer استفاده کن.
✅ کد: پروفت رو با ابزارهایی مثل Py-Spy یا Blackfire آنالیز کن.
✨ جمعبندی:
کندی API همیشه قابل حلست، به شرطی که درست تشخیص بدی مشکل از کجاست!
یادت باشه: یه API سریع، هم کاربر رو خوشحال میکنه، هم موتورهای جستجو رو! 😉
⏳ پ.ن: تو اولین تجربهات، چه چیزی باعث کندی API تو شده بود؟ زیر همین پست برامون بنویس! 👇
#baha #API
CODELAB | GpCodeLab
امروز میخوایم در مورد یه مشکل مشترک صحبت کنیم: کندی API.
چرا بعضی وقتها API ما مثل لاکپشت رفتار میکنه؟ 🐢
۱. پایگاه داده (Database) – مقصر اصلی
کوئریهای سنگین و بدون index
قفل شدن جدولها (Table Locking)
ارتباطات زیاد با دیتابیس (N+1 Problem)
۲. معماری بد API
اندپوینت (Endpoint) هایی که کارهای زیادی انجام میدن!
عدم استفاده از Pagination برای دادههای زیاد
پردازشهای سنگین در خود API (مثلاً پردازش تصویر)
۳. مشکل در کش (Caching)
عدم استفاده از کش برای دادههای تکراری
تنظیم نادرست زمان انقضای کش
کش کردن دادههای بیفایده!
۴. منابع سرور (Server Resources)
منابع RAM کم
CPU overload شده
محدودیت پهنای باند (Bandwidth)
۵. شبکه (Network)
فاصلهٔ جغرافیایی بین کاربر و سرور
استفاده از هاستینگ ارزانقیمت و ضعیف
مشکل در CDN
۶. کدنویسی ضعیف
حلقههای بیپایان (Infinite Loops)
استفاده از الگوریتمهای ناکارآمد (مثلاً O(n²))
مدیریت نادرست حافظه (Memory Leak)
💡 راههای حل مشکل:
✅ برای دیتابیس: از indexها استفاده کن، کوئریهاتون رو بهینه کن.
✅ برای معماری: از Microservices و Pagination کمک بگیر.
✅ کش: Redis یا Memcached رو فراموش نکن!
✅ مقیاسپذیری: سرور رو ارتقا بده یا از Load Balancer استفاده کن.
✅ کد: پروفت رو با ابزارهایی مثل Py-Spy یا Blackfire آنالیز کن.
✨ جمعبندی:
کندی API همیشه قابل حلست، به شرطی که درست تشخیص بدی مشکل از کجاست!
یادت باشه: یه API سریع، هم کاربر رو خوشحال میکنه، هم موتورهای جستجو رو! 😉
⏳ پ.ن: تو اولین تجربهات، چه چیزی باعث کندی API تو شده بود؟ زیر همین پست برامون بنویس! 👇
#baha #API
CODELAB | GpCodeLab
Telegram
Code Lab
Code Lab | Learn. Build. Share.
پلتفرمی برای آموزش اصولی برنامهنویسی وترفندها
تمرکز بر رشد مهارت، کیفیت محتوا و ساخت پروژههای واقعی 🚀
پلتفرمی برای آموزش اصولی برنامهنویسی وترفندها
تمرکز بر رشد مهارت، کیفیت محتوا و ساخت پروژههای واقعی 🚀
👍10❤3
در نسخههای جدید لاراول، مدیریت تاریخ و زمان بسیار سادهتر شده.
متودهای plus() و minus()
مزیتش؟
خواناتر و استانداردتر از متدهای قدیمی مانند addHours() یا subDays() است.
توابع Interval
📌 مزایا؟
● سریع و مختصر
● خواناتر نسبت به ساخت مستقیم CarbonInterval::minutes(10)
● قابل استفاده در هر جایی که DateInterval یا CarbonInterval قابل قبول باشه.
و Carbon حالا پشتیبانی کاملتری از جمع و تفریق واحدهای زمانی مثل دقیقه، ساعت، روز، هفته، ماه و سال دارد.
#Laravel #LaravelTip #Laravel_tip #لاراول
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/MrPunyapal/status/1994095099178045903?t=b8N9eTPiAKq3r-YlVph8Rg&s=35
متودهای plus() و minus()
// جمع کردن زمان
now()->plus(minutes: 5);
now()->plus(hours: 8);
// کم کردن زمان
now()->minus(days: 2);
now()->minus(weeks: 1);
مزیتش؟
خواناتر و استانداردتر از متدهای قدیمی مانند addHours() یا subDays() است.
توابع Interval
use function Illuminate\Support\minutes;
cache::put('metrics', $metrics, minutes(10));
📌 مزایا؟
● سریع و مختصر
● خواناتر نسبت به ساخت مستقیم CarbonInterval::minutes(10)
● قابل استفاده در هر جایی که DateInterval یا CarbonInterval قابل قبول باشه.
و Carbon حالا پشتیبانی کاملتری از جمع و تفریق واحدهای زمانی مثل دقیقه، ساعت، روز، هفته، ماه و سال دارد.
#Laravel #LaravelTip #Laravel_tip #لاراول
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/MrPunyapal/status/1994095099178045903?t=b8N9eTPiAKq3r-YlVph8Rg&s=35
X (formerly Twitter)
Punyapal Shah ⚡ Laravel Artisan ⚡ PHP Developer (@MrPunyapal) on X
Laravel v12.40 introduced new interval functions to make time adjustments more readable. 👌
Additionally, Carbon now supports the addition and subtraction of time. 💪
Hours, minutes, days, weeks, and years—choose whatever you require. 🫡
Additionally, Carbon now supports the addition and subtraction of time. 💪
Hours, minutes, days, weeks, and years—choose whatever you require. 🫡
👍10🔥3❤1
Forwarded from Syntax | سینتکس (alireza-fa)
تو پروژه ها اولش شبیه به اینه که داری یه سنگ گرد سنگین رو به سختی از یه تپه بالا می بری. انرژی زیادی میخواد تا راه بیوفته، ولی وقتی راه افتاد، ادامه دادنش خیلی راحته
اما اگه یه مدت رهاش کنی دوباره راه انداختنش به همون اندازه اول، یا حتی بیشتر، سخت میشه
حفظ momentum یعنی حتی اگه وقتت کمه، یا خسته ای، یا مغزت پره، یه حرکت کوچیک بزنی، یه باگ ریز، یه refactor ساده، یا حتی فقط باز کردن پروژه
چون وقتی فاصله می گیری، پروژه یه دفعه سنگین تر از چیزی که هست به نظر میرسه و اون وقت به جای یه خط کد، با یه کوه ناتموم طرفی
چرا momentum؟
1. انگیزه رو زنده نگه میداره
وقتی هر روز یه کار کوچیک انجام بدی، حس پیشرفت میگیری. ولی وقتی چند روز فاصله بیفته، مغز حس میکنه پروژه سنگینتر شده
2. یادگیری و درگیری ذهنی حفظ میشه
وقتی مدام با کدها درگیری، context توی ذهنت میمونه. ولی بعد از چند روز، باز کردن پروژه مثل روبهرو شدن با یه چیز ناآشنا میشه
3. بهت کمک میکنه با کمالگرایی کنار بیای
وقتی توی flow باشی، بیشتر عمل میکنی تا تحلیل. ولی فاصله گرفتن باعث میشه بیش از حد فکر کنی. از کجا شروع کنم؟ نکنه کدم خوب نباشه؟
@Syntax_fa
اما اگه یه مدت رهاش کنی دوباره راه انداختنش به همون اندازه اول، یا حتی بیشتر، سخت میشه
حفظ momentum یعنی حتی اگه وقتت کمه، یا خسته ای، یا مغزت پره، یه حرکت کوچیک بزنی، یه باگ ریز، یه refactor ساده، یا حتی فقط باز کردن پروژه
چون وقتی فاصله می گیری، پروژه یه دفعه سنگین تر از چیزی که هست به نظر میرسه و اون وقت به جای یه خط کد، با یه کوه ناتموم طرفی
چرا momentum؟
1. انگیزه رو زنده نگه میداره
وقتی هر روز یه کار کوچیک انجام بدی، حس پیشرفت میگیری. ولی وقتی چند روز فاصله بیفته، مغز حس میکنه پروژه سنگینتر شده
2. یادگیری و درگیری ذهنی حفظ میشه
وقتی مدام با کدها درگیری، context توی ذهنت میمونه. ولی بعد از چند روز، باز کردن پروژه مثل روبهرو شدن با یه چیز ناآشنا میشه
3. بهت کمک میکنه با کمالگرایی کنار بیای
وقتی توی flow باشی، بیشتر عمل میکنی تا تحلیل. ولی فاصله گرفتن باعث میشه بیش از حد فکر کنی. از کجا شروع کنم؟ نکنه کدم خوب نباشه؟
@Syntax_fa
👍11
Forwarded from Linuxor ?
معمولا شرکت هایی موفق ان که یه ابزار برای خودشون ساختن و اونو به بقیه هم عرضه کردن، مثلا یکتانت (بزرگ ترین سیستم تبلیغاتی ایران) به گفته خودشون ابزار تبلیغاتی برای خودشون بوده اول بعد تبدیل به ابزارش کردن، یا پروژه های خیلی بزرگی مثل گیتهاب و اسلک اینا همگی ابزار برای تیم خودشون بوده بعد دیدن عه چه باحاله به مردم هم بدیم استفاده کنن.
علتش هم خیلی سادس، چون نیازی نیست نیاز بازار رو بسنجی خودت جزئی از بازاری و مطمئنی چیزی که ساختی بدرد بخوره.
@Linuxor
علتش هم خیلی سادس، چون نیازی نیست نیاز بازار رو بسنجی خودت جزئی از بازاری و مطمئنی چیزی که ساختی بدرد بخوره.
@Linuxor
👍16❤1