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

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

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

🌟 ناشط في مجتمع برمجة الأطفال، ومساهم في تطوير المحتوى التقني عربياً.
Download Telegram
مشكلة و حل :

أنت عم تبني تطبيق لإدارة المهام، وعم تضيف جدول لتخزين المهام المشتركة بين المستخدمين.

كل شي واضح وبسيط، وعرفت العلاقة بين المهام والمستخدمين في الـ Model الخاص بـ SharedTask، و بتتوقع أنه يرجع لك بيانات المستخدم المدعو بشكل Object.

لكن بدل ما ترجع العلاقة Object المستخدم (User)، بيرجعلك رقم فقط من الجدول، وإذا حاولت الوصول لأي prorite مثل $sharedTask->invitee->id، بتظهر رسالة خطأ مثل:
"Attempt to read property 'id' on int"

شو سبب هي المشكلة طيب؟

Laravel بيختار الأعمدة اللي بتتطابق أسماؤها مع أسماء العلاقات قبل ما يرجع العلاقة نفسها.
بمعنى، إذا عندك عمود اسمه invitee، وعلاقة بنفس الاسم، Laravel بيفترض إنك بدك العمود مش العلاقة.

اوك و الحل؟
الحل بسيط جدًا: غير اسم العلاقة لتجنب هذا التضارب.
بدل ما تكون العلاقة اسمها invitee (مثل العمود)، غيرها لشي واضح أكتر، مثل: inviteeUser.

هلا لما تستدعي العلاقة باستخدام $sharedTask->inviteeUser، Laravel رح يفهم إنك تقصد العلاقة ويعيد كائن المستخدم بالشكل الصحيح.

و خلي ببالك دوماً انه اسم العلاقة يكون مختلف عن اسم اي عمود بنفس الجدول

هي الأخطاء الصغيرة ممكن تضيع وقت كبير إذا ما عرفت السبب، بس الحل عادةً بيكون بسيط.

إذا مر عليك خطأ مشابه، شاركنا تجربتك وكيف حلّيته! 👇
🔥10
ختمنا سنة 2024 بـ 800 مشترك على قناة الـ YouTube و أتمنى من سنة 2025 نختمها بأكبر من هالرقم بكتير

من أهم أهدافي للسنة الجديدة هو زيادة انتاجي للمحتوى على الـ YouTube و رفع مستوى جودته

و هالشي بتم من خلال دعمكم الي بالاشتراك بالقناة او حتى بمشاهدة الفيديوهات و التعليق و المشاركة كلها أرقام بتشجعني و بتساهم انه نستمثر اكتر فيها.

القادم رح يعجبكم نشالله

رابط القناة: هنا
8🔥6
مخاطر العمل مع الـ Soft Delete لازم تعرفها:

خلينا نشرحلك ياها بالاول هي عبارة عن ميزة بـ Laravel بتسمحلك "تحذف" البيانات بدون ما تنحذف فعلياً من الـ database. البيانات بتضل موجودة، بس بينضاف timestamp بعمود deleted_at ليدل إنه البيانات محذوفة. هالميزة مفيدة إذا كنت بحاجة لاسترجاع البيانات أو لمراجعتها لاحقاً.

طيب شكلها مفيدة و حلوة ليش لازم انتبه بالشغل معها؟

1. مشاكل الأداء مع الجداول الكبيرة
كل query بـ Laravel مع Soft Deletes بيضيف شرط WHERE deleted_at IS NULL افتراضياً، وهذا ممكن يأثر على الأداء مع ازدياد حجم البيانات.

2. التناقض بين Eloquent و Query Builder
Eloquent تلقائياً بيستثني الـ records المحذوفة، بس إذا استخدمت Query Builder، الشرط ما بينضاف تلقائياً، وبتضطر تضيفه يدوياً، مما قد يسبب أخطاء إذا تم نسيانه.

3. عدم وجود Cascading Deletes
الـ Soft Delete ما بينفذ عمليات الحذف التلقائي على البيانات المرتبطة، مثل حذف الـ posts أو الـ comments المرتبطة بالمستخدم، مما يتطلب تنفيذها يدويًا.

4. مشاكل مع الـ Unique Constraints
لما تسوي Soft Delete، الـ record المحذوف بيضل موجود، وهاد ممكن يسبب مشاكل مع الأعمدة اللي عليها قيود فريدة (Unique Constraints) مثل البريد الإلكتروني.

طيب شو الحل؟
إذا كانت مشروعك كبير أو حساس، فكر باستخدام حزمة مثل Spatie Laravel Deleted Models. هالحزمة بتنقل البيانات المحذوفة لجدول منفصل، بتحسن الأداء، وبتجنب مشاكل الـ unique constraints، وبتسهل إدارة العلاقات المرتبطة.

إذا عندك تجربة أو حل مشابه، شاركنا رأيك بالتعليقات
21👍4👏3
تمنياتي لكم جميعاً بأسبوع عمل موفق و خالي من الـ Bugs و الـ meetings قدر الإمكان

و كالعادة أصدقائي نبدأ اسبوعنا بأنه نجاوب على اسئلتكم من خلال story على حسابي الـ instgram من خلال الرابط:هنا
11
كتير عم توصلني اسئلة و استفسارات حول موضوع الـ pipline بتحبوا نعمل جلسة نشرح عنه بالتطبيق العملي؟
Anonymous Poll
83%
موافق
17%
مو هلا خلينا نأجلها
بالمنشورات السابقة و باللقائات و غيرها كتير بنصحكم بالـ Linux و بعرف انه اغلبكم خايف منه او مو مستعد ينتقل عليه 100% بس كالعادة انا عندي حل لكل مشاكلكم.

انتوا قادرين تشغلوا الـ Linux بدون ما تثبتوه حتى كل اللي بتحتاجوه هو:

1- تنزلوا اي Linux distribution متل Ubuntu كـ ISO من الموقع الرسمي
2- من خلال برنامج متل Rufus بتخلي الـ USB تشتغل كـ Bootable
3- شغل الجهاز و اختار الاقلاع من الفلاشة و هيك بتجرب و بتشتغل و بتتعلم قد ما بدك قبل ما تنزل النظام.
3
في Tasks احيانا بتحسها بتصير على شكل اقسام رغم انها لازم تكون قسم واحد بدون قطع و هون بتجي ميزة الـ tap() اللي بتخليك تنفذ اي عملية جانبية مثل تسجيل log على الـ Object بدون ما توقف السلسة بتنفذ شغلك، وبتكمل كأن شي ما صار!

بهالطريقة انت بتخلي الكود مرتب و منظم أكتر و بتساعدك تضيف أكشنات بسيطة على الـ object بدون تعقيد.

دائماً خلي الكود تبعك أبسط ما يمكن كرمال سهولة الصيانة و القراءة.
11
مطلوب مصمم UI/UX للعمل على مشروع متجر إلكتروني

نبحث عن مصمم UI/UX مبدع ولديه خبرة سابقة في تصميم واجهات المستخدم وتجربة المستخدم لمشاريع المتاجر الإلكترونية.

المتطلبات:

خبرة مثبتة في تصميم المتاجر الإلكترونية.
مهارات قوية في Figma
القدرة على تحويل الأفكار إلى تصميمات مبتكرة وعملية.
فهم جيد لتجربة المستخدم وسلوك العملاء في المتاجر الإلكترونية.
الالتزام بالجودة والمواعيد النهائية.

إذا كنت ترى نفسك الشخص المناسب لهذه الفرصة، يرجى إرسال:

نماذج من أعمالك السابقة في تصميم المتاجر الإلكترونية و سيرتك الذاتية للتقديم أو لمزيد من التفاصيل، تواصل معنا عبر البريد الإلكتروني: jobs@somar-kesen.com مع تحديد الموضوع بـ E-UIUX

أو عبر حسابي على لينكدان من هنا
3
في كورسين عم حضرلهم هلا و التنين بدهم وقت ف شو بتفضلوا نشتغل عليه بالاول؟
Anonymous Poll
63%
كورس Larave Security ( مسجل )
37%
ولا جلسة Piplines
Code With Somar pinned «في كورسين عم حضرلهم هلا و التنين بدهم وقت ف شو بتفضلوا نشتغل عليه بالاول؟»
Live stream scheduled for
أصدقائي الأعزاء:
اذكركم بموعدنا اليوم على الساعة 9 مساءً بتوقيت سوريا مع الاستاذ علي سلمان ضمن Podcast With Somar هنا على قناة Telegram لندخل سوياً بتفاصيل مجال امن المعلومات و تحديداً للأشخاص اللي حابين هاد المجال كعمل

لا تنسوا تشاركوا القناة مع أصدقائكم و تكونوا كتار على الـ Live و متحمس جداً للقائكم من جديد 🔥🙏🏻
🔥136
تطبيق مزيف باسم "Telegram Premium" عامل حاله كأنه نسخة مدفوعة من تيليغرام، لكنه بالواقع برمجية خبيثة اسمها FireScam!

التطبيق عم ينزل عبر تقليد للمتجر الروسي RuStore و عم يثبت ملفات خبيثة بتجمع كل بياناتك الحساسة مثل الرسائل، الإشعارات، وقوائم الاتصال.

📌 بيطلب أذونات خطيرة بتسمحله يسيطر على الجهاز، يثبت أو يحذف تطبيقات، وحتى يراقب نشاطاتك بالكامل.

⚠️ شو لازم تعمل؟

لا تنزل أي تطبيق من مصادر غير موثوقة.
اتأكد دايمًا إنك عم تستخدم المتاجر الرسمية مثل Google Play.
راقب أي تصرف غريب بجهازك.

خليك حذر وحافظ على أمان بياناتك! 🔒

و تابعنا حتى تضل تعرف كل جديد اول بأول 🔥
10👍3
بتعرف انه كل ثانية بـ 2024،مجرمي الإنترنت حاولوا يعملوا 7,000 هجوم على كلمات المرور! يعني زيادة 75% عن السنة اللي قبلها و ياريت وقفت هون هجمات التصيد الإلكتروني ارتفعت بنسبة 58% وتسببت بخساير وصلت لـ 3.5 مليار دولار!!!!

هالأرقام مخيفة جداً لو فكرت فيها و لتعرف هالقضايا كيف عم تصير و شو الثغرات و شو أمن المعلومات باقي على حلقة Podcast اليوم حوالي الـ 3 ساعات و رح تقدر تطرح أسئلتك و نجاوب عليها مع ضيفنا اليوم

https://t.me/somarkn?livestream
10👍4
Live stream started
رح نستقبل تعليقاتكم كالعادة هون
👍1
Live stream finished (1 hour)
الأمن السيبراني: نصائح وتحديات مع المهندس علي سلمان

متل ما وعدناكم ما رح نتأخر بالحلقة و هلا صارت موجودة على اليوتيوب

بصراحة الحلقة لا تفوت فيها كمية معلومات و متعة تستحق تعطيها وقتك

و لا تنسوا الاشتراك بالقناة و تفعيل زر الجرس كرمال تدعمونا نستمر و نتابع
https://youtu.be/2iCI4iz9HFQ
14🔥4👍1
Code With Somar pinned «الأمن السيبراني: نصائح وتحديات مع المهندس علي سلمان متل ما وعدناكم ما رح نتأخر بالحلقة و هلا صارت موجودة على اليوتيوب بصراحة الحلقة لا تفوت فيها كمية معلومات و متعة تستحق تعطيها وقتك و لا تنسوا الاشتراك بالقناة و تفعيل زر الجرس كرمال تدعمونا نستمر و نتابع…»