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

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

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

🌟 ناشط في مجتمع برمجة الأطفال، ومساهم في تطوير المحتوى التقني عربياً.
Download Telegram
أوقات منستدعي دالة بترجع قيمة، بس مننسى نستخدمها.
شو بيصير؟ bugs ما بتبين غير بعدين.

مثال:
function getName(): string {
return "Nuno";
}

getName(); // رجعت قيمة وما استعملناها


قبل كان الموضوع يمرق عادي.
بس بـ PHP 8.5 في شغلة جديدة بتقلّك: "إنت نسيت شي مهم".
#[NoDiscard]
function getName(): string {
return "Nuno";
}

getName();
// تحذير: تجاهلت القيمة الراجعة


💡 ليش مفيدة؟

بتمنعك تعمل أغلاط سخيفة.
بتخليك يا تستخدم القيمة يا تعيد التفكير بالكود.
بتخلي الشغل أنضف وأوثق، خصوصي بالمشاريع الكبيرة.

———————————-

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
6
كتير مرات منكتب كود متل هيك:
$user = new User;
$user->name = 'John Doe';
$user->email = 'john@example.com';
$user->save();

return $user;


النتيجة؟ كود طويل زيادة، ممل، وصعب تقراه بسرعة.

بدك تنشئ Object جديد (مثلاً User)، تعدّل عليه شوي، تحفظه، وبعدين ترجّعه.
بهالسيناريو بتضطر تعمل خطوات زيادة ما إلها داعي.

الحل:
استخدم tap() helper وخلي الكود أنضف:
$user = tap(new User, function ($user) {
$user->name = 'John Doe';
$user->email = 'john@example.com';
$user->save();
});

هيك صرت تعمل كلشي بخط واحد أنيق وواضح: إنشاء، تعديل، وحفظ… بدون وجع راس.
———————————-

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
7
لما بدنا نتأكد من قوة و استقرار أي نظام (موقع – تطبيق – خدمة)، في عنا عدة أنواع من الاختبارات:

1️⃣ Load Test – اختبار التحميل
نقيس كيف يتصرف النظام بوجود عدد طبيعي من المستخدمين، يعني بالسيناريو العادي المتوقع.

2️⃣ Stress Test – اختبار الضغط
منزيد الحمل بشكل تدريجي فوق الطبيعي لنعرف حدود النظام، وين بيتوقف أو بيصير فيه مشاكل.

3️⃣ Spike Test – اختبار الارتفاع المفاجئ
منعمل قفزة سريعة ومفاجئة بعدد المستخدمين لنعرف إذا النظام بيتحمل الصدمات أو بينهار فجأة.

4️⃣ Soak Test – اختبار الاستقرار مع الزمن
منشغل النظام بتحميل مستمر ولساعات طويلة لنتأكد إذا في تسرب بالذاكرة، مشاكل استقرار أو بطء مع الوقت.

ببساطة:

Load: الوضع الطبيعي.
Stress: لنعرف الحد الأقصى.
Spike: المفاجآت.
Soak: الاستقرار على المدى الطويل.

———————————-

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
5
كتير مرات منكتب كود متل هيك:
$query = User::query();

if (request('role')) {
$query->where('role', request('role'));
}

$users = $query->get();


النتيجة؟ كود مليان if-statements وبيخلي الـ controller منفوخ وصعب تحافظ عليه.

بدك تكتب Query بشرط معيّن (مثلاً role) بس بشكل أنظف وأسهل للقراءة؟؟
الحل انك تستخدم when() helper وخلي الكود أنظف:
$users = User::when(request('role'), function ($query, $role) {
return $query->where('role', $role);
})->get();

بهالطريقة الكود صار أنيق، مقروء، والـ controller ظلّ خفيف ومرتب.

———————————-

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
4
للأسف تم تأجيل قبول أول مساهمة الي ضمن Laravel او لربما تم رفضها مامنعرف حسب الأيام القادمة لكن كانت تجربة جميلة جداً

و لسا عندي Pull Request ثاني معتمد عليه و متأمل انه يتم قبوله 🔥
16🔥11
⚠️ بتصدق إذا قلتلك إنو اسم ملف واحد بس ممكن يفتح موقعك للهكرز؟

تخيل صورة أو ملف مرفوع عالسيرفر، إذا اسمه مكتوب بطريقة معيّنة ممكن يتحول لـ XSS Attack ويخلّي المخترق:

يسرق الـ Cookies 🍪
يوصل للـ Local Storage 💾
يسجّل ضغطات الكيبورد ⌨️
وحتى يسرق الـ CSRF Tokens 🚨

بالفيديو رح تشوف مثال عملي كيف ممكن يصير هالشي باسم ملف وبس، وكمان رح تعرف كيف تحمي موقعك من هيك هجمات.

🎥 شوف الفيديو كامل هون:
🔗 رابط الفيديو : هنا
7
إشعارات iOS ما عم توصلك من Firebase؟ 😤
ممكن يكون السبب هاد الخطأ:
Auth error from APNs or Web Push Service

هاد الخطأ واجهني وأنا عم جرّب أبعت إشعارات Push لأجهزة iOS، وطلع السبب كل القصة بموضوع APNs Key.

بالفيديو بشرحلك:
ليش بيطلع هاد الـ Error.
كيف بتجدد الـ APNs Key.
وكيف بترفعو من جديد عـ Firebase Console لحتى ترجع الإشعارات تشتغل 🔔.

📌 إذا بتشتغل على iOS Notifications، هاد الفيديو إلك 100%.

🎥 شوف الفيديو هون:

https://youtu.be/u06X_3scW1w
3🔥2
أخبار عن عودة Meta Ads للعمل داخل سوريا
و حتى الأشخاص السوريين اللي حساباتهم كان عليها تقييد رجعت طبيعية

خبرونا بتجربتكم معها او مع باقي الخدمات اللي رفعت الحظر بالتعليقات 👇🏻
2
أصدقائي الأعزاء
تمنياتي لكم بأسبوع عمل موفق و سعيد بدون Bugs او Meetings

بانتظار أسئلتكم على instgram story من خلال الرابط:

https://www.instagram.com/stories/code.with.somar/3735812566741197210?utm_source=ig_story_item_share&igsh=MTJiMzN2aHo0OWcxcQ==
3
بالرغم من إني مستخدم Linux من سنين، وجربت عدد كبير من التوزيعات مثل Mint, Ubuntu, Fedora وحتى Parrot…

بس بصراحة لازم نعترف: لسه برامج مثل OpenOffice أو LibreOffice وحتى Google Docs، ما وصلت لمرحلة تعطي نفس التجربة المتكاملة يلي بيقدمها Microsoft Office.

الطريق قدامها طويل لحتى توصل لنفس الـ polish والراحة يلي تعودنا عليها مع أوفيس مايكروسوفت.
👍5
لو اشتغلت سابقاً على Docker أكيد لاحظت بالفترة الأخيرة الكل عم يحكي عن شي جديد اسمه Podman...
بس شو هو بالضبط؟ وهل فعلاً ممكن يستبدل Docker؟
خلينا نحكيها ببساطة 👇
Podman هو أداة لإدارة الـ Containers
تشبه Docker بكل شيء تقريباً… لكن في اختلاف جوهري:
ما في Daemon (ما في خدمة شغالة بالخلفية بصلاحيات root)

بكلمات أبسط:
كل أمر بتنفذه بـ podman run ... بينفذ مباشرة، بدون وسيط، وهاد الشي بيخليه أخف وأأمن

ليش الناس بلشت تنتقل لـ Podman؟
نفس أوامر Docker تقريباً (حتى ممكن تعمل alias docker=podman)
بيشتغل بدون root → مناسب للأنظمة الحساسة والسيرفرات المشتركة
يدعم الـ Pods مثل Kubernetes → يعني تجربة أقرب للـ Production
أمان أعلى لأنو كل مستخدم عندو مساحة مستقلة للحاويات

هل بتفكر تعتمد Podman بدل Docker ببيئة عملك؟
شاركنا رأيك بالتعليقات 👇

———————————-

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
8
بإصدار 12.30 من Laravel كتيرر صار تحديثات بما يتعلق بالـ Middleware

و شرحتلكم ياها بمنشور مطول على LinkedIn من خلال الرابط: هنا

لا تنسوا التفاعل و المشاركة على المنشور
8
Cloudflare تطلق تحديث أمني عاجل

أعلنت Cloudflare عن نشر مجموعة جديدة من قواعد الحماية في جدارها الناري WAF، تتضمن قاعدة طارئة لمعالجة ثغرة خطيرة في Oracle E-Business Suite تحمل الرمز CVE-2025-61882.

🔸 الثغرة تسمح للمهاجم بتنفيذ أوامر عن بعد (RCE) على الخادم، مما قد يؤدي إلى اختراق كامل للنظام وسرقة البيانات.

كما شمل التحديث حماية لثغرات متعددة في أداة Chaos Mesh (الأكواد CVE-2025-59358 حتى 59361)، والتي تُمكّن المهاجم من تنفيذ أوامر داخل بيئة Kubernetes بدون أي مصادقة.

⚙️ هذه الحماية أضيفت تلقائيًا لجميع مستخدمي Cloudflare، ضمن ما يُعرف بـ Emergency WAF Rules — أي قواعد طارئة تُنشر فور اكتشاف ثغرات خطيرة لحماية الأنظمة حتى قبل إصدار التحديثات الرسمية من الشركات المتأثرة.

#CyberSecurity #Cloudflare #WAF #CVE2025 #Oracle #ChaosMesh #InfoSec
👍21
تحذير أمني لمستخدمي WordPress

اكتُشفت ثغرة حرجة جداً (CVE-2025-5947) ضمن قالب Service Finder ووالإضافة المرافقة له Service Finder Bookings، بتسمح للمهاجمين إنهم يتجاوزوا نظام الدخول ويفوتوا كأنهم أي مستخدم بالموقع – حتى الأدمن!

🔍 السبب: خطأ في التحقق من الكوكيز بوظيفة service_finder_switch_back()
👥 المتأثرون: كل النسخ حتى الإصدار 6.0
🛠 تم إصلاح الثغرة بتاريخ 17 تموز 2025 ضمن النسخة 6.1
📊 عدد محاولات الاستغلال المسجّلة: أكثر من 13,800 محاولة وفق thehackernews

نصيحة عاجلة:

حدّث القالب فوراً إلى Service Finder v6.1
راقب سجلات الدخول (logs)
تأكد من عدم وجود حسابات أدمن جديدة أو مشبوهة
2
كل يوم بنتعامل مع URLs، بس قليل منعرف إنو PHP ما كان عندها parser رسمي لحد اليوم

كنا نستخدم parse_url()، بس هي ما بتتبع ولا معيار رسمي (لا RFC 3986 ولا WHATWG)،
يعني ممكن ترجّع نتائج غلط وتفتح باب لثغرات أمنية

الجديد مع PHP 8.5:
صار في URI extension مدموج بالنظام نفسه:

Parser متوافق مع RFC 3986

Parser متوافق مع WHATWG URL Standard

واجهة آمنة لتعديل أي جزء من الـ URL بسهولة 👇
$url = new Uri('HTTPS://thephp.foundation:443/sp%6Fnsor/');
$url = $url->withPort(null);
echo $url->toString(); // https://thephp.foundation/sponsor/


يعني ودّع regex و parsing اليدوي
صار في API رسمية وآمنة تتعامل مع الـ URLs بشكل مظبوط 👏

الفكرة بدأت بـ يونيو 2024 من المطوّر Máté Kocsis
اشتغلوا عليها سنة كاملة مع The PHP Foundation،
وتصوّت عليها بـ 30:1 لصالح القبول
واعتمدوا على مكتبتين مفتوحتين:
uriparser و Lexbor (نفسها مستخدمة بـ PHP 8.4 DOM)
7
أصدقائي كما جرت العادة بانتظار أسئلتكم من خلال حسابي على instagram من خلال الرابط التالي:
هنا
🚀 Ubuntu 25.10 وصل

الإصدار الجديد جاب تغييرات جذرية 👇

🦀 Rust بيغزو النظام:
أدوات GNU Coreutils تم استبدالها بـ uutils coreutils (مكتوبة بلغة Rust).

أداة sudo صارت sudo-rs — كمان مكتوبة بـ Rust.

🖼 عارض الصور الجديد:
استبدال Eye of GNOME بـ Loupe، بيعتمد على مكتبة glycin (كله Rust!).

🧠 GNOME 49 رسميًا
جلسة X11 انحذفت نهائيًا.
Wayland صار الافتراضي، و XWayland لتشغيل تطبيقات X القديمة.

📦 APT 3.0 الجديد
حلّ جديد لإدارة التبعيات (Solver3).
واجهة محسّنة.
دعم للـ Snapshots.
إزالة apt-key نهائيًا.

💻 Terminal جديد:
Ptyxis حلّ محل GNOME Terminal.

تكامل مع Toolbox، Distrobox، Podman، و JHBuild.

تحديث التوقيت:
استبدال systemd-timesyncd بـ Chrony مع دعم أمني قوي عبر NTS.

🧩 الأمان والاستقرار:

Rust عم يقلل أخطاء الذاكرة (use-after-free, buffer overflow).

🐧 نواة Linux 6.17 وصلت كمان.

🔥 باختصار:
Ubuntu 25.10 = أداء أعلى + أمان أكثر + اعتماد أوسع على Rust.
6
😂
😁25👌3👾3🏆1🆒1
على ما يبدو رح يكون يوم كله أكشن
🔥3🆒21
صباح الخير للجميع
رح كون معكم اليوم بفقرة الاسئلة حتى نجاوب فيها على كل اسئلتكم

رابط الـ story: هنا
3