من بين أهم المهارات التي يجب أن تتقنها هي مهارة تصحيح الأخطاء Debugging.. هذا في تطوير البرمجيات عموما.
لكن إذا كنت تعرف كيف تستخدمها وتعمل بها بطريقة فعّالة، لنقل بنسبة تتجاوز 50%،، فحينها سيصبح الذكاء الاصطناعي مساعدًا قويًا لك في إنتاج features عالية الجودة، بالإضافة إلى توفير الوقت وزيادة الإنتاجية.
#software #softwaredevelopment
لكن إذا كنت تعرف كيف تستخدمها وتعمل بها بطريقة فعّالة، لنقل بنسبة تتجاوز 50%،، فحينها سيصبح الذكاء الاصطناعي مساعدًا قويًا لك في إنتاج features عالية الجودة، بالإضافة إلى توفير الوقت وزيادة الإنتاجية.
#software #softwaredevelopment
❤9🔥1
في هندسة البرمجيات، فهم هذه المفاهيم الثلاثة يساعدك على بناء أنظمة أكثر استقرارًا وسهولة في التطوير؛
- التماسك (Cohesion): مدى ارتباط المهام داخل ال class أو ال module.. كلما كانت ال Cohesion عالية، كان الكود أكثر وضوحًا وأسهل في الصيانة..
مثال: كلاس مسؤول عن إدارة المستخدمين فقط (إضافة، تعديل، حذف)، هذا يعتبر متماسكا.
كلاس يحتوي على وظائف للمستخدمين والفواتير والمنتجات معًا، هذا يعتبر ذو تماسك ضعيف.
ال abstraction: مدى إخفاء التفاصيل غير الضرورية وإظهار المهم فقط.. الـ abstraction الجيدة تبسط التعقيد وتجعل النظام أكثر مرونة.
مثال: واجهة PaymentService تخفي طريقة الدفع (Visa أو PayPal) وتُظهر فقط دالة processPayment()، المستخدم يتعامل مع المفهوم، لا التفاصيل.. و لا يعرف ما يتم عمل process له على مستوى ال service.
- ال instability: مدى قابلية ال module/classs للتغيير نتيجة اعتماده على modules/classes أخرى.. كلما زادت الاعتمادات، زادت ال instability.
مثال: لو أن OrderService يعتمد على 5 خدمات خارجية (Users, Products, Shipping...)، فإن أي تغيير في إحداها قد يكسر النظام.. و يحتاج مراجعة وتصحيحات شاملة.
اذا دائم هدف ال Architect هو تصميم نظام، ذو تماسك عال، و abstraction مباشرة و قليلة، و instability منخفظة.
#softwareEngineering #fundamentals #softwaredevelopment #softwaredesign
- التماسك (Cohesion): مدى ارتباط المهام داخل ال class أو ال module.. كلما كانت ال Cohesion عالية، كان الكود أكثر وضوحًا وأسهل في الصيانة..
مثال: كلاس مسؤول عن إدارة المستخدمين فقط (إضافة، تعديل، حذف)، هذا يعتبر متماسكا.
كلاس يحتوي على وظائف للمستخدمين والفواتير والمنتجات معًا، هذا يعتبر ذو تماسك ضعيف.
ال abstraction: مدى إخفاء التفاصيل غير الضرورية وإظهار المهم فقط.. الـ abstraction الجيدة تبسط التعقيد وتجعل النظام أكثر مرونة.
مثال: واجهة PaymentService تخفي طريقة الدفع (Visa أو PayPal) وتُظهر فقط دالة processPayment()، المستخدم يتعامل مع المفهوم، لا التفاصيل.. و لا يعرف ما يتم عمل process له على مستوى ال service.
- ال instability: مدى قابلية ال module/classs للتغيير نتيجة اعتماده على modules/classes أخرى.. كلما زادت الاعتمادات، زادت ال instability.
مثال: لو أن OrderService يعتمد على 5 خدمات خارجية (Users, Products, Shipping...)، فإن أي تغيير في إحداها قد يكسر النظام.. و يحتاج مراجعة وتصحيحات شاملة.
اذا دائم هدف ال Architect هو تصميم نظام، ذو تماسك عال، و abstraction مباشرة و قليلة، و instability منخفظة.
#softwareEngineering #fundamentals #softwaredevelopment #softwaredesign
❤5
تم تفعيل ال paid reactions على القناة.
- اولا لازلت لا اعرف كيفية عملها جيدا، احاول التعلم، و لمن يفهمها جدا المرجوا ان يشرح لي؟
- لا اتوقع ان اجمع اموالا من هذه الميزة، فقط هي للتجريب و لو قدر الله و اتى منها عائد مادي مستقبلا فلما لا؟ المهم ان الهدف كان و لازال شيئا آخر غير المال.
و الله ولي التوفيق.
- اولا لازلت لا اعرف كيفية عملها جيدا، احاول التعلم، و لمن يفهمها جدا المرجوا ان يشرح لي؟
- لا اتوقع ان اجمع اموالا من هذه الميزة، فقط هي للتجريب و لو قدر الله و اتى منها عائد مادي مستقبلا فلما لا؟ المهم ان الهدف كان و لازال شيئا آخر غير المال.
و الله ولي التوفيق.
❤3
قراءة ال error messages و ال server responses بطريقة بطيئة و فهمها بعناية، هو نصف الحل.
#software #softwaredevelopment
#software #softwaredevelopment
❤4🔥1
Forwarded from محمود نصر الدين 🇵🇸
الصحة قبل نظام الإنتاجية
خلال ٤ سنين مضوا كنت بعاني مشاكل صحية في الجهاز الهضمي وأى شغل مكتب بداهة كان بيعتمد على التركيز حتى لو في ألم جسدي فدا بيأثر عليك من عدة أمور وأهمها شغلك ومن خلال تجربتي في التحسن ولله الحمد دا الى أقدر أنصح بيه.
١. الرياضة سواء الجيم أو غيره ضرورة مش رفاهية.
٢. أعتمد على البروتين والدهون الصحية والألياف والكارب النضيف في أكلك، كل ما زادت جودة أكلك كل ما زاد تركيزك.
٣. خد أوميجا ٣ و فيتامينات ( أستشر طبيب أو صيدلي )
٤. حاول تتمشي ١٠،٠٠٠ خطوة يوميًا، لو صعبة أبدأ ب ١٠ مشي بعد الفجر وزود بالتدريج
٥. تمارين الإطالة مهمة وياريت تعملها في أوقات الراحة بين جلسات العمل
٦. إهمال المرض عواقبه وخيمة، الأستشارة الطبية مش شئ يؤجل.
٧. لو في حاجة مكتبتهاش شاركنا بيها في التعليقات.
فيديو مهم في صلب الموضوع
والعلم عند الله
خلال ٤ سنين مضوا كنت بعاني مشاكل صحية في الجهاز الهضمي وأى شغل مكتب بداهة كان بيعتمد على التركيز حتى لو في ألم جسدي فدا بيأثر عليك من عدة أمور وأهمها شغلك ومن خلال تجربتي في التحسن ولله الحمد دا الى أقدر أنصح بيه.
١. الرياضة سواء الجيم أو غيره ضرورة مش رفاهية.
٢. أعتمد على البروتين والدهون الصحية والألياف والكارب النضيف في أكلك، كل ما زادت جودة أكلك كل ما زاد تركيزك.
٣. خد أوميجا ٣ و فيتامينات ( أستشر طبيب أو صيدلي )
٤. حاول تتمشي ١٠،٠٠٠ خطوة يوميًا، لو صعبة أبدأ ب ١٠ مشي بعد الفجر وزود بالتدريج
٥. تمارين الإطالة مهمة وياريت تعملها في أوقات الراحة بين جلسات العمل
٦. إهمال المرض عواقبه وخيمة، الأستشارة الطبية مش شئ يؤجل.
٧. لو في حاجة مكتبتهاش شاركنا بيها في التعليقات.
فيديو مهم في صلب الموضوع
والعلم عند الله
💯9👏1
This media is not supported in your browser
VIEW IN TELEGRAM
من بين أهم ما يفسد على المؤمن يومه هو عدم سيره كما اراد، او كما خطط له.. فمثلا قمت بالإستعدادات اللازمة للقيام لصلاة الفجر و لم يتيسر ذلك، هنا تتسخط على يومك و تسقط غالبا جل خططك..
مثال آخر، لا تتوفق في مسألة ما في العمل -في يومك-، التعلم أو الدراسة فيجني ذلك على يومك ايضا...
صدقني الأمر لا يؤخذ هكذا لا دينا و لا دنيا.. فدينا نحن مطالبون بالسير و السعي لا التوقف و التسخط، و في هذا أحاديث و آيات كثيرة.
و دنيا، انت مطالب بوضع خطة ليومك، و لو قمت ب نصف الخطة في اليوم فهذا ليس فشلا بل نجاحا.. و هذا كلام واقعي و ليس كلام تنمية بشرية و تحفيزات.. ففي الأول و الاخير انت و أنا بشر ضعفاء و ميسرون لما خلقنا له.
كذلك فيما ما مضى لا تتحصر عليه، و احرص على ما ينفعك "الآن" كما قال سيد الخلق.
و في هذا السياق من استدراك ما فات على المدى القريب و المتوسط، كتاب فقه الاستدراك لمحمد بن محمد الأسطل رائع و نافع.
و أسأل الله أن اكون مصيبا في ما كتبت.
مثال آخر، لا تتوفق في مسألة ما في العمل -في يومك-، التعلم أو الدراسة فيجني ذلك على يومك ايضا...
صدقني الأمر لا يؤخذ هكذا لا دينا و لا دنيا.. فدينا نحن مطالبون بالسير و السعي لا التوقف و التسخط، و في هذا أحاديث و آيات كثيرة.
و دنيا، انت مطالب بوضع خطة ليومك، و لو قمت ب نصف الخطة في اليوم فهذا ليس فشلا بل نجاحا.. و هذا كلام واقعي و ليس كلام تنمية بشرية و تحفيزات.. ففي الأول و الاخير انت و أنا بشر ضعفاء و ميسرون لما خلقنا له.
كذلك فيما ما مضى لا تتحصر عليه، و احرص على ما ينفعك "الآن" كما قال سيد الخلق.
و في هذا السياق من استدراك ما فات على المدى القريب و المتوسط، كتاب فقه الاستدراك لمحمد بن محمد الأسطل رائع و نافع.
و أسأل الله أن اكون مصيبا في ما كتبت.
❤10
في صناعة البرمجيات، من الطبيعي أن لا يكون عملك كاملًا.. الكمال في هذا المجال وهم (إن صح التعبير) يبطئ التقدّم..
سواء كنت مبرمجًا، مهندس برمجيات، قائد فريق أو مديرًا،
تقبّل أن هناك من سيُكمل أو يُحسّن عملك.. فهذا هو أساس عمل فرق هندسة البرمجيات،، عمل جماعي قائم على التعاون والتحسين المستمر.
في النهاية، الهدف ليس الكمال... بل أن يكون كل إصدار أفضل من الذي قبله.
وهذه هي سنة الله في الأرض نحن ناقصون نكتمل ببعضنا البعض، كل مسخر للآخر.
سواء كنت مبرمجًا، مهندس برمجيات، قائد فريق أو مديرًا،
تقبّل أن هناك من سيُكمل أو يُحسّن عملك.. فهذا هو أساس عمل فرق هندسة البرمجيات،، عمل جماعي قائم على التعاون والتحسين المستمر.
في النهاية، الهدف ليس الكمال... بل أن يكون كل إصدار أفضل من الذي قبله.
وهذه هي سنة الله في الأرض نحن ناقصون نكتمل ببعضنا البعض، كل مسخر للآخر.
❤9
هذا الشخص مقاطعه رائعة.. وهذا مقطع آخر ملهم رغم بساطته.
https://youtu.be/y-LmKqUrxZY?si=f9vvqsV9POINvFJ4
https://youtu.be/y-LmKqUrxZY?si=f9vvqsV9POINvFJ4
👍8❤1
كثير من الشركات الكبرى أصبحت تتيح و تسمح بإستخدام ال ai في ال interviews.
تعلم استخدام ال ai في يومك كمبرمج، تعلم ان تتعلم جيدا في البرمجة و هندسة البرمجيات، تأسس جيدا، أو أعد أساسياتك لتقليل ال technical gaps و تقليل ال technical doubts مستقبلا، الشخصي و على مستوى المشاريع التي ستعمل عليها.
#ai #software #softwareengineering
تعلم استخدام ال ai في يومك كمبرمج، تعلم ان تتعلم جيدا في البرمجة و هندسة البرمجيات، تأسس جيدا، أو أعد أساسياتك لتقليل ال technical gaps و تقليل ال technical doubts مستقبلا، الشخصي و على مستوى المشاريع التي ستعمل عليها.
#ai #software #softwareengineering
❤1
ربما تسمع كثير هذين المصطلحين في مجال هندسة البرمجيات، ال stateless و ال stateful، وربما تستخدمهما دون أن تعلم..
ال stateless يعني أن السيرفر يتعامل مع كل request كأنها أول مرة يتلقاها فيها.. و هكذا في كل request جديدة،، لا يحتفظ بأي معلومات عنك أو عن الطلبات السابقة.
يعني أن كل request تحتوى كل المعلومات اللازمة لتنفيذها، بدون الاعتماد على أي شيء سابق..
مثلًا في WebRTC أو أي اتصال يستخدم UDP، البيانات تُرسل بدون انتظار أو تذكر للطلبات السابقة، أو مثل REST API بدون تسجيل دخول، عندما تطلب endpoint عامة مثل:
GET /api/posts
السيرفر يعطيك النتيجة، ثم ينسى من أنت.
ال stateful يعنى السيرفر يتذكّرك بين مختلف الطلبات،، يعني يحتفظ ب state عن المستخدم، مثلا أنه سجل الدخول سابقا، أو ما اختاره سابقا.
يعني أن السيرفر يخزن معلومات عنك، عادة باستخدام Session أو Cookie أو Token.
مثال في تطبيقات/مواقع تتطلب تسجيل الدخول مثل Laravel أو WordPress أو... عند تسجيل الدخول، السيرفر يخزن غالبا session id.
وفي كل ال request اللاحقة، السرفر يتعرف عليك بناءا على هذه ال session id .
السيرفر يعرفك فورا و يوجهك لل request التالية مباشرة.
#software #softwaredevelopment #backend #backendengineering #backenddevelopment
ال stateless يعني أن السيرفر يتعامل مع كل request كأنها أول مرة يتلقاها فيها.. و هكذا في كل request جديدة،، لا يحتفظ بأي معلومات عنك أو عن الطلبات السابقة.
يعني أن كل request تحتوى كل المعلومات اللازمة لتنفيذها، بدون الاعتماد على أي شيء سابق..
مثلًا في WebRTC أو أي اتصال يستخدم UDP، البيانات تُرسل بدون انتظار أو تذكر للطلبات السابقة، أو مثل REST API بدون تسجيل دخول، عندما تطلب endpoint عامة مثل:
GET /api/posts
السيرفر يعطيك النتيجة، ثم ينسى من أنت.
ال stateful يعنى السيرفر يتذكّرك بين مختلف الطلبات،، يعني يحتفظ ب state عن المستخدم، مثلا أنه سجل الدخول سابقا، أو ما اختاره سابقا.
يعني أن السيرفر يخزن معلومات عنك، عادة باستخدام Session أو Cookie أو Token.
مثال في تطبيقات/مواقع تتطلب تسجيل الدخول مثل Laravel أو WordPress أو... عند تسجيل الدخول، السيرفر يخزن غالبا session id.
وفي كل ال request اللاحقة، السرفر يتعرف عليك بناءا على هذه ال session id .
السيرفر يعرفك فورا و يوجهك لل request التالية مباشرة.
#software #softwaredevelopment #backend #backendengineering #backenddevelopment
❤5
This media is not supported in your browser
VIEW IN TELEGRAM
❤4
شرح عملي لل UDP بإستخدام PHP لعله يكون نافعا.
تجاهلوا أصوات الخلفية، جزاكم الله خيرا 😁😁
ولو المقطع نافع شاركه لعله بنفع عيرك.. لو لا انا مستعد لتلقى التعليقات 😊
https://youtu.be/LOqofdwbf9U
تجاهلوا أصوات الخلفية، جزاكم الله خيرا 😁😁
ولو المقطع نافع شاركه لعله بنفع عيرك.. لو لا انا مستعد لتلقى التعليقات 😊
https://youtu.be/LOqofdwbf9U
YouTube
شرح عملي لل UDP باستخدام PHP
يُعتبر من أسرع بروتوكولات النقل لأنه لا يعتمد على اتصال دائم مثل TCP، لذلك يُستخدم في الألعاب، البث المباشر، وأنظمة التواصل السريعة.
#PHP #UDP #Sockets #Server #Client #Networking #Backend
#PHP #UDP #Sockets #Server #Client #Networking #Backend
أطلق Laravel منصة تعليمية (Laravel Learn)، وهي منصة جديدة لتطوير مهاراتك.
تنطلق مع دورتين تدريبيتين صغيرتين و مجانيتين:
- الأولى تدريب Laravel للمبتدئين.
- الثانية أساسيات PHP للمبتدئين او للذين يريديون تحديث معارفهم بسرعة في ال PHP.
الرابط: https://laravel.com/learn
#PHP #Laravel
تنطلق مع دورتين تدريبيتين صغيرتين و مجانيتين:
- الأولى تدريب Laravel للمبتدئين.
- الثانية أساسيات PHP للمبتدئين او للذين يريديون تحديث معارفهم بسرعة في ال PHP.
الرابط: https://laravel.com/learn
#PHP #Laravel
Laravel
Learn Laravel - Free Video Courses - Laravel - The PHP Framework For Web Artisans
Kickstart your Laravel journey with free mini video courses. Learn PHP fundamentals and Laravel basics through bite-sized lessons and real-world projects.
❤2🔥2
نصيحة مبنية على تجربة شخصية في البرمجة؛
لا تخف من نظرة الناس، ولا من أن تبدو غبيًا في بعض المواقف.. ففي هذا المجال ستواجه مواقف كثيرة تشعرك بالارتباك أو قلة الفهم، وهذا طبيعي تماما.
أسقط الناس من حسابك، وركّز على رحلتك أنت، حينها فقط ستبدأ بملاحظة التطور الحقيقي..
عندما تعمل دون خوف أو ضغوط غير ضرورية، ستجد نفسك تفعل ما يجب أن تفعله بثقة وهدوء كبيرين..
والله ولي التوفيق.
لا تخف من نظرة الناس، ولا من أن تبدو غبيًا في بعض المواقف.. ففي هذا المجال ستواجه مواقف كثيرة تشعرك بالارتباك أو قلة الفهم، وهذا طبيعي تماما.
أسقط الناس من حسابك، وركّز على رحلتك أنت، حينها فقط ستبدأ بملاحظة التطور الحقيقي..
عندما تعمل دون خوف أو ضغوط غير ضرورية، ستجد نفسك تفعل ما يجب أن تفعله بثقة وهدوء كبيرين..
والله ولي التوفيق.
❤12🔥1
من أهم الأشياء التي يجب أن تفهمها كبرمج أو مطوّر برمجيات سواء كنت تعمل ك Frontend أو Backend، هي Request /Response Lifecycle.
قبل أن تصل البيانات إلى ال Layer 7، وهي ال presentation layer التي تظهر الصفحة للمستخدم، تحدث الكثير من العمليات داخل النظام. يمكنك التعمّق في فهم هذا أكثر بالاطّلاع على ال OSI Model إذا أردت.
بشكل مبسّط، عندما تكتب رابطًا في المتصفح أو تضغط على زر يُرسل طلبًا مثل GET أو POST. يتم توجيه هذا الطلب إلى route معين.
- طلب GET عادة يُستخدم لجلب البيانات،
- وPOST لإرسال أو حفظ بيانات (مثل إرسال نموذج)،
- وPUT لتحديث بيانات موجودة،
- وDELETE لحذف بيانات معينة.
غالبًا ما يتعامل هذا ال route مع كود من ال back-end وغالبًا يكون هذا الكود داخل كلاس Controller، وهو الجزء المسؤول عن تنفيذ ال Logic المطلوب. ال Controller بدوره يتواصل مع Model، الذي يتعامل مع قاعدة البيانات، ثم يرسل النتيجة إلى ال View المسؤولة عن عرض البيانات للمستخدم.
وهذا ما يُعرف عمومًا و اختصارا باسم نمط MVC Architecture:
- ال Model: يتعامل مع قاعدة البيانات
- ال View: يتعامل مع واجهة المستخدم
- ال Controller: يحتوي على المنطق والتحكم في تدفق البيانات.
وفي النهاية، تصل إليك ال response التي تراها على مستوى ال UIs.
#Backend #software #softwaredevelopment #softwareengineering
قبل أن تصل البيانات إلى ال Layer 7، وهي ال presentation layer التي تظهر الصفحة للمستخدم، تحدث الكثير من العمليات داخل النظام. يمكنك التعمّق في فهم هذا أكثر بالاطّلاع على ال OSI Model إذا أردت.
بشكل مبسّط، عندما تكتب رابطًا في المتصفح أو تضغط على زر يُرسل طلبًا مثل GET أو POST. يتم توجيه هذا الطلب إلى route معين.
- طلب GET عادة يُستخدم لجلب البيانات،
- وPOST لإرسال أو حفظ بيانات (مثل إرسال نموذج)،
- وPUT لتحديث بيانات موجودة،
- وDELETE لحذف بيانات معينة.
غالبًا ما يتعامل هذا ال route مع كود من ال back-end وغالبًا يكون هذا الكود داخل كلاس Controller، وهو الجزء المسؤول عن تنفيذ ال Logic المطلوب. ال Controller بدوره يتواصل مع Model، الذي يتعامل مع قاعدة البيانات، ثم يرسل النتيجة إلى ال View المسؤولة عن عرض البيانات للمستخدم.
وهذا ما يُعرف عمومًا و اختصارا باسم نمط MVC Architecture:
- ال Model: يتعامل مع قاعدة البيانات
- ال View: يتعامل مع واجهة المستخدم
- ال Controller: يحتوي على المنطق والتحكم في تدفق البيانات.
وفي النهاية، تصل إليك ال response التي تراها على مستوى ال UIs.
#Backend #software #softwaredevelopment #softwareengineering
❤4
بث مباشر تجريبي بعد قليل لمدة قصيرة حول "مسألة التعلم المستمر في البرمجة، سؤال و جواب" لمن لديه اي تساؤل.
*يمكن كتابتة اسالتكم هنا، و ساجيبها عنها في بث مباشر.
يبدوا ان البث الاول لي في هده القناة لم يكن موفقا 😅
*يمكن كتابتة اسالتكم هنا، و ساجيبها عنها في بث مباشر.
يبدوا ان البث الاول لي في هده القناة لم يكن موفقا 😅
❤3