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

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

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

🌟 ناشط في مجتمع برمجة الأطفال، ومساهم في تطوير المحتوى التقني عربياً.
Download Telegram
What is the default port for HTTP?
Anonymous Quiz
84%
80
6%
21
10%
443
1%
25
🔥3
Which of the following is NOT a HTTP request method?
Anonymous Quiz
9%
PATCH
38%
TRACE
27%
CONNECT
26%
TRANSFER
👍5🔥1😱1
Code With Somar
بكل مكان بتدور فيه على فرصة عمل، أول شي رح تلاحظه هو طلبهم لمهارة استخدام الـ Git! بتسأل ليش؟ ببساطة لأن الـ Git هو المفتاح الأساسي لإدارة الكود والتعاون بفريق، سواء كنت عم تشتغل لحالك أو ضمن شركة كبيرة. و منشان هيك رح يكون عنا جلسة تدريبية خلال الأيام الجايّة…
خلونا نتخيل فريق من 5 مبرمجين عم يشتغلوا على تطوير تطبيق ويب كبير. واحد من المبرمجين عم يشتغل على ميزة جديدة، بينما الآخرين عم يشتغلوا على إصلاحات للأخطاء.

و طلعت معكم المشاكل التالية:
1- المشكلة الأولى: الـ Conflict المبرمج الأول عم يشتغل على ميزة جديدة لصفحة "تسجيل الدخول"، بنفس الوقت المبرمج التاني عم يصلح خطأ بنفس الملف. لما حاولوا يدمجوا الشغل تبعهم، صار Conflict بين التعديلات!

2- المشكلة الثانية: حذف ملف مهم بالغلط واحد من المبرمجين كان عم يشتغل على تعديل مشروعه الشخصي وحذف ملف كتير مهم بخص قاعدة البيانات بالغلط. المشكلة إنه نسي يضيف تعديلاته إلى Staging Area قبل الحذف.

3- المشكلة الثالثة: التراجع عن Commit معيب بسبب انه واحد من المبرمجين عمل Commit في كود فيه أخطاء، و رفعه على (Main) على GitHub، وهالشي سبب مشاكل بالموقع و هو Production. بس ما بدنا نحذف أي تعديلات جاية بعد هالـ Commit لانها مهمة.

كيف ممكن تتصرف بهيك حالات؟

هي وحدة من الـ Case Study اللي رح نحكي عنها بجلسة الـ Git like a PRO اللي بعد ما نتعلم الأوامر رح نعرف كيف ننسق هي الاوامر لحل هيك نوع من الحالات مع العلم انه بالجلسة في 5 Case Study رح نحكي عنهم.

التسجيل مازال متاح على الجلسة بإمكانكم تتواصلوا معي لتعرفوا تفاصيل اكتر.
🔥22👏3
وقت نحكي عن الطرق المختلفة لتواصل تطبيقات الويب مع بعضها، أكيد رح نسمع بـ API والـ Webhooks.

الـ API والـ Webhooks هن أدوات أساسية بتسمح لتطبيقات الويب تتواصل مع بعضها من خلال إرسال البيانات من تطبيق للتاني لمعالجة طلبات أو إرسال إشعارات، أو حتى للوصول للموارد.

خلينا نحكي عن الفرق بين الـ API والـ Webhooks:

1 - Webhooks:
هون النظام بيكون قائم على الأحداث. يعني الـ Webhooks بتسمح لتطبيق يرسل بيانات لتطبيق تاني استجابة لحدث معين. والشي الرائع بالـ Webhooks إنها بتوفر اتصال لحظي (Real Time).

مثال: إذا مستخدم سجل دخول على الخدمة اللي بتقدمها، فيك تستخدم الـ Webhook لترسله إشعار ترحيبي أو إيميل ترحيبي.

2 - API:
الـ API هي اختصار لـ Application Programming Interface. هي عبارة عن مجموعة بروتوكولات بيستخدمها تطبيقين ليتواصلوا مع بعض. بتسمح باستيراد البيانات من تطبيق واستخدامها بتطبيق آخر.

مثال: عن طريق الـ API، فينا نحصل على معلومات المستخدم من تطبيق ونستخدمها بتطبيقنا، مثل عملية تسجيل الدخول عبر Facebook أو Google. منحصل على بيانات المستخدم من Facebook باستخدام الـ API وبنسمح له يدخل على موقعنا.

الفرق الأساسي بين الـ Webhooks والـ API:
الـ Webhooks بتوفر اتصال أحادي الاتجاه (يعني البيانات بتنتقل من تطبيق للتاني استجابة لحدث معين).
بينما الـ API بتوفر اتصال ثنائي الاتجاه بين التطبيقين.
أمثلة على استخدامات الـ API والـ Webhooks:
الـ Webhooks:

منستخدمها بتطبيقات التجارة الإلكترونية ومنصات التواصل الاجتماعي، مثلاً إرسال إشعار للمستخدم لما يضيف منتج لسلة الشراء أو رسالة ترحيبية للي تابع صفحتك.
شركات بتستخدم الـ Webhooks: Twitter، Dropbox، Stripe، Slack، Shopify.
الـ API:

منستخدمها بعمليات الدفع، الـ Chatbots، Ride-sharing، وعمليات تسجيل الدخول باستخدام تطبيقات تانية.
شركات بتستخدم الـ API: Google Maps، Amazon Web Services (AWS)، Instagram، Facebook.
طيب متى منستخدم الـ API ومتى منستخدم الـ Webhooks؟
هاد بيعتمد على التطبيق اللي عم نشتغل عليه ونوع البيانات المطلوبة. إذا كنا بحاجة لجلب بيانات نتيجة حدث معين أو بشكل لحظي، الـ Webhooks هو الحل المثالي. أما إذا بدنا اتصال ثنائي الاتجاه مع إمكانية الوصول البرمجي لموارد بتطبيق خارجي واستخدامها، فالحل هو الـ API.



Facebook | Linkedin |Instgram | Telegram | YouTube

===================

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

شكراً لـ Ayham Ibrahim على المساعدة في إعداد هذا المحتوى.
🔥86👍6
Code With Somar pinned «بكل مكان بتدور فيه على فرصة عمل، أول شي رح تلاحظه هو طلبهم لمهارة استخدام الـ Git! بتسأل ليش؟ ببساطة لأن الـ Git هو المفتاح الأساسي لإدارة الكود والتعاون بفريق، سواء كنت عم تشتغل لحالك أو ضمن شركة كبيرة. و منشان هيك رح يكون عنا جلسة تدريبية خلال الأيام الجايّة…»
عم تشتغل على ميزة الدفع الالكتروني بالمشروع عندكم بالشركة و بالغلط رفعت ملفات الـ credentials او الـ Secret Key على الـ Repo اللي صار كل اللي موجودين هنيك بيعرفوهم ( Run ) لان الـ Team Leader إذا شافك مو من مصلحتك.

ممكن تفكر اوك انا بحذف الملف او بحذف السطر و برجع بساوي Push جديدة بتنحل المشكلة، الجواب هو لاء لان ضلت موجودة الـ Commit القديمة و اي شخص قادر يرجع الها.

طيب، شو الحل كرمال هيك مشكلة؟

حتى تعرف تحل هيك مشاكل ممكن تطلع معك كون معنا بجلسة الـ Git Like a PRO اللي رح نتعلم فيها كيف نتعامل مع الـ git باحترافية و ندرس مجموعة من الـ Case Study اللي بتغطي معظم الحالات اللي رح تواجهوها بشغلكم.

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

⚠️ خصم 20% من رسوم الجلسة لمستخدم الكود : TELE_OFFER_001 الكود صالح لشخص واحد فقط و يجب تأكيد الحجز اليوم. ⚠️

بإمكانكم تتواصلوا معي من خلال :

Facebook | Linkedin |Instgram | Telegram | YouTube

حتى تعرفوا تفاصيل اكتر حول الجلسة و طرف الدفع المتاحة
🔥64👏1
أزمة WordPress و WP Engine إلى أين؟

للي ما بيعرف شو صاير بين هالـ العمالقة فالقصة كالتالي:
بخطوة عملت ضجة كبيرة، ووردبريس قررت تحظر آلاف العملاء اللي بيستخدموا منصة WP Engine، واحدة من أشهر خدمات الاستضافة المدارة لمواقع ووردبريس. هالقرار خلى العملاء ما عاد يقدروا يعملوا تحديثات أو ينزلوا إضافات أو قوالب من خلال لوحة التحكم تبعهم، وهاد الشي أثار غضب كبير بين مجتمع ووردبريس.

القصة بلشت لما "مات مولنوغ"، مؤسس ووردبريس، اتهم WP Engine إنها انتهكت حقوق العلامة التجارية لووردبريس، وطلب منهم يدفعوا تعويضات كبيرة بالملايين. ولما المفاوضات فشلت، مولنوغ قرر يحظر WP Engine من مستودع ووردبريس الرسمي للإضافات والقوالب.

بمعنى تاني، أي حدا عنده موقع مستضاف على WP Engine ما رح يقدر يعمل تحديث أو يثبت أي إضافة أو قالب من خلال لوحة التحكم (WP Admin). وهالشي عمل مشكلة كبيرة للمطورين، الفريلانسرز، والشركات اللي بيعتمدوا على ووردبريس بشغلهم اليومي.

ردًا على الحظر، WP Engine نزلت بيان على موقعها وقالت فيه إن أداء المواقع وأمانها ما رح يتأثروا، وإنهم عم يشتغلوا على حل سريع. كمان وفروا تعليمات للزبائن عن كيف يثبتوا ويحدثوا القوالب والإضافات بشكل يدوي لحد ما تنحل الأزمة.



هالحكي كان خلال الأيام القليلة الماضية و لكن اليوم صرحت WordPress انه زعلت على المستخدمين اللي تأثروا سلباً بقرارات Silver Lake التجارية و قالوا أنه على الصفحة الرئيسية تبع WP Engine، بيعدوا بـ"أداء لا مثيل له، تحديثات تلقائية، وأمان محكم بيضمن نجاح مواقعك." WP Engine كانوا بيعرفوا تماماً إنه فينا نلغي الوصول وقت قرروا يتجاهلوا محاولاتنا لحل الخلافات والدخول باتفاقية ترخيص تجاري وفق ما قالت Word Press

و نتيجة لهاد الكلام Word Press رفعت الحظر عن المستخدمين حتى تاريخ الاول من تشرين الأول كرمال يراجعوا حالهم و يشوفوا قديش كانوا عم يستهلكوا من موارد الـ WordPress org ببلاش بينما ما كانوا عم يدفعوا وعم يهددوهم قانونياً.

البيان الخاص بوردبريس موجود عندهم على الموقع بإمكانكم تشوفوه.

و هي قصة المعركة باختصار و لنشوف الايام الجاية شو مخبية بيناتهم.

خبروني شي مرة استخدمتوا WP Engine و شو رايكم باللي عم يصير بيناتهم؟


Facebook | Linkedin |Instgram | Telegram | YouTube

===================

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
🔥4👍3
عمرك فكرت ليش أحياناً بتراجع كود قديم بتكون إنت كاتبه و بتحس بالندم؟ 😅 هالحالة مو غريبة بين المبرمجين، بس في حلول بتخليك تكتب كود مرتب وسهل تصليحه قدامك وقدام أي حدا تاني.

DRY (Don’t Repeat Yourself):
مبدأ "لا تكرر حالك" بيقول إنو أي قطعة كود لازم تكون موجودة بمكان واحد بس، وما نكررها. مثلاً، بلارافل، بدل ما نكرر قواعد validation بكل controller، منعملها بـ form request وحده ومنستدعيها كل ما احتجناها. هيك بتسهل الصيانة، بتعدل من مكان واحد بس بدل ما تلف عالكود كله.

KISS (Keep It Simple, Stupid!):
حاول دايماً تكتب الكود ببساطة. أي حدا بيرجع لهالكود قدام، سواءً إنت أو غيرك، بيكون أسهل يفهمه ويعدل عليه بدون تعقيدات. مرات الحل البسيط ممكن يكون أصعب بالتنفيذ من الحل المعقد، بس بيسهّل عليك وعلى اللي بيشتغل معك.

YAGNI (You Aren't Gonna Need It):
لا تضيف شغلات إضافية بالكود إلا إذا كنت فعلاً بحاجة إلها. توقعات المستقبل غالباً بتعمل تعقيد وبتزيد الأخطاء. ركز على المتطلبات الأساسية لحد ما يصير في حاجة فعلية لإضافة جديدة.

فكر فيها، كل ما كان الكود أبسط وأوضح، كل ما رح يكون شغلك أسرع وأخف وجع راس لقدام! جرب هالأساليب وشاركنا شو لاحظت بالفرق! 😉


Facebook | Linkedin |Instgram | Telegram | YouTube

===================

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

شكراً لـ Sana Atrash على المساعدة في إعداد هذا المحتوى.


—————————————————-
مازال التسجيل متاح على جلسة Git like a Pro بإمكانكم تتواصلوا معي حتى تعرفوا تفاصيل اكتر حول الجلسة و طرف الدفع المتاحة
23🆒2
Happy 16th birthday, Chrome! 🥳

Chrome celebrates its 16th anniversary this month!
6👍1
اكيد سابقاً سمعت انه الـ NodeJs بتتميز بسرعتها بس شي مرة سالت حالك ليش؟

السر ورا هالشي هو الـ Event Loop اللي بخلي الكود asynchronous خليني اشرحلك شو قصدي:

تخيل حالك شغال بمطعم، عم تستقبل طلبات الزباين. كل زبون بيعطيك طلبه، بس بدل ما توقف بكل طلب وتنتظر الأكل يخلص، بتاخد الطلب وتروح تعطيه للشيف، وبتتابع تاخد طلبات جديدة من الزباين التانيين. الشيف عم يطبخ، وأنت كل شوي بتجي لعنده تشوف إذا الأكل صار جاهز، وإذا صار، بتوصله للزبون. هاد بالضبط مفهوم الـ Event Loop!

باختصار: انت ما بتوقف تستنى، بتتابع شغلك، والعمليات اللي برّا الكود (الشيف) بتكمل لحالها.

الـ Event Loop هو المسؤول عن إدارة العمليات اللي بتشتغل "خلف الكواليس". هو اللي بيضمن إنه الكود asynchronous مثل القراءات من الملفات أو طلبات الـ web يشتغل بدون ما يوقف البرنامج.

Facebook | Linkedin |Instgram | Telegram | YouTube

===================

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
—————————————————-
مازال التسجيل متاح على جلسة Git like a Pro بإمكانكم تتواصلوا معي حتى تعرفوا تفاصيل اكتر حول الجلسة و طرف الدفع المتاحة
🔥7🥰4👍3
لنفترض انه الفريق البرمجي تبعكم عم يشتغل على مشاريع بتحتاج إصدارات دورية واضحة مثلا انتوا شركة و عندكم اوقات ثابتة لنشر التحديثات و غيره.

او لنفترض مثلاً مشروعكم بيتطلب تحديثات سريعة و مستمرة او عم تشتغلوا على مشروع Open Source و بدكم الـ Community يساهم معكم.

طيب فرضاً فريقكم كبير و الشباب عم تشتغل على ميزات كتير بنفس الوقت و بدكم ترفعوا و تتبعوا هي الميزات بشكل مستقل؟

هي جزء من السيناريوهات اللي رح نحكي عنها بجلسة الـ Git Like a PRO اللي رح نتعلم فيها كيف فينا نحترف عالم الـ git و نتميز بشغلنا فيه و يرفع من مستوى تنسيقنا بالعمل.

لتعرف تفاصيل اكتر عن الجلسة و كيفية التسجيل فيها بإمكانكم تتواصلوا معي من خلال :

Facebook | Linkedin |Instgram | Telegram | YouTube

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

⚠️ خصم 20% من رسوم الجلسة لمستخدم الكود : TELE_OFFER_002 الكود صالح لشخص واحد فقط و يجب تأكيد الحجز اليوم. ⚠️
10🔥6
يرجى من اللي سجلوا على جلسة الـ Git Like a PRO و اللي ما تمت إضافتهم على المجموعة التواصل معي كرمال ضيفهم باقرب وقت
🔥1
تمنياتي للجميع بداية اسبوع موفقة

بذكركم بانه الشباب اللي سجلت على جلسة الـ Git Like a PRO و اللي ما تمت إضافتهم على المجموعة التواصل معي كرمال ضيفهم باقرب وقت

الغروب مختلف عن غروب القناة وجب التنويه ⚠️
8👍1
This media is not supported in your browser
VIEW IN TELEGRAM
مارح يفهمها إلا اللي مقضى ليالي مع الـ Terminal 😂
💯16👏3👍1
شاركونا حساباتكم على LinkedIn نساوي Connection لبعض

حسابي بأول تعليق 👇🏻
8🔥2
اكيد شي مرة حدثت تطبيق او نظام و صرت تتمنى لو ترجع للإصدار القديم بدون ما تخسر بياناتك أو تخرب شي؟

هون بيجي دور مفهوم Rollback Compatibility! هالمفهوم بيضمن إنه حتى لو التحديث الجديد فيه مشاكل، تقدر ترجع بكل أمان للإصدار السابق بدون عواقب كبيرة.

ليش مهم هالمفهوم؟
لما بتحدث نظام أو تطبيق، دايمًا فيه احتمال يصير مشاكل أو أخطاء غير متوقعة. بهيك مواقف، Rollback Compatibility بيسمحلك ترجع للإصدار القديم بسرعة وبدون أي خسائر. وهاد الشي بيكون ضروري جدًا خاصة إذا البرنامج عم تستخدمه شركات أو مؤسسات مهمة، لأن أي خطأ ممكن يسبب مشاكل كبيرة و شفنا هالشي بالتحديث اللي خرب المطارات و مؤسسات كبيرة بالعالم من فترة

كيف بيتطبق Rollback Compatibility؟

📌 حفظ البيانات بشكل آمن: لازم البيانات تكون محفوظة بطريقة إذا رجعت للإصدار القديم ما تضيع. يعني يكون فيه Backup دوري للبيانات المهمة.

📌 توافق الميزات القديمة: لازم الميزات القديمة تشتغل طبيعي حتى بعد التحديث. وإذا رجعت للوراء، لازم ما تواجه مشاكل باستخدام هاي الميزات.

📌 التحديث الجزئي: أحيانًا التحديث ما بيكون لكل النظام. ممكن يكون لجزء معين، وهون لو صار خطأ، النظام بيقدر يرجع بس لهالجزء بدون ما يأثر على الباقي.

📌اختبار الرجوع: ضروري كل ما تعمل تحديث، تختبر كيف النظام بيرجع للإصدار القديم. هالعملية بيسموها Rollback Testing، وهي بتتأكد إنه الرجوع يتم بدون مشاكل.

مشاكل ممكن تواجهها مع Rollback Compatibility:

📌 فقدان البيانات: لو الإصدار الجديد أضاف ميزات أو تغييرات كبيرة، ممكن لما ترجع للإصدار القديم تفقد بعض البيانات.

📌 عدم توافق الميزات: بعض الميزات الجديدة ممكن ما تشتغل بشكل سليم إذا رجعت للإصدار القديم.

📌 التعقيد التقني: تطبيق Rollback Compatibility بيزيد من تعقيد النظام، لأنك لازم تضمن إنه كل إصدار يشتغل مع الإصدارات السابقة بدون مشاكل.

إذا بتحب تضمن استقرار النظام وتجنب أي مشاكل بعد التحديثات، Rollback Compatibility بيكون عنصر أساسي. فشو رأيك؟ بتفضل يكون عندك هالنوع من الأمان بنظامك لتقدر تتراجع عن أي خطوة بكل سهولة؟


Facebook | Linkedin |Instgram | Telegram | YouTube

===================

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

شكراً لـ Yousef Saleh على المساعدة في إعداد هذا المحتوى.
10👍3