مرة أخرى؛ اكتب الـ Unit Tests، أو حتى استخدم ال AI لكتابتها،، ستحتاج في النهاية إلى جعل الاختبارات تمر بنجاح وتصحيح أخطاء الذكاء الاصطناعي لو وجدت.. ومن خلال هذه العملية ستربح الآتي:
- فهم أعمق لل function/class/behavior الذي تريد كتابته/كتابة test له في حالة عدم استخدامك لل TDD، وطريقة اختباره بشكل أفضل.
- اكتشاف الـ bugs مبكرًا قبل الوصول إلى ال production.
- تعلم التفكير في مختلف السيناريوهات المحتملة.
- اكتساب خبرة في ال testing داخل الـ framework أو لغة البرمجة التي تستخدمها.
- معرفة كيفية عمل mocking لل data وكيفية تنفيذ request/response داخل الاختبارات.
- تطوير مهاراتك في كتابة ال assertions.
وهكذا.. في الطريق ستجد أن مجرد كتابة الاختبارات هي عملية تعلمية متكاملة في الفهم، التفكير، والتطوير.
#testing #tdd #unittests
- فهم أعمق لل function/class/behavior الذي تريد كتابته/كتابة test له في حالة عدم استخدامك لل TDD، وطريقة اختباره بشكل أفضل.
- اكتشاف الـ bugs مبكرًا قبل الوصول إلى ال production.
- تعلم التفكير في مختلف السيناريوهات المحتملة.
- اكتساب خبرة في ال testing داخل الـ framework أو لغة البرمجة التي تستخدمها.
- معرفة كيفية عمل mocking لل data وكيفية تنفيذ request/response داخل الاختبارات.
- تطوير مهاراتك في كتابة ال assertions.
وهكذا.. في الطريق ستجد أن مجرد كتابة الاختبارات هي عملية تعلمية متكاملة في الفهم، التفكير، والتطوير.
#testing #tdd #unittests
❤9
الأهم ان تستخدم tools تحل المشكلة في وقت أسرع، لا أنت تستخدم ما يستهر في السوق..
مثلا jQuery لازال حلا ل 70 في المئة مشاكل الويب، لا تحتاج modular framework الا في حالات تطبيقات معقدة مبنية على components كثيرة و معقدة وتحتاج فيها للحصول على مبدأ ال Reusability، ومميزات اخرى كسهولة الحصول على SPA.. وهكذا.. و لا اظن ان كل المشاريع التي نعمل عليها تحتاج هذه الميزات..
مثلا jQuery لازال حلا ل 70 في المئة مشاكل الويب، لا تحتاج modular framework الا في حالات تطبيقات معقدة مبنية على components كثيرة و معقدة وتحتاج فيها للحصول على مبدأ ال Reusability، ومميزات اخرى كسهولة الحصول على SPA.. وهكذا.. و لا اظن ان كل المشاريع التي نعمل عليها تحتاج هذه الميزات..
حينما تبتعد عن عقلية المبرمج الذي يتقن حل المسائل البرمجية على LeetCode، وإتقان حل المشكلات وحفظ بعض المسائل حول ال Arrays وال Recursion وال Binary Search وما إلى ذلك.. ستبدأ بالشعور بالتحسن.
يتم توظيفك كمبرمج لحل مشكلات حياتية، لا لكتابة Functions تستعرض فيها قوة منطقك.. والمشكلات الحياتية التي تحلها البرمجة لا متناهية، ولا يوجد لها حل واحد قطعي. أنت تبدأ، وتبحث، وتفشل، ثم تحاول من جديد... وأي مؤسسة توظفك فقط لأنك ممتاز جدًا في ال Algorithms وال Data Structures هي مؤسسة تبني ثقتها فيك على أساس ضيق، بينما المبرمج الحقيقي هو من يستطيع التكيف مع تعدد المشكلات الحياتية التي ستواجهه.
وأي مبرمج حتى ولو كان قليل الخبرة في العمل في الشركات، يعرف أن كل لغات البرمجة والفريموركات الحالية تحل معظم المشكلات التي كان سيتطلب حلها كتابة آلاف الأسطر البرمجية يدويًا.. لذا لا تركز على هذه المسألة وحدها، لكي لا تحبط نفسيًا في حالة فشلك في حل مشكلة برمجية بأسلوب أكاديمي.
فالذكاء الاصطناعي حاليًا ربما يكتب كودًا أفضل مما نكتبه نحن، لكننا لسنا مجرد Coders فقط.. نحن مفكرون، مبرمجون، مستمعون للعملاء، قادرون على العمل كفريق، نفهم ونحاول البيزنس أكثر، نفهم ونحاول فهم هندسة البرمجيات عمومًا، نتعمق في كتابة كود نظيف ، Reusable, Clean، Modular، نستمر في التعلم.. وهكذا..
لكن لا تفهمني خطأ، ال DS وال Algorithms والتطبيق العملي لحل المشكلات باستخدام لغة برمجة تفضلها أو تتعلمها شيء أساسي، تخطيها سيجعلك تعود اليها لاحقا في مسارك المهني - اتحدث عن واقع تجربة - لكن الأهم هو الفهم لهذه المفاهيم لا الاعتقاد بأنها وحدها ما سيأخذك بعيدًا في هذا المجال.
هذه أشياء اكتشفتها في طريقي، وأحاول تطبيقها قدر الإمكان في عملي وتعلمي، ورأيت أنها ربما تكون نافعة للمشاركة، و قد اكون مخطئا.
اللهم إنا نسألك العلم والتعلم والعمل بهما.
#softwareEngineering #softwaredevelopment #programming #contuniuelearning #development
يتم توظيفك كمبرمج لحل مشكلات حياتية، لا لكتابة Functions تستعرض فيها قوة منطقك.. والمشكلات الحياتية التي تحلها البرمجة لا متناهية، ولا يوجد لها حل واحد قطعي. أنت تبدأ، وتبحث، وتفشل، ثم تحاول من جديد... وأي مؤسسة توظفك فقط لأنك ممتاز جدًا في ال Algorithms وال Data Structures هي مؤسسة تبني ثقتها فيك على أساس ضيق، بينما المبرمج الحقيقي هو من يستطيع التكيف مع تعدد المشكلات الحياتية التي ستواجهه.
وأي مبرمج حتى ولو كان قليل الخبرة في العمل في الشركات، يعرف أن كل لغات البرمجة والفريموركات الحالية تحل معظم المشكلات التي كان سيتطلب حلها كتابة آلاف الأسطر البرمجية يدويًا.. لذا لا تركز على هذه المسألة وحدها، لكي لا تحبط نفسيًا في حالة فشلك في حل مشكلة برمجية بأسلوب أكاديمي.
فالذكاء الاصطناعي حاليًا ربما يكتب كودًا أفضل مما نكتبه نحن، لكننا لسنا مجرد Coders فقط.. نحن مفكرون، مبرمجون، مستمعون للعملاء، قادرون على العمل كفريق، نفهم ونحاول البيزنس أكثر، نفهم ونحاول فهم هندسة البرمجيات عمومًا، نتعمق في كتابة كود نظيف ، Reusable, Clean، Modular، نستمر في التعلم.. وهكذا..
لكن لا تفهمني خطأ، ال DS وال Algorithms والتطبيق العملي لحل المشكلات باستخدام لغة برمجة تفضلها أو تتعلمها شيء أساسي، تخطيها سيجعلك تعود اليها لاحقا في مسارك المهني - اتحدث عن واقع تجربة - لكن الأهم هو الفهم لهذه المفاهيم لا الاعتقاد بأنها وحدها ما سيأخذك بعيدًا في هذا المجال.
هذه أشياء اكتشفتها في طريقي، وأحاول تطبيقها قدر الإمكان في عملي وتعلمي، ورأيت أنها ربما تكون نافعة للمشاركة، و قد اكون مخطئا.
اللهم إنا نسألك العلم والتعلم والعمل بهما.
#softwareEngineering #softwaredevelopment #programming #contuniuelearning #development
❤11👨💻2
لكل المبرمجين و مهندسي البرمجيات في هذه المجموعة، حبذا لو تفضلتم علينا، بتصحيح مفهوم، او تصحيح خطأ ننشره، او مغالطة (غير مقصودة)، أو توجيهنا على المسار الصحيح.. فكوننا تصدرنا للنشر لا يعني ان كل ما ننشره صحيح و دقيق.
هكذا سنثري المحتوى العربي، ونعلم و نتعلم اكثر، و الله اعلى و اعلم.
بارك الله فيكم.
هكذا سنثري المحتوى العربي، ونعلم و نتعلم اكثر، و الله اعلى و اعلم.
بارك الله فيكم.
❤12🔥1
لمن يعرف tool تستخدمها للنشر على جميع المنصات الرقمية مرة واحدة، وله تجربة جيدة معاها، و مجانية لو وجدت، يشاركها معي؟!
بارك الله فيكم.
بارك الله فيكم.
عضو مبارك معنا في هذه المجموعة افرحتني رسالته و اردت ان ارد عليه علنا و اناقش الموضوع علنا ايضا.
اولا اشكر الله، و اشكرك بعدها لانك ترى في قناتي الصغيرة هذه منفعة لك في هذا المجال.. و اسأل الله مزيدا من التوفيق.
ثانيا، لم يكن هدفي من الاساس جمع الناس بقدر ماهو مشاركة اخطائي لعلها تنفع شخصا ما في مكان ما، و انارة طريقه، اضافة الى شيئ من زكاة العلم (لو تجاوزنا ثقل الكلمة و اعتبرت نفسي لدي قليييييل علم).
لكن لا اخفيك سرا النفس تمل من قلة التفاعل، و لا اريد ان تصير هذه المشاعر هي المحركة لي فيما انشر، لهذا انا مستمر... لكن اكيد اسعد لو هناك تفاعل و اخد ورد في الكلام.
سأحاول العمل على تطوير القاعدة، و ربما محاولة التركيز على قناة صغيرة على يوتيوب ايضا، وفي هذا المنشور ايضا، اطلبك و اطلب كل من يقرأ هذا المنشور اذ كانت هنالك اقتراحات لتطوير القناة مشاركتها فضلا وليس امرا.
و مرة اخرى شكرا أحمد، و بارك الله لك و فيك.
اولا اشكر الله، و اشكرك بعدها لانك ترى في قناتي الصغيرة هذه منفعة لك في هذا المجال.. و اسأل الله مزيدا من التوفيق.
ثانيا، لم يكن هدفي من الاساس جمع الناس بقدر ماهو مشاركة اخطائي لعلها تنفع شخصا ما في مكان ما، و انارة طريقه، اضافة الى شيئ من زكاة العلم (لو تجاوزنا ثقل الكلمة و اعتبرت نفسي لدي قليييييل علم).
لكن لا اخفيك سرا النفس تمل من قلة التفاعل، و لا اريد ان تصير هذه المشاعر هي المحركة لي فيما انشر، لهذا انا مستمر... لكن اكيد اسعد لو هناك تفاعل و اخد ورد في الكلام.
سأحاول العمل على تطوير القاعدة، و ربما محاولة التركيز على قناة صغيرة على يوتيوب ايضا، وفي هذا المنشور ايضا، اطلبك و اطلب كل من يقرأ هذا المنشور اذ كانت هنالك اقتراحات لتطوير القناة مشاركتها فضلا وليس امرا.
و مرة اخرى شكرا أحمد، و بارك الله لك و فيك.
❤19👏2⚡1
إجعل لك في كل يوم هدفا شخصيا، سواءا في المجال التقني البرمجي، او في مجالات و جوانب اخرى من حياتك، و الهدف اليومي الشخصي هنا اقصد به شيئا خارجا عن روتينك اليومي (إذْ وجد).
أمثلة عملية مختلطة:
- قراءة جزء من التوثيق الرسمي للغة برمجة ما.
- مشي 10000 آلاف خطوة
- جري 3 او 4 كلم
- جلسة مع الاهل غير المؤلوفة..
- طهي شيئ غير معتاد
- مجاهدة نفسك في التخلي عن عادة او تطبع سيء..
- الإبتعاد عن الهاتف لساعات معينة.. و هكذا..
في نهاية اليوم و تحقيقك لشيئ من هذا ستشعر بشعور الانجار و بشعور عدم العجز.. و هذا سيفتح لك ابوابا اخرى للسعي و المحاولة.
اصدق النية و استعن بالله و لا تعجز.
#خاطرة
أمثلة عملية مختلطة:
- قراءة جزء من التوثيق الرسمي للغة برمجة ما.
- مشي 10000 آلاف خطوة
- جري 3 او 4 كلم
- جلسة مع الاهل غير المؤلوفة..
- طهي شيئ غير معتاد
- مجاهدة نفسك في التخلي عن عادة او تطبع سيء..
- الإبتعاد عن الهاتف لساعات معينة.. و هكذا..
في نهاية اليوم و تحقيقك لشيئ من هذا ستشعر بشعور الانجار و بشعور عدم العجز.. و هذا سيفتح لك ابوابا اخرى للسعي و المحاولة.
اصدق النية و استعن بالله و لا تعجز.
#خاطرة
❤13
الحمد لله الذي أحيانا بعدما اماتنا و اليه النشور..
إستعن بالله و لا تعجز، و حاول أن تضع الله أولا قدر الامكان، و اعلم انه لا تكلف نفسا الا وسعها، و اعلم ان الامر بيد الله بدءً و إنتهاءً.. و ذكر نفسك بهذا كلما فترت و نسيت.
وقد جاء في وصية رسول الله ﷺ لابن عباس رضي الله عنهما: ... وإذا سألت فاسأل الله، وإذا استعنت فاستعن بالله، واعلم أن الأمة لو اجتمعت على أن ينفعوك بشيء لم ينفعوك إلا بشيء قد كتبه الله لك، وإن اجتمعوا على أن يضروك بشيء لم يضروك إلا بشيء قد كتبه الله عليك، رفعت الأقلام وجفت الصحف" رواه الترمذي وقال: حديث حسن صحيح.
إستعن بالله و لا تعجز، و حاول أن تضع الله أولا قدر الامكان، و اعلم انه لا تكلف نفسا الا وسعها، و اعلم ان الامر بيد الله بدءً و إنتهاءً.. و ذكر نفسك بهذا كلما فترت و نسيت.
وقد جاء في وصية رسول الله ﷺ لابن عباس رضي الله عنهما: ... وإذا سألت فاسأل الله، وإذا استعنت فاستعن بالله، واعلم أن الأمة لو اجتمعت على أن ينفعوك بشيء لم ينفعوك إلا بشيء قد كتبه الله لك، وإن اجتمعوا على أن يضروك بشيء لم يضروك إلا بشيء قد كتبه الله عليك، رفعت الأقلام وجفت الصحف" رواه الترمذي وقال: حديث حسن صحيح.
binbaz.org.sa
وصية جامعة للحجيج وجميع المسلمين
من عبدالعزيز بن عبدالله بن باز إلى إخوانه في الله حجاج بيت الله الحرام وإلى كل من يطلع على
❤9
تجربتي مع العودة لبناء أسس صلبة للأساسيات و الخوارزميات في مجال هندسة البرمجيات. #5
تحدثنا في المقال السابق من هذه السلسلة عن وضع خطة للتعلّم بعد معرفة وتحديد الثغرات/الثقوب المعرفية، وذكرتُ بعض الاقتراحات والمصادر الموثوقة.. في هذا المقال، بإذن الله، سأشارك خطة عملية لكيفية جمع كل ذلك بصيغة تطبيقية.
تنويه مهم: بدء المشروع التطبيقي لا يعني بالضرورة أنك أنهيت مسار التعلّم، ولا يعني أيضًا أن التعلّم سيتوقف (حتى لو كنت في منتصف رحلة التعلّم، يمكنك أن تبدأ بالتطبيق مباشرة، ولا يجب أن تتوقف بمجرد إنهاء المسار أيضا)... باختصار، التعلّم النظري والتطبيقي مسيرة حياة بالنسبة للمبرمج.
لنفترض أنك تعلّمت أو بدأت التعلّم وتريد أن تجمع ذلك في خبرة عملية، ربما أخذت أساسيات من ال Frontend، والقليل من ال Backend، وبعض المفاهيم من قواعد البيانات.
في هذه المرحلة، يمكنك البحث عن أفكار مشاريع عبر منصّات مثل Upwork أو LinkedIn. الأفضل أن تختار مشروعًا خارج نطاق الأفكار التقليدية (مثل الافكار التقليدي: To-Do List)، وسأقترح بعض المشاريع في نهاية المقال.
بعد اختيار المشروع:
- اكتب مستندًا تقنيًا (Technical Document) بسيطًا يحتوي على الخصائص (Features) التي ستبنيها.
- أنشئ مخططًا أوليًا لقاعدة البيانات (Database Schema).
ثم ابدأ التنفيذ على مراحل: على سبيل المثال، حدّد إضافة ميزة جديدة كل أسبوع.. أعطِ كل ميزة وقتها الكافي من البحث، والبناء، والتحليل، والاختبار.
أنت هنا لا تلتزم بمواعيد تسليم صارمة (Deadlines)، بل تعمل لمصلحتك ولمصلحة تطوير ذاتك.. ومع الوقت، ستجد نفسك قد بنيت مشروعًا متكاملًا منذ الصفر، تعلمت من خلاله العديد من الأمور، وأصبح لديك Portfolio قوي.
بهذا الشكل ستستعمل اللغة أو الإطار (Framework) الذي تتعلّمه وأنت في وضع متحرك In Action. حتى لو كان لديك عمل بدوام كامل أو جزئي، اجعل هذا المشروع ملجأك للتعلّم المستمر.
كل ما ذكرته فوق،، أنا أيضًا أطبقه منذ أن بدأت تطوير مهاراتي وأساسياتي، فهو ليس كلامًا نظريًا بلا تجربة.
أمثلة لمشاريع:
- بناء API كيفما كان بلا فرونتآند
- بناء Dashboard باستخدام ال Full stack technologies
- بناء موق شخصي متكامل
- بناء منصلة مقالات
- بناء موقع لإجراء مسح معين.. و هكذا..
و مرة أخرى، الطريق طويل، لكن قليل دائم خير من كثير منقطع.
ولو 30 دقيقة يوميًا كافية للاستمرارية.
اللهم علّمنا وانفعنا بما علّمتنا.
والسلام عليكم.
#إستدراك_ما_فات_في_هندسة_البرمجيات
تحدثنا في المقال السابق من هذه السلسلة عن وضع خطة للتعلّم بعد معرفة وتحديد الثغرات/الثقوب المعرفية، وذكرتُ بعض الاقتراحات والمصادر الموثوقة.. في هذا المقال، بإذن الله، سأشارك خطة عملية لكيفية جمع كل ذلك بصيغة تطبيقية.
تنويه مهم: بدء المشروع التطبيقي لا يعني بالضرورة أنك أنهيت مسار التعلّم، ولا يعني أيضًا أن التعلّم سيتوقف (حتى لو كنت في منتصف رحلة التعلّم، يمكنك أن تبدأ بالتطبيق مباشرة، ولا يجب أن تتوقف بمجرد إنهاء المسار أيضا)... باختصار، التعلّم النظري والتطبيقي مسيرة حياة بالنسبة للمبرمج.
لنفترض أنك تعلّمت أو بدأت التعلّم وتريد أن تجمع ذلك في خبرة عملية، ربما أخذت أساسيات من ال Frontend، والقليل من ال Backend، وبعض المفاهيم من قواعد البيانات.
في هذه المرحلة، يمكنك البحث عن أفكار مشاريع عبر منصّات مثل Upwork أو LinkedIn. الأفضل أن تختار مشروعًا خارج نطاق الأفكار التقليدية (مثل الافكار التقليدي: To-Do List)، وسأقترح بعض المشاريع في نهاية المقال.
بعد اختيار المشروع:
- اكتب مستندًا تقنيًا (Technical Document) بسيطًا يحتوي على الخصائص (Features) التي ستبنيها.
- أنشئ مخططًا أوليًا لقاعدة البيانات (Database Schema).
ثم ابدأ التنفيذ على مراحل: على سبيل المثال، حدّد إضافة ميزة جديدة كل أسبوع.. أعطِ كل ميزة وقتها الكافي من البحث، والبناء، والتحليل، والاختبار.
أنت هنا لا تلتزم بمواعيد تسليم صارمة (Deadlines)، بل تعمل لمصلحتك ولمصلحة تطوير ذاتك.. ومع الوقت، ستجد نفسك قد بنيت مشروعًا متكاملًا منذ الصفر، تعلمت من خلاله العديد من الأمور، وأصبح لديك Portfolio قوي.
بهذا الشكل ستستعمل اللغة أو الإطار (Framework) الذي تتعلّمه وأنت في وضع متحرك In Action. حتى لو كان لديك عمل بدوام كامل أو جزئي، اجعل هذا المشروع ملجأك للتعلّم المستمر.
كل ما ذكرته فوق،، أنا أيضًا أطبقه منذ أن بدأت تطوير مهاراتي وأساسياتي، فهو ليس كلامًا نظريًا بلا تجربة.
أمثلة لمشاريع:
- بناء API كيفما كان بلا فرونتآند
- بناء Dashboard باستخدام ال Full stack technologies
- بناء موق شخصي متكامل
- بناء منصلة مقالات
- بناء موقع لإجراء مسح معين.. و هكذا..
و مرة أخرى، الطريق طويل، لكن قليل دائم خير من كثير منقطع.
ولو 30 دقيقة يوميًا كافية للاستمرارية.
اللهم علّمنا وانفعنا بما علّمتنا.
والسلام عليكم.
#إستدراك_ما_فات_في_هندسة_البرمجيات
❤7
بما أننا نعيش اليوم في عصر الذكاء الاصطناعي (AI)، فلا أظن أن هناك مطوّر برمجيات لا يستعين به في إنجاز مهامه اليومية، ولا أعتقد أن هناك شركة تمنع استخدامه كأداة.
هذا يعني أننا صرنا نكتب كودًا أقل، وبالتالي أصبحنا ننسى الـ Syntax أكثر، ونادرًا ما نرجع إلى التوثيقات الرسمية (Official Docs).
لهذا بدأت أبحث عن بدائل تُبقي عقلي في حالة تعلّم نشط، وتساعدني على عدم نسيان ما اكتسبته من مهارات.
قررت أن أجعل لنفسي عادة ممتعة، كتابة Functions قصيرة بلغة PHP أو JavaScript فقط للمتعة والتعلّم والتجديد الذهني. قد تقوم بها و أنت في المقهى، أو أثناء الجلوس في مكان هادئ، أو حتى كبديل لتضييع الوقت على YouTube و Shorts قبل النوم.
خلال بحثي عن أدوات تساعدني على ذلك على نظام Android، وجدت تطبيقًا رائعًا يدعم Python و JavaScript، لكنه لا يعمل مع PHP لأنها لغة تحتاج إلى Interpreter وتهيئة خاصة.
التطبيق الذي جربته لل JavaScript اسمه: Acode.
بصراحة، التطبيق عملي جدًا، وأنصحك بتجربته إذا كانت أهدافك شبيهة بما ذكرت فوق.
رابط التطبيق:
https://play.google.com/store/apps/details?id=com.foxdebug.acodefree
#contuniuelearning
هذا يعني أننا صرنا نكتب كودًا أقل، وبالتالي أصبحنا ننسى الـ Syntax أكثر، ونادرًا ما نرجع إلى التوثيقات الرسمية (Official Docs).
لهذا بدأت أبحث عن بدائل تُبقي عقلي في حالة تعلّم نشط، وتساعدني على عدم نسيان ما اكتسبته من مهارات.
قررت أن أجعل لنفسي عادة ممتعة، كتابة Functions قصيرة بلغة PHP أو JavaScript فقط للمتعة والتعلّم والتجديد الذهني. قد تقوم بها و أنت في المقهى، أو أثناء الجلوس في مكان هادئ، أو حتى كبديل لتضييع الوقت على YouTube و Shorts قبل النوم.
خلال بحثي عن أدوات تساعدني على ذلك على نظام Android، وجدت تطبيقًا رائعًا يدعم Python و JavaScript، لكنه لا يعمل مع PHP لأنها لغة تحتاج إلى Interpreter وتهيئة خاصة.
التطبيق الذي جربته لل JavaScript اسمه: Acode.
بصراحة، التطبيق عملي جدًا، وأنصحك بتجربته إذا كانت أهدافك شبيهة بما ذكرت فوق.
رابط التطبيق:
https://play.google.com/store/apps/details?id=com.foxdebug.acodefree
#contuniuelearning
❤6
استخدام الكود المولّد بالذكاء الاصطناعي (AI Generated Code) له جوانب نافعة وأخرى غير نافعة بالنسبة لمطوّر البرمجيات.
سأشاركك كيف أستفيد شخصيًا منه، وكيف يمكنك أنت أيضًا الاستفادة منه، ومتى يمكن أن يضرّك إذا استعملته بشكل خاطئ.
متى تستفيد من الكود المولّد؟
إذا كنت تفهم المتطلبات جيدًا، وتفهم المشروع الذي تعمل عليه (أو على الأقل أكثر من نصف تفاصيله)، فيمكنك الاستفادة منه بالطريقة التالية:
- وصف الميزة بوضوح: اكتب وصفًا دقيقًا للميزة التي تريدها، وحدّد ما يجب تعديله وما يجب إضافته، مع تحديد مسارات الملفات لو أمكن.
- مراجعة الكود بعد ال generation: بعد أن يولّد ال AI الكود ويمر ال Build دون أخطاء، ارجع إلى الكود وقم بتنظيفه؛ أزل الأجزاء غير المفيدة، صحّح الهلوسات الخاطئة التي يقوم، اجعل الكود أكثر وضوحًا وسهل الصيانة.
- اطلب مراجعة ثانية (Review): أعد الطلب من ال AI لمراجعة الكود بعد تعديلك له.. ستجده أكثر دقة لأنك أنت من وجّهته الأن، بدل أن تقبل الكود الذي قدمه كما هو.
- الاختبارات (Tests): اكتب اختبارات Unit Tests و Feature Tests، ثم اطلب من ال AI أن يقترح مراجعة أو إعادة كتابة لها،، غالبًا سيأتي باقتراحات مبالغ فيها (Over Engineering)، صحّحها وأكمل.
بهذه الطريقة، أنت تتعلّم على الطريق، وغالبًا ما يأتي ال AI بكود أفضل مما كنت ستكتبه بنفسك وفي وقت أقل.. الفرق أن كتابة ميزة يدويًا قد تستغرق منك أيّامًا، بينما يمكن لل AI أن يولّدها خلال ساعات قليلة، لكن لو قمت بما وصفته قبلا، فهو يقوم به ا بقيادتك أنت.
متى يكون ضارًا؟
إذا لم تكن فاهما للمتطلبات، ولا إطار العمل (Framework) الذي تعمل به، فستستعمل ال AI لتوليد كود دون أن تراجعه أو تفهمه.
في هذه الحالة، ستصبح ضحية له، وسيضرّك أكثر مما ينفعك.
ملاحظة مهمة؛ هذا لا يعني أننا لن نصادف أحيانًا كودًا لا نفهمه بالكامل، لكنه يعمل (قمنا بهذا من قبل مع stackoverflow..) فهذا طبيعي جدًا في العنصر البشري... نحن لسنا مثاليين.. المهم أن لا يكون الاعتماد كليًا وعشوائيًا.
اتمنى ان يكون هذا المنشور نافعا، و السلام عليكم ورحمة الله.
#ai #softwaredevelopment
سأشاركك كيف أستفيد شخصيًا منه، وكيف يمكنك أنت أيضًا الاستفادة منه، ومتى يمكن أن يضرّك إذا استعملته بشكل خاطئ.
متى تستفيد من الكود المولّد؟
إذا كنت تفهم المتطلبات جيدًا، وتفهم المشروع الذي تعمل عليه (أو على الأقل أكثر من نصف تفاصيله)، فيمكنك الاستفادة منه بالطريقة التالية:
- وصف الميزة بوضوح: اكتب وصفًا دقيقًا للميزة التي تريدها، وحدّد ما يجب تعديله وما يجب إضافته، مع تحديد مسارات الملفات لو أمكن.
- مراجعة الكود بعد ال generation: بعد أن يولّد ال AI الكود ويمر ال Build دون أخطاء، ارجع إلى الكود وقم بتنظيفه؛ أزل الأجزاء غير المفيدة، صحّح الهلوسات الخاطئة التي يقوم، اجعل الكود أكثر وضوحًا وسهل الصيانة.
- اطلب مراجعة ثانية (Review): أعد الطلب من ال AI لمراجعة الكود بعد تعديلك له.. ستجده أكثر دقة لأنك أنت من وجّهته الأن، بدل أن تقبل الكود الذي قدمه كما هو.
- الاختبارات (Tests): اكتب اختبارات Unit Tests و Feature Tests، ثم اطلب من ال AI أن يقترح مراجعة أو إعادة كتابة لها،، غالبًا سيأتي باقتراحات مبالغ فيها (Over Engineering)، صحّحها وأكمل.
بهذه الطريقة، أنت تتعلّم على الطريق، وغالبًا ما يأتي ال AI بكود أفضل مما كنت ستكتبه بنفسك وفي وقت أقل.. الفرق أن كتابة ميزة يدويًا قد تستغرق منك أيّامًا، بينما يمكن لل AI أن يولّدها خلال ساعات قليلة، لكن لو قمت بما وصفته قبلا، فهو يقوم به ا بقيادتك أنت.
متى يكون ضارًا؟
إذا لم تكن فاهما للمتطلبات، ولا إطار العمل (Framework) الذي تعمل به، فستستعمل ال AI لتوليد كود دون أن تراجعه أو تفهمه.
في هذه الحالة، ستصبح ضحية له، وسيضرّك أكثر مما ينفعك.
ملاحظة مهمة؛ هذا لا يعني أننا لن نصادف أحيانًا كودًا لا نفهمه بالكامل، لكنه يعمل (قمنا بهذا من قبل مع stackoverflow..) فهذا طبيعي جدًا في العنصر البشري... نحن لسنا مثاليين.. المهم أن لا يكون الاعتماد كليًا وعشوائيًا.
اتمنى ان يكون هذا المنشور نافعا، و السلام عليكم ورحمة الله.
#ai #softwaredevelopment
❤7🔥1
دائما ما أوكد على هذا الكلام، يجب ان تتشربه كمبرمج..
https://www.linkedin.com/posts/shreefentsar_techlead-cto-digitaltransformation-activity-7365477699013738496-trtt?utm_source=share&utm_medium=member_android&rcm=ACoAAA6PPwIBAQxRqfCnsX6egpCWC4PgEE1omkI
https://www.linkedin.com/posts/shreefentsar_techlead-cto-digitaltransformation-activity-7365477699013738496-trtt?utm_source=share&utm_medium=member_android&rcm=ACoAAA6PPwIBAQxRqfCnsX6egpCWC4PgEE1omkI
Linkedin
#techlead #cto #digitaltransformation #leadership #egyptiantech #webdevelopment #softwareengineering #problemsolving #wordpress…
بعد اكتر من 13 سنة في مجال التكنولوجيا، من اول ما كنت بصلح مشاكل في مواقع WordPress و Magento و Laravel لحد ما بقيت ببني وبدير فرق تطوير كاملة كـ CTO...
فيه كام حقيقة كده اتعلمتها بالطريقة الصعبة او زي ما بيقولوا بالـ
Hard Way،
وحابب أشاركها معاكم:
1. الكود…
فيه كام حقيقة كده اتعلمتها بالطريقة الصعبة او زي ما بيقولوا بالـ
Hard Way،
وحابب أشاركها معاكم:
1. الكود…
❤3
صراحة Acode ممتع، منذ مدة طويلة لم أكتب vanilla js بهذه الطريقة.. يجعلك تتذكر و يجعلك تبحث (اقوم بذلك على google دون ia).. جميل لتثبيت بعد المفاهيم الاساسية في Javanoscript و ال frontend عموما.
الوقت الذي تضيعه في ال scrolling لو عوضته بهذا التطبيق للتذكسر نفسك باسسيات ال javanoscript يكون افضل.
والله ولي التوفيق.
#js #fundamentals
الوقت الذي تضيعه في ال scrolling لو عوضته بهذا التطبيق للتذكسر نفسك باسسيات ال javanoscript يكون افضل.
والله ولي التوفيق.
#js #fundamentals
❤5
Forwarded from قناة بدر آل مرعي
بابٌ في الحِمية الإلكترونية:
اقترح بعض الأحباب الكرام أن أنشئ حسابًا في الفيس بوك وآخر في تويتر فرفضتُ، وقد عرض بعضهم أن يديرها فرفضتُ أيضًا -مع شكري للطفهم-.
وهذه فرصة لأقول قناعاتي التي لا ألزم بها أحدًا في وسائل التواصل، وليست أفضل من غيرها، وهي آراء يعتريها الغلط والصواب:
- تعلمتُ في فترة العزلة أن الحِمية الإلكترونية تعيد جزءًا من عقلك؛ وكأنّ هذا الصخب يجعلك صبيًا متلطخًا بالسفه الجزئي مهما بلغ عمرك.
- الشأن في هذه الوسائل ضياع التركيز لا مجرد فوات الأوقات، وإذا عدّدت حساباتك في كل تطبيق تشعّب قلبك في أودية لا ترجع منها بشيء.
- إدمان وسائل التواصل يخلق منك كائنًا انفعاليًا متأثرًا، مشاعرك في وعاء مثقوب بلطف؛ تتسرب دون علمك، تشعر آخر اليوم بأنك مرهق من اللاشيء.
- تأكدت من ضعف الإنسان حين انقطعت، والمرء مهما كبر عمره يحتاج إلى صيانة نفسه من مزالق النظر والكلام وشهوات الشباب الأول مع ما يعتريه من شهوة الإعجاب بالرأي والاستطالة على الخلق.
- الفاعلية في وسائل التواصل المتعددة تجعل القلب متتبعًا لرضا البشر دون أن يشعر، يحزن لعدم الإعجاب، وينتشي لخلافه، فأين جمعية القلب على الله ومحابّه؟ وهذا الشعث يحصل حتى لو كان غيري يدير الحساب فسأظل أتتبع.
- العلم بالله وأحكامه عزيز لا يغالب؛ وسائل التواصل تصنع منك مقدمًا للمحتوى الشرعي لا طالب علم مدقق، وبينهما فرق كبير.
- لاحظت أن وسائل التواصل ترسخ حالة الزبَد الوهمي؛ والحقّ أن أصدقاءك وطلابك هم الذين تعرفهم على أرض الواقع -عدا قلّة القلة- فلا تغترّ.
- بعض المقامات العلمية تحتاج تتابعَ الأوقات وتواليها في التحصيل، لا مجرد وجود الأوقات؛ ووسائل التواصل المتعددة قد توفر الأوقات لكن دون تتابُع.
- الحمية الإلكترونية وتخفيف الوسائل يعصمك من داء المبالغات، وفي العزلة تعلمتُ أن ما يكفيه "جميل" لا تضف له "جدًا".
والمبالغات قد تكون في أوهام تقدير علمك، وحجم تأثيرك؛ وهي تأتي بسبب الانغماس في تتبع ردود الأفعال، والاغترار بثنائهم.
- وجدتُ في الحِمية الإلكترونية أمانًا من صراع العروش الافتراضية؛ فكثير ممن يتصدر يصير عبدًا لمكانته، تلميذًا لتلامذته، عدوًا لمن يشاركه صنعته خشيةً على حصته من التأثير والجاه.
- وسائل التواصل تريد منك أن تحتفل أكثر مما تنجز.
- التخمة الافتراضية تعزز في القلب شعور الضحية الدائم، كل الناس يحيكون المؤامرات ضدك كما تتوهم، وتبدأ في سرد عبارات الوجع وفقد الثقة والطعن في الظهر؛ وكأنّ الناس قد تركوا هموم معايشهم وآخرتهم ليخططوا بإضرارك يا محور الكون.
أمَا والله لو قدرنا الله حق قدره لتهذبت نفوسنا، وندمنا على سابق غفلتنا وغلطنا وتقصيرنا، والموفق يبادر طيّ صحيفته، ويسابق أجله بما يسره في آخرته.
اقترح بعض الأحباب الكرام أن أنشئ حسابًا في الفيس بوك وآخر في تويتر فرفضتُ، وقد عرض بعضهم أن يديرها فرفضتُ أيضًا -مع شكري للطفهم-.
وهذه فرصة لأقول قناعاتي التي لا ألزم بها أحدًا في وسائل التواصل، وليست أفضل من غيرها، وهي آراء يعتريها الغلط والصواب:
- تعلمتُ في فترة العزلة أن الحِمية الإلكترونية تعيد جزءًا من عقلك؛ وكأنّ هذا الصخب يجعلك صبيًا متلطخًا بالسفه الجزئي مهما بلغ عمرك.
- الشأن في هذه الوسائل ضياع التركيز لا مجرد فوات الأوقات، وإذا عدّدت حساباتك في كل تطبيق تشعّب قلبك في أودية لا ترجع منها بشيء.
- إدمان وسائل التواصل يخلق منك كائنًا انفعاليًا متأثرًا، مشاعرك في وعاء مثقوب بلطف؛ تتسرب دون علمك، تشعر آخر اليوم بأنك مرهق من اللاشيء.
- تأكدت من ضعف الإنسان حين انقطعت، والمرء مهما كبر عمره يحتاج إلى صيانة نفسه من مزالق النظر والكلام وشهوات الشباب الأول مع ما يعتريه من شهوة الإعجاب بالرأي والاستطالة على الخلق.
- الفاعلية في وسائل التواصل المتعددة تجعل القلب متتبعًا لرضا البشر دون أن يشعر، يحزن لعدم الإعجاب، وينتشي لخلافه، فأين جمعية القلب على الله ومحابّه؟ وهذا الشعث يحصل حتى لو كان غيري يدير الحساب فسأظل أتتبع.
- العلم بالله وأحكامه عزيز لا يغالب؛ وسائل التواصل تصنع منك مقدمًا للمحتوى الشرعي لا طالب علم مدقق، وبينهما فرق كبير.
- لاحظت أن وسائل التواصل ترسخ حالة الزبَد الوهمي؛ والحقّ أن أصدقاءك وطلابك هم الذين تعرفهم على أرض الواقع -عدا قلّة القلة- فلا تغترّ.
- بعض المقامات العلمية تحتاج تتابعَ الأوقات وتواليها في التحصيل، لا مجرد وجود الأوقات؛ ووسائل التواصل المتعددة قد توفر الأوقات لكن دون تتابُع.
- الحمية الإلكترونية وتخفيف الوسائل يعصمك من داء المبالغات، وفي العزلة تعلمتُ أن ما يكفيه "جميل" لا تضف له "جدًا".
والمبالغات قد تكون في أوهام تقدير علمك، وحجم تأثيرك؛ وهي تأتي بسبب الانغماس في تتبع ردود الأفعال، والاغترار بثنائهم.
- وجدتُ في الحِمية الإلكترونية أمانًا من صراع العروش الافتراضية؛ فكثير ممن يتصدر يصير عبدًا لمكانته، تلميذًا لتلامذته، عدوًا لمن يشاركه صنعته خشيةً على حصته من التأثير والجاه.
- وسائل التواصل تريد منك أن تحتفل أكثر مما تنجز.
- التخمة الافتراضية تعزز في القلب شعور الضحية الدائم، كل الناس يحيكون المؤامرات ضدك كما تتوهم، وتبدأ في سرد عبارات الوجع وفقد الثقة والطعن في الظهر؛ وكأنّ الناس قد تركوا هموم معايشهم وآخرتهم ليخططوا بإضرارك يا محور الكون.
أمَا والله لو قدرنا الله حق قدره لتهذبت نفوسنا، وندمنا على سابق غفلتنا وغلطنا وتقصيرنا، والموفق يبادر طيّ صحيفته، ويسابق أجله بما يسره في آخرته.
❤6
السلام عليكم، منذ مدة بدأت أكتب كتابا متعلقة بكيفية التخلص من الشعور بأنك دائما junior developer كتبت تلاثة أجزاء، لحد الآن..
لن يكون كتابا طويلا، و سيكون اول ما انشره ان شاء الله ك technical publication.
اردت ان اضع هذا المنشور هنا، كتحفيز شخصي، و كمنشور لأخد نصائح اذا احد عنده نصيحة لي.
بارك الله فيكم و نفع بكم، و صلى الله علي محمد.
لن يكون كتابا طويلا، و سيكون اول ما انشره ان شاء الله ك technical publication.
اردت ان اضع هذا المنشور هنا، كتحفيز شخصي، و كمنشور لأخد نصائح اذا احد عنده نصيحة لي.
بارك الله فيكم و نفع بكم، و صلى الله علي محمد.
❤11
