اذهب إلى المحتوى

لوحة المتصدرين

  1. Khaled Osama3

    Khaled Osama3

    الأعضاء


    • نقاط

      4

    • المساهمات

      1580


  2. Adnane Kadri

    Adnane Kadri

    الأعضاء


    • نقاط

      3

    • المساهمات

      5196


  3. Ahmed Ahmed64

    Ahmed Ahmed64

    الأعضاء


    • نقاط

      3

    • المساهمات

      222


  4. Ail Ahmed

    Ail Ahmed

    الأعضاء


    • نقاط

      2

    • المساهمات

      1203


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 12/20/23 في كل الموقع

  1. السلام عليكم إخوتي مساعدة في كتابة كود يقوم بالوظيفة التالية لدي ملف إكسل يحتوي على مجموعة من الأعمدة والصفوف أحتاج أن أستخرج العمود الثالث والرابع و الخامس على سبيل المثال وأكون من ذلك DataFrame باستخدام مكتبة pandas بعد تكوين DataFrame أريد أن أقوم بعملية قراءه صف صف من هذه DataFrame للأعمدة المتكونة منها وأن أستخرج القيمة الأكبر والتخزين في عمود جديد نوضح لكم أكثر أقرأ الصف الأول وأقارن بين الثلاثة الأعمدة التي تكونت منها وأستخرج أكبر قيمة ومن ثم تخزينها على عمود جديد أقرأ الصف الثاني وأقارن بين الثلاثة الأعمدة التي تكونت منها وأستخرج أكبر قيمة ومن ثم تخزينها على عمود جديد الذي تم تكوينه سابقا
    1 نقطة
  2. السلام عليكم import face_recognition from PIL import Image , ImageDraw david = face_recognition.load_image_file("David.png") david_locations = face_recognition.face_locations(david) left , top , right , bottom = david_locations img = Image.fromarray(david) draw = ImageDraw.Draw(img) draw.rectangle(((left,top), (right,bottom)), outline='green' , width=5) img.show()
    1 نقطة
  3. هل يمكن لشخص أن يصبح مبرمج Full stack، يبرمج مواقع الويب و التطبيقات أيضا؟ هل يحتاج ذلك وقتا طويلا جدا؟ هل من الممكن أن يدخل المبرمج سوق العمل بعد تعلمه للFront end و يبدء العمل بينما يتابع تعلم من أجل زيادة قدراته في هذا المجال و بدء و التوسع في تعلم الBack end؟ تسمح لنا الFront end بإنشاء المواقع الثابتة فقط صحيح؟ هل يعمل مبرمجو الFront end عادتا وحدهم بإنشاء مواقع ثابتة فقط؟ أم أنهم يدخلون مشاريع مشتركة مع مطوري الواجهات الخلفية؟
    1 نقطة
  4. السلام عليكم هل يمكنني قراءة كتاب هياكل البيانات للمبرمجين 1.0.0 مع العلم انني لم ادرس java ?
    1 نقطة
  5. بالطبع هذا الكود بالاعلي يفعل هذا عندما يجد قيمه فارغه سياخذ القيمه الاعلي ويمكنك اضافه هذا السطر لملئ كل القيم الفارغه بقيمه = 0 df.fillna(0, inplace=True)
    1 نقطة
  6. جرب اضافة الشرط التالي: if len(david_locations) > 0: # استخدام مواقع الوجوه الأول فقط left, top, right, bottom = david_locations img = Image.fromarray(david) draw = ImageDraw.Draw(img) draw.rectangle(((left,top), (right,bottom)), outline='green' , width=5) img.show() else: print("لا يوجد وجوه في الصورة")
    1 نقطة
  7. أخي هل يمكن أن أستخرج بين القيمة الأكبر بوجود خلية فارغة أي مثلا عمود به قيمة 20 مثلا والعمود الأخر قيمة فارغة بحيث تكون النتيجة 20
    1 نقطة
  8. هي ده الرساله الخطا left , top , right , bottom = david_locations ValueError: not enough values to unpack (expected 4, got 1) وكمان انا شغلت الكود اول مره تمام ما كنش فيه مشكله بعد كده ظهرات الرساله ده
    1 نقطة
  9. مبدئيا، لا يظهر بالشيفرة أي خطأ. ما تحتاج التحقق منه هو: من أن مسار الصورة المسند صحيح. من ما ان كانت هنالك أي رسالة خطأ تظهر بخصوص تنفيذ الشيفرة. من أن david_locations قائمة وليست فارغة قبل استخدام القيم منها. يمكنك اضافة عبارة شرطية على سبيل if david_locations: للتحقق من وجود على الأقل وجه واحد. كما أنه يفضل تغيير حجم الصورة إلى حجم معقول قبل تحميلها باستخدام resize لتجنب مشاكل الأداء. في حالة ظهور أي رسالة خطأ، يرجى ارفاقها.
    1 نقطة
  10. عن طريق استخدام فانكشن max و تخزين القيمه الاكبر في عمود اسمه "أكبر_قيمة" df['أكبر_قيمة'] = df.iloc[:, 2:5].max(axis=1) // تم تعديله ولقد استخدمنا axis = 1 لكي ينظر لمحور X الافقي, يعني العثور على القيمة القصوى (الأكبر) في كل صف .
    1 نقطة
  11. نعم بالطبع سأكتب لك الكود الجديد ولكن الاختلاف في الكود صغير اليك مثال اخر: import pandas as pd # قراءة الملف الإكسل df = pd.read_excel('file.xlsx') // تم تعديله # تكوين عمود جديد لتخزين أكبر القيم في كل صف df['أكبر_قيمة'] = df.iloc[:, 2:5].max(axis=1) // تم تعديله # حفظ النتيجة df.to_excel('output.xlsx', index=False) # index=False لعدم حفظ الأرقام الخاصة بالصفوف `iloc` هي وسيلة للوصول إلى البيانات في DataFrame باستخدام تعيين الفهرس (integer-location based indexing). يتيح لك `iloc` تحديد الصفوف والأعمدة بناءً على مواقعها بالفهرس، بدلاً من استخدام الأسماء. تستخدم `iloc` بهذه الطريقه: data.iloc[row_index, column_index] بالمثال السابق، `df.iloc[:, 2:5]` يعني استخراج كل الصفوف والأعمدة من الثالثة (العمود 2) إلى الخامسة (العمود 4).
    1 نقطة
  12. أرجو مثال أخر باستخدام DataFrame مع iloc
    1 نقطة
  13. حسنًا، هذا الكود قد يحقق المهمة المطلوبة: import pandas as pd # قراءة الملف الإكسل df = pd.read_excel('file.xlsx', usecols=[2,3,4]) # تكوين عمود جديد لتخزين أكبر القيم في كل صف df['max'] = df.max(axis=1) # حفظ النتيجة df.to_excel('output.xlsx', index=False) # index=False لعدم حفظ الأرقام الخاصة بالصفوف
    1 نقطة
  14. السلام عليكم في المثال الاول(الدالة wait) تم تمرير معاملات للدالة settimeout وفي المثال الثاني (new promise) لن يتم اي معاملات للدالة settimeout متى يتم تمرير معاملات لهذه الدالة؟
    1 نقطة
  15. السلام عليكم , الpromise هو feature أساسية في الجافاسكريبت , و هو أساسي للتعامل مع الevents و الأشياء التي تحتاج الى وقت ليتم تنفيذها مثل ما ذكرت setTimeout , و احضار بيانات من قاعدة البيانات على سبيل المثال . و فائدة الpromise أنه ابسط من استعمال الcallback و كتابتة أسهل . و يتم انشاء الpromise في ابسط صورة كالتالي : const myPromise = new Promise((resolve, reject) => { // الشيفرة الرئيسية هنا // إذا تمت العملية بنجاح resolve("نجاح!"); // إذا حدث خطأ reject("حدث خطأ!"); }); في الpromise يوجد 3 حالات و هم : قيد التنفيذ (Pending): الحالة الابتدائية للـ Promise. لا يتم تحقيقها ولا يتم رفضها بعد. تم التحقيق (Fulfilled): الحالة التي تحدث عندما تكتمل العملية الغير متزامنة بنجاح. النتيجة متاحة، ويمكنك الوصول إليها باستخدام طريقة then. تم الرفض (Rejected): الحالة التي تحدث عند فشل العملية الغير متزامنة. السبب في الفشل متاح، ويمكنك التعامل معه باستخدام طريقة catch. و يتم التعامل معه كالتالي : myPromise .then((result) => { console.log("تم بنجاح:", result); }) .catch((error) => { console.error("حدث خطأ:", error); }); يمكنك استخدام .then للتعامل مع نتيجة ال Promise عندما تنجح، و .catch للتعامل مع الأخطاء عند فشلها. و يمنك أيضا ان شاء سلاسل كالتالي : promise1() .then(result1 => { return promise2(result1); }) .then(result2 => { // استخدم result2 هنا }) .catch(error => { console.error("حدث خطأ:", error); }); و استعمال async و await هو الشكل الأحدث و الأسلس و الأكثر انتشارا لأنة يسهل العملية أكثر من أي وقت مضى مثال : // دالة تقوم بإرجاع Promise بعد فترة زمنية معينة function wait(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } // دالة async تستخدم await لاستنظار إكمال الPromise async function exampleAsyncFunction() { console.log("قبل الانتظار"); // استخدام await لاستنظار إكمال الPromise await wait(2000); console.log("بعد الانتظار"); } // استدعاء الدالة الasync exampleAsyncFunction();
    1 نقطة
  16. @Adnane Kadri حسنا إذن بدء العمل إلى جانب متابعة التعلم المستمر بوصولي إلى نهاية مسار إلى عالم الويب تحدثت المدربة عن اختيار التخصص و بعد الأمور الأخرى، عند إنهاء ما يكفي من التعلم "فكما ذكرت لا يجب التوقف عن التعلم و المواكبة" أين أحصل على عروض العمل التي لا تحتاج خبرة شاملة بل تحتاج تخصصات فرعية و التي ذكرتها؟ و كيف يمكنني أن أنضم إلى فريق عمل؟
    1 نقطة
  17. مبدئيا، العملية تحتاج الى تراكم معلومات والمسير وفق مخطط واضح لمدة معتبرة من الزمن. ولذلك، يقترح التعلم بجانب العمل في حال تطلب الحاجة الى ذلك نظرا لأن المدة الزمنية قد تكون طويلة قليلا، خصوصا أن هنالك الكثير من عروض العمل التي لا تحتاج خبرة شاملة بل تحتاج تخصصات فرعية مثل تطوير الواجهات الأمامية وما الى ذلك. وعموما، لا يتوقف أحد عن التعلم في هذا المجال. فهو مجال متجدد ويحتاج متابعة وتطويرا دوريا ولا ينبغي التوقف عن التعلم والتحصيل مهما بلغ مستوى الشخص، لأن هذا سيحد من قدراته ولا يجعله يواكب التطورات. بالنسبة لعمل مطوري الواجهات الأمامية، فهو يختلف بحسب طبيعة المشاريع التي يشتغلون فيها. فبعض المشاريع يكونون فيها حلقة وفردا من أعضاء الفريق الذين يتم ادارتهم من قبل مدير منتج أو قائد فريق ويطلب منهم مهاما تتناسب مع قدراتهم ومهاراتهم، وحتى التنسيق بين مطور الواجهة الأمامية ومطور الواجهة الخلفية يتم من خلال توجيهات مدير المنتج. أما بعض المشاريع الأخرى يكونون فيها الوحيدين المشتغلين على المشروع، وهاته المشاريع التي تكون ثابتة المحتوى مثل : صفحات الهبوط، واجهات الويب .. الخ.
    1 نقطة
  18. أرجو التعليق أسفل فيديو الدورة لمساعدتك بشكل أفضل وطرح الأسئلة العامة هنا في قسم أسئلة البرمجة. أولاً سأوضح لك فكرة الوعود Promises. يمكنك التفكير في الوعود Promises في JavaScript على أنّها الوعود في الحياة الحقيقية. لنفرض أنّ طفلًا صغيرًا طلب من والده أن يشتري له لُعبةً ما و أخبره والده أنه يعده بأن يصنع له اللعبة إذا وجد مواد صنعها في الأسواق. و ذهب الأب للبحث عن هذه المواد أي أنّ الوعد الآن قيد التنفيذ (Pending) ، فإذا وجد الأب المواد سيشتريها و يصنع اللعبة للطفل و بذلك يكون قد وفّى بوعده أي تكون حالة الوعد الآن هي fulfilled أو resolved، أمّا إذا لم يجد هذه المواد فلن يشتريها و بالتالي لن يتمكن من صنع اللعبة أي لا يكون قد وفى بوعده أي تكون حالته rejected. نفس هذا الأمر ينطبق على الوعود Promise برمجيًا. مثال لما يشبه الأمور التي نفعلها في الحياة الواقعية - في الحياة البرمجية: ”شيفرة مُنتِجة“ أي أنّها تُنفّذ أمرًا ما وتأخذ وقت. مثل الأكواد التي تقوم بتحميل البيانات عبر الشبكة. هذا الأب "في المثال السابق". ”شيفرة مُستهلِكة“ أي أنّها تطلب ناتج ”الشيفرة المُنتِجة“ ما إن يُصبح جاهزًا. وهناك عديد من الدوال تحتاج إلى هذا الناتج. هذا الطفل ”في المثال السابق ينتظر اللعبة“. الوعد (Promise) هو كائن في جافاسكربت يقوم بالربط بين ”الشيفرة المُنتِجة“ و”الشيفرة المُستهلِكة“. في الحياة العملية، الوعد هو ”انتظار صنع اللعبة“. يمكن أن تأخذ ”الشيفرة المُنتِجة“ ما تلزم من وقت لتُقدّم لنا النتيجة التي وعدتنا بها، وسيقوم الوعد بتجهيزها لنا لأيّة شيفرة طلبتها متى جهزت. و صيغة الباني لكائنات الوعود تكون كما يلي: let promise = new Promise(function(resolve, reject) { // ‫المُنفِّذ (الشيفرة المُنتجة، مثل ”الأب“) }); تُسمى الدالة التي يتم تمريرها إلى new Promise ”بالمُنفِّذ“. فمتى صُنع الوعد new Promise تعمل الدالة تلقائيًا. يحتوي هذا المُنفِّذ على الشيفرة المُنتجِة، ويمكن أن تُقدّم لنا في النهاية ناتجًا. في مثالنا، فالمُنفِّذ هذا هو ”الأب“. و تُقدّم جافاسكربت الوسيطين resolve و reject وهما ردود نداء. لا نضع الشيفرة التي نريد تنفيذها إلا داخل المُنفِّذ. و عليه مهمّة استدعاء resolve أو reject أي عليه أن يقوم بنداء/استدعاء أحد ردود النداء resolve أو reject: resolve(value)‎: لو اكتملت المهمّة بنجاح. reject(error)‎: لو حدث خطأ. و كائن الوعد promise الذي أعاده الباني new Promise له خاصيتين داخليتين، و هما: الحالة state: و تبدأ حالة الوعد بالقيمة "pending" وبعدها تنتقل إلى "fulfilled" متى تم استدعاء resolve، أو إلى "rejected" متى تم استدعاء reject. الناتج result: و يبدأ أولًا غير معرّف undefined، وبعدها يتغيّر إلى value متى تم استدعاء resolve(value)‎ أو يتغيّر إلى error متى تم استدعاء reject(error)‎. هذا الموضوع معقد بعض الشئ و يحتاج إلى وقت حتى تتمكن من فهمه بشكل جيد خذ وقتك، أيضًا أنصحك بأن تقوم بالبحث عن Promise في أكاديمة حسوب أو موسوعة حسوب و قراءة بعض المقالات التي تظهر لك حتى تتمكن من الفهم بشكل أفضل. و set time out هي دالة تقوم بتنفيذ دالة معينة بعد مرور زمن محدد، وهي مفيدة لعمل جدولة مزمنية مثلا، ومثلها الدالة set interval التي تكرر نفسها اي تستدعي الدالة كل X ثانية مثلا.. يمكننا استخدام هتين الدالتين عندما نستطيع التحكم بالزمن وعمل جدولة زمنية. هنا نستخدمها لتحديث الرسائل أو الاشعارات مثلا كل 5 ثواني.. أما promise هي غرض برمجي، ينفذ مهمة ما وهذه المهمة غير متزامنة اي لانعرف قيود زمنية لها، وتكون بشكل دالة، مثل جلب بيانات من المخدم، او تحميل صورة أو ملف..، وهنا لا نعلم بالضبط الزمن اللازم لانتهاء هذه العملية، أي ممكن تأخذ 1 ميلي ثانية، أو حتى 100 ثانية، هنا لايمكننا توقع متى تنتهي من التنفيذ. ثم بعد انتهاء المهمة الاساسية بنجاح، يقوم promise باستدعاء دالة resolve والتي مثلا تعرض لنا نتيجة مفادها نجاح تحميل او رفع بيانات أو عرض البيانات نفسها.. وإن حدث فشل في الاتصال أو في أي جزء، تستدعي promise دالة reject التي تعطينا رسالة خطأ وتشرح مالذي حصل..
    1 نقطة
×
×
  • أضف...