Forwarded from Golden Code (علی 🇨🇴)
در 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.
Forwarded from محتوای آزاد سهراب (Sohrab)
و کمپانی valve از یک دستگاه جدید با استیماواس و کیدیای پلاسما رونمایی کرد.
https://youtu.be/tY7iBlM7QIY?si=ffDpz4ejgsKFCNd5
میزکار پیشرو گنو/لینوکس اسمش چی بود؟ ا.... یادم رفت
@SohrabContents
https://youtu.be/tY7iBlM7QIY?si=ffDpz4ejgsKFCNd5
میزکار پیشرو گنو/لینوکس اسمش چی بود؟ ا.... یادم رفت
@SohrabContents
Forwarded from ASafaeirad
AI Focus
dead framework theory
These are my opinions and are ruminations on what might be happening as more and more developers use LLMs and Frameworks to build on the web.
In October last year I wrote “will developers care about frameworks in the future?” predicting that LLMs would abstract…
In October last year I wrote “will developers care about frameworks in the future?” predicting that LLMs would abstract…
Forwarded from Meitix
تو دنیای وب و نرمافزار، وقتی دیتا بین سرویسها جابهجا میشه، دو راه داری:
1️⃣ Pass by Reference:
همه سرویسها مستقیم به همون رکورد دیتابیس نگاه میکنن. مثل اینکه OrderService و InventoryService هر دو با هم تو یه جدول مستقیم کار کنن.
هر تغییری که یکی بده، بقیه هم همون لحظه قاعدتا میبینن.
مزیتش؟ سریع و ساده.
مشکل؟ اگر یکی خراب کنه یا کند باشه، همه گیر میکنن. Coupling شدیده و سیستم شکنندهست.
2️⃣ Pass by Message:
هر سرویس خودش یک کپی از دیتا میگیره، از طریق پیام یا event. مثلا OrderService وقتی سفارش جدید ثبت کرد، یه event مثل OrderCreated میفرسته.
و InventoryService وقتی دریافتش کرد، خودش دیتا رو ذخیره میکنه یا پردازش میکنه.
مزیتش؟ سرویسها مستقلن، خطای یکی روی دیگری اثر نمیذاره.
مقیاسپذیرتر و امنتره، مخصوص microservices و سیستمهای توزیعشده
1️⃣ Pass by Reference:
همه سرویسها مستقیم به همون رکورد دیتابیس نگاه میکنن. مثل اینکه OrderService و InventoryService هر دو با هم تو یه جدول مستقیم کار کنن.
هر تغییری که یکی بده، بقیه هم همون لحظه قاعدتا میبینن.
مزیتش؟ سریع و ساده.
مشکل؟ اگر یکی خراب کنه یا کند باشه، همه گیر میکنن. Coupling شدیده و سیستم شکنندهست.
2️⃣ Pass by Message:
هر سرویس خودش یک کپی از دیتا میگیره، از طریق پیام یا event. مثلا OrderService وقتی سفارش جدید ثبت کرد، یه event مثل OrderCreated میفرسته.
و InventoryService وقتی دریافتش کرد، خودش دیتا رو ذخیره میکنه یا پردازش میکنه.
مزیتش؟ سرویسها مستقلن، خطای یکی روی دیگری اثر نمیذاره.
مقیاسپذیرتر و امنتره، مخصوص microservices و سیستمهای توزیعشده
Forwarded from IRCF | اینترنت آزاد برای همه
بر اساس #گزارش کاربران و با درنظر گرفتن آخرین پژوهش شبکه، #وارپ کلودفلر مجددا اتصالهای کلاینت WireGuard را به مقاصدی غیر از مقصد پیشفرض باز کرده است.
#کلودفلر در چندماه گذشته تمام اتصالهای مبتنی بر وایرگارد به سرورهایش را مسدود کرده بود و تنها گزینه، استفاده از مقصد پیشفرض (که بهراحتی میشد با مسدود کردن یک IP یا دامنه از کار انداخت)، یا استفاده از اپلیکیشن رسمی ۱.۱.۱.۱ و پروتکل مسک بود.
اما حالا به نظر میرسد که آنها این اتصالها را باز کردهاند و قصد دارند به مردم کمک کنند تا از طریق هستههای مبتنی بر WireGuard شخصثالث مثل وارپپلاس به اپها متصل شوند!
© Atomic_anon
🔍 ircf.space
@ircfspace
#کلودفلر در چندماه گذشته تمام اتصالهای مبتنی بر وایرگارد به سرورهایش را مسدود کرده بود و تنها گزینه، استفاده از مقصد پیشفرض (که بهراحتی میشد با مسدود کردن یک IP یا دامنه از کار انداخت)، یا استفاده از اپلیکیشن رسمی ۱.۱.۱.۱ و پروتکل مسک بود.
اما حالا به نظر میرسد که آنها این اتصالها را باز کردهاند و قصد دارند به مردم کمک کنند تا از طریق هستههای مبتنی بر WireGuard شخصثالث مثل وارپپلاس به اپها متصل شوند!
© Atomic_anon
🔍 ircf.space
@ircfspace
Forwarded from Gopher Academy
🔵 عنوان مقاله
some odd discrepancies when profiling their Go code on macOS.
🟢 خلاصه مقاله:
این مطلب در Golang Weekly به این میپردازد که چرا هنگام پروفایل کردن برنامههای Go روی macOS گاهی نتایج ناسازگار و غافلگیرکننده دیده میشود؛ پروفایلها بین اجراها تغییر میکنند و معمولاً با اعداد بهدستآمده روی Linux یا در CI همخوان نیستند. ریشه مسئله بیشتر به تفاوت ابزارها، رفتار سیستمعامل و ویژگیهای بار کاری برمیگردد: نمونهبرداری pprof ممکن است نقاط داغ کوتاهعمر را نبیند، مدیریت توان و زمانبندی macOS بر نرخ نمونهگیری و زمان اجرای رشتهها اثر میگذارد، و حضور cgo یا کتابخانههای بومی میتواند ردگیری پشته و نمادگذاری را دشوار کند. توصیهها شامل ترکیب pprof با Instruments، اجرای طولانیتر برای پایداری نمونهگیری، کنترل نویز محیطی (مثل ثابت نگهداشتن GOMAXPROCS و اجرای سیستم در شرایط کمبار)، تکرار چندباره اندازهگیری و نهایتاً مقایسه با مقادیری است که روی Linux (در صورت استقرار نهایی) بهدست میآیند. جمعبندی این است که پروفایلهای macOS را راهنمایی جهتدار بدانید و تصمیمهای نهایی کارایی را بر اساس پلتفرم مقصد اتخاذ کنید.
#Go #Golang #macOS #Profiling #Performance #pprof #Instruments #AppleSilicon
🟣لینک مقاله:
https://golangweekly.com/link/176897/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
some odd discrepancies when profiling their Go code on macOS.
🟢 خلاصه مقاله:
این مطلب در Golang Weekly به این میپردازد که چرا هنگام پروفایل کردن برنامههای Go روی macOS گاهی نتایج ناسازگار و غافلگیرکننده دیده میشود؛ پروفایلها بین اجراها تغییر میکنند و معمولاً با اعداد بهدستآمده روی Linux یا در CI همخوان نیستند. ریشه مسئله بیشتر به تفاوت ابزارها، رفتار سیستمعامل و ویژگیهای بار کاری برمیگردد: نمونهبرداری pprof ممکن است نقاط داغ کوتاهعمر را نبیند، مدیریت توان و زمانبندی macOS بر نرخ نمونهگیری و زمان اجرای رشتهها اثر میگذارد، و حضور cgo یا کتابخانههای بومی میتواند ردگیری پشته و نمادگذاری را دشوار کند. توصیهها شامل ترکیب pprof با Instruments، اجرای طولانیتر برای پایداری نمونهگیری، کنترل نویز محیطی (مثل ثابت نگهداشتن GOMAXPROCS و اجرای سیستم در شرایط کمبار)، تکرار چندباره اندازهگیری و نهایتاً مقایسه با مقادیری است که روی Linux (در صورت استقرار نهایی) بهدست میآیند. جمعبندی این است که پروفایلهای macOS را راهنمایی جهتدار بدانید و تصمیمهای نهایی کارایی را بر اساس پلتفرم مقصد اتخاذ کنید.
#Go #Golang #macOS #Profiling #Performance #pprof #Instruments #AppleSilicon
🟣لینک مقاله:
https://golangweekly.com/link/176897/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Dolthub
Go CPU Profiling on MacOS is Broken
Profiling on MacOS gives unexpected and misleading results.
Forwarded from IRCF | اینترنت آزاد برای همه
الان که آمار کاربران در پیامرسانهای بومیِ رانتی به چند میلیارد رسیده، دکتر قصدش اینه بخشی از ریزش ۶۰ درصدی #تلگرام رو جبران کنه!
🔍 ircf.space
@ircfspace
🔍 ircf.space
@ircfspace
Forwarded from DevTwitter | توییت برنامه نویسی
یه افزونه مشتی برای TypeScript پیدا کردم که واقعاً کار رو راحتتر میکنه:
اگه مثل من اهل ساختار تمیز و feature-based تو پروژههات هستی، احتمالاً همیشه درگیر ساخت یا آپدیت دستی فایلهای index.ts برای export کردن ماژولها بودی
این افزونه دقیقاً همون چیزیه که دنبالش بودم!
با یه کلیک همهی exportها رو به صورت خودکار جمع میکنه، و دیگه لازم نیست خودت بری فایلهای مختلف رو دستی اضافه کنی.
پشتیبانی از alias
بهروزرسانی خودکار وقتی فایل جدید اضافه میکنی
تنظیمات قابل شخصیسازی برای مسیرها
من چند روزه دارم استفاده میکنم، و به جرأت میتونم بگم barrel management توی TypeScript هیچوقت به این راحتی نبوده (مخصوصا برای پروژه های اسکیل بالا)
اگه زیاد با ساختارهای feature-base یا monorepo کار میکنی، این اکستنشن قطعاً باید جزو ابزارهای ثابتت باشه
لینک افزونه [vscode]
https://github.com/estruyf/vscode-typenoscript-exportallmodules
@DevTwitter | <Soheil Ghanbary/>
اگه مثل من اهل ساختار تمیز و feature-based تو پروژههات هستی، احتمالاً همیشه درگیر ساخت یا آپدیت دستی فایلهای index.ts برای export کردن ماژولها بودی
این افزونه دقیقاً همون چیزیه که دنبالش بودم!
با یه کلیک همهی exportها رو به صورت خودکار جمع میکنه، و دیگه لازم نیست خودت بری فایلهای مختلف رو دستی اضافه کنی.
پشتیبانی از alias
بهروزرسانی خودکار وقتی فایل جدید اضافه میکنی
تنظیمات قابل شخصیسازی برای مسیرها
من چند روزه دارم استفاده میکنم، و به جرأت میتونم بگم barrel management توی TypeScript هیچوقت به این راحتی نبوده (مخصوصا برای پروژه های اسکیل بالا)
اگه زیاد با ساختارهای feature-base یا monorepo کار میکنی، این اکستنشن قطعاً باید جزو ابزارهای ثابتت باشه
لینک افزونه [vscode]
https://github.com/estruyf/vscode-typenoscript-exportallmodules
@DevTwitter | <Soheil Ghanbary/>
Forwarded from محتوای آزاد سهراب (Sohrab)
کسپرسکی به گنو/لینوکس دسکتاپ خواهد آمد.
https://www.omgubuntu.co.uk/2025/11/kaspersky-linux-antivirus-released
فکر نکنم توضیحات بیشتری بخواد :))
اونایی که میدونن »»
@SohrabContents
https://www.omgubuntu.co.uk/2025/11/kaspersky-linux-antivirus-released
فکر نکنم توضیحات بیشتری بخواد :))
اونایی که میدونن »»
@SohrabContents
OMG! Ubuntu
Kaspersky Brings Its Antivirus Software to Linux Desktops
Kaspersky launches Linux antivirus for Ubuntu and other distros. Features, system requirements and why the banned security firm has come to open-source desktops.
Forwarded from امین رشیدبیگی | مهندسی نرمافزار
تعریف سطوح کاهش سرویس (Degradation Levels)
با داشتن feature flagها میتونیم سطوح از پیش تعریف شدهای برای کاهش کنترلشدهی سرویس تعریف کنیم.
یعنی اگر سیستم تحت فشار شدید قرار گرفت، به جای مواجه شدن با قطعی کامل، بهصورت مرحلهبهمرحله بعضی فیچرها رو از دسترس خارج کنیم.
این کار کمک میکنه که عملکرد بخشهای اصلی پایدارتر بمونه چون هم محاسبات کمتری صورت میگیره، و هم منابعی آزاد میشه که برای scale up کردن بخشهای مهمتر میشه استفاده کرد.
یه نمونهٔ فرضی برای مثال دیجیکالا میتونه اینطوری باشه 👇
با این رویکرد، میتونیم برنامهٔ مشخصی برای کاهش فشار روی سیستم داشته باشیم.
از طرف دیگه یه زبان مشترک بین همهٔ stakeholderها شکل میگیره؛ طوری که در زمان بحران هماهنگی راحتتر انجام میشه، زمان کمتری صرف ارتباط و توضیح میشه، و تیم میتونه خیلی سریعتر واکنش نشون بده.
@aminrbg
با داشتن feature flagها میتونیم سطوح از پیش تعریف شدهای برای کاهش کنترلشدهی سرویس تعریف کنیم.
یعنی اگر سیستم تحت فشار شدید قرار گرفت، به جای مواجه شدن با قطعی کامل، بهصورت مرحلهبهمرحله بعضی فیچرها رو از دسترس خارج کنیم.
این کار کمک میکنه که عملکرد بخشهای اصلی پایدارتر بمونه چون هم محاسبات کمتری صورت میگیره، و هم منابعی آزاد میشه که برای scale up کردن بخشهای مهمتر میشه استفاده کرد.
یه نمونهٔ فرضی برای مثال دیجیکالا میتونه اینطوری باشه 👇
🟢 Level 0 — Normal
همهچیز فعال و در حالت عادی کار میکنه:
- Recommendation engine
- Reviews
- Wishlist
- Search suggestions
🟡 Level 1 — Light Pressure
فیچرهای غیرحیاتی موقتاً غیرفعال میشن:
- ❌ Recommendation engine
- ✅ Reviews
- ❌ Wishlist
- ✅ Search (بدون suggestion)
🟠 Level 2 — Heavy Pressure
فقط مسیر خرید و پرداخت فعال میمونه:
- ✅ مشاهدهٔ محصول + سبد خرید + پرداخت
- ❌ سایر قابلیتها غیرفعال
🔴 Level 3 — Critical
حالت Read-only:
- ✅ فقط مشاهدهٔ محصولات
- ❌ امکان خرید جدید
با این رویکرد، میتونیم برنامهٔ مشخصی برای کاهش فشار روی سیستم داشته باشیم.
از طرف دیگه یه زبان مشترک بین همهٔ stakeholderها شکل میگیره؛ طوری که در زمان بحران هماهنگی راحتتر انجام میشه، زمان کمتری صرف ارتباط و توضیح میشه، و تیم میتونه خیلی سریعتر واکنش نشون بده.
@aminrbg
Forwarded from DevTwitter | توییت برنامه نویسی
واتساپ نسخه بومی ویندوز را کنار گذاشته و نسخه جدیدش در واقع یک مرورگر را بصورت داخلی اجرا و نسخه وبی واتساپ را در آن اجرا میکند و این یعنی مصرف منابع بسیار بیشتر.
مثلا نسخه بومی برای صفحه لاگین ۱۰ مگابابت مصرف اما جدیده نزدیک ۳۰۰ مگ.
موقع استفاده جدی تا ۲ گیگ رم میخوره!
عملا استفاده از نسخه وب واتساپ روی مرورگرهای دیگر مانند کروم یا فایرفاکس یا اج بصرفهتر بوده و منابع کمتری از سیستم شما را اشغال میکند
@DevTwitter | <Alireza Shirazi/>
مثلا نسخه بومی برای صفحه لاگین ۱۰ مگابابت مصرف اما جدیده نزدیک ۳۰۰ مگ.
موقع استفاده جدی تا ۲ گیگ رم میخوره!
عملا استفاده از نسخه وب واتساپ روی مرورگرهای دیگر مانند کروم یا فایرفاکس یا اج بصرفهتر بوده و منابع کمتری از سیستم شما را اشغال میکند
@DevTwitter | <Alireza Shirazi/>
Forwarded from Gopher Academy
🔵 عنوان مقاله
Go v1.25.4 and 1.24.10
🟢 خلاصه مقاله:
نسخههای Go v1.25.4 و 1.24.10 منتشر شد؛ اینها بهروزرسانیهای نقطهای با تمرکز بر رفع باگها و بهبود پایداری هستند و قابلیت جدید یا تغییر ناسازگار اضافه نمیکنند. ارتقا در همان شاخه نسخه باید کمخطر و ساده باشد. پیشنهاد میشود پس از مرور release notes و آزمایش در CI، در شاخه فعلی خود به آخرین Patch ارتقا دهید. بستههای آماده برای Linux، macOS و Windows از صفحه رسمی دانلود یا مدیر بستهها در دسترس است.
#Go #Golang #Release #PatchRelease #BugFixes #Stability #SoftwareUpdate
🟣لینک مقاله:
https://golangweekly.com/link/176896/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Go v1.25.4 and 1.24.10
🟢 خلاصه مقاله:
نسخههای Go v1.25.4 و 1.24.10 منتشر شد؛ اینها بهروزرسانیهای نقطهای با تمرکز بر رفع باگها و بهبود پایداری هستند و قابلیت جدید یا تغییر ناسازگار اضافه نمیکنند. ارتقا در همان شاخه نسخه باید کمخطر و ساده باشد. پیشنهاد میشود پس از مرور release notes و آزمایش در CI، در شاخه فعلی خود به آخرین Patch ارتقا دهید. بستههای آماده برای Linux، macOS و Windows از صفحه رسمی دانلود یا مدیر بستهها در دسترس است.
#Go #Golang #Release #PatchRelease #BugFixes #Stability #SoftwareUpdate
🟣لینک مقاله:
https://golangweekly.com/link/176896/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Forwarded from Linuxor ?
این کورس 5 روزه گوگل برای Ai Agent هارو از دست ندید
توش کلی چیز قراره صحبت بشه از معماری و ابزارهای هوش مصنوعی گرفته تا حافظه، ارزیابی و استقرار (فعلا سه روزش تکمیل شده، روز چهارم امروز میآد و روز پنجمش احتمالا فردا)
youtube.com/playlist?list=PLqFaTIg4myu9r7uRoNfbJhHUbLp-1t1YE
@Linuxor
توش کلی چیز قراره صحبت بشه از معماری و ابزارهای هوش مصنوعی گرفته تا حافظه، ارزیابی و استقرار (فعلا سه روزش تکمیل شده، روز چهارم امروز میآد و روز پنجمش احتمالا فردا)
youtube.com/playlist?list=PLqFaTIg4myu9r7uRoNfbJhHUbLp-1t1YE
@Linuxor
Forwarded from Armon technical logs (armon Taheri)
یکی از دوستانم جشن دبیان رو ثبت نام کرده ولی نمیتونه شرکت کنه
اگر کسی بلیط نتونسته تهیه کنه میتونه بهم پیام بده به ایشون انتقال بدیم
آپدیت (بلیط انتقال داده شد)
اگر کسی بلیط نتونسته تهیه کنه میتونه بهم پیام بده به ایشون انتقال بدیم
آپدیت (بلیط انتقال داده شد)
Forwarded from DevTwitter | توییت برنامه نویسی
با cursor کل وب سایت پورتفولیومو تو کمتر از نیم ساعت از اول با GoLang زدم،
نتیجه: سرعت بیلد شدن و اومدن بالا (از ۲۰ دقیقه - NextJS + PNPM)
اومد رسید به ۱ دقیقه و ۳۰ ثانیه از تایمی که پوش میکنم تا وقتی رو کلاستره کوبر دیپلوی میشه کامل
یکی دیگه از نتایج این بود که همه اینا شد ۱۰۰٪
و یکی دیگه از نتایج هم اینه که کل چیزی که میرسه دست کاربر بدون GZIP به ۱ مگ هم نمیرسه :))
@DevTwitter | <Mamad/>
نتیجه: سرعت بیلد شدن و اومدن بالا (از ۲۰ دقیقه - NextJS + PNPM)
اومد رسید به ۱ دقیقه و ۳۰ ثانیه از تایمی که پوش میکنم تا وقتی رو کلاستره کوبر دیپلوی میشه کامل
یکی دیگه از نتایج این بود که همه اینا شد ۱۰۰٪
و یکی دیگه از نتایج هم اینه که کل چیزی که میرسه دست کاربر بدون GZIP به ۱ مگ هم نمیرسه :))
@DevTwitter | <Mamad/>
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 اولین برنامه اندروید Simple IPTV با فریم ورک NativePHP لاراول ساخته شده است در گوگل پلی منتشر شد.
#لاراول
@TheRaymondDev
#لاراول
@TheRaymondDev
Forwarded from DevTwitter | توییت برنامه نویسی
کسایی که کار امنیت و یا باگ بانتی انجام میدن شاید این ابزار براشون جالب باشه
میاد کل روند ری سرچ و انواع تست هارو خودش انجام میده
نیاز باشه ریکان نیاز باشه هر مدل تستی
فقط کافیه ادرس سایت بهش بدی و یه api key از openai !
https://github.com/usestrix/strix
@DevTwitter | <Navid/>
میاد کل روند ری سرچ و انواع تست هارو خودش انجام میده
نیاز باشه ریکان نیاز باشه هر مدل تستی
فقط کافیه ادرس سایت بهش بدی و یه api key از openai !
https://github.com/usestrix/strix
@DevTwitter | <Navid/>