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

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

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

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

كما هي العادة نبدأ اسبوعنا بفقرة سؤال و جواب على الـ story في حسابي على instgram من هنا

🙏🏻❤️
3
💡 نصيحة سريعة في Laravel: في حال كان عنا جدولين مرتبطين ببعض مثلا users , orders
وبدي احدث وأقدم order للمستخدم كيف فيني جيبهم بأفضل طريقة..

باختصار فينا نستفاد من ال Eloquent Relationships اللي بتقدمهم laravel بكل سهولة 🚀

🔹 مثال عملي: إذا كان لدينا نموذجين: User و Order، بحيث بيملك كل مستخدم العديد من الطلبات.
لحتى نجيب أحدث طلب واقدم طلب :
في User Model منكتب العلاقات التالية الموضحة في الصورة

شكراً للصديق أيهم إبراهيم على المساهمة في هذا المحتوى 🙏🏻❤️

Laravel #PHP #WebDevelopment #CodingTips #Eloquent #ORM #Programming
17🔥5👍2
شاركونا حساباتكم على Linkedin مع لمحة عنكم و عن خبراتكم حتى نساوي Connection لبعض.

رابط حسابي: هنا
1
🐋 Docker مكتوب بـ Go
☸️ Kubernetes مكتوب بـ Go
🛠 Terraform مكتوب بـ Go
📈 Prometheus مكتوب بـ Go
📊 Grafana مكتوب بـ TypeScript
⚙️ Jenkins مكتوب بـ Java
🐍 Ansible مكتوب بـ Python
🍴 Chef مكتوب بـ Ruby
🎭 Puppet مكتوب بـ Ruby
🔍 ELK Stack (Elasticsearch, Logstash, Kibana) مكتوب بـ Java و Ruby
📟 Nagios مكتوب بـ C
💾 Splunk مكتوب بـ C++
☁️ AWS CLI مكتوب بـ Python
🔵 Azure CLI مكتوب بـ Python
🦊 GitLab مكتوب بـ Ruby و Go
🔄 CircleCI مكتوب بـ Clojure
🔐 HashiCorp Vault مكتوب بـ Go
🚀 ArgoCD مكتوب بـ Go
🛡 Istio مكتوب بـ Go

يعني كل هالأدوات يلي بتحرك عالم DevOps مبنية بلغات مثل Go، Python، Ruby، و Java.

ما صار وقت تضيف Go لخططك لسنة 2025؟ 👌
17
بآخر تحديث لـ Laravel (الإصدار 11.35.0)، صار فينا نستخدم when و unless مع الـ Request اللي بتسمحلنا نكتب Logic شرطي بطريقة مرتبة و واضحة اكتر و بتخلصنا من وجع راس الـ If Condetions الطويلة.

طيب شو الفرق بين when() و unless()؟

كود أوضح: وداعًا للـ if-else الطويلة والمعقدة.
تنفيذ مباشر: العمليات الشرطية بتصير داخل الطلب بشكل بسيط.
مرونة أكتر: بتقدر تتعامل مع أكتر من شرط بسهولة.
صيانة أسهل: لو بدك تعدل أو تطور المنطق بالمستقبل، ما راح تواجه صعوبة.

الطريقتين ليسوا مجرد تحسين شكلي إنما أدوات مساعدة لكتابة كود نظيف و مرتب أكثر بوقت أقل.

جربت تستخدم when() و unless() من قبل؟ شاركنا تجربتك بالكومنتات! 👇
14👍3🥰1
كونوا جاهزين لنعمل meeting قادم على شكل Live session نحكي فيه عن اسئلتكم اللي عم توصلني و ندردش سوا عن البرمجة و سوق العمل و غيره.

سابقاً ساويناها مرتين و رح نساويها خلال الايام القادمة لتكون الـ 3 معنا:
https://youtu.be/dq3sjF9r8UI
https://youtu.be/aPzsusaTcQo

جاوبنا فيها على كتير اسئلة و حكينا فيها عن كتير امور و قضايا.

لهيك لا تنسوا تشاركوا قناتي على تليغرام مع أصدقائكم و تشتركوا بالقناة على الـ YouTube ليوصلكم كل جديد 🔥

سنة سعيدة الكم جميعاً
9🥰1
كتير منسمع عن مصطلح الـ Self-Relationships و اليوم جاي احكيلك عن هاد المفهوم

شو يعني Self-Relationships بالاول؟
الـ Self-Relationships بتعني لما يكون عندك Object لازم يرتبط بـ Object تاني من نفس النوع مثلاً:

الموظفين والمدراء، حيث الموظف عنده مدير، والمدير كمان هو موظف.
التصنيفات والفئات الفرعية، مثل "برمجة" اللي ممكن تحتوي على "تطوير ويب" و"علم البيانات".
شبكات التواصل الاجتماعي، لما المستخدم يكون عنده أصدقاء (اللي هني كمان مستخدمين).

ليش منحتاج الـ Self-Relationships ؟
اهم ميزة فيها انها بتحل مشاكل هيكلية كتيرة مثل:
الهيكل التنظيمي للشركات: لمّا الموظفين يكونوا تابعين لمدراء ضمن نفس الهيكل.
التصنيفات والفئات الفرعية: لتنظيم المنتجات أو المواضيع بشكل هرمي.
الصداقة في الشبكات الاجتماعية: لإنشاء علاقات متبادلة بين المستخدمين.


و هيك لما تنسال بمقابلة العمل عن الـ Self-Relationships صرت بتعرف تشرح عنها و هلا خبرني اشتغلت فيها بمشاريعك سابقاً؟
4
مشكلة و حل :

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

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