Code With Somar
2.75K subscribers
456 photos
4 videos
1 file
825 links
🚀 ريادي أعمال ومطوّر ويب بخبرة واسعة

💻 متخصص بتطوير حلول ويب متكاملة باستخدام Laravel، Django، React، Vue، و Node.js.

🏆 ضمن أفضل 4 صناع محتوى في سوريا وأفضل 3 في المحتوى التقني.

🌟 ناشط في مجتمع برمجة الأطفال، ومساهم في تطوير المحتوى التقني عربياً.
Download Telegram
على ما يبدو الإصلاح مو شامل
👍7
من إصدار Laravel 12.40.0 صار فينا نوقّف Queue بالكامل (pause) أو نكمّله (continue) عن طريق الكوماند:

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 ورا بعض، من اليسار لليمين، بكود واضح ونضيف عليها خطوات بسهولة.
مثال:

// 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 لإصدار مصلّح، مثال:

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 تبعك.
👍51
نزلت نسخة 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 يدوي.
🔥32
نشالله خلال عطلة نهاية الأسبوع رح نزل فيديو شرح عن الثغرة اللي كانت حديث الانترنت الفترة الماضية
𝗖𝗩𝗘-𝟮𝟬𝟮𝟱-𝟱𝟱𝟭𝟴𝟮

الفيديو رح ينزل على قناتي على يوتيوب:
https://youtube.com/@codewithsomar?si=vbPWC2vIx9oW6qhQ
6
هل سمعت عن Jailshell (Jailed Shell) من قبل؟

ال Jailshell هو Shell مقيد للمستخدمين على السيرفر: بيعطيهم دخول عبر SSH بس ضمن بيئة معزولة، بحيث ما يقدرو يوصلو لملفات النظام أو ملفات باقي المستخدمين. الهدف الأساسي: عزل + أمان خصوصاً على سيرفرات الاستضافة المشتركة.

على cPanel/WHM لما تفعّلو لمستخدم، بيصير الـ shell تبعو:
/usr/local/cpanel/bin/jailshell
وبيشتغل عادة عبر VirtFS (بيصير في نسخة ملفات “وهمية/معزولة” للمستخدم ضمن مساره).
4
😂😂😂
😁15😢3