🔶 با تصویب نهایی لایحه حذف چهار صفر از پول ملی، واحد رسمی کشور «تومان» و واحد خردتر «قران» تعیین شد.
#خبر
@TheRaymondDev
#خبر
@TheRaymondDev
🤣16👎2👍1
🔶 سیستم محتوای Craft که بر پایه Yii2 بود به لاراول مهاجرت می کند و نسخه Craft 6 بر پایه لاراول خواهد بود.
این تصمیمی نبود که به سادگی گرفته باشیم، اما مطمئنیم که انتخاب درستی است. لاراول بدون شک آشنا ترین فریم ورک PHP برای توسعه دهندگان Craft است و یک اکوسیستم بزرگ از پکیج ها و سرویس های بهینه سازی شده برای لاراول دارد که Craft میتواند از آنها بهرهمند شود.
#لاراول
@TheRaymondDev
این تصمیمی نبود که به سادگی گرفته باشیم، اما مطمئنیم که انتخاب درستی است. لاراول بدون شک آشنا ترین فریم ورک PHP برای توسعه دهندگان Craft است و یک اکوسیستم بزرگ از پکیج ها و سرویس های بهینه سازی شده برای لاراول دارد که Craft میتواند از آنها بهرهمند شود.
#لاراول
@TheRaymondDev
Laravel News
Craft CMS is moving to Laravel - Laravel News
Craft CMS just announced on stage at their Dot All conference that they will be moving to Laravel for Craft v6
🔶 ارائه دهنده هاستینگ پارس دیتا هدف حمله سایبری از نوع باج افزاری قرار گرفت.
https://www.parsdata.com/
#خبر
@TheRaymondDev
https://www.parsdata.com/
#خبر
@TheRaymondDev
Forwarded from Golden Code (علی 🇨🇴)
در بسیاری از پروژهها وقتی داخل یک database transaction هستیم، نیاز داریم بعد از ذخیرهی موفق دیتاها یک Event اجرا کنیم (مثل ارسال ایمیل، ثبت لاگ یا بروزرسانی سرویس خارجی).
اما اگه Event قبل از commit اجرا بشه و transaction به هر دلیلی rollback بشه، یک ناسازگاری بزرگ به وجود میاد:
کاربر ایمیل "ثبت موفق" دریافت میکنه، در حالیکه دیتایی ذخیره نشده.
سرویس خارجی بروزرسانی میشه، در حالیکه دیتابیس شما تغییر نکرده.
🔴 این یعنی Event شما از وضعیت واقعی دیتابیس عقب میمونه.
📌 راهحل لاراول براش:
لاراول برای این سناریو یک راهحل خیلی تمیز ارائه داده:
کافیه Event شما این اینترفیس رو پیادهسازی کنه:
وقتی این Event رو dispatch کنید:
لاراول تضمین میکنه که اجرای Event فقط بعده موفقیت کامل transaction و commit نهایی اتفاق بیفته.
#Laravel #Laravel_tip #لاراول
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/wendell_adriel/status/1974077531943838164?t=ZlSaB6_aM-qXwNDa_ttadw&s=35
اما اگه Event قبل از commit اجرا بشه و transaction به هر دلیلی rollback بشه، یک ناسازگاری بزرگ به وجود میاد:
کاربر ایمیل "ثبت موفق" دریافت میکنه، در حالیکه دیتایی ذخیره نشده.
سرویس خارجی بروزرسانی میشه، در حالیکه دیتابیس شما تغییر نکرده.
🔴 این یعنی Event شما از وضعیت واقعی دیتابیس عقب میمونه.
📌 راهحل لاراول براش:
لاراول برای این سناریو یک راهحل خیلی تمیز ارائه داده:
کافیه Event شما این اینترفیس رو پیادهسازی کنه:
use Illuminate\Contracts\Events\ShouldDispatchAfterCommit;
class OrderCreated implements ShouldDispatchAfterCommit
{
public $order;
public function __construct($order)
{
$this->order = $order;
}
}
وقتی این Event رو dispatch کنید:
event(new OrderCreated($order));
لاراول تضمین میکنه که اجرای Event فقط بعده موفقیت کامل transaction و commit نهایی اتفاق بیفته.
#Laravel #Laravel_tip #لاراول
@GoldenCodeir 🔥
(بهمنبع و مثالش دقت کنید 👇🏾)
https://x.com/wendell_adriel/status/1974077531943838164?t=ZlSaB6_aM-qXwNDa_ttadw&s=35
X (formerly Twitter)
Wendell Adriel (@wendell_adriel) on X
Laravel Tip 🚀
Yesterday I talked about the DB::afterCommit, on the same topic, if you want to dispatch events only after the DB transaction has been committed, you can do it by making your Event class implement the Illuminate\Contracts\Events\ShouldDispatchAfterCommit…
Yesterday I talked about the DB::afterCommit, on the same topic, if you want to dispatch events only after the DB transaction has been committed, you can do it by making your Event class implement the Illuminate\Contracts\Events\ShouldDispatchAfterCommit…
❤4
🔶 چند روزی است که دو تا پیام برام فرستاده که متن پیام خیلی عجیبه اما حاوی فایل مشکوک است. اگر پیام های این چنین دریافت کردید, به هیچ عنوان فایل رو دانلود و باز نکنید و احتمالا ویروسی بودن آن بالاست و پیام رو حذف کنید.
@TheRaymondDev
@TheRaymondDev
❤4👍2
🔶 آتشسوزی در مرکز داده ملی کره جنوبی (NIRS – دائجون) در تاریخ ۲۶ سپتامبر ۲۰۲۵ به علت انفجار باتری لیتیوم-یونی UPS هنگام جابجایی در پی این حادثه ۶۴۷ سامانه دولتی از کار افتاد و خدمات حیاتی مثل بانکداری، پست، حملونقل، احراز هویت و اینترانت دولتی مختل شدند.
علتهای فنی اصلی این موضوع باتریها (LG Energy Solution، نصب ۲۰۱۲–۲۰۱۳) که از عمر مفید ۱۰ ساله گذشته بودند و احتمال خطای انسانی در جداسازی کابلها بدون قطع کامل برق گزارش شده و باتریها در نزدیکی سرورها (۶۰ سانتیمتر فاصله) نصب شده بودند و اولین انفجار باعث این مشکل شد.
برخی از سیستمها ممکن است به طور کامل از بین رفته باشند؛ بهعنوان مثال گفته شده است یکی از درایوها (در سامانه G-Drive دولتی) در آتشسوزی از بین رفته و نمیتوان آن را بازیابی کرد.
https://www.youtube.com/watch?v=IeU69n-yV-s
#خبر
@TheRaymondDev
علتهای فنی اصلی این موضوع باتریها (LG Energy Solution، نصب ۲۰۱۲–۲۰۱۳) که از عمر مفید ۱۰ ساله گذشته بودند و احتمال خطای انسانی در جداسازی کابلها بدون قطع کامل برق گزارش شده و باتریها در نزدیکی سرورها (۶۰ سانتیمتر فاصله) نصب شده بودند و اولین انفجار باعث این مشکل شد.
برخی از سیستمها ممکن است به طور کامل از بین رفته باشند؛ بهعنوان مثال گفته شده است یکی از درایوها (در سامانه G-Drive دولتی) در آتشسوزی از بین رفته و نمیتوان آن را بازیابی کرد.
https://www.youtube.com/watch?v=IeU69n-yV-s
#خبر
@TheRaymondDev
YouTube
국가 전산망 화재 일주일째…추석 연휴 불편 불가피 / 연합뉴스 (Yonhapnews)
[영상] 국가 전산망 화재 일주일째…추석 연휴 불편 불가피
(서울=연합뉴스) 대전 국가정보자원관리원 화재로 국가 전산망이 마비된 지 일주일이 지났지만, 복구는 더디게 진행되고 있어 추석 연휴에도 국민 불편이 불가피할 전망입니다.
지난달 26일 전산실 화재로 총 647개 정부 행정서비스와 내부 업무망이 동시에 중단됐습니다. 이 중 96개 시스템은 완전히 전소돼 최소 한 달 이상 복구가 어려운데요.
공무원들이 업무 자료를 저장해온…
(서울=연합뉴스) 대전 국가정보자원관리원 화재로 국가 전산망이 마비된 지 일주일이 지났지만, 복구는 더디게 진행되고 있어 추석 연휴에도 국민 불편이 불가피할 전망입니다.
지난달 26일 전산실 화재로 총 647개 정부 행정서비스와 내부 업무망이 동시에 중단됐습니다. 이 중 96개 시스템은 완전히 전소돼 최소 한 달 이상 복구가 어려운데요.
공무원들이 업무 자료를 저장해온…
🤯4
❤8
Forwarded from متخصص وردپرس | پوینا
افزایش سئو با SXGs
توی کلود فلر یه بخش هست به اسم SXGs اگر میخواید Core Web Vitals توی سرچ کنسول سبز بشه باید اینو بخرید
کلود فلر براتون سبزش میکنه البته شرطش اینه سایتت بهینه هم باشه این SXGs چی کار میکنه ؟
کلود فلر نسخهای از صفحات HTML سایت تو رو از قبل برای گوگل آماده و امضا میکنه (Signed Exchange).
گوگل اون نسخهها رو در نتایج جستجو prefetch میکنه (یعنی قبل از اینکه کاربر کلیک کنه، صفحه رو گرفته).
وقتی کاربر کلیک میکنه، صفحهی تو تقریباً فوری باز میشه، چون قبلاً لود شده.
نتیجه در سرچ کنسول:
اینکه LCP کاهش پیدا میکنه (سبز میشه)
و FID / CLS هم معمولاً بهتر میشن چون محتوا سریعتر و با ثباتتر لود میشه
در مجموع Core Web Vitals احتمالاً از حالت قرمز/زرد میشه سبز
@poinair پوینا
توی کلود فلر یه بخش هست به اسم SXGs اگر میخواید Core Web Vitals توی سرچ کنسول سبز بشه باید اینو بخرید
کلود فلر براتون سبزش میکنه البته شرطش اینه سایتت بهینه هم باشه این SXGs چی کار میکنه ؟
کلود فلر نسخهای از صفحات HTML سایت تو رو از قبل برای گوگل آماده و امضا میکنه (Signed Exchange).
گوگل اون نسخهها رو در نتایج جستجو prefetch میکنه (یعنی قبل از اینکه کاربر کلیک کنه، صفحه رو گرفته).
وقتی کاربر کلیک میکنه، صفحهی تو تقریباً فوری باز میشه، چون قبلاً لود شده.
نتیجه در سرچ کنسول:
اینکه LCP کاهش پیدا میکنه (سبز میشه)
و FID / CLS هم معمولاً بهتر میشن چون محتوا سریعتر و با ثباتتر لود میشه
در مجموع Core Web Vitals احتمالاً از حالت قرمز/زرد میشه سبز
@poinair پوینا
👍2
🔶 خیلیها در ایکس (توییتر سابق) نمیتوانند تفاوت بین برنامهنویس و مهندس نرمافزار را تشخیص بدهند.
#توییت
@TheRaymondDev
#توییت
@TheRaymondDev
❤4
🔶 بخش فارسی - عربی ایکس (توییتر سابق) از فونت پیش فرض آن به فونت زیبای وزیر متن (ٰVazir) از صابر راستی کردار جایگزین شده است.
#خبر
@TheRaymondDev
#خبر
@TheRaymondDev
👍11💔3❤1
Forwarded from Golden Code (علی 🇨🇴)
این هلپرفانکشن tap() یکی از اون ویژگیهای جالبه لاراوله که باعث میشه کدها هم تمیزتر بشن، هم خواناتر.
گاهی لازمه روی یه شی عملی انجام بدی (مثلن تغییر، ذخیره یا لاگ گرفتن)
اما در نهایت بخوای خود اون شی رو برگردونی و نه نتیجهی عملیات.
اینجاست که tap() کاربرد داره.
📌 مثال:
در اینجا:
داخل tap() با $user هر کاری خواستیم کردیم؛
ولی خروجی، همون $user هست — نه نتیجهی تابع.
کاربرد اصلی وقتی وسط یه chain از متودها بخوای کاری انجام بدی، بدون اینکه زنجیره قطع بشه:
یا حتی داخل Query Builder:
#Laravel #Laravel_tip #لاراول
@GoldenCodeir 🔥
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/laravelbackpack/status/1974074465010208832?t=neGDBuWocqlJjIOARSUOmg&s=35
گاهی لازمه روی یه شی عملی انجام بدی (مثلن تغییر، ذخیره یا لاگ گرفتن)
اما در نهایت بخوای خود اون شی رو برگردونی و نه نتیجهی عملیات.
اینجاست که tap() کاربرد داره.
📌 مثال:
$user = tap(new User, function ($user) {
$user->name = 'Ali';
$user->email = 'ali@example.com';
$user->save();
});در اینجا:
داخل tap() با $user هر کاری خواستیم کردیم؛
ولی خروجی، همون $user هست — نه نتیجهی تابع.
کاربرد اصلی وقتی وسط یه chain از متودها بخوای کاری انجام بدی، بدون اینکه زنجیره قطع بشه:
return tap(User::find(1))
->update(['active' => false])
->refresh();
یا حتی داخل Query Builder:
$users = tap(DB::table('users'), function ($query) {
$query->where('active', true);
})->get();#Laravel #Laravel_tip #لاراول
@GoldenCodeir 🔥
(به منبع و مثالش دقت کنید 👇🏾)
https://x.com/laravelbackpack/status/1974074465010208832?t=neGDBuWocqlJjIOARSUOmg&s=35
X (formerly Twitter)
Backpack for Laravel (@laravelbackpack) on X
#Laravel Tip
Did you know.... tap() = Tweak and Return 🪄
Yes, Laravel's tap() lets you modify an object and return it — perfect for clean, chainable code.
Did you know.... tap() = Tweak and Return 🪄
Yes, Laravel's tap() lets you modify an object and return it — perfect for clean, chainable code.
❤5👾1