ru
Feedback
Code With Somar

Code With Somar

Открыть в Telegram

🚀 ريادي أعمال ومطوّر ويب بخبرة واسعة 💻 متخصص بتطوير حلول ويب متكاملة باستخدام Laravel، Django، React، Vue، و Node.js. 🏆 ضمن أفضل 4 صناع محتوى في سوريا وأفضل 3 في المحتوى التقني. 🌟 ناشط في مجتمع برمجة الأطفال، ومساهم في تطوير المحتوى التقني عربياً.

Больше
2 727
Подписчики
+224 часа
+17 дней
+1430 день
Архив постов
As a developer, have you asked yourself how Netflix resumes exactly where you stopped? Is it just local storage? Or synced state across devices? Watch here to find out the answer: link

هل عنجد SQL DB ما بتتحمل Scaling؟؟ حكيت عن الموضوع بمنشور على فيسبوك بنصحكم تشوفوه: الرابط
هل عنجد SQL DB ما بتتحمل Scaling؟؟ حكيت عن الموضوع بمنشور على فيسبوك بنصحكم تشوفوه: الرابط

أبشع تاسك ممكن تستلمه بأي اختصاص هو تاسك من نوع Performance 😅 شرحت ليش بمنشور على فيسبوك : هنا

LIVEWIRE 4 HAS ARRIVED 🔥🔥🔥 الكلام اللي عم شوفه عنها عنجد تستحق الضجة اللي اخدتها

والله لا تعليق هالمرة 🤦🏻
والله لا تعليق هالمرة 🤦🏻

على مايبدو تاسكات اليوم سوف تؤجل للغد
على مايبدو تاسكات اليوم سوف تؤجل للغد

أنا أغلب تاسكاتي دائماً بين Laravel و DevOps يعني backend + شغل سيرفرات و Deploy و pipelines و هالحكي. بس مع هيك، كل فترة بحاول شيل تاسكات front، أو بشتغل شوي Flutter، أو بجرب اعمل شي بلغة تانية متل NestJS أو Java (Spring Boot) او Go او اي شي انا مو متعود عليه مو لأنو أنا “قوي” بهاللغات بالعكس تماماً، بأغلب الأحيان بكون لسّا مو متقدم فيها ابعد من الأساسيات. بس لأنّي صرت حاسس حالي مقولب ضمن قالب واحد، وعم حاول دائماً اطلع برا هالقالب من خلال هي المحاولات. الفكرة مو إني ناوي غير مجالي الفكرة إني ما خلي حالي واقف عند حدود الشي اللي مرتاح فيه. حتى لو كانت المحاولات بسيطة، هي بالنسبة إلي وسيلة “سحب” وتوسيع أفق نصيحتي الك: لا تخلي تخصصك يصير قالب جرّب شي جديد كل فترة حتى لو بس أساسيات.

كنت من زمااان متمني لو بعرف هي الميزة لانها كانت رح توفر عليي وقت كتيررررر Load your SQL file directly in the seeder with fil
كنت من زمااان متمني لو بعرف هي الميزة لانها كانت رح توفر عليي وقت كتيررررر Load your SQL file directly in the seeder with file_get_contents() and execute it using DB::unprepared().

أصدقائي الأعزاء تمنياتي لكم بأسبوع عمل موفق و سعيد بدون Bugs او Meetings بانتظار أسئلتكم على instgram story من خلال الرابط: هنا

ثغرة جديدة ب n8n 🤷‍♂️ تم الإعلان عن ثغرة حرجة جدًا في n8n برقم CVE-2026-21858 وتقييم CVSS 10.0، تسمح لمهاجم عن بُعد بدون أي تسجيل دخول باستغلال ال “Form Webhooks” عبر تلاعب في معالجة Content-Type. التأثير المتوقع (باختصار عملي): • قراءة ملفات حساسة على السيرفر (Sensitive info exposure) • قد يؤدي ذلك إلى تصعيد الهجوم بحسب إعدادات النشر وطبيعة الـ workflows، ووصل باحثون لوصف سيناريوهات سيطرة كاملة بما فيها RCE. ✅ شو تعمل الآن (Checklist سريع) 1. حدّث فورًا إلى n8n v1.121.0 أو أحدث (الإصلاح الرسمي). 2. إذا n8n مكشوف للإنترنت: قيّد الوصول فورًا (VPN / IP Allowlist / Reverse Proxy Auth). 3. عطّل أو قيّد الـ public webhook + form endpoints مؤقتًا لحين التحديث (تخفيف مؤقت مذكور بالاستشارة). 4. دوّر/بدّل الأسرار (API keys, tokens, credentials) إذا في احتمال تعرّض. 5. راقب: طلبات غير طبيعية على مسارات الـ webhooks أو نشاط Admin غريب. #CyberSecurity #DevOps #n8n #GitLab #CICD #Vulnerability #CVE

أنا اليوم مقتنع إنو الشغل بدون AI صار شبه مستحيل خصوصاً بعد ما ارتفع سقف توقّعات السوق من ناحية جودة الكود وسرعة تنفيذ التاسكات وغيرها من العوامل اللي تغيّرت مع دخول الـAI بقوة على عالم البرمجة. بس بنفس الوقت، عندي قواعد ثابتة بتنظّم علاقتي معه: - مستحيل أشتغل Task بدون مساعدة الـAI. - مستحيل أعتمد على AI واحد وأعطيه ثقة كامل، التاسك بتتنقّل معي بين ChatGPT و Gemini و AntiGravity وغيرهم حسب الحاجة هيك لحتى أوصل لنتيجة أنا مقتنع فيها. - مستحيل أنسخ كود بدون ما أفهم شو تغيّر، وأقرأ الـDiff سطر سطر. - ومستحيل… مستحيل… مستحيل أنسخ SQL Query بدون ما كون فاهم كل حرف فيها شو بيعمل وليش. بالنسبة إلي الـ AI ضروري ليعمل Boost للسرعة والجودة بس ما في شي أهم من معيار أنه أنا المسؤول عن الكود ولازم كون فاهم كل سطر فيه.

مبارح اكتشفت ثغرة خطيرة بلارافيل لايف وير Livewire / 12 بتمكن الهاكر يرفع شيل وياخد آكسس كامل عالبيانات. عندي مشروع صغير مرفوع من شي شهرين، ولإنه عليه git على السيرفر، وفتحته ب vscode remote. طلعلي ملف php بالأخضر (جديد)، ولما فتحته طلع مرفوع سكربت بيعمل شيل. المشروع بسيط كتير كم صفحة وستاندارد laravel 12 يعني نظرياً اختراقه لازم يكون صعب. بعد مراجعة لاقيت الشيل الأول مرفوع على ال storage، يعني مرفوع عن طريق أبلود، ولما راجعت الفورم الوحيد، لاقيته بيعمل validation وآمن. طيب وين المشكلة؟ بعد جلسة شي ساعة بحبشة بالكود ما لاقينا شي أنا و Claude Opus ... لحتى وصلنا لنتيجة. في ملف مرفوع بال live-wire tmp! بينت الثغرة. في مشكلة بلايف وير إنه بيرفع أي ملف بمجلد tmp بعدين بيعمل عليه فالديشن ( لو ما في فرونت فالديشن طبعاً ) .. .. هالشي آمن نظرياً بس وين المشكلة ! إذا فشل الفالديشن، بضل الملف .. بعدين؟ بعدين الهاكر بيعمل domain.com/storage/livewire-tmp/x.php ... وصار عنده آكسس. كررتها على نسخة لارافيل نضيفة واستثمرتها ! الثغرة خطيرة بتعطي full access وإعدادات livewire الافتراضية ما بتأمنه. اللي حماني من الاختراق إني مستخدم docker container يعني لما الموقع تهكر، كان معزول تماماً عن نظام التشغيل، وبهالحالة الهكر ما لاقى شي يعمله، حتى الدوكر كونتينر بمجرد ريستارت بينضف ( هي فائدة العزل). بس طبعاً كان ممكن المشكلة تكون أكبر. الحل؟ الحل كان أول شي من ال nginx تمنع تنفيذ أي php من ال storage ! مع إنه بصراحة بديهية بس نحنا بنعتمد على حماية الأبلود ما توقعت اللايف وير يكون عنده هالسلوك. بالمقارنة مع الأبلود الافتراضي، php بيستخدم ال /tmp اللي بعيد عن أي استثمار، وبصراحة نقطة ضعف. الحل التاني ( ضروري كمان ) إنك تعدل مسار ال tmp الخاص بال livewire على مسار local / private ما يقدر يوصله حدا من برا. لو بتعتمد على لايفوير استتخدم هالبرومبت لتحمي السكربت ( بفترض إنك بتستخدم nginx ): Check for Livewire file upload RCE vulnerability: 1. Does storage/app/public/livewire-tmp/ exist? (If yes = vulnerable) 2. Is public/storage symlinked to storage/app/public? (Standard Laravel) 3. Does nginx execute PHP in /storage/ path? Fix: 1. Create config/livewire.php with disk='local' (not 'public') 2. Add nginx rule: location ~* ^/storage/.*\.php$ { deny all; return 403; } 3. Delete storage/app/public/livewire-tmp/ 4. Create storage/app/livewire-tmp/ (non-public) ———- منقول من الصديق : Feras Abdalrahman

😂😂😂
😂😂😂

هل سمعت عن Jailshell (Jailed Shell) من قبل؟ ال Jailshell هو Shell مقيد للمستخدمين على السيرفر: بيعطيهم دخول عبر SSH بس ضمن بي
هل سمعت عن Jailshell (Jailed Shell) من قبل؟ ال Jailshell هو Shell مقيد للمستخدمين على السيرفر: بيعطيهم دخول عبر SSH بس ضمن بيئة معزولة، بحيث ما يقدرو يوصلو لملفات النظام أو ملفات باقي المستخدمين. الهدف الأساسي: عزل + أمان خصوصاً على سيرفرات الاستضافة المشتركة. ✅ على cPanel/WHM لما تفعّلو لمستخدم، بيصير الـ shell تبعو: /usr/local/cpanel/bin/jailshell وبيشتغل عادة عبر VirtFS (بيصير في نسخة ملفات “وهمية/معزولة” للمستخدم ضمن مساره).

نشالله خلال عطلة نهاية الأسبوع رح نزل فيديو شرح عن الثغرة اللي كانت حديث الانترنت الفترة الماضية 𝗖𝗩𝗘-𝟮𝟬𝟮𝟱-𝟱𝟱𝟭𝟴𝟮 الفيديو رح ينزل على قناتي على يوتيوب: https://youtube.com/@codewithsomar?si=vbPWC2vIx9oW6qhQ

نزلت نسخة Laravel 12.42 وفيها 3 إضافات مهمّة 👇 🔹 1) HTTP Client Request Attributes use Illuminate\Support\Facades\Http; $re
نزلت نسخة 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 يدوي.

إصدار جديد من Node.js 20.19.6 (LTS – Iron) أهم التغييرات: • 🔐 تحديث crypto root certificates لـ NSS 3.114 و NSS 3.116 لتحسين
إصدار جديد من 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 تبعك.

تحذير أمني خطير: ثغرة 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 أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال

شغلة حلوة جديدة بـ 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 أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال

من إصدار Laravel 12.40.0 صار فينا نوقّف Queue بالكامل (pause) أو نكمّله (continue) عن طريق الكوماند: php artisan queue:pause
من إصدار 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 أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال