من إصدار Laravel 12.40.0 صار فينا نوقّف Queue بالكامل (pause) أو نكمّله (continue) عن طريق الكوماند:
وفي التحديث الأخير v12.40.2 أضافوا ميزة أحلى:
تقدر توقّف Queue لعدد معيّن من الثواني وبيرجع يشتغل لحاله بدون ما تتذكر ترجّعه يدويًا 👇
يعني مثلاً لو عندك ضغط على الداتا بيس أو خدمة خارجية، فيك تريح الـ Queue لمدة 30 ثانية وترجع تشتغل أوتوماتيك
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
php artisan queue:pause database:default
php artisan queue:continue database:default
# connection_name:queue_name
وفي التحديث الأخير v12.40.2 أضافوا ميزة أحلى:
تقدر توقّف Queue لعدد معيّن من الثواني وبيرجع يشتغل لحاله بدون ما تتذكر ترجّعه يدويًا 👇
use Illuminate\Support\Facades\Queue;
Queue::pauseFor(
connection: 'redis',
queue: 'default',
ttl: 30,
);
يعني مثلاً لو عندك ضغط على الداتا بيس أو خدمة خارجية، فيك تريح الـ Queue لمدة 30 ثانية وترجع تشتغل أوتوماتيك
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
❤21👍1
شغلة حلوة جديدة بـ PHP 8.5: الـ Pipe Operator 👇
من نسخة PHP 8.5 صار فينا نمرّر قيمة على أكتر من function ورا بعض، من اليسار لليمين، بكود واضح ونضيف عليها خطوات بسهولة.
مثال:
شو اللي عم يصير هون؟
• "Hello World" بتروح على htmlentities(...)
• بعدين الناتج بيروح على str_split(...) وبيصير array حروف
• بعدين بـ array_map(strtoupper(...), $x) منحوّل كل حرف لـ Uppercase
• بآخر خطوة array_filter(...) منشلّ كل حرف قيمته 'O'
ليش الـ Pipe Operator مفيد؟
• الكود أوضح وأسهل للقراءة
• فيك تضيف/تشيل خطوة بالنص بدون ما تخرب شكل الكود
• بيسهّل الـ debug وقت بدك تشوف كل مرحلة شو عم ترجع
ميزة بسيطة بس بتخلي الـ PHP code أنضف وأرتب 🔥
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
من نسخة PHP 8.5 صار فينا نمرّر قيمة على أكتر من function ورا بعض، من اليسار لليمين، بكود واضح ونضيف عليها خطوات بسهولة.
مثال:
// PHP 8.5 Pipe Operator
$result = "Hello World"
|> htmlentities(...)
|> str_split(...)
|> fn($x) => array_map(strtoupper(...), $x)
|> fn($x) => array_filter($x, fn($v) => $v != 'O');
شو اللي عم يصير هون؟
• "Hello World" بتروح على htmlentities(...)
• بعدين الناتج بيروح على str_split(...) وبيصير array حروف
• بعدين بـ array_map(strtoupper(...), $x) منحوّل كل حرف لـ Uppercase
• بآخر خطوة array_filter(...) منشلّ كل حرف قيمته 'O'
ليش الـ Pipe Operator مفيد؟
• الكود أوضح وأسهل للقراءة
• فيك تضيف/تشيل خطوة بالنص بدون ما تخرب شكل الكود
• بيسهّل الـ debug وقت بدك تشوف كل مرحلة شو عم ترجع
ميزة بسيطة بس بتخلي الـ PHP code أنضف وأرتب 🔥
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
❤10👍1
تحذير أمني خطير: ثغرة RCE في Next.js (CVE-2025-66478)
في ثغرة أمان خطيرة كتير طلعت بـ Next.js اسمها
CVE-2025-66478 وبتسمح للمهاجم يعمل Remote Code Execution (RCE) على السيرفر إذا مشروعك عم يستخدم React Server Components مع App Router.
مين متأثّر؟
• أي مشروع شغّال على:
• Next.js 15.x
• Next.js 16.x
• أو 14.3.0-canary.77 وما فوق (canary)
• أما Next 13 و 14 المستقرة (Pages Router) و Edge Runtime فـ مو متأثرين.
شو لازم تعمل فوراً؟
1. حدّث Next.js لإصدار مصلّح، مثال:
شغّل:
رح يفحص النسخة ويحدّثك للـ version الصح.
بعد ما تحدّث وتعيد نشر المشروع:
• غيّر كل الـ secrets: مفاتيح الـ API، JWT، DB password… إلخ، خصوصاً إذا مشروعك كان أونلاين قبل 4 ديسمبر 2025.
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
في ثغرة أمان خطيرة كتير طلعت بـ Next.js اسمها
CVE-2025-66478 وبتسمح للمهاجم يعمل Remote Code Execution (RCE) على السيرفر إذا مشروعك عم يستخدم React Server Components مع App Router.
مين متأثّر؟
• أي مشروع شغّال على:
• Next.js 15.x
• Next.js 16.x
• أو 14.3.0-canary.77 وما فوق (canary)
• أما Next 13 و 14 المستقرة (Pages Router) و Edge Runtime فـ مو متأثرين.
شو لازم تعمل فوراً؟
1. حدّث Next.js لإصدار مصلّح، مثال:
npm install next@16.0.7
# أو حسب فرع الإصدار عندك (15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7)
شغّل:
npx fix-react2shell-next
رح يفحص النسخة ويحدّثك للـ version الصح.
بعد ما تحدّث وتعيد نشر المشروع:
• غيّر كل الـ secrets: مفاتيح الـ API، JWT، DB password… إلخ، خصوصاً إذا مشروعك كان أونلاين قبل 4 ديسمبر 2025.
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
❤12👍1
إصدار جديد من Node.js 20.19.6 (LTS – Iron)
أهم التغييرات:
• 🔐 تحديث crypto root certificates لـ NSS 3.114 و NSS 3.116 لتحسين أمان الـ TLS/HTTPS.
• 🛡️ ترقية OpenSSL للإصدار 3.0.17 مع إصلاحات أمنية مهمة.
• 🌐 تحديث undici للإصدار 6.22.0 (الـ HTTP client الافتراضي بنود) لأداء أفضل وثبات أعلى.
• ⚙️ شوية V8 patches (cherry-picks) لثبات أحسن وسلوك JavaScript أوضح.
• 🌊 تعليم HTTP/2 priority signaling كـ deprecated (إذا عم تستخدمه، خليه ببالك للمستقبل).
• 🧪 تحسينات على test_runner ومعالجة كم test flaky عمنصّات مختلفة.
• 💻 تحسينات على REPL لما تلزّق نصوص كبيرة بدون ما يعكّ كتير CPU.
• 🔢 Fixes بـ util بخصوص numericSeparator مع الأرقام العشرية السالبة.
💡 مين لازم يهتم بهالتحديث؟
• إذا عندك production Node.js apps (خصوصاً LTS).
• إذا بتعتمد على HTTPS / undici / crypto.
• إذا الأمان والتحديثات المستمرة جزء من الـ workflow تبعك.
أهم التغييرات:
• 🔐 تحديث crypto root certificates لـ NSS 3.114 و NSS 3.116 لتحسين أمان الـ TLS/HTTPS.
• 🛡️ ترقية OpenSSL للإصدار 3.0.17 مع إصلاحات أمنية مهمة.
• 🌐 تحديث undici للإصدار 6.22.0 (الـ HTTP client الافتراضي بنود) لأداء أفضل وثبات أعلى.
• ⚙️ شوية V8 patches (cherry-picks) لثبات أحسن وسلوك JavaScript أوضح.
• 🌊 تعليم HTTP/2 priority signaling كـ deprecated (إذا عم تستخدمه، خليه ببالك للمستقبل).
• 🧪 تحسينات على test_runner ومعالجة كم test flaky عمنصّات مختلفة.
• 💻 تحسينات على REPL لما تلزّق نصوص كبيرة بدون ما يعكّ كتير CPU.
• 🔢 Fixes بـ util بخصوص numericSeparator مع الأرقام العشرية السالبة.
💡 مين لازم يهتم بهالتحديث؟
• إذا عندك production Node.js apps (خصوصاً LTS).
• إذا بتعتمد على HTTPS / undici / crypto.
• إذا الأمان والتحديثات المستمرة جزء من الـ workflow تبعك.
👍5❤1
نزلت نسخة Laravel 12.42 وفيها 3 إضافات مهمّة 👇
🔹 1) HTTP Client Request Attributes
use Illuminate\Support\Facades\Http;
$response = Http::withAttributes(['name' => 'first'])
->get('https://example.com/test');
$response->attributes(); // ['name' => 'first']
لتخزين meta بسيطة مع كل request.
🔹 2) Enums مع Translator
$t->get('string_backed_enum', [
'month' => Month::February,
]);
// Laravel 12 was released in February 2025
صار فيك تمرّر Enums مباشرة كـ placeholders.
🔹 3) فحص Indexes بالـ Schema
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
Schema::whenTableDoesntHaveIndex('product', 'name', function (Blueprint $table) {
$table->index('name', 'index_name');
});
Migrations أنضف بدون if و Schema::hasIndex يدوي.
🔹 1) HTTP Client Request Attributes
use Illuminate\Support\Facades\Http;
$response = Http::withAttributes(['name' => 'first'])
->get('https://example.com/test');
$response->attributes(); // ['name' => 'first']
لتخزين meta بسيطة مع كل request.
🔹 2) Enums مع Translator
$t->get('string_backed_enum', [
'month' => Month::February,
]);
// Laravel 12 was released in February 2025
صار فيك تمرّر Enums مباشرة كـ placeholders.
🔹 3) فحص Indexes بالـ Schema
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
Schema::whenTableDoesntHaveIndex('product', 'name', function (Blueprint $table) {
$table->index('name', 'index_name');
});
Migrations أنضف بدون if و Schema::hasIndex يدوي.
🔥3❤2
نشالله خلال عطلة نهاية الأسبوع رح نزل فيديو شرح عن الثغرة اللي كانت حديث الانترنت الفترة الماضية
𝗖𝗩𝗘-𝟮𝟬𝟮𝟱-𝟱𝟱𝟭𝟴𝟮
الفيديو رح ينزل على قناتي على يوتيوب:
https://youtube.com/@codewithsomar?si=vbPWC2vIx9oW6qhQ
𝗖𝗩𝗘-𝟮𝟬𝟮𝟱-𝟱𝟱𝟭𝟴𝟮
الفيديو رح ينزل على قناتي على يوتيوب:
https://youtube.com/@codewithsomar?si=vbPWC2vIx9oW6qhQ
❤6
هل سمعت عن Jailshell (Jailed Shell) من قبل؟
ال Jailshell هو Shell مقيد للمستخدمين على السيرفر: بيعطيهم دخول عبر SSH بس ضمن بيئة معزولة، بحيث ما يقدرو يوصلو لملفات النظام أو ملفات باقي المستخدمين. الهدف الأساسي: عزل + أمان خصوصاً على سيرفرات الاستضافة المشتركة.
✅ على cPanel/WHM لما تفعّلو لمستخدم، بيصير الـ shell تبعو:
/usr/local/cpanel/bin/jailshell
وبيشتغل عادة عبر VirtFS (بيصير في نسخة ملفات “وهمية/معزولة” للمستخدم ضمن مساره).
ال Jailshell هو Shell مقيد للمستخدمين على السيرفر: بيعطيهم دخول عبر SSH بس ضمن بيئة معزولة، بحيث ما يقدرو يوصلو لملفات النظام أو ملفات باقي المستخدمين. الهدف الأساسي: عزل + أمان خصوصاً على سيرفرات الاستضافة المشتركة.
✅ على cPanel/WHM لما تفعّلو لمستخدم، بيصير الـ shell تبعو:
/usr/local/cpanel/bin/jailshell
وبيشتغل عادة عبر VirtFS (بيصير في نسخة ملفات “وهمية/معزولة” للمستخدم ضمن مساره).
❤4