fa
Feedback
Code With Somar

Code With Somar

رفتن به کانال در Telegram

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

نمایش بیشتر
2 690
مشترکین
-224 ساعت
اطلاعاتی وجود ندارد7 روز
-1130 روز
آرشیو پست ها
ال Attackers قادرين يعملوا bypassing عال rate limiting من خلال استخدام IP متعددة كيف فينا نحمي ال API تبعنا من هيك موضوع؟

أغلبنا لما منعمل بحث فورا منروح منعمل:

WHERE title LIKE '%laravel%'
المشكلة اللي ماكنا حاطينها بالبال هيي انه وجود ٪ عم يعطل الاستفادة من ال index و بيجبر الDB انها تعمل Full Table Scan و اذا كان الجدول كبير الأداء رح ينهار تماماً الأفضل انك تجرب تستخدم:

$table->fullText('title');
و بالبحث:

Post::whereFullText('title', 'laravel')->get();
الـ Full-Text Search بيستخدم فكرة Inverted Index، يعني بيكون عنده فهرس للكلمات ومكان وجودها، بدل ما يفتش بكل النصوص. بس انتبه: Full-Text Search غالباً بيبحث عن الكلمة الكاملة، يعني lar ما رح يرجّع laravel. للبحث بالبداية استخدم Boolean Mode مع *

Post::whereFullText('title', 'lar*', [
    'mode' => 'boolean',
])->get();
———————————- Linkedin |Instgram | YouTube أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال

فريق Laravel نشروا إنهم عم يراجعوا ثغرات CVE جديدة تم الإعلان عنها ومعالجتها من طرف Symfony. بما إن Laravel بيعتمد على بعض حز
فريق Laravel نشروا إنهم عم يراجعوا ثغرات CVE جديدة تم الإعلان عنها ومعالجتها من طرف Symfony. بما إن Laravel بيعتمد على بعض حزم Symfony، الأفضل حالياً تعمل تحديث وفحص لحزم المشروع عندك. نفّذ الأوامر التالية:

composer update
composer audit
الأول بيحدّث dependencies حسب القيود الموجودة عندك، والثاني بيفحص إذا في حزم عندك عليها ثغرات معروفة. نصيحة: لا تعمل التحديث مباشرة على production. جرّبه أولاً على local أو staging #Laravel #PHP #Symfony #Security #Composer

كمبرمج شي مرة سالت حالك شو الفرق بين: - npm install - npm ci شاركونا بالتلعيقات 👇

اصدار جديد نزل هلا من pnpm بيحمل الرقم 11.1.3 إذا إنت Frontend أو MERN Stack Developer وبتستخدم pnpm، أهم شغلات لازم تعرفها من هالإصدار: 🔒 Lockfile صار ينفحص قبل التحميل صار pnpm install يعيد التحقق من pnpm-lock.yaml قبل ما ينزّل أي package، خصوصاً مع سياسات مثل: * minimumReleaseAge * trustPolicy: "no-downgrade" يعني إذا الـ lockfile جاي من CI cache، أو معمول بإصدار أقدم، أو resolved بسياسة أضعف، pnpm ممكن يوقف الـ install بدل ما يثبّت package جديدة أو مش موثوقة بصمت. ممكن تشوف Errors مثل: * ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION * ERR_PNPM_TRUST_DOWNGRADE * ERR_PNPM_LOCKFILE_RESOLUTION_VERIFICATION ⸻ ⏳ تحسين حماية الحزم الجديدة جداً إذا package بعدها منشورة حديثاً وما حققت شرط minimumReleaseAge: * بالـ loose mode: pnpm ممكن يضيفها تلقائياً للـ exclude ويكمل. * بالـ strict mode: بيسألك إذا كنت interactive. * بالـ CI: بيفشل مباشرة وبيعطيك كل الـ packages المخالفة. هاد مهم جداً للـ supply chain security، خصوصاً بمشاريع production. ⸻ 🧪 pnpm self-update صار يحترم minimumReleaseAge يعني حتى تحديث pnpm نفسه ما رح يروح مباشرة على أحدث version إذا كانت جديدة جداً ولسا ضمن فترة الحذر. ⸻ 🧱 تحسينات مهمة للـ Global Installs و Build Scripts تم إصلاح مشكلة كانت تخلي global installs تتجاهل إعدادات build policy مثل: dangerouslyAllowAllBuilds خصوصاً مع Global Virtual Store. ⸻ 🤫 –silent صار محترم أكتر إذا عندك: verifyDepsBeforeRun: install وكان pnpm عم يعمل auto-install قبل pnpm run أو pnpm exec، صار يحترم --silent وما يطلع install output مزعج. ⸻ 🪟 Fix للـ pnpm-lock.yaml مع CRLF تم إصلاح مشاكل parsing لما يكون lockfile فيه CRLF line endings و multiple YAML documents، وهذا ممكن يهمك إذا الفريق شغال بين Windows / Linux / CI. ⸻ 🧩 تحسينات مع Node Runtime و devEngines.runtime pnpm صار يحسب cache keys والـ global virtual store hash بناءً على Node version اللي فعلياً رح يشغّل lifecycle scripts، مو بس Node اللي شغّل pnpm. هاد مهم إذا مشروعك بيستخدم: * devEngines.runtime * pinned Node version * pnpm exe bundle * CI environments مختلفة النتيجة: cache أدق ومشاكل أقل بين local و CI. ⸻ 📦 تحسينات publish مع OIDC تم إصلاح مشكلة pnpm publish لما يكون الاعتماد على OIDC trusted publishing ومع وجود _authToken=${NODE_AUTH_TOKEN} بدون ما يكون المتغير موجود. ⸻ ⚠️ تحذير مهم لمستخدمي pnpm v10 → v11 إذا عندك إعدادات قديمة داخل package.json مثل: * pnpm.overrides * pnpm.patchedDependencies pnpm صار يحذرك إنها ما عادت تُقرأ من package.json بدل ما يتجاهلها بصمت. ⸻ بشكل عام هالإصدار مركز بشكل واضح على: ✅ Security ✅ Lockfile verification ✅ CI stability ✅ Runtime consistency ✅ حماية أفضل من packages المنشورة حديثاً أو downgraded trust إذا مشروعك Frontend / React / Next.js / MERN وبيعتمد على pnpm، التحديث مهم، بس لازم تنتبه لإعدادات minimumReleaseAge والـ lockfile بالـ CI. ———————————- Linkedin |Instgram | YouTube أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال

ما هي التقنية التي تسمح لعدة أجهزة ضمن شبكة محلية بمشاركة عنوان IP عام واحد للوصول إلى الإنترنت؟
Anonymous voting

كتير من الاحيان بكون في تاسك معتمد على نظام تشغيل المستخدم يعني لو اندرويد لازم يروح عرابط معين او ايفون بروح عرابط مختلف و المتعارف عليه انه لما منحتاج هيك معلوماة منروح فورا باتجاه الـ User-Agent و لكن منتفاجئ بوجود نسبة من مستخدمي الأندرويد والـ iOS بتضيع منك و بتتصنف على انها Desktop وين المشكلة اصلاً؟ الـ User-Agent القديم صار "بياع حكي" وما عاد يعطينا الحقيقة كاملة لسببين: طلب موقع سطح المكتب (Request Desktop Site): لما مستخدم الأندرويد يفعل هاد الخيار بمتصفح Chrome، المتصفح بيمسح كلمة "Android" عمداً وبغير النص ليبين كأنه جهاز كمبيوتر Linux! المتصفحات الداخلية للتطبيقات (In-App WebViews): لما حدا يفتح رابط موقعك من قلب الواتساب، التيليغرام، أو الإنستغرام، هالمتصفحات أحياناً بتقشّ الـ UA وبتطير منه المعرّفات الأساسية للنظام. الحل الصح يلي بيخلي الكود تبعك فاهم صح هو انك تدمج الـ User-Agent القديم مع الميزة الجديدة sec-ch-ua-platform. اللي هو عبارة عن HTTP Header حديث يُرسله المتصفح إلى السيرفر لإعلامه بنوع نظام التشغيل (Operating System) الذي يعمل عليه جهاز المستخدم. ———————————- Linkedin |Instgram | YouTube أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال

مشروعك فيه Authentication. ومشروعك فيه Authorization. ومشروعك فيه Encryption. ومع هيك، مستخدم قدر يوصل لبيانات مستخدم تاني. شو الشي اللي ناقصك أو نسيته؟ ———————————- Linkedin |Instgram | YouTube أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال

من الشغلات الظريفة اللي نزلت مع laravel 13 هيي: Queue-Wide Inspection Methods قبل إذا بدك تفحص الـ jobs الموجودة بـ queues مختلفة، كان لازم تعمل check لكل queue لحالها: reservedJobs('queue1') reservedJobs('queue2') reservedJobs('queue3') هلأ صار فيك تجيب كل الـ jobs من كل الـ queues بنداء واحد:
Queue::allReservedJobs();
Queue::allDelayedJobs();
Queue::allPendingJobs();
هاد الشي مفيد جداً وقت الـ deployments، خصوصاً إذا بدك تتأكد إنه ما في jobs عم تشتغل قبل ما توقف الـ workers. كل method بترجع Collection من InspectedJob فيها معلومات مثل: uuid name attempts createdAt وفي كمان إضافات حلوة بالإصدار: ✅ WorkerPausing و WorkerResuming events صار في events بتنطلق لما الـ queue worker يعمل pause أو resume، مفيدة للـ logging والـ monitoring وقت النشر. ✅ assertSessionMissingInput() Assertion جديد بالـ tests، عكس assertSessionHasInput(). ✅ دعم SortDirection enum بالـ Query Builder صار فيك تستخدم enum مع orderBy() بدل strings. ✅ فلترة schedule:list حسب البيئة مثلاً:

php artisan schedule:list --environment=production
مفيدة لتشوف بس الـ scheduled commands اللي فعلاً رح تشتغل على production. ✅ تحسينات على foreign keys صار onDelete() و onUpdate() يدعموا custom actions، مفيد خصوصاً مع PostgreSQL. ✅ Attribute middleware صار يندمج مع Route middleware يعني إذا عندك #[Middleware] على controller أو method، ما عاد يتم تجاهله إذا route عنده middleware من مكان تاني. ———————————- Linkedin |Instgram | YouTube أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال

Laravel Tip: Str::squish() أحياناً الـ user input بيوصل مليان spaces زيادة، tabs، أو new lines، وهاد الشي بيخلي النص شكله مو نظيف بقاعدة البيانات أو بالواجهة. بدل ما تعملها بـ trim() و preg_replace:

$clean = trim(preg_replace('/(?:\s| )+/u', ' ', $input));
استخدم ببساطة:

use Illuminate\Support\Str;

$clean = Str::squish($input);
شو بتعمل؟ بتشيل المسافات من البداية والنهاية، وبتحوّل أي whitespace متكرر داخل النص لمسافة وحدة مفيدة جداً مع: bio, address, comments, search input, product description كود أنظف، data أرتب، و intent أوضح. ———————————- Linkedin |Instgram | YouTube أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال

صباح الخير تمنياتي لكم بأسبوع عمل موفق و خالٍ من ال Bugs و ال meetings بانتظار اسئلتكم و استفساراتكم على انستغرام كالعادة من خلال الرابط: هنا

حتى لو تطبيقك ما بيستخدم Server Actions بشكل مباشر، ممكن يكون معرض للخطر إذا كان مبني على Framework يدعم React Server Components مثل: Next.js React Router RSC Waku Parcel RSC Vite RSC Plugin Redwood SDK بالنسبة لـ Next.js، لازم تحدث فورًا للنسخ المرقعة حسب إصدارك: npm install next@14.2.35 # for Next 13.3+ / 14.x npm install next@15.0.8 npm install next@15.1.12 npm install next@15.2.9 npm install next@15.3.9 npm install next@15.4.11 npm install next@15.5.10 npm install next@16.0.11 npm install next@16.1.5 إذا تطبيقك كان Online وهو على نسخة غير محدثة، لا تكتفي بالتحديث فقط. يفضل تعمل التالي: 1. تحديث Next.js / React RSC packages فورًا. 2. إعادة بناء ونشر التطبيق. 3. تدوير الأسرار الحساسة مثل: * API Keys * JWT Secrets * Auth Secrets * Database Credentials * Third-party Tokens 4. مراجعة Logs السيرفر لأي Requests مشبوهة. 5. التأكد من نسخة Next.js داخل السيرفر بعد النشر: npm list next --depth=0 إذا عندك مشروع Next.js App Router أو أي تطبيق يستخدم React Server Components، تعامل مع الموضوع كحالة طارئة وحدث فورًا. هاي مو ثغرة عادية، هاي Pre-auth RCE وتصنيفها أعلى درجة خطورة.

🚨 تنبيه أمني خطير لمطوري Next.js / React Server Components تم الإعلان عن ثغرة خطيرة جدًا في React Server Components تحت الرق
🚨 تنبيه أمني خطير لمطوري Next.js / React Server Components تم الإعلان عن ثغرة خطيرة جدًا في React Server Components تحت الرقم: CVE-2025-55182 الثغرة مصنفة: CVSS 10.0 — Critical وهي عبارة عن Remote Code Execution RCE بدون تسجيل دخول، يعني المهاجم ممكن ينفذ أوامر على السيرفر إذا كان التطبيق يستخدم React Server Components أو Framework مبني عليها. المشكلة موجودة في الإصدارات التالية: react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack ضمن نسخ React: 19.0 19.1.0 19.1.1 19.2.0

photo content

🚨 ثغرة خطيرة جداً تم اكتشافها في NGINX تحت الرقم CVE-2026-42945 الثغرة عبارة عن Remote Code Execution (RCE) داخل ngx_http_rewrite_module، ويقال أنها موجودة منذ عام 2008 😶 المهاجم يمكنه تنفيذ أوامر على السيرفر عن بعد بدون Authentication في بعض الحالات، خصوصاً عند استخدام: - rewrite - set 📌 النسخ المتأثرة: NGINX Open Source: 0.6.27 → 1.30.0 ✅ النسخ التي تحتوي على الإصلاح: - 1.30.1 - 1.31.0 تم نشر PoC علني على GitHub، لذلك يُفضل اعتبار الموضوع High Risk والتحديث فوراً.

المهم قبل أي release للـ mobile app إنو يكون كل شي شغال، متفقين على هي النقطة أكيد. بس السؤال اللي لازم نسأله: هل إنو التطبيق “شغال” بيكفي؟ ولا لازم يكون سريع كمان؟ لأن المستخدم ما بيهتم إذا الكود نظيف أو الـ architecture ممتازة. هو بيحس بتجربة الاستخدام: تقطيع بالـ scroll تأخير بعد الضغط animation مو سلسة تنقّل بطيء بين الصفحات قبل الـ release راجع بسرعة: خفف Widget Rebuilds لا تحط شغل ثقيل داخل build() خلي الـ state يأثر بس على الجزء اللي محتاجه راقب الـ layout والـ paint حسّن الصور والـ assets جرّب على جهاز حقيقي مو بس emulator وشغّل التطبيق بـ release mode ———————————- Linkedin |Instgram | YouTube أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال

اكيد شي مرة لما عم تطلب من ال ai انه يعملك مراجعة عالكود تبعك سمعته عم ينبهك عن Race Conditions عندك بالكود و غالباً مافهمت عليه خليني فهمك ياها: تخيل عندك Coupon لازم يُستخدم مرة وحدة بس. الكود بيعمل هيك: يتأكد إنو الكوبون مو مستخدم يطبق الخصم يحدّث الكوبون ويخليه مستخدم منطقي صح؟ المشكلة بتصير لما يجي طلبين بنفس الوقت تقريباً. الطلبين بيقرؤوا إنو الكوبون لسا مو مستخدم، والطلبين بيطبقوا الخصم. هون الكود مو غلط شكلياً، بس غلط تحت الضغط والـ concurrency. الحل غالباً يكون باستخدام: DB::transaction() مع lockForUpdate() حتى نضمن إنو طلب واحد بس يقدر يتعامل مع نفس السجل بنفس اللحظة. ———————————- Linkedin |Instgram | YouTube أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال

أكيد سمعتوا عن Laravel 13 والتغيير الكبير اللي جابه بطريقة كتابة الكود؟ خلوني اشرحها بـ Laravel قبل كنا نكتب إعدادات الـ Model جوّا الكلاس باستخدام properties مثل:
$fillable
$hidden
$casts
بس مع Laravel 13 صار في توجه أكبر لاستخدام PHP Attributes. يعني بدل ما يكون الكلاس مليان إعدادات، منكتب الإعدادات فوق الكلاس بهالشكل:

#[Fillable]
#[Hidden]
#[Casts]
الفكرة مو بس شكل أجمل، الفكرة إنو الكود بصير أوضح: الإعدادات لحال، والـ methods والـ relationships لحال. كمان Laravel 13 وسّع استخدام الـ Attributes بأماكن تانية مثل: Queue Jobs لتحديد tries, timeout, و backoff Artisan Commands لتعريف signature, description, و schedule Controllers لتطبيق middleware أو authorization وفي كمان تحسينات مهمة مثل: JSON:API Resources لتوحيد شكل API responses Laravel AI SDK كـ first-party package Vector Search للتعامل مع semantic search Passkeys لتسجيل دخول بدون password Cache::touch() لتمديد عمر cache key بدون جلب البيانات يعني laravel 13 ماكان تحديث عادي ابداً كان خطوة كتير مهمة و صحيحة لتنظيم المشاريع ———————————- Linkedin |Instgram | YouTube أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال

أكيد سمعتوا عن ثغرة CVE-2026-41940 اللي عم تسبب مشاكل ضد cPanel و WHM. خلوني وضحها الكم ببساطة 👇 cPanel و WHM هنن لوحات تحكم لإدارة الاستضافة، يعني من خلالن فيك تدير المواقع، الملفات، قواعد البيانات، الإيميلات، والـ DNS. المشكلة بهالثغرة إنها ممكن تسمح للمهاجم يعمل authentication bypass، يعني يدخل على لوحة التحكم بدون تسجيل دخول صحيح، وكأنه عنده صلاحيات. بعد ما يفوت، بيقدر يعمل أشياء خطيرة مثل: يزرع backdoor حتى يرجع يدخل لاحقاً يضيف SSH public key غريب على السيرفر يرفع PHP web shell للتحكم بالملفات ينفذ أوامر عن بعد remote command execution يسرق كلمات مرور أو بيانات حساسة يستخدم السيرفر بـ crypto mining أو ransomware في الهجمات الأخيرة ظهر Backdoor اسمه Filemanager، ووظيفته إنه يعطي المهاجم قدرة على إدارة الملفات وتنفيذ الأوامر وكأنه داخل على السيرفر. إذا عندك سيرفر عليه cPanel أو WHM، لا تكتفي إنه الموقع شغال. لازم تتأكد إن النسخة محدثة، وتراجع مفاتيح SSH، والملفات الغريبة، وأي نشاط غير طبيعي بالسيرفر. ———————————- Linkedin |Instgram | YouTube أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال

ليش بعض Laravel APIs بتصير صعبة الصيانة مع الوقت؟ كتير مشاريع Laravel بتبدأ بسيطة، بس مع توسّع المشروع بيصير الـ Controller مليان Validation و Business Logic و Database Queries و Response formatting بنفس المكان. هون بتبدأ المشاكل: الكود بيتكرر، التعديل بيصير أصعب، والـ Testing بياخد وقت أكتر. الحل الأفضل هو بناء الـ API على طبقات واضحة: Form Request للـ Validation Controller للتنسيق فقط Service للـ Business Logic Repository للتعامل مع قاعدة البيانات API Resource لتوحيد شكل الـ Response ومع هيك بنضيف شغلات مهمة متل API Versioning و Rate Limiting و Queues و Caching. ———————————- Linkedin |Instgram | YouTube أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال