الـ Eager Loading في أي ORM (Object-Relational Mapping) هو أسلوب لتحسين الأداء عند جلب البيانات المرتبطة (relations) من قواعد البيانات. يُستخدم لتقليل عدد ال queries التي تُنفذ، ويمنع مشكلة الـ N+1 queries.
غالبًا ما يُستخدم Eager Loading لاسترجاع بيانات من جدول رئيسي مع العلاقات المرتبطة به، والتي قد تكون مثلاً من خلال جداول Pivots في العلاقات من نوع many-to-many.
مثال:
بدلًا من تنفيذ query مثل:
يمكنك في Laravel استخدام Eager Loading بهذه الطريقة:
وإذا كنت تريد فقط جلب الـ Posts التي لها Categories تحقق شرطًا معينًا، يمكنك استخدام whereHas Clause:
- الـwith() تستخدم في Laravel للـ Eager Loading.
- الـwhereHas() تستخدم ل filter النتائج بناءً على شروط داخل العلاقة.
- الفكرة ليست اختصار Query معقدة فقط، بل تحسين الأداء وتجنب التكرار غير الضروري في الاستعلامات.. وجعلها readable
#Laravel #PHP #EagerLoading #SQL #ORM
غالبًا ما يُستخدم Eager Loading لاسترجاع بيانات من جدول رئيسي مع العلاقات المرتبطة به، والتي قد تكون مثلاً من خلال جداول Pivots في العلاقات من نوع many-to-many.
مثال:
بدلًا من تنفيذ query مثل:
FROM posts
INNER JOIN category_post ON posts.id = category_post.post_id
INNER JOIN categories ON categories.id = category_post.category_id
WHERE posts.status = 'published';
يمكنك في Laravel استخدام Eager Loading بهذه الطريقة:
Post::with('categories')->where('status', 'published')->get();
وإذا كنت تريد فقط جلب الـ Posts التي لها Categories تحقق شرطًا معينًا، يمكنك استخدام whereHas Clause:
$query->where('name', 'like', '%PHP%');
})->with('categories')->get();
- الـwith() تستخدم في Laravel للـ Eager Loading.
- الـwhereHas() تستخدم ل filter النتائج بناءً على شروط داخل العلاقة.
- الفكرة ليست اختصار Query معقدة فقط، بل تحسين الأداء وتجنب التكرار غير الضروري في الاستعلامات.. وجعلها readable
#Laravel #PHP #EagerLoading #SQL #ORM
ال sql fundamentals ضرورية، لكتابة QUERIES صحيحة و Optimized لكن لدي مؤاخدة بسيطة على كثير من الناس التي تقول ان كتابة CRUD مع ال ORM سهلة جدا..، كتابة ال crud operations ليست سهلة في المشاريع المعقدة.. التي تحتاج inputs validations كثيرة، و updates ضخمة، و requests كثيرة،.. الامر ليس بالسهولة التي يتم تصويرها.
خصوصا لو اردت كتابة كود نقي، و يتبع مبادئ ال solid و ال dry.. انذاك تصبح عملية كتابة الكود صعيبة في البداية، لكن التعامل معه و تعديله مستقبلا يصير سهل.
و الله اعلى و اعلم.
#Laravel #ORM #SQL
خصوصا لو اردت كتابة كود نقي، و يتبع مبادئ ال solid و ال dry.. انذاك تصبح عملية كتابة الكود صعيبة في البداية، لكن التعامل معه و تعديله مستقبلا يصير سهل.
و الله اعلى و اعلم.
#Laravel #ORM #SQL
❤2
تذكر..
لستَ تأخذ مكان أحد، ولا أحد آخذ مكانك.. كلٌّ يسبح في فلكه.
الأمر كلّه لله.. لا هو بعلمنا و لا تعلمنا، ولا هو بالتفوّق، ولا بالذكاء، ولا بأيّ شيء آخر.
استعن بالله ولا تعجز، وحاول أن تزكّي نفسك، وأن تكون مسلمًا أفضل.. وهذا يشمل أيضًا مجال تخصّصنا - هندسة البرمجيات - في حالتنا.
- اكتب ولو سطر كود واحد يوميًا؛ ففي نهاية العام سيكون لديك 365 سطرًا، أي مئات الأخطاء، وساعات من التصحيح، وكثير من التعلُّم في الطريق..
- اضبط أساسياتك قدر الإمكان، وكن على يقين بأنك لن تضبط كلّ شيء.
- حاول أن تُقدِّم أقصى ما لديك في كلّ ما تقوم به "هات آخرك"، كما يقول إخوتنا المصريون.
- لا تغش، و اتق الله في مكانك، فإن لم تحسن، فلا تسيء.
- تجرد قليلًا من التفكير المادّي، ومن أوهام مثل "الذكاء الاصطناعي سيأخذ مكاني"... رزقك في السماء، لا في الأرض، ولا بيد المدير أو الشركة..
الأمر كلّه لله.
- خُذ بالأسباب الدينية قبل الدنيوية، ولا تجلد نفسك كثيرًا، فنحن جميعًا أصحاب ذنوب وتقصير، ولولا ستر الله ما خرجنا من بيوتنا،، فاجتهد قدر استطاعتك في تزكية نفسك دينًا ودنيا.
وهذه أحاديث و آيات أُذَكِّر بها نفسي دائمًا في لحظات الفتور، وأسأل الله أن يجعلني سببًا في تذكير غيري.
قال تعالى: "قُلْ إِنَّ صَلَاتِي وَنُسُكِي وَمَحْيَايَ وَمَمَاتِي لِلَّهِ رَبِّ الْعَالَمِينَ".
قال تعالي: "مَنْ عَمِلَ صَالِحًا مِّن ذَكَرٍ أَوْ أُنثَىٰ وَهُوَ مُؤْمِنٌ فَلَنُحْيِيَنَّهُ حَيَاةً طَيِّبَةً ۖ وَلَنَجْزِيَنَّهُمْ أَجْرَهُم بِأَحْسَنِ مَا كَانُوا يَعْمَلُونَ".
وقال عز وجل: "اعْلَمُوا أَنَّمَا الْحَيَاةُ الدُّنْيَا لَعِبٌ وَلَهْوٌ وَزِينَةٌ وَتَفَاخُرٌ بَيْنَكُمْ وَتَكَاثُرٌ فِي الْأَمْوَالِ وَالْأَوْلَادِ ۖ كَمَثَلِ غَيْثٍ أَعْجَبَ الْكُفَّارَ نَبَاتُهُ ثُمَّ يَهِيجُ فَتَرَاهُ مُصْفَرًّا ثُمَّ يَكُونُ حُطَامًا ۖ وَفِي الْآخِرَةِ عَذَابٌ شَدِيدٌ وَمَغْفِرَةٌ مِّنَ اللَّهِ وَرِضْوَانٌ ۚ وَمَا الْحَيَاةُ الدُّنْيَا إِلَّا مَتَاعُ الْغُرُورِ"
يقول النبيُّ ﷺ في الحديث الصحيح: المؤمن القوي خيرٌ وأحبُّ إلى الله من المؤمن الضَّعيف، وفي كلٍّ خيرٌ، ثم يقول ﷺ: احرص على ما ينفعُك، واستعنْ بالله، ولا تعجز، وإن أصابَك شيءٌ فلا تقل: لو أني فعلتُ لكان كذا وكذا، ولكن قل: قدر الله، وما شاء فعل؛ فإنَّ لو تفتح عمل الشيطان.
وقال صل الله عليه وسلم: "من كانتِ الآخرةُ هَمَّهُ جعلَ اللَّهُ غناهُ في قلبِهِ وجمعَ لَه شملَهُ وأتتهُ الدُّنيا وَهيَ راغمةٌ، ومن كانتِ الدُّنيا همَّهُ جعلَ اللَّهُ فقرَهُ بينَ عينيهِ وفرَّقَ عليهِ شملَهُ، ولم يأتِهِ منَ الدُّنيا إلّا ما قُدِّرَ لَهُ"
لستَ تأخذ مكان أحد، ولا أحد آخذ مكانك.. كلٌّ يسبح في فلكه.
الأمر كلّه لله.. لا هو بعلمنا و لا تعلمنا، ولا هو بالتفوّق، ولا بالذكاء، ولا بأيّ شيء آخر.
استعن بالله ولا تعجز، وحاول أن تزكّي نفسك، وأن تكون مسلمًا أفضل.. وهذا يشمل أيضًا مجال تخصّصنا - هندسة البرمجيات - في حالتنا.
- اكتب ولو سطر كود واحد يوميًا؛ ففي نهاية العام سيكون لديك 365 سطرًا، أي مئات الأخطاء، وساعات من التصحيح، وكثير من التعلُّم في الطريق..
- اضبط أساسياتك قدر الإمكان، وكن على يقين بأنك لن تضبط كلّ شيء.
- حاول أن تُقدِّم أقصى ما لديك في كلّ ما تقوم به "هات آخرك"، كما يقول إخوتنا المصريون.
- لا تغش، و اتق الله في مكانك، فإن لم تحسن، فلا تسيء.
- تجرد قليلًا من التفكير المادّي، ومن أوهام مثل "الذكاء الاصطناعي سيأخذ مكاني"... رزقك في السماء، لا في الأرض، ولا بيد المدير أو الشركة..
الأمر كلّه لله.
- خُذ بالأسباب الدينية قبل الدنيوية، ولا تجلد نفسك كثيرًا، فنحن جميعًا أصحاب ذنوب وتقصير، ولولا ستر الله ما خرجنا من بيوتنا،، فاجتهد قدر استطاعتك في تزكية نفسك دينًا ودنيا.
وهذه أحاديث و آيات أُذَكِّر بها نفسي دائمًا في لحظات الفتور، وأسأل الله أن يجعلني سببًا في تذكير غيري.
قال تعالى: "قُلْ إِنَّ صَلَاتِي وَنُسُكِي وَمَحْيَايَ وَمَمَاتِي لِلَّهِ رَبِّ الْعَالَمِينَ".
قال تعالي: "مَنْ عَمِلَ صَالِحًا مِّن ذَكَرٍ أَوْ أُنثَىٰ وَهُوَ مُؤْمِنٌ فَلَنُحْيِيَنَّهُ حَيَاةً طَيِّبَةً ۖ وَلَنَجْزِيَنَّهُمْ أَجْرَهُم بِأَحْسَنِ مَا كَانُوا يَعْمَلُونَ".
وقال عز وجل: "اعْلَمُوا أَنَّمَا الْحَيَاةُ الدُّنْيَا لَعِبٌ وَلَهْوٌ وَزِينَةٌ وَتَفَاخُرٌ بَيْنَكُمْ وَتَكَاثُرٌ فِي الْأَمْوَالِ وَالْأَوْلَادِ ۖ كَمَثَلِ غَيْثٍ أَعْجَبَ الْكُفَّارَ نَبَاتُهُ ثُمَّ يَهِيجُ فَتَرَاهُ مُصْفَرًّا ثُمَّ يَكُونُ حُطَامًا ۖ وَفِي الْآخِرَةِ عَذَابٌ شَدِيدٌ وَمَغْفِرَةٌ مِّنَ اللَّهِ وَرِضْوَانٌ ۚ وَمَا الْحَيَاةُ الدُّنْيَا إِلَّا مَتَاعُ الْغُرُورِ"
يقول النبيُّ ﷺ في الحديث الصحيح: المؤمن القوي خيرٌ وأحبُّ إلى الله من المؤمن الضَّعيف، وفي كلٍّ خيرٌ، ثم يقول ﷺ: احرص على ما ينفعُك، واستعنْ بالله، ولا تعجز، وإن أصابَك شيءٌ فلا تقل: لو أني فعلتُ لكان كذا وكذا، ولكن قل: قدر الله، وما شاء فعل؛ فإنَّ لو تفتح عمل الشيطان.
وقال صل الله عليه وسلم: "من كانتِ الآخرةُ هَمَّهُ جعلَ اللَّهُ غناهُ في قلبِهِ وجمعَ لَه شملَهُ وأتتهُ الدُّنيا وَهيَ راغمةٌ، ومن كانتِ الدُّنيا همَّهُ جعلَ اللَّهُ فقرَهُ بينَ عينيهِ وفرَّقَ عليهِ شملَهُ، ولم يأتِهِ منَ الدُّنيا إلّا ما قُدِّرَ لَهُ"
❤3
عمل أتمتة لل conflicts resolving الأمر صعب على حد علمي، ال automation في هذه الحالة ستكون خطيرة و غير امنة، خصوص لو تعمل كل هذا و تعمل push لل production افضل شيء هو حل ال conflicts locally رغم انه متعب.
او عمل pair session مع الشخص الذي قام بتغير ملف انت ايضا قمت بتغيره،، لتجدو النسخة الافضل من الكود الي غيرتموه.
و الله اعلى و اعلم.
#git #versionsControl
او عمل pair session مع الشخص الذي قام بتغير ملف انت ايضا قمت بتغيره،، لتجدو النسخة الافضل من الكود الي غيرتموه.
و الله اعلى و اعلم.
#git #versionsControl
كلام جميل.. اسقطه على هندسة البرمجيات، و مسألة التعلم المستمر،، ولو ربع ساعة يوميا.. كما اقول دائما..
👇👇
👇👇
❤3
Forwarded from وسام الحداد - رشاد الأعمال
نصيحة ياشباب اهتموووووا بالمهارات
جل تركيز الشباب والأهالي اليوم على الجانب الأكاديمي بينما هناك اهمال كبير للجانب المهاري
فكثير من الناس يعتقد أن النجاح في العمل يعتمد على الذكاء أو الحظ أو العلاقات أو حتى الشهادة الأكاديمية والمعدّل العالي كما نرى كل عام عند إعلان نتائج التوجيهي … لكن الدراسات تقول إن العامل الحاسم غالبًا هو المهارات الشخصية التي تبنيها وتستثمر فيها كل يوم.
وفيما يلي مجموعة من المهارات التي أنصحك بتطويرها بشكل مستمر :
1- الانضباط الذاتي، على سبيل المثال، وُجد في دراسة لـ American Psychological Association أنه أقوى في التنبؤ بالأداء من معدل الذكاء نفسه في بيئة العمل، هذا يعني أنك تحافظ على مواعيدك وتنجز مهامك حتى عندما لا يراقبك أحد… تمامًا كما نحافظ على أوقات الصلاة بدقة، ليس لأن هناك من يذكّرنا، بل لأننا نعرف قيمتها.
فالمسلم بطبيعته منضبط بصلواته وعباداته وحتى في معاملاته.
2- التعلم المستمر. تقرير المنتدى الاقتصادي العالمي (World Economic Forum) يؤكد أن نصف المهارات المطلوبة اليوم ستتغير خلال خمس سنوات فقط. القادة الناجحون لا ينتظرون الدورات الرسمية، بل يخصصون وقتًا يوميًا لاكتساب معرفة جديدة، ولو 15 دقيقة. وهي نفس الروح التي بدأ بها الوحي بكلمة "اقرأ"… إشارة أن رحلة النجاح تبدأ بالمعرفة وتنمو بها.
3- لا يمكن تجاهل أهمية التواصل الفعال.ففي دراسة في Harvard Business Review أوضحت أن القادة الذين يتقنون الاستماع النشط تزيد معدلات رضا فرقهم بـ 47%. هذا يعني أنك حين تستمع لزميلك أو عميلك باهتمام، فأنت لا تنقل المعلومات فقط، بل تبني الثقة. تذكر قول النبي ﷺ: قال رسول الله ﷺ: "المؤمن يألف ويؤلف، ولا خير فيمن لا يألف ولا يؤلف".… مهارة التواصل تبدأ من قلب رحيم ولسان صادق.
4- إنارة الوقت، كما أحب أن أسميها وهي مهارة لا ينجو من دونها أحد في عالم العمل السريع. نموذج Eisenhower Matrix الشهير يعلّمنا أن نفرّق بين المهم والعاجل. وفي ثقافتنا، نجد التحذير النبوي من ضياع "نعمتان مغبون فيهما كثير من الناس: الصحة والفراغ"، وكأن الحديث يذكّرنا أن وقتنا رأس مالنا الحقيقي، وعلى كل ساع للفلاح أن يتعلم مهارة الحضور التي ستشكل فارقًا كبيرًا في حياته الشخصية والمهنية.
5- أخيرا، المرونة والتكيف. تقرير McKinsey يثبت أن الفرق المرنة تحقق أداءً أعلى بنسبة 25% في الأزمات. هذه المهارة هي أن ترى في كل تغيير فرصة، وفي كل صعوبة بابًا جديدًا. كما وعدنا الله تعالى: "فإن مع العسر يسرا" بل مع كل عسر يسرين، فعليك أن تدرك أن التكيف أحيانًا ضرورة و ليس تنازلًا، بل خطوة نحو الفرج.
✨ الخلاصة: النجاح المهني رحلة، والمهارات الشخصية هي المركب الذي سيأخذك بعيدًا. استثمر في نفسك اليوم، ففي المستقبل الفرص تكون لمن يزكي نفسه ويطوّر من مهاراته باستمرار.
#رشاد_الأعمال #تطوير_مهني
جل تركيز الشباب والأهالي اليوم على الجانب الأكاديمي بينما هناك اهمال كبير للجانب المهاري
فكثير من الناس يعتقد أن النجاح في العمل يعتمد على الذكاء أو الحظ أو العلاقات أو حتى الشهادة الأكاديمية والمعدّل العالي كما نرى كل عام عند إعلان نتائج التوجيهي … لكن الدراسات تقول إن العامل الحاسم غالبًا هو المهارات الشخصية التي تبنيها وتستثمر فيها كل يوم.
وفيما يلي مجموعة من المهارات التي أنصحك بتطويرها بشكل مستمر :
1- الانضباط الذاتي، على سبيل المثال، وُجد في دراسة لـ American Psychological Association أنه أقوى في التنبؤ بالأداء من معدل الذكاء نفسه في بيئة العمل، هذا يعني أنك تحافظ على مواعيدك وتنجز مهامك حتى عندما لا يراقبك أحد… تمامًا كما نحافظ على أوقات الصلاة بدقة، ليس لأن هناك من يذكّرنا، بل لأننا نعرف قيمتها.
فالمسلم بطبيعته منضبط بصلواته وعباداته وحتى في معاملاته.
2- التعلم المستمر. تقرير المنتدى الاقتصادي العالمي (World Economic Forum) يؤكد أن نصف المهارات المطلوبة اليوم ستتغير خلال خمس سنوات فقط. القادة الناجحون لا ينتظرون الدورات الرسمية، بل يخصصون وقتًا يوميًا لاكتساب معرفة جديدة، ولو 15 دقيقة. وهي نفس الروح التي بدأ بها الوحي بكلمة "اقرأ"… إشارة أن رحلة النجاح تبدأ بالمعرفة وتنمو بها.
3- لا يمكن تجاهل أهمية التواصل الفعال.ففي دراسة في Harvard Business Review أوضحت أن القادة الذين يتقنون الاستماع النشط تزيد معدلات رضا فرقهم بـ 47%. هذا يعني أنك حين تستمع لزميلك أو عميلك باهتمام، فأنت لا تنقل المعلومات فقط، بل تبني الثقة. تذكر قول النبي ﷺ: قال رسول الله ﷺ: "المؤمن يألف ويؤلف، ولا خير فيمن لا يألف ولا يؤلف".… مهارة التواصل تبدأ من قلب رحيم ولسان صادق.
4- إنارة الوقت، كما أحب أن أسميها وهي مهارة لا ينجو من دونها أحد في عالم العمل السريع. نموذج Eisenhower Matrix الشهير يعلّمنا أن نفرّق بين المهم والعاجل. وفي ثقافتنا، نجد التحذير النبوي من ضياع "نعمتان مغبون فيهما كثير من الناس: الصحة والفراغ"، وكأن الحديث يذكّرنا أن وقتنا رأس مالنا الحقيقي، وعلى كل ساع للفلاح أن يتعلم مهارة الحضور التي ستشكل فارقًا كبيرًا في حياته الشخصية والمهنية.
5- أخيرا، المرونة والتكيف. تقرير McKinsey يثبت أن الفرق المرنة تحقق أداءً أعلى بنسبة 25% في الأزمات. هذه المهارة هي أن ترى في كل تغيير فرصة، وفي كل صعوبة بابًا جديدًا. كما وعدنا الله تعالى: "فإن مع العسر يسرا" بل مع كل عسر يسرين، فعليك أن تدرك أن التكيف أحيانًا ضرورة و ليس تنازلًا، بل خطوة نحو الفرج.
✨ الخلاصة: النجاح المهني رحلة، والمهارات الشخصية هي المركب الذي سيأخذك بعيدًا. استثمر في نفسك اليوم، ففي المستقبل الفرص تكون لمن يزكي نفسه ويطوّر من مهاراته باستمرار.
#رشاد_الأعمال #تطوير_مهني
❤5
15 دقيقة coding في اليوم تجعلك مبرمجا افضل على المدى البعيد.
المجال مرهق، فخده بمدأ "قليل دائم"،، والا ستحرق نفسك في كثير من المرات.
المجال مرهق، فخده بمدأ "قليل دائم"،، والا ستحرق نفسك في كثير من المرات.
❤5
📢 مبادرة "رِباط التقنية" تعاون بين القنوات التقنية العربية 🔗
حرصًا على دعم المحتوى العربي في مجالات التقنية، نعلن عن تعاون مشترك بين مجموعة من القنوات العربية التقنية على تيليغرام، بهدف تبادل المعرفة، ونشر الفائدة، وتعزيز وصول المحتوى الجاد والمفيد لكل المهتمين بالتقنية.
وقد جُمعت هذه القنوات في قائمة واحدة، تيسيرًا للمتابعة ودعمًا للجهود المستقلّة في نشر العلم والمعرفة:
📄 رابط قائمة القنوات المشاركة:
https://t.me/addlist/Gg-LFze5N89mMTJk
نؤمن أن التعاون خير سبيل للرقيّ، وأنّ دعمكم هو أساس استمرار هذه المبادرات.
تابع، وانشر، وكن جزءًا من هذا الحراك التقني العربي.
🔹للانضمام إلى المبادرة، يُرجى التواصل:
👉 @alzaanad
#رباط_التقنية
#قنوات_تقنية_عربية
حرصًا على دعم المحتوى العربي في مجالات التقنية، نعلن عن تعاون مشترك بين مجموعة من القنوات العربية التقنية على تيليغرام، بهدف تبادل المعرفة، ونشر الفائدة، وتعزيز وصول المحتوى الجاد والمفيد لكل المهتمين بالتقنية.
وقد جُمعت هذه القنوات في قائمة واحدة، تيسيرًا للمتابعة ودعمًا للجهود المستقلّة في نشر العلم والمعرفة:
📄 رابط قائمة القنوات المشاركة:
https://t.me/addlist/Gg-LFze5N89mMTJk
نؤمن أن التعاون خير سبيل للرقيّ، وأنّ دعمكم هو أساس استمرار هذه المبادرات.
تابع، وانشر، وكن جزءًا من هذا الحراك التقني العربي.
🔹للانضمام إلى المبادرة، يُرجى التواصل:
👉 @alzaanad
#رباط_التقنية
#قنوات_تقنية_عربية
Telegram
رباط التقنية
أسسس invites you to add the folder “رباط التقنية”, which includes 10 chats.
سؤال لكل من يتفضل علي بقراءة ما اكتب؛
هل ما انشره هنا - لاني لا انشر كل نا انشره هنا على لينكدان ايضا - يستحق الظهور على لينكد إن بنفس قوة الظهور هنا على تيليگرام؟
السؤال لهدف ظبط ما انشر من نواحي عديدة خصوصا في جانب المسار المهني على لينكد ان و لأهداف اخرى في نفسي.. اما دوافع النشر بدايةً و كذا فهي ثابثة غير متغيرة بإذن الله.
هل ما انشره هنا - لاني لا انشر كل نا انشره هنا على لينكدان ايضا - يستحق الظهور على لينكد إن بنفس قوة الظهور هنا على تيليگرام؟
السؤال لهدف ظبط ما انشر من نواحي عديدة خصوصا في جانب المسار المهني على لينكد ان و لأهداف اخرى في نفسي.. اما دوافع النشر بدايةً و كذا فهي ثابثة غير متغيرة بإذن الله.
إعتدت ان اكتب تعليقات مطولة بفقرات في مسالة اختيارات برمجية قمت بها لشرح السياق الذي تم اخد الاختيار بناءا عليه؛
ل:
-كتابة كود غير ناضج،
-كود سريع،
-كود لا يحترم مبادئ ال SOLID و ال DRY
... و هكذا.
امنح الحق لنفسي لشرح المسالة للمبرمج الذي باتي من بعدي للعمل على الكود الذي انتجته.
لا اعلم. اذ كانت مسالة. طيبة ام لا، و الله ولي التوفيق.
ل:
-كتابة كود غير ناضج،
-كود سريع،
-كود لا يحترم مبادئ ال SOLID و ال DRY
... و هكذا.
امنح الحق لنفسي لشرح المسالة للمبرمج الذي باتي من بعدي للعمل على الكود الذي انتجته.
لا اعلم. اذ كانت مسالة. طيبة ام لا، و الله ولي التوفيق.
استخدام الذكاء الاصطناعي في عملك كمبرمج أو كمهندس برمجيات أصبح ضرورة. من لا يستخدمه يفقد الكثير،، لكن استخدمه بذكاء؛ لا حرج في الاستفادة منه، ولكن يجب أن يكون لديك فهم للتغييرات التي يقترحها، وفهم للسياق العام وسير العمل، لأنك أنت من يملك المعرفة الحقيقية بسياق المشروع والتغييرات المطلوبة فيه.
ومن خلال استخدامي له منذ قرابة العام اليك بعض النصائح من منظور شخصي نفعتني و لازلت سائرا على الكثير منها، لعلها تنفعك:
- حاول أن تراجع التغييرات المقترحة، وعدّل عليها حسب حاجتك.. قم بإجراء اختبارات وظيفية (Functional Testing) بعد كل تغيير ساعدك فيه الذكاء الاصطناعي.
- اجعل تغييراتك صغيرة حتى تستطيع السيطرة عليها ومراجعتها بسهولة.
- "مرة أخرى" استخدم الذكاء الاصطناعي، فلا مفر منه؛ حتى أصحاب الأعمال أصبحوا يشجعون المطورين على استخدامه، و هذا هو الطبيعي حسب ما اعتقد.
- أعلم بأننا في بعض الأحيان لا نراجع الكود المكتوب، بل نكتفي بالاختبار.. إذا كان ال input صحيحًا وال output صحيحًا، نقوم بدفع الكود.. كلنا نفعل ذلك،، لكن درّب نفسك على التقليل من هذه العادة، فهي غير صحية.
- خصص جلسات عمل بدون استخدام الذكاء الاصطناعي، واعتمد على البحث، والوثائق الرسمية للغات البرمجة و الفرييمووركس، ومواقع مثل Stack Overflow، والطرق التقليدية في إنجاز المهام (سواء في مشاريعك الجانبية أو في عملك)،، لكي لا تفقد مهارة التفكير المنطقي و حل المشكلات.
- تعلّم تقنيات جديدة، واقرأ كتبًا وشروحات بمساعدة الذكاء الاصطناعي.
- تعلّم الأساسيات جيدًا، أو قم بالعودة لظبطها.
ونسأل الله لنا ولكم التوفيق.
#ai #programming #contuniuelearning #softwaredevelopment
ومن خلال استخدامي له منذ قرابة العام اليك بعض النصائح من منظور شخصي نفعتني و لازلت سائرا على الكثير منها، لعلها تنفعك:
- حاول أن تراجع التغييرات المقترحة، وعدّل عليها حسب حاجتك.. قم بإجراء اختبارات وظيفية (Functional Testing) بعد كل تغيير ساعدك فيه الذكاء الاصطناعي.
- اجعل تغييراتك صغيرة حتى تستطيع السيطرة عليها ومراجعتها بسهولة.
- "مرة أخرى" استخدم الذكاء الاصطناعي، فلا مفر منه؛ حتى أصحاب الأعمال أصبحوا يشجعون المطورين على استخدامه، و هذا هو الطبيعي حسب ما اعتقد.
- أعلم بأننا في بعض الأحيان لا نراجع الكود المكتوب، بل نكتفي بالاختبار.. إذا كان ال input صحيحًا وال output صحيحًا، نقوم بدفع الكود.. كلنا نفعل ذلك،، لكن درّب نفسك على التقليل من هذه العادة، فهي غير صحية.
- خصص جلسات عمل بدون استخدام الذكاء الاصطناعي، واعتمد على البحث، والوثائق الرسمية للغات البرمجة و الفرييمووركس، ومواقع مثل Stack Overflow، والطرق التقليدية في إنجاز المهام (سواء في مشاريعك الجانبية أو في عملك)،، لكي لا تفقد مهارة التفكير المنطقي و حل المشكلات.
- تعلّم تقنيات جديدة، واقرأ كتبًا وشروحات بمساعدة الذكاء الاصطناعي.
- تعلّم الأساسيات جيدًا، أو قم بالعودة لظبطها.
ونسأل الله لنا ولكم التوفيق.
#ai #programming #contuniuelearning #softwaredevelopment
👍4❤1
لقد استخدمت beforeEach() في طريقي لاكتشاف PestPHP في بعض مشاريع التعلم، وهو مفيد حقًا،، خصوصا عندما تحتاج إلى تكوين مخصص لبعض الاختبارات (custom configuration).
Docs: https://pestphp.com/docs/pest-spicy-summer-release#content-describe-blocks
#testing #PHP
Docs: https://pestphp.com/docs/pest-spicy-summer-release#content-describe-blocks
#testing #PHP
Forwarded from محمود نصر الدين 🇵🇸
ما لا يسع اللي شغال ريموتلي جهله 😁:
١. لو بتحس انك lifeless ومش بتعمل شئ في يومك غير الشغل، فده جزء كبير منه بسبب روتين يومك، لو يومك مش بيبدأ الفجر هتفضل تحس بالشعور ده غالبًا فتح كلام.
٢. اعمل الجيم بتاعك في البيت وطبعًا مش مقصود الأجهزة نفسها .. المقصود اعمل حتى workouts من البيت، ولو تقدر تجيب عجلة تنزل بيها بعد الشروق نص ساعة وفيها تستغلها في اذكارك هيبقا رائع.
٣. اعمل تحاليل بشكل دوري عشان تعرف لو عندك نقص في فيتامينات معينة، واللي تلاقي عندك فيه نقص ظبطه مش لازم يبقا نقص حاد يسببلك مشكلة كبيرة عشان تبدأ تعالج الأمر.
٤. اشتري مرتبة ومخدة كويسة سريعًا لازم يكونوا من الأولويات.
٥. دَوَّر على حد متخصص في عمل الحِجامة واعمل حجامة بشكل دوري.
٦. لو بتحب تقرأ اشتري kindle ان استطعت واستغنى عن الموبايل قبل النوم بساعتين تلاتة.
٧. تابع نومك بأي شئ في مقدرتك تجيبه ولكن شوف بتنام ازاي وبتصحى عامل ازاي ولو بتلاقي جسمك مشدود وانت نايم او بتجز على سنانك روح اكشف.
٨. متصحاش على ميعاد الشغل ابدًا وخلي فيه مسافة ما بين صحيانك والشغل بعمل أشياء في النص ليك انت.
٩. متسترخصش في المكتب والكرسي اللي بتشتغل عليهم، ولو قدرت تجيب stand سواء للـ laptop او شاشة وتضعهم في مكان مناسب لعينك ورقبتك يا ريت، ولو قدرت تجيب مَشَّد للضهر تلبسه وقت الشغل تبقا جدع، وعمومًا لازم تفصل مكان العمل عن مكان اللي بتنام فيه.. لو اختلط الأمرين هتعاني معاناة كبيرة مع ادمان العمل والانغماس فيما لا يطيقه جسمك ولا عقلك.
١٠. متسترخصش في الحذاء اللي بتلبسه، ومش لازم تعدد الألوان والأشكال هات لون أحادي والبسه على كل الهدوم اللي عندك بس فقراتك وضهرك محتاجين حذاء رياضي نضيف شوية وهيبقا غالي، وان لم تستطع فابحث عن نعل طبي.
١١. مش لازم تكون بتنزل كتير علشان تهتم بنظافتك، اعمل روتين يومي وروَّق على حالك، وجرَّب تستحمى بمياة ساقعة.
١٢. هات ازازة ٢ لتر ولا حاجة مياة جنبك واشرب كتير، ولو بتنسى حتى وهي جنبك اعمل تنبيه على الموبايل وفيه أبلكيشنز كتير بتقدملك ده.
١٣. انزل اقعد مع الناس، سيبك من الواتساب والتعاملات الرقمية، الناس اه مشغولة نوَّع معارفك مش لازم كلهم يكونوا CEOs.
١٤. متاكلش من برا، اهتم بأكلك شوية أو دور على حد بيعمل أكل صحي أو بيتي وجيب انتشروا جامد.
١٥. يومك لازم يتقسم اجزاء مينفعش يبقا جزئين نوم وشغل هتكتئب ولا هيخلي نومك كويس ولا شغلك كويس، التقسيم والروتين مرهق في البداية ولكنه اسهل بعدين، يومك ممكن يتقسم اكتر من ذلك بكتير ولكن بنظام، متقعدش تاكل وانت بتشتغل ولا تشرب وانت بتشتغل ولا تأجل أكلك لبعد الشغل خالص اخر اليوم، ولا تنام متأخر خالص، يومك ممكن تنام فيه وتصحى تعبد ربنا وتقول اذكارك وتقرأ وتاكل وتشتغل وتشوف اهلك وبعض الأصدقاء من حين لآخر وتقدر تذاكر كمان في يومك.. شوف وقتك بيضيع في ايه بجد وبيؤثر سلبًا على ايه بعده وفعلًا اتصرف وحِل.
١٦. الروتين الصحي لا يُصنع بعقل وارادة ضعيفة.. مفيش يوم استثنائي.. مفيش معلش انهاردة عشان.. فيه ادراك انه ده بيؤثر أو سيؤثر في كذا فهعمله أو مش هعمله.
١٧. البداية في روتين بسيط تمامًا وليس في مخططات كبيرة وطويلة، فلا تترك يومك بدون روتين متنوع.
المنشور على لينكدان
١. لو بتحس انك lifeless ومش بتعمل شئ في يومك غير الشغل، فده جزء كبير منه بسبب روتين يومك، لو يومك مش بيبدأ الفجر هتفضل تحس بالشعور ده غالبًا فتح كلام.
٢. اعمل الجيم بتاعك في البيت وطبعًا مش مقصود الأجهزة نفسها .. المقصود اعمل حتى workouts من البيت، ولو تقدر تجيب عجلة تنزل بيها بعد الشروق نص ساعة وفيها تستغلها في اذكارك هيبقا رائع.
٣. اعمل تحاليل بشكل دوري عشان تعرف لو عندك نقص في فيتامينات معينة، واللي تلاقي عندك فيه نقص ظبطه مش لازم يبقا نقص حاد يسببلك مشكلة كبيرة عشان تبدأ تعالج الأمر.
٤. اشتري مرتبة ومخدة كويسة سريعًا لازم يكونوا من الأولويات.
٥. دَوَّر على حد متخصص في عمل الحِجامة واعمل حجامة بشكل دوري.
٦. لو بتحب تقرأ اشتري kindle ان استطعت واستغنى عن الموبايل قبل النوم بساعتين تلاتة.
٧. تابع نومك بأي شئ في مقدرتك تجيبه ولكن شوف بتنام ازاي وبتصحى عامل ازاي ولو بتلاقي جسمك مشدود وانت نايم او بتجز على سنانك روح اكشف.
٨. متصحاش على ميعاد الشغل ابدًا وخلي فيه مسافة ما بين صحيانك والشغل بعمل أشياء في النص ليك انت.
٩. متسترخصش في المكتب والكرسي اللي بتشتغل عليهم، ولو قدرت تجيب stand سواء للـ laptop او شاشة وتضعهم في مكان مناسب لعينك ورقبتك يا ريت، ولو قدرت تجيب مَشَّد للضهر تلبسه وقت الشغل تبقا جدع، وعمومًا لازم تفصل مكان العمل عن مكان اللي بتنام فيه.. لو اختلط الأمرين هتعاني معاناة كبيرة مع ادمان العمل والانغماس فيما لا يطيقه جسمك ولا عقلك.
١٠. متسترخصش في الحذاء اللي بتلبسه، ومش لازم تعدد الألوان والأشكال هات لون أحادي والبسه على كل الهدوم اللي عندك بس فقراتك وضهرك محتاجين حذاء رياضي نضيف شوية وهيبقا غالي، وان لم تستطع فابحث عن نعل طبي.
١١. مش لازم تكون بتنزل كتير علشان تهتم بنظافتك، اعمل روتين يومي وروَّق على حالك، وجرَّب تستحمى بمياة ساقعة.
١٢. هات ازازة ٢ لتر ولا حاجة مياة جنبك واشرب كتير، ولو بتنسى حتى وهي جنبك اعمل تنبيه على الموبايل وفيه أبلكيشنز كتير بتقدملك ده.
١٣. انزل اقعد مع الناس، سيبك من الواتساب والتعاملات الرقمية، الناس اه مشغولة نوَّع معارفك مش لازم كلهم يكونوا CEOs.
١٤. متاكلش من برا، اهتم بأكلك شوية أو دور على حد بيعمل أكل صحي أو بيتي وجيب انتشروا جامد.
١٥. يومك لازم يتقسم اجزاء مينفعش يبقا جزئين نوم وشغل هتكتئب ولا هيخلي نومك كويس ولا شغلك كويس، التقسيم والروتين مرهق في البداية ولكنه اسهل بعدين، يومك ممكن يتقسم اكتر من ذلك بكتير ولكن بنظام، متقعدش تاكل وانت بتشتغل ولا تشرب وانت بتشتغل ولا تأجل أكلك لبعد الشغل خالص اخر اليوم، ولا تنام متأخر خالص، يومك ممكن تنام فيه وتصحى تعبد ربنا وتقول اذكارك وتقرأ وتاكل وتشتغل وتشوف اهلك وبعض الأصدقاء من حين لآخر وتقدر تذاكر كمان في يومك.. شوف وقتك بيضيع في ايه بجد وبيؤثر سلبًا على ايه بعده وفعلًا اتصرف وحِل.
١٦. الروتين الصحي لا يُصنع بعقل وارادة ضعيفة.. مفيش يوم استثنائي.. مفيش معلش انهاردة عشان.. فيه ادراك انه ده بيؤثر أو سيؤثر في كذا فهعمله أو مش هعمله.
١٧. البداية في روتين بسيط تمامًا وليس في مخططات كبيرة وطويلة، فلا تترك يومك بدون روتين متنوع.
المنشور على لينكدان
Linkedin
ما لا يسع اللي شغال ريموتلي جهله 😁: | Ahmed Mamdouh | 69 comments
ما لا يسع اللي شغال ريموتلي جهله 😁:
١. لو بتحس انك lifeless ومش بتعمل شئ في يومك غير الشغل، فده جزء كبير منه بسبب روتين يومك، لو يومك مش بيبدأ الفجر هتفضل تحس بالشعور ده غالبًا فتح كلام.
٢. اعمل الجيم بتاعك في البيت وطبعًا مش مقصود الأجهزة نفسها .. المقصود…
١. لو بتحس انك lifeless ومش بتعمل شئ في يومك غير الشغل، فده جزء كبير منه بسبب روتين يومك، لو يومك مش بيبدأ الفجر هتفضل تحس بالشعور ده غالبًا فتح كلام.
٢. اعمل الجيم بتاعك في البيت وطبعًا مش مقصود الأجهزة نفسها .. المقصود…
❤6
Forwarded from خان المُبرمجين (علي فاضل)
لمن يبحث عن مستقلِّين لتنفيذ المشاريع في كافة المجالات، هذا الموقع يربطك بمستقلين من غزة:
https://taqat-gaza.com/ar
https://taqat-gaza.com/ar
Taqat-Gaza
Hire Freelancers in Gaza | TAQAT
طاقات مكرسة لتمكين الأفراد من خلال التكنولوجيا.
منشور لكل شركة او مطور يبنون منتجا عربيا مبنيا على PHP/Laravel
انا مستعد لتخصيص قليل من وقتي اسبوعيا بالمجان للمساعدة في اخراج المنتوج او ال MVP الخاص به، (بشرط أن لا يوثر هذا على عملي و على أمانتي اتجاه المؤسسة التي اعمل بها حاليا).
دوافعي لهذا:
- المساهمة في المشاريع العربية التقنية الجادة.
- تقوية مهاراتي عمووما في هندسة البرمجيات.
- التعلم المستمر
المرجوا مشاركة هذا المنشور لعله ينفعني و ينفع غيري.
#Laravel #PHP #opensource #non_profit
انا مستعد لتخصيص قليل من وقتي اسبوعيا بالمجان للمساعدة في اخراج المنتوج او ال MVP الخاص به، (بشرط أن لا يوثر هذا على عملي و على أمانتي اتجاه المؤسسة التي اعمل بها حاليا).
دوافعي لهذا:
- المساهمة في المشاريع العربية التقنية الجادة.
- تقوية مهاراتي عمووما في هندسة البرمجيات.
- التعلم المستمر
المرجوا مشاركة هذا المنشور لعله ينفعني و ينفع غيري.
#Laravel #PHP #opensource #non_profit
❤8
This media is not supported in your browser
VIEW IN TELEGRAM
اللهم إنا نعوذ بك من أن يكون وجودنا و غيابنا سواء.
❤3
كمطور برمجيات، ليس شرطًا أن تفهم كل القرارات المعمارية (Architectural Decisions) لتكون جيدًا في عملك،، هذه مغالطة يقع فيها الكثير؛ الاعتقاد أن الجودة مرتبطة بفهمك لكل قرار هندسي في المشروع.
في الواقع، أغلب الوقت يكون دورك هو تنفيذ المهام ضمن نطاق محدد (Scope)، بخطوات صغيرة تؤدي في النهاية إلى بناء مشروع كبير ومتكامل.
المهم هو فهمك للتطلبات ال Requirements:
فهمك للمتطلبات لا يعني بالضرورة فهم الأسباب وراء اختيار قاعدة بيانات معينة، أو تبني نمط معماري محدد (Microservices, Monolith, Event-driven.. ).
هذه قرارات تقع غالبًا على عاتق مهندسي البرمجيات المعماريين (Software Architects) أو كبار المهندسين (Senior Engineers).
لكن؛ معرفة خلفية هذه القرارات والدوافع وراءها تمنحك ميزة إضافية:
- تساعدك على رؤية الصورة الكبيرة.
- ترفع من قيمتك المهنية مقارنة بغيرك.
- تجعل المشروع الذي تعمل عليه ذو قيمة.
- تفتح لك الطريق تدريجيًا نحو أدوار أعلى مثل Tech Lead أو Software Architect.
خلاصةً؛ من الطبيعي ألا تفهم كل القرارات المعمارية في البداية، وهذا لا يعني أنك أقل قيمة. ركّز على تنفيذ مهامك بإتقان، ومع الوقت ستبني معرفة أعمق تمكنك من استيعاب هذه القرارات وربما اتخاذها بنفسك مستقبلًا.
في الواقع، أغلب الوقت يكون دورك هو تنفيذ المهام ضمن نطاق محدد (Scope)، بخطوات صغيرة تؤدي في النهاية إلى بناء مشروع كبير ومتكامل.
المهم هو فهمك للتطلبات ال Requirements:
فهمك للمتطلبات لا يعني بالضرورة فهم الأسباب وراء اختيار قاعدة بيانات معينة، أو تبني نمط معماري محدد (Microservices, Monolith, Event-driven.. ).
هذه قرارات تقع غالبًا على عاتق مهندسي البرمجيات المعماريين (Software Architects) أو كبار المهندسين (Senior Engineers).
لكن؛ معرفة خلفية هذه القرارات والدوافع وراءها تمنحك ميزة إضافية:
- تساعدك على رؤية الصورة الكبيرة.
- ترفع من قيمتك المهنية مقارنة بغيرك.
- تجعل المشروع الذي تعمل عليه ذو قيمة.
- تفتح لك الطريق تدريجيًا نحو أدوار أعلى مثل Tech Lead أو Software Architect.
خلاصةً؛ من الطبيعي ألا تفهم كل القرارات المعمارية في البداية، وهذا لا يعني أنك أقل قيمة. ركّز على تنفيذ مهامك بإتقان، ومع الوقت ستبني معرفة أعمق تمكنك من استيعاب هذه القرارات وربما اتخاذها بنفسك مستقبلًا.
❤7
Chain of Responsibility (CoR)
هذا الـ Design Pattern فعلاً يستخدم لتجنب التفرعات المعقدة بالـ if/else عبر تحويل منطق المعالجة إلى سلسلة من ال objects. كل واحد يقرر، إما يتعامل مع الـ request أو يمرره للكائن الذي بعده.
استخدامه يكون مفيد خصوصًا عندما:
- عندك شروط كثيرة ومعقدة (nested conditions).
- المعالجات قابلة للتوسعة (مثلاً إضافة نوع جديد من المعالجات بدون لمس الكود الموجود).
- تريد فصل المسؤوليات (Single Responsibility Principle).
بخلاف هذا لدينا ال early returns.
ففي كثير من الأحيان، كثير من الشروط يمكن تبسيطها وإزالة التعقيد عنها باستخدام ال Early Returns بدلا من التفرعات عميقة.
مثال بسيط:
الكود الثاني أوضح وأسهل صيانة بدون الحاجة لإدخال Pattern إضافي.
هذا الـ Design Pattern فعلاً يستخدم لتجنب التفرعات المعقدة بالـ if/else عبر تحويل منطق المعالجة إلى سلسلة من ال objects. كل واحد يقرر، إما يتعامل مع الـ request أو يمرره للكائن الذي بعده.
استخدامه يكون مفيد خصوصًا عندما:
- عندك شروط كثيرة ومعقدة (nested conditions).
- المعالجات قابلة للتوسعة (مثلاً إضافة نوع جديد من المعالجات بدون لمس الكود الموجود).
- تريد فصل المسؤوليات (Single Responsibility Principle).
بخلاف هذا لدينا ال early returns.
ففي كثير من الأحيان، كثير من الشروط يمكن تبسيطها وإزالة التعقيد عنها باستخدام ال Early Returns بدلا من التفرعات عميقة.
مثال بسيط:
if ($user) {
if ($user->isActive()) {
if ($user->hasPermission('edit')) {
// do action
}
}
}
// with early returns
if (!$user) return;
if (!$user->isActive()) return;
if (!$user->hasPermission('edit')) return;
// do action
الكود الثاني أوضح وأسهل صيانة بدون الحاجة لإدخال Pattern إضافي.
إذا كنتَ ذا قيمة في مؤسستك فقط عندما تسير الأمور على ما يرام (ماديا)، فأنتَ في المكان الخطأ منذ البداية.. اتخاذ القرارات بناءً على الربح الاقتصادي والمالي فقط ليس بالأمر الجيد (لعديد الاسباب تحتاج وقتا وجهدت لشرحها.. ربما لاحقا ان شاء الله)، على الأقل ليس بالنسبة لي..
هذا ليس كلامًا سينمائيًا أو بطوليا؛ إنه ما أؤمن به حقًا.. فما يحركني هو القيام بما أحب لأسباب وجيهة، لوجه الله عز وجل قدر وسعي، من أجلي، ومن أجل مؤسستي التي أعمل بها و أحترمها، ومن أجل من حولي.. هذه هي القيم التي تحركني حتى في مجتل البرمجيات، و أحاول أن أتمسك بها و ان لا انجر في عالم مادي قح.. رغم علمي أنه صعب.
و لكي لا أُفهم خطئا، الربح والمال مهمان ويجب أن يكونا جزءًا من المعادلة، ولكن لا ينبغي أن يكونا المحرك الرئيسي الذي يجعلنا نتحرك..
هذا ليس كلامًا سينمائيًا أو بطوليا؛ إنه ما أؤمن به حقًا.. فما يحركني هو القيام بما أحب لأسباب وجيهة، لوجه الله عز وجل قدر وسعي، من أجلي، ومن أجل مؤسستي التي أعمل بها و أحترمها، ومن أجل من حولي.. هذه هي القيم التي تحركني حتى في مجتل البرمجيات، و أحاول أن أتمسك بها و ان لا انجر في عالم مادي قح.. رغم علمي أنه صعب.
و لكي لا أُفهم خطئا، الربح والمال مهمان ويجب أن يكونا جزءًا من المعادلة، ولكن لا ينبغي أن يكونا المحرك الرئيسي الذي يجعلنا نتحرك..
❤2👍1