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

Khaled Osama3

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

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

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

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

    1

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

  1. بالنسبة للمشكلة الأولى لا يمكنك عمل model بدون انا تقوم بعمل class اولا لهذا ال model يتم لولا عمل model فى members بالاسم الذى تريد ومن ثم تقوم برن ال command: Python ./manage.py makemigrations member وبالنسبة انك تريد طباعة كلام زيادة فى ال صفحة فكل ما عليك هو اضافى هذا الكلام فى ال view لديك ، سوف تقوم بتعديل سطر رقم ستة بالكتابة اللى تريدها وسوف يقوم بطباعتها.
  2. فى Points[0].count(2) يتم حساب عدد مرات الظهور للقيمة 2 في القائمة الأولى points [0] . اما فى points.count(points[0]) فيتم حساب عدد العناصر الموجودة فى أول قائمة وليس عدد مرات ظهور عدد معين. لنفترض انك لديك القادمة هكذا : {1,2,2,3,2} عند استخدام اول سطر سوف يعيطك 3 (عدد ظهور العدد اثنين). وعند استخدام السطر الثانى سوف يعيطك 5 وهو عدد عناصر القائمة.
  3. ال jQuery هى مكتبة من مكتبات لغةالJavaScript . ويستخدمها المبرمجون بغض النظر عن طبيعة العمل لانها تدخل فى كتابة اغلب الframeworks أو بيئة العمل المشهورة مثلا بيئة عمل الbootstrap ، وهى تستخدم بسهولة جدا مع الوردبريس وعملية معه. انت فى أكاديمية حاسوب تتعلم الاسس البرمجية السليمة اللى ستفيدك فى عملك فى المستقبل إن شاء الله، ولا يجب عليك أن تتعلق بتلك التعليقات والآراء اللى سوف تشتتك عن التعلم لانه مثل تلك الآراء كانت تقول إن لغة ال java سوف تنتهى بحلول 2020 وها هى الجافا من أكثر اللغات المستخدمة حول العالم و عدد مستخدميها فى تزايد كل يوم و تزداد قوتها ايضا مع الوقت على سبيل المثال. وإن كنت مازالت متخوف من أنها ستنقرض فلا تقلق ، انت الان تتعلم الأساسيات وإن ظهرت اى حاجة أخرى بديلة لها فيمكنك تعلمها فى وقت قصير جدا و وتصبح متمكن فيها أيضا لانك تعلمت الأساسيات بشكل صحيح.
  4. العلاقات فى Django هى العلاقات العادية فى ال database وهى ثلاثة علاقات رئيسية وهم : العلاقة الواحد للواحد (one to one). العلاقة الواحد إلى الكثير(one to many). والعلاقة الكثير إلى الكثير (many to many). وده شرح كل وحادة منهم على حدا: العلاقة الواحد للواحد (one to one) : تستخدم عندما يكون لديك نموذج واحد يمكن أن يرتبط بعدة نماذج. مثال: علاقة بين نموذج "كتاب" ونموذج "مؤلف"، حيث يمكن للكتاب أن يكون له أكثر من مؤلف. العلاقة الواحد إلى الكثير(one to many): تستخدم عندما يكون لديك نموذج واحد يمكن أن يرتبط بعدة نماذج. مثال: علاقة بين نموذج "كتاب" ونموذج "مؤلف"، حيث يمكن للكتاب أن يكون له أكثر من مؤلف. والعلاقة الكثير إلى الكثير (many to many): تستخدم عندما يكون لديك نموذج يمكن أن يرتبط بعدة نماذج، والنماذج الأخرى يمكنها أيضًا أن تكون مرتبطة بعدة نماذج. مثال: علاقة بين نموذج "طالب" ونموذج "دورة"، حيث يمكن للطلاب أن يكونوا مسجلين في عدة دورات وكل دورة يمكن أن تكون لها عدة طلاب.
  5. تأكد من أنك لا تطبعها عند النسخ أو اللصق ، وإن لم يكن كذلك فما عليك الا ان تحذفهم قبل الطباعة ، يمكنك تعديل النسخ واللصق بالشكل التالى: def copy_item(self): item = self.tree.selection()[0] values = self.tree.item(item, option="values") if values: self.clipboard_clear() self.clipboard_append(values) def paste_item(self): values = self.clipboard_get() if values: self.tree.insert("", "end", valu es=values)
  6. تأكد من أنك لا تطبعها عند النسخ أو اللصق ، وإن لم يكن كذلك فما عليا الا ان تحذفهم قبل الطباعة
  7. أولاً نحتاج دالة لتحقق حالة تسجيل الدخول authentication state: function useAuth() { const [auth, setAuth] = useState(null); useEffect(() => { const storedAuth = localStorage.getItem('auth'); setAuth(storedAuth); }, []) return auth; } ثم سنستخدم هذه الدالة في المكون Routes: function Routes() { const auth = useAuth(); return ( <BrowserRouter> <Switch> {auth && <Route path="/dashboard" component={Dashboard}/>} <Route path="/login" component={Login}/> </Switch> </BrowserRouter> ) } و في مكون التسجيل login عند نجاح التسجيل نخزن الحالة في localStorage: localStorage.setItem('auth', true); و في مكون تسجيل الخروج logout نمحي الحالة من localStorage: localStorage.removeItem('auth'); بهذه الطريقة سوف يتم عرض المسار المحمي عند وجود الحالة في localStorage، وعند الخروج سيتم إزالتها.
  8. وعليكم السلام ورحمة الله، هناك طرق مختلفة لتنظيم ملفات ومسارات Next.js اعتمادًا على حجم وطبيعة المشروع. لكن بشكل عام يمكن التوصية بما يلي: - صفحات التسجيل والدخول: يمكن وضعها في مجلد pages/auth مثل pages/auth/login.js وpages/auth/register.js - المكونات: يمكن تنظيمها حسب وظيفتها مثل components/ui أو components/auth - المسارات: يمكن تعريفها في pages/api أو pages/api/auth - اللاياوت: يمكن تعريفها في components/layout - النماذج: يمكن تحديدها في utils/models مثال بسيط: - pages - api - auth.js - auth - login.js - register.js - index.js - components - auth - LoginForm.js - RegisterForm.js - layout - MainLayout.js - ui - Button.js - utils - models - User.js
  9. كود الواجهة التى تعرض فيها البيانات . import tkinter as tk from tkinter import ttk class YourApp(tk.Tk): def __init__(self): super().__init__() self.popup = tk.Menu(self, tearoff=0) self.popup.add_command(label="Copy", command=lambda: self.copy_item()) self.popup.add_command(label="Paste", command=lambda: self.paste_item()) self.tree = ttk.Treeview(self) self.tree.bind("<Button-3>", self.show_popup) def copy_item(self): item = self.tree.selection()[0] self.clipboard_clear() self.clipboard_append(self.tree.item(item, option="values")) def paste_item(self): self.text = self.clipboard_get() self.tree.insert("", "end", values=(self.text,)) def show_popup(self, event): row = self.tree.identify_row(event.y) if row: self.tree.selection_set(row) self.popup.post(event.x_root, event.y_root) # Instantiate and run the application if __name__ == "__main__": app = YourApp() app.mainloop() جرب هذا الكود
  10. هل يمكنك ارسال كود الفرونت ؟
  11. تأكد من أن هناك بيانات مدخلة
  12. يجب أن يكون M1 ولا يمكن أقل للأسف، ولكن يمكنه أن يكون ٨ رام ولكنك فى المستقبل ستحتاج إلى حاجة أعلى على حسب مستوى شغلك
  13. انت فى حاجة جهاز يكون على الأقل M1 ورمات ١٦ جيجا وطبعا نظام التشغيل هو واحد على كل أجهزة ماك وهو Mac os. بالنسبة لأسعار الأجهزة فهى متفاوتة جدا من يوم الى التانى وتختلف باختلاف حالة الجهاز . وانا لا أرجح شرائك جهاز مستعمل ، و لكنه سيؤدى الغرض وتستطيع التعلم والعمل عليه ، لكن الافضل اكيد إن تشترى جهاز جديد .
  14. عليكم السلام يمكنك تجربة هذا الكود ، وسيعمل معك إن شاء الله :()for index, row in self.A.iterrows self.tree.insert('', 'end', values=tuple(row))
  15. نعم هو عبارة عن نظام تشغيل ثانوى يمكنك اضافته على الجهاز لديك بجانب وجود نظام الويندوز او أيا كان النظام الذى تستخدمه وبذلك يكون لديك نظامين تشغيل على الجهاز تستخدم أيا منهما كيفما تشاء ، و تحميله سهل.
  16. يمكنك تحميل virtual machine للجهاز لديك وتقدر من خلاله برمجة تطبيقات ال iOS من الأفضل أن تتعلم swift لأنها اللغة ال native لبرمجة ال iOS ويمكنك بعدها تعلم فلاتر بسهولة جدا.
  17. تقاس كفاءة الخورازمية ب ال time complexity وده يمكن حسابه عن طريق حساب كل جزء فى الكود و من ثم أخذ القيمة الأكبر بينهم وتكون وحدة القياس هى (n)O على سبيل المثال. أما على هل يمكن أن يحصل ده فى كل سطر من الكود فهو نعم يمكن ، فأنت عندما يحتوى الكود الخاص بك على عمليات بسيطة مثل الجمع والطرح وغيرها ، عندها يكون وقت تنفيذ الكود لديك ثابت
  18. تبدو المشكلة هنا خطأ إملائي في الكود. يجب تغيير السطر: $date['image'] = $image; إلى: $data['image'] = $image; بعد إجراء هذا التغيير، يجب أن يتم تخزين الصورة بشكل صحيح
  19. نعم يمكن القول بأن استخدام رياكت اصبح الخيار الأول في تطوير تطبيقات الويب الحديثة، وذلك لان يوفر رياكت بيئة عمل مرنة تسمح ببناء واجهات المستخدم بسرعة أكبر من HTML/CSS/JS العادية، حيث يتم بناء الصفحات ديناميكيا من مكونات قابلة لإعادة الاستخدام. تقسيم التطبيق إلى مكونات صغيرة مستقلة تجعل عملية تحديث أو إصلاح أجزاء محددة أسهل بكثير. يتم إنشاء DOM من قبل رياكت بشكل ذكي وفقًا لتغيرات البيانات فقط، مما يحسن الأداء بشكل أساسي عن الطرق التقليدية. فنظام الحالات State داخل المكونات يجعلها قابلة للتنبؤ مما يسرع أداء وواجهة المستخدم. فعند حدوث تغيير في الحالة يتم إعادة رسم فقط الجزء المتأثر من الصفحة وليس كلها. مما يوفر موارد المعالجة والشاشة.والارتباط بين البيانات والعرض سطحي وأقل تعقيدا من الجافا سكريبت العادي. أصبحت المهارات المتعلقة برياكت من أكثر المهارات طلبًا في سوق العمل حاليًا، حيث يتطلب معظم المشاريع الكبرى خبرة في هذا الإطار مثل (Facebook, Instagram). لذلك، فإنه من الأفضل تعلم رياكت بدلاً من استخدام HTML/CSS/JS العادية للتطوير.
  20. هناك ثلاث طرق لكتابة أكواد 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 إلا في حالات استثنائية.
  21. يمكنك تجربه هذا الكود بعض اضافه مادتين 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)
  22. يمكنك استيراد مكتبة 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[['الاسم', 'الماده', 'امتحان اول', 'امتحان ثاني', 'النهائي']]
  23. لا أرى أنك قمت بأي شيء خاطئ في هذا المشروع حتى الآن. بل على العكس، فإنك قد أخذت الخطوات الصحيحة لبناء تطبيق لقائمة الأنمي: تقسيم التطبيق إلى مكونات (Components) منطقية: الهيدر، القائمة الرئيسية، القائمة. تصميم واجهات مستخدم بسيطة ووظيفية بإضافة تقنيات CSS. استخدام حالات البيانات (state) بشكل صحيح لحفظ البيانات. تنظيم ملفات المشروع وتقسيمها بشكل منطقي. اليك بعض النصائح لتحسين هذا المشروع: إضافة slider اسفل ال Header ليعرض اخر الانمي المضافه. عمل نظام لتصنيف الأنمي حسب الفئات مثل عمر، نوع، تقييم. إضافة عنصر بحث للعثور على أنمي معين. عمل صفحة تفاصيل خاصة لكل أنمي تضم وصفا وصورا وتعليقات. تطبيق نظام تسجيل الدخول والحسابات لتمكين المستخدمين من إضافة أنمي لقائمة المفضلة أو إضافة تعليقات.
  24. هناك فرق بسيط بين وضع الComponents في ملف App.js أو Index.js في رياكت: ملف App.js: يعتبر الملف الرئيسي للتطبيق. ويحتوي عادة على تعريف الComponent الأساسي وتوابعه. ملف Index.js: لا يحتوي على أي تعريف للComponents . بل يقوم فقط بتجميع وتشغيل التطبيق. فالفرق العملي هنا في App.js ستكتب الكود وتعرّف الComponents وفي Index.js سيتم فقط تشغيل التطبيق وربطه بالـ DOM. لذا من الأفضل وضع التعاريف في App.js لتنظيم الكود. بينما Index.js مخصص فقط لتشغيل التطبيق. ولكن يمكن وضع Components أيضاً في Index.js إذا اقتضى الأمر، لكنها ليست الطريقة الأكثر نظاما.
×
×
  • أضف...