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

Khaled Osama3

الأعضاء
  • المساهمات

    1733
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    1

كل منشورات العضو Khaled Osama3

  1. نعم هو عبارة عن نظام تشغيل ثانوى يمكنك اضافته على الجهاز لديك بجانب وجود نظام الويندوز او أيا كان النظام الذى تستخدمه وبذلك يكون لديك نظامين تشغيل على الجهاز تستخدم أيا منهما كيفما تشاء ، و تحميله سهل.
  2. يمكنك تحميل virtual machine للجهاز لديك وتقدر من خلاله برمجة تطبيقات ال iOS من الأفضل أن تتعلم swift لأنها اللغة ال native لبرمجة ال iOS ويمكنك بعدها تعلم فلاتر بسهولة جدا.
  3. تقاس كفاءة الخورازمية ب ال time complexity وده يمكن حسابه عن طريق حساب كل جزء فى الكود و من ثم أخذ القيمة الأكبر بينهم وتكون وحدة القياس هى (n)O على سبيل المثال. أما على هل يمكن أن يحصل ده فى كل سطر من الكود فهو نعم يمكن ، فأنت عندما يحتوى الكود الخاص بك على عمليات بسيطة مثل الجمع والطرح وغيرها ، عندها يكون وقت تنفيذ الكود لديك ثابت
  4. تبدو المشكلة هنا خطأ إملائي في الكود. يجب تغيير السطر: $date['image'] = $image; إلى: $data['image'] = $image; بعد إجراء هذا التغيير، يجب أن يتم تخزين الصورة بشكل صحيح
  5. نعم يمكن القول بأن استخدام رياكت اصبح الخيار الأول في تطوير تطبيقات الويب الحديثة، وذلك لان يوفر رياكت بيئة عمل مرنة تسمح ببناء واجهات المستخدم بسرعة أكبر من HTML/CSS/JS العادية، حيث يتم بناء الصفحات ديناميكيا من مكونات قابلة لإعادة الاستخدام. تقسيم التطبيق إلى مكونات صغيرة مستقلة تجعل عملية تحديث أو إصلاح أجزاء محددة أسهل بكثير. يتم إنشاء DOM من قبل رياكت بشكل ذكي وفقًا لتغيرات البيانات فقط، مما يحسن الأداء بشكل أساسي عن الطرق التقليدية. فنظام الحالات State داخل المكونات يجعلها قابلة للتنبؤ مما يسرع أداء وواجهة المستخدم. فعند حدوث تغيير في الحالة يتم إعادة رسم فقط الجزء المتأثر من الصفحة وليس كلها. مما يوفر موارد المعالجة والشاشة.والارتباط بين البيانات والعرض سطحي وأقل تعقيدا من الجافا سكريبت العادي. أصبحت المهارات المتعلقة برياكت من أكثر المهارات طلبًا في سوق العمل حاليًا، حيث يتطلب معظم المشاريع الكبرى خبرة في هذا الإطار مثل (Facebook, Instagram). لذلك، فإنه من الأفضل تعلم رياكت بدلاً من استخدام HTML/CSS/JS العادية للتطوير.
  6. هناك ثلاث طرق لكتابة أكواد CSS ولكل طريقه لها مزاياها وعيوبها: 1. Inline CSS: وهي كتابة الأنماط داخل عنصر HTML مباشرة مثل: <p style="color: blue;">Paragraph</p> المميزات: يتم تطبيق الأنماط مباشرة على عنصر واحد فقط. في حالة التضارب بين الأنماط، Inline CSS يسود على Internal و External CSS اي انه أقوى أولوية من باقي الأنماط. العيوب: غير مرنة وصعبة الصيانة لوجود الأنماط مختلطة مع المحتوى. يصعب تطبيق الأنماط على مجموعات من العناصر. 2. Internal CSS: وهي كتابة الأنماط داخل علامة <style> داخل الصفحة HTML. <!DOCTYPE html> <html> <head> <style> p { color: blue; font-size: 16px; } </style> </head> <body> <p>نص الفقرة</p> </body> </html> المميزات: توفير بعض التنظيم وإمكانية إعادة استخدام الأنماط. العيوب: لا يزال الكود متداخلًا مع العناصر الأخرى في الصفحة. 3. External CSS: وهي كتابة جميع الأنماط في ملف CSS منفصل وربطه بالصفحة عن طريق <link>. <!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="styles.css"> </head> <body> <p>نص الفقرة</p> </body> </html> p { color: blue; font-size: 16px; } المميزات: أكثر نظامًا وسهولة الصيانة. يمكن تطبيق الأنماط على مجموعات العناصر. يمكن استخدام الملف نفسه على صفحات متعددة. العيوب: قد تكون إجراءات الاستدعاء تزيد في عدد الطلبات إلى الخادم فالخيار الأمثل هو استخدام External CSS إلا في حالات استثنائية.
  7. يمكنك تجربه هذا الكود بعض اضافه مادتين import pandas as pd df = pd.read_excel("input.xlsx") # Extract relevant information columns_names = df.columns.tolist() num_columns = len(df.columns) num_subjects = (num_columns - 1) // 3 num_rows = len(df.index) names = df.iloc[:, 0].tolist() # Create a new DataFrame from the fourth column to the last new_df = df.iloc[:, 4:] # Remove columns from the fourth column to the last df = df.iloc[:, :4] # Rename columns for امتحان اول, امتحان ثاني, and النهائي column_rename_dict = {df.columns[1]: 'امتحان اول', df.columns[2]: 'امتحان ثاني', df.columns[3]: 'النهائي'} new_df.rename(columns=dict(zip(new_df.columns, ['امتحان اول', 'امتحان ثاني', 'النهائي'] * num_subjects)), inplace=True) df.rename(columns=column_rename_dict, inplace=True) # Append rows for i in range((num_subjects - 1)): df = pd.concat([df, new_df.iloc[:, (i * 3):((i + 1) * 3)].assign(الماده=columns_names[((i + 1) * 3) + 1]).assign(الاسم=names)], ignore_index=True) df.loc[0:num_rows, 'الماده'] = columns_names[1] # Sort columns df = df[['الاسم', 'الماده', 'امتحان اول', 'امتحان ثاني', 'النهائي']] # Save to Excel df.to_excel("output.xlsx", index=False) print(df)
  8. يمكنك استيراد مكتبة Pandas باستخدام import pandas as pd. هذه الخطوة تتيح لنا استخدام طرق وأدوات Pandas مثل القراءة وكتابة الDataFrame. import pandas as pd 2. قراءة البيانات من ملف إكسل باستخدام pd.read_excel() وتخزينها في متغير df. # get file xlsx df = pd.read_excel("data.xlsx") 3. معاينة الداتا فريم باستخدام print(df) للتأكد من القراءة. # Print the dataframe print(df) 4. إضافة عمود جديد بإعادة تسمية أحد المواد. # make الماده = second column header df['الماده'] = df.columns[1] 5. إعادة تسمية أسماء الأعمدة باستخدام df.rename(). # rename columns df = df.rename(columns={df.columns[0]: 'الاسم', df.columns[1]: 'امتحان اول', df.columns[2]: 'امتحان ثاني', df.columns[3]: 'النهائي'}) 6. ترتيب الأعمدة بالترتيب المطلوب باستخدام df[['عمود1'...'عمودn']]. # sort columns df = df[['الاسم', 'الماده', 'امتحان اول', 'امتحان ثاني', 'النهائي']]
  9. لا أرى أنك قمت بأي شيء خاطئ في هذا المشروع حتى الآن. بل على العكس، فإنك قد أخذت الخطوات الصحيحة لبناء تطبيق لقائمة الأنمي: تقسيم التطبيق إلى مكونات (Components) منطقية: الهيدر، القائمة الرئيسية، القائمة. تصميم واجهات مستخدم بسيطة ووظيفية بإضافة تقنيات CSS. استخدام حالات البيانات (state) بشكل صحيح لحفظ البيانات. تنظيم ملفات المشروع وتقسيمها بشكل منطقي. اليك بعض النصائح لتحسين هذا المشروع: إضافة slider اسفل ال Header ليعرض اخر الانمي المضافه. عمل نظام لتصنيف الأنمي حسب الفئات مثل عمر، نوع، تقييم. إضافة عنصر بحث للعثور على أنمي معين. عمل صفحة تفاصيل خاصة لكل أنمي تضم وصفا وصورا وتعليقات. تطبيق نظام تسجيل الدخول والحسابات لتمكين المستخدمين من إضافة أنمي لقائمة المفضلة أو إضافة تعليقات.
  10. هناك فرق بسيط بين وضع الComponents في ملف App.js أو Index.js في رياكت: ملف App.js: يعتبر الملف الرئيسي للتطبيق. ويحتوي عادة على تعريف الComponent الأساسي وتوابعه. ملف Index.js: لا يحتوي على أي تعريف للComponents . بل يقوم فقط بتجميع وتشغيل التطبيق. فالفرق العملي هنا في App.js ستكتب الكود وتعرّف الComponents وفي Index.js سيتم فقط تشغيل التطبيق وربطه بالـ DOM. لذا من الأفضل وضع التعاريف في App.js لتنظيم الكود. بينما Index.js مخصص فقط لتشغيل التطبيق. ولكن يمكن وضع Components أيضاً في Index.js إذا اقتضى الأمر، لكنها ليست الطريقة الأكثر نظاما.
  11. تخصص الذكاء الاصطناعي يعتبر من أهم وأكثر التخصصات مستقبلاً سواء في السوق العربية أو العالمية. والطريقة الأفضل للبحث عن فرص عمل هي عبر مواقع التوظيف أو تواصل مباشر مع الشركات ذات الصلة. ويمكنك تأسيس شركة تقدم خدمات أو حلول في AI في دول ما زال هناك طلب عليها. والأفكار المبتكرة لها فرص جيدة. لكن بالنسبة للأمن السيبراني هو أيضا تخصص مستقبلي مهم وفرص عمل كثيرة له. يمكن العمل عبر منصات عمل حر في كلا المجالين ولكن بقله فالمجالين مطلوبين في الشركات اكثر من العمل الحر. أما أيهما أنسب، فأنصحك بأن تبحث عن مجالك المفضل بناء على ميولك الشخصية ومهاراتك, فلا مانع ان تجرب ان تبدأ في كل مجال لمده شهر وليكن فاذا اعجبك يمكنك ان تكمل فيه ولكن يمكنك ايضا ان تنقل للمجال الثاني ولكن لا انصح بالمجالين مع بعض لانهم غير قريبين وستواجه صعوبه كبيره فابدأ في كل مجال ع حدا حتي تقرر بنفسك ايهم انسب لك.
  12. المشكلة هنا أن useState لا يقوم بتحديث الحالة بشكل مباشر، بل يقوم بدمج التحديثات بشكل تفريغي. لذلك بعد الدعوة إلى setMovies لن يتم عرض الحالة المحدثة مباشرة. يمكنك استخدم استدعاء دالة useEffect مع توقيع movies: useEffect(() => { console.log('movies', movies); }, [movies]); لذا يجب الانتظار حتى يتم تطبيق التحديث ثم استخدامه.
  13. يمكنك موقع لارافيل الرسمي فهو يتم تحديثه باستمرار بمعلومات عن الإصدارات والتغييرات الرئيسية, ومتابعه GitHub لمتابعة التغييرات على مستودع لارافيل الرئيسي, و انضم إلى المجتمعات المتخصصة في Laravel عبر منتديات الإنترنت وشبكات التواصل الاجتماعي, وزيارة مواقع مثل Laravel News و Laravel Daily لتلقي أخبار ومقالات حديثة حول Laravel. كما يجب متابعة أحدث الإصدارات يدويا من حين لآخر للتأكد من عدم فوت أي تحديثات.
  14. نصيحتي لك هي: اكمل باذن الله دورة تطوير الواجهات الأمامية التي تتابعها حاليا, فهذه الدورة مهمة لتعلم جوانب تصميم وإنشاء الواجهات.ثم يمكنك ممارسة حل المشاكل على موقع LeetCode فهي جيدة لتحسين مهارات البرمجة, لكن اجعل ذلك بعد انتهائك من الجافا سكريبت حتى تستوعب كل ما تدرسه جيدا .
  15. يمكنك تشغيل السكريبت عبر الدالة exec في PHP ستنادي علي سكريبت بايثون من داخل متغير Controller باستخدام الخاصية PHP `exec()` أو `system()` // اسم ملف السكريبت في مجلد resources/python $scriptPath = base_path('resources/python/index.py'); // الأمر لتشغيل سكريبت Python $command = "python $scriptPath"; // تشغيل السكريبت exec($command, $output, $exitCode); // التحقق من إذا كان هناك أخطاء if ($exitCode !== 0) { echo "حدث خطأ أثناء تشغيل السكريبت"; } else { echo "تم تحويل الملفات بنجاح!"; }
  16. لا يوجد حل صارم فيمكنك ان تفعل الخياران ولكن حسبما تريد لتطوير كود برنامج سابق: تكمل على نفس الملف القديم: هذا الخيار يتيح لك الاستمرار في نفس المشروع وتطويره تدريجيا. مزاياه أنه يحافظ على استمرارية العمل وتاريخ التعديلات. ولكن قد تؤدي التعديلات إلى إفساد الكود القديم. او تبدأ ملف جديد: هذا يتيح إعادة البدء من الصفر بتصميم أفضل. ويضمن عدم إفساد الكود الأصلي أثناء التعديلات. لكن قد تفقد بعض تاريخ التطوير. أنا أوصي بالخيار الثاني خاصة إذا كانت التعديلات ستطرح تغييرات كبيرة في التصميم او لمجرد التجربه. ويمكنك تسمية الملف الجديد مثلا recong2.py للحفاظ على تاريخ الإصدارات.
  17. الكمبيوتر سيفهم أن 1 يعني True و 0 يعني False السبب هو أن بايثون مثل باقي لغات البرمجة تعامل القيم 1 و 0 على أنها قيم منطقية boolean. فمثلاً لو طلبنا من الكمبيوتر أن يطبع قيمة متغير بعد تحديده على 1 سيطبع True لأنه يفهم أن 1 هنا تمثل القيمة المنطقية الحقيقية True. وبالمثل لو حددنا المتغير على 0 سيطبع False لأن 0 تمثل القيمة المنطقية الكاذبة False. فالكمبيوتر لن يعتبر 1 مجرد رقم وانما سيفسرها على أنها قيمة منطقية boolean. ولكن يُفضل استخدام True بدلاً من 1 لتوضيح النية وجعل الكود أكثر وضوحًا وقراءة. هناك حالات محددة يمكن فيها اعتبار الرقم true أو false في لغة البرمجة: - يعتبر الرقم 1 true دائما. فأي تعبير يساوي 1 سيعتبر true. if 1: print("True")#سيطبع True - أي رقم غير الصفر يعتبر true مثل : ، 2، -1، -2 if 10: print("True")#سيطبع True - الصفر يعتبر false. if 0: print("True") else: print("False")#سيطبع False - الأرقام التالية تعتبر false: 0, 0.0, None, False, "", [], {}, () - أي قيمة موجودة تعتبر true. مثل: if name: - يمكن تحويل الأرقام إلى قيم منطقية باستخدام bool(). مثال: if bool(1): print("True") if bool(0): print("False") في حالة عدم وجود قيمة أو كانت القيمة مساوية للصفر ستعتبر false، وفي باقي الحالات ستعتبر true.
  18. الدالة ord() في بايثون تقوم بحساب القيمة العددية لأول حرف في سلسلة ما. تستخدم الدالة ord() لتحويل الرموز أو الحروف إلى أرقام أو قيم عددية حسب جدول الرموز العددية التي يتم استخدامها من قبل لغة البرمجة. فجدول الرموز العددية أو الجدول الأسكي (ASCII) هو معيار لتمثيل الرموز والأحرف بأرقام عشرية بحيث يتم ترميز كل رمز أو حرف برقم محدد. هذا الترميز الرقمي يسمح بمعالجة النصوص والرموز على شكل أرقام في الحواسيب، مما يسهل تخزينها ومعالجتها. أهم مميزات وخصائص جدول الرموز العددية: يتكون من 128 رمز وحرف. يبدأ الترقيم من 0 إلى 127. تم اعتماده من قبل العديد من أنظمة التشغيل. يحتوي على أحرف الإنجليزية وأرقام ورموز خاصة. الأرقام من 32-126 تخص الحروف والرموز. الأرقام الأخرى لرموز تحكم أو خاصة. يمكن الإطلاع على الجدول بالتفصيل لمعرفة الرمز أو الحرف المقابل لكل رقم عددي. وهذا ما تستخدمه دالة ord() لتحويل الحروف إلى أرقام. بشكل عام تقوم الدالة بأداء المهام التالية: تأخذ سلسلة مكونة من حرف واحد كمعطى. تعيد القيمة العددية الموافقة لذلك الحرف وفقاً لجدول الرموز. مثال: ord('a') ستعيد 97. تستخدم لتحويل النص إلى أرقام قبل معالجتها أو نقلها. تساعد في التعامل مع النصوص على أنها أرقام.
  19. نعم يمكنك تحديث أي مكتبة أو إطار عمل دون الحاجة لمسح المكتبة وإعادة تنزيلها مرة أخرى. في Python يمكنك تحديث المكتبات أو الإطارات باستخدام أمر pip: pip install --upgrade <package_name> حيث يقوم أمر pip install بتحديث المكتبة أو الإطار إلى آخر إصدار متاح دون المساس بالملفات الموجودة مسبقا. مما يعني أنك لن تحتاج لمسح شيء وإعادة تنزيل، بل سيقوم ببساطة بتحديث المكتبة أو الإطار إلى إصدار أحدث. ولكن يجب ان تحذر قد تحتاج في بعض الأحيان إلى تحديث بعض التعليمات البرمجية داخل المشروع لتتوافق مع التغييرات في الإصدار الجديد.
  20. نعم يمكنك استخدام هذه الخاصية قيمتها تشير إلى موقع الصفحة: <a href="home.html#section2">Back</a> بحيث يجب ان تعطي السكشن المراد الذهاب اليه نفس قيمه ال id <section id="section2"> <!-- Add your content here --> </section> هذه الطريقه ستعيد المستخدم إلى السكشن المطلوب بدلاً من العودة إلى أعلى الصفحة الرئيسية.
  21. يمكنك استخدام مكتبة random في Python لتطوير هذه اللعبة حيث هي مكتبة تستخدم لإنتاج أرقام عشوائية أو ترتيب عناصر عشوائياً. تعتمد على ساعة الوحدة المركزية وبيئة تشغيل بايثون لإنتاج أرقام عشوائية حقيقية متنوعة وغير قابلة للتنبؤ. 1. اكتب السطر التالي لإستيراد المكتبة random التي ستساعدنا في اختيار رقم عشوائي: import random 2. قم بتعريف المتغيرات اللازمة مثل: الرقم_السري = random.randint(1, 10) # يتم اختيار الرقم السري عشوائيا بين 1 و 10 محاولات = 0 3. بدء اللعبة وشرح القواعد: print("أهلاً بك في لعبة التخمين!") print("أنا اخترت رقماً بين 1 و 10. جرب حظك!") 4. البدء في الحلقة التكرارية لتحديد عدد المحاولات. while محاولات < 10: 5. داخل الحلقه التكراريه اطلب تخمين المستخدم . تخمين = int(input("ادخل تخمينك للرقم (بين 1-10): ")) 6. وقارنه مع الرقم السري وطبع رسالة تخبر بالنتيجة (أقل/أكبر/صح). if تخمين == الرقم_السري: print(f"تهانينا! لقد حزرت الرقم {الرقم_السري} بعد {محاولات} محاولات.") break elif تخمين < الرقم_السري: print("تخمينك أقل من الرقم السري") else: print("تخمينك أكبر من الرقم السري") 7. وزياده عدد المحاولات محاولات += 1 8. إنهاء اللعبة بعد 10 محاولات if محاولات == 10: print("لقد استنفذت كل محاولاتك. الرقم السري هو:", الرقم_السري)
  22. الوقت الفعلي المطلوب لتعلم والعمل في أي مجال قد يختلف بشكل كبير من شخص لآخر بناء على عوامل مثل: خلفية وميول الشخص السابقة. كمية الوقت المخصصة للتعلم يوميا. المقدرة الشخصية وسرعة الاستيعاب. توافر الدعم والمصادر التعليمية الجيدة. سابقة الخبرة في مجالات متصلة. حيث لا يمكن إعطاء تقدير دقيق للأوقات بالضبط بين الأفراد. المهم أنك تأخذ الوقت اللازم لك للتعلم والتطبيق حسب قدراتك وظروفك الشخصية. ولا تقارن نفسك مع الآخرين. نعم الويب تعلمه اسهل واسرع من مجال ال ai
  23. لا توجد اجابه حاسمه فمن وجهة نظري، هناك بعض العوامل التي يجب أخذها في الاعتبار عند اختيار بين مجالي الويب أو AI: مجال الذكاء الاصطناعي من المتوقع أن يكون له تأثير كبير على مختلف القطاعات في السنوات القادمة. فرص العمل حالياً توجد فرص عمل أكثر في مجال الويب، ولكن مع الوقت ستزداد فرص العمل في مجال AI. المهارات مجال AI يتطلب مهارات رياضياتية وبرمجية أعمق مقارنة بالويب. فيتطلب وقت اكثر للتمكن منه وتصبح قادر ع مواكبه سوق العمل. إذا كان لديك الوقت والرغبة في تعلم مهارات جديدة، فيمكنك البدء بالويب ثم توسيع مهاراتك لاحقاً في مجال AI. ومن الافضل ان تأخذ في كل مجال قشوره حتي تتأكد انك ميال لاي مجال منهم وتبدأ فيه باذن الله.
  24. بالنسبة للسؤال الأول: - مهندس ذكاء اصطناعي (AI Engineer) - باحث في الذكاء الاصطناعي (AI Researcher) - محلل بيانات (Data Analyst) - مصمم نماذج ذكاء اصطناعي (AI Model Designer) - مهندس تعلم آلي (Machine Learning Engineer) - مطور أنظمة ذكاء اصطناعي (AI System Developer) أما بالنسبة للسؤال الثاني: نعم ممكن توظف كـ Full Stack Developer مع العمل في مجال الذكاء الاصطناعي. ولكن إلادماج سيكون صعباً لأن المجالان مختلفان. يفضل أن تركز على تطوير مهاراتك في المجال الذي اخترته بشكل جيد لتكون فعّالًا فيه. نصيحتي لك أن تركز على مجال واحد في البداية حتى تتمكن من إتقانه. إن تفرقك بين أكثر من مجال من شأنه أن يبعثر جهودك ويمنعك من الوصول للمستوى المتقدم. اختار إما مجال الذكاء الاصطناعي أو تطوير الويب، حسب ما تشعر أنه يميلك أكثر باهتمامك ومواهبك. ثم ركز عليه تماما حتى تصبح خبيرا فيه. بعد ذلك بعد سنة أو سنتين من التركيز على مجالك الأول، يمكنك توسيع آفاقك لتشمل المجال الثاني تدريجيا، لكن لا تجعل ذلك على حساب الأول.
×
×
  • أضف...