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

كل الأنشطة

تحدث تلقائيًا

  1. الساعة الماضية
  2. نعم هذا ممكن، لأن Bootstrap في أصله هو مجموعة من عناصر HTML التي تم إضافة أنماط لها باستخدام CSS، مع القليل من JavaScript في العناصر التفاعلية (مثل collapse و modal و popover...). لذلك، عدم معرفة JavaScript لا يؤثر بشكل كبير على دراستك لـBootstrap إذا كنت لا تقوم بإنشاء مواقع تعتمد على العناصر التفاعلية. هنا للأسف سوف أخالفكما الرأي. Bootstrap هو إطار عمل يختصر عليك وقت التطوير ويمكنك من إنشاء واجهات جميلة في وقت قصير. ما يفعله Bootstrap هو أنه يقوم بإخفاء بعض CSS عنك، لكنه ليس بديلا لـCSS أبدا ولا يمكن أن يكون هناك بديل لها. استخدام Bootstrap في إنشاء الواجهات مثل استخدام الآلة الحاسبة للتاجر. التاجر يجب أن يعرف الحساب بدون استخدامها، لكن بدل أن يضيع وقته بالحساب ببطء فإنه يختصر الوقت باستخدام آلة حاسبة لكي يستثمر وقته في أعمال أخرى. لكن عندما يصادف مسألة لا تصلح فيها الآلة الحاسبة، فإنه يجب عليه أن يستطيع الاعتماد على عقله. لذلك، استخدام Bootstrap بدون معرفة CSS هو مثل أن تعطي آلة حاسبة لطفل في المدرسة الابتدائية وتقول هل: لا داعي لتعلم الحساب، يمكنك الاعتماد على هذه الآلة الحاسبة في حياتك! ما رأيك بهذا التصرف؟ هل هو تصرف عقلاني؟ من الطبيعي أن تكون الأخطاء كثيرة وأن يكون منحنى التعلم هكذا في البداية. كلنا مررنا بهذه المرحلة في لحظة ما من حياتنا. لذلك تحتاج في البداية إلى بذل جهد أكبر مما سيكون عليك فعله لاحقا. سوف تصبح الأمور أبسط مع تقدم الوقت. يمكنك أن تسأل أي مبرمج متقدم عن صعوبة HTML و CSS، سوف يقول لك أن هذه أسهل لغات البرمجة التي تعلمها في حياته! (بل في الواقع، هي ليست لغات برمجة بالمعنى الدقيق للكلمة، بل هي لغات توصيف فقط). لذلك، بالمثابرة سوف تصل بعد مدة إلى هذه المرحلة وسوف تنظر إلى الماضي وتقول مثلما نقول نحن الآن إن شاء الله.
  3. إذا كنت تقصد ملفات تعريف الارتباط (cookies) فهي ملفات صغيرة يتم إرسالها من الخادم لحفظ معلومات معينة على جهاز المستخدم. هذه المعلومات قد تكون مثلا اللغة التي يفضلها المستخدم في المواقع التي تحوي عدة لغات، وقد تكون العملة المفضلة للمستخدم في مواقع الشراء التي تتيح استخدام عدّة عملات. والأشهر من ذلك كله أنها قد تكون معرفا للجلسة (Session) الحالية، والتي عن طريقها يتم تذكر أن المستخدم قد قام بتسجيل الدخول أم لا. فعندما يقوم المستخدم بتسجيل دخوله تقوم الواجهة الخلفية للموقع بتوليد ملف تعريف ارتباط (cookie) ويتم إرساله إلى المستخدم. المتصفح يقوم بدوره بحفظ هذا الملف ويعيد إرساله في جميع الطلبات اللاحقة. عندما تقرأ الواجهة الخلفية للموقع هذا الملف فإنها تعرف أن هذا يخص مستخدما محددا وتعرض له الموقع بالطريقة المناسبة له (مثلا، تسمح له بكتابة تعليقات وتعرض له اسمه وصورته، خلافا للزائر الذي لم يسجل الدخول). ملفات تعريف الارتباط هي ملفات مؤقتة لها مدة صلاحية معينة وتختلف باختلاف وظيفتها. بعض ملفات تعريف الارتباط لا تصلح سوى لدقائق معدودة ويتم مسحها بمجرد إغلاق المتصفح (هذا النوع يستخدم عادة في المواقع البنكية)، وبعضها الآخر قد يبقى صالحا لمدة سنة كاملة. كما أن المستخدم يمكنه أن يحذف ملفات تعريف الارتباط في أي وقت يريد، وجميع المتصفحات لديها هذه الميزة. ملفات تعريف الارتباط ليست خاصة بلغة PHP، بل هي من أساسيات الويب وبروتوكولات HTTP/HTTPS، وجميع التطبيقات التي تستخدم هذه البروتوكولات يمكنها أن تتعامل مع ملفات تعريف الارتباط.
  4. هل ينفع ادرس البوت ستراب قبل الجافا سكربت في مجال الفرونت اند لاني درست css وواجهت صعوبة كبيرة في فهمها واخطاء ومشاكل بالرغم من اني انسخ الكود من الفيديو ولام افم قال لي صديق ان البوت ستراب سيغنيك عن كتابة css
  5. اليوم
  6. البارحة
  7. السلام عليكم شنو الطريقة الصحيحة للتعامل مع صاحب المشروع اثناء التقديم على عمل وتواصله معي؟ اقصد انو بكثير من الأحيان يجي صاحب المشروع احس انه يتواصل معاي عشان ياخد افكار وفجأة يقول لغيت الفكرة او يروح يختار مستقل ثاني بعد ما نكون متفقين وقايل انو حيشتغل معي مثلاً وكيف الطريقة الصح اللي ممكن اتبعها لتحديد المتطلبات بشكل صح بحيث اضمن ما يصير تغيير؟ يعني من بداية التواصل حتى البدأ بالمشروع ارجو الافادة والتفصيل واتشكركم
  8. شكرًا لك أخي مصطفى، اني اختاجها لأني قمت بتثبيت الحزم على جهازي بإصدارات محددة ومتأكد من عدم تضاربها وأنا أقوم بإنشاء بيئة افتراضية دوماً، لكن لماذا أعيد تثبيت الحزم التي قمت بتثبيتها مسبقاً واللي حجمها كبير! اني فقط أريد أن آخذها من الأساس وأضعها في البيئة الافتراضية جيد عشان ما أضيع وقت بالتنزيل رائع شكراً لحضرتك تم حل المشكلة
  9. تقريباً وصلت الفكرة شكراُ لحضرتك شكرا جزيلاً أخ علي على جهدك وأمثلتك الجميلة، تمام اني افتهمت الفكرة
  10. كيف يمكن استخراج الهيكلية للملف PDF وكيف لي ان اخزن الشكل على ماذا اعتمد في هذه الحالة ؟؟
  11. فئات البيانات في بايثون (Data Classes) تم تقديمها اول مرة من الاصدار 3.7 تقدم طريقة أنظف وأكثر كفاءة لكتابة الClasses التي نحتاج: يوجد العديد من التوابع التي نكتبها بشكل يدوي والتي تقوم ببعض الوظائف الخاصة بالClass معين سوف نتعرف على بعضها ومثال لهذه التوابع التي تسمى ( "dunder" methods ) واهمها عند تعريف Class يجب تعريف الباني (constructor) الخاص به مثال ليكن لدينا الClass الخاص بتعريف عن مستثمر حيث يتعرف عليه ب اسمه و عمره وثروته class Investor: def __init__(self,name,age,cach): self.name = name self.age = age self.age = age نلاحظ ضروة استخدام الدالة __init__ لتمكني من تعريف المستثمر i1 = Investor("ali",25,8000) i2 = Investor("Jasem,",20,100000) في حال غياب الباني (constructor) لا يمكن تمرير القيم للكائن واذا اردنا طباعة i1 يظهر نتيجة بشكل غير مفهوم كالاتي : ولحل هذه المشكلة يمكن الاستعانة بالدالة repr نضيفه على Class ونحدد من خلاله القيمة التي نريد ان نطبعا حين طباعة الكائن من الClass : class Investor: def __init__(self,name,age,cach): self.name = name self.age = age self.age = age def __repr__(self) -> str: return self.name نعيد طباعة i1 لتظهر قيمة الاسم الخاصة بهذا الكائن كالاتي : واذا اضفنا كائن اخر يشابه في بيانته الكائن الاول كالاتي i1 = Investor("ali",25,8000) i2 = Investor("Jasem,",20,100000) i3 = Investor("ali",25,8000) واختبرنا اذا كان متشابهان نلاحظ انه اعطى قيمة خطأ اي انهما غير متساويين علما لو اختبرنا عن تساوي نفس الكائن يعطي انهما مساويين اي يرجع True ويوجد دالة تساعد هذا Class في تحديد السمة التي نريد المقارنة عليها في حال اردنا تطبيق اختبار المساوات وهي الدالة eq وتعرف بالشكل التالي في حال اردنا ان يقارن على الاسم فقط : class Investor: def __init__(self,name,age,cach): self.name = name self.age = age self.age = age def __repr__(self) -> str: return self.name def __eq__(self, Other) -> bool: return self.name == Other.name في حال اعدنا الاختبار تساوي الاولمع الثالث سوف يقول انهما متشابهان كالاتي علما انه ولو غيرنا بالميزات الاخرى كالعمر والرصيد سوف يظل يراهم متشابهان وذلك بسبب تعريفك لدالة التساوي لا يؤثرفيها سوا الاسم مثال: نلاحظ بقائها تعطي انهما متساويين حيث يمكن اضافة ميزة ميزة والتاكد من تساويهما ويعتبر هذا مجهد في حال كان هناك الكثير لذلك سوف نتعرف على فائدة الData Classes التي توفر علينا مجهود هذه العمليات كالتالي : حيث نستدعي dataclass وبعدها نعرف بمفهوم decorator وهو مفهوم في برمجة كائنية التوجه تقوم بنوع من التغليف للوظائف وتعرف في بايثون بالشكل @dataclass يوضع فوق تابع اوكلاس from dataclasses import dataclass @dataclass class Investor: name : str age : int cach : float نلاحظ عدم تعريف تابع باني ولا تابع الاستعراض repr لكن امكننا تعريف كائن منه وعند طباعة الكائن يظهر بمظهر افضل ووفر علينا عناء كتابة التوابع المساعدة السابقة وعند اختبار التساوي اظهر قدرته على معرفة التساوي وعند تغير قيمة يظهر عدم التساوي وهذا شيئ منطقي لانه يقارن على كل البيانات الخاصة بالكائن لذلك نلخص ان dataclass ساعدنا عللى توفير الوقت والجهد في الخوض في معالجة هذه الامور وجعل الكود افضل واكثر احترافية وقابلية للفهم. وهي مفيدة جدا عند التعامل مع الباينات من قواعد البيانات
  12. تلك ميزة جديدة في بايثون 3.7 وما بعدها، لغرض إنشاء كلاسات تحتوي على بيانات فقط (بدون أساليب أخرى)، وتُستخدم لتخزين المعلومات التي ستتم نقلها بين أجزاء مختلفة من البرنامج أو النظام. بالتالي تُسهل إنشاء كلاسات بعدد أسطر أقل من الكود وتُنفذ بشكل ضمني بعض الأساليب الأساسية مثل __init__ و __repr__ و __eq__، وتوفر تمثيلًا نصيًا للكائنات باستخدام __repr__ ومقارنات بسيطة وتحويل البيانات إلى نماذج بيانات أخرى، مثل JSON أو CSV. تستطيع استيراد الديكوريتور @dataclass من وحدة dataclasses ثم استخدامه لتعريف كلاس بيانات: @dataclass class Person: name: str age: int email: str وذلك التعريف يُنشئ فئة Person مع ثلاثة خصائص name من نوع str، age من نوع int، و email من نوع str. ويتم التحقق من نوع البيانات تلقائيًا عند إنشاء مثيل من الفئة، وباستطاعتك تعديل الخصائص بعد إنشاء المثيل، ومقارنة مثيلات الفئة باستخدام عامل المقارنة == @dataclass class Person: name: str age: int email: str person1 = Person("Jasem", 30, "Jasem@example.com") person2 = Person("Jasem", 25, "Jasem@example.com") print(person1.name) print(person2.age) if person1 == person2: print("The persons are equal") else: print("The persons are not equal")
  13. لا حاجة لك بذلك، ما الفائدة من معرفة مكان تثبيت الحزمة؟ فليس لك حاجة بالملفات الخاصة بها. ويتم تثبيتها في مجلد بايثون في قرص الـ C في الويندوز، وذلك في مسار مشابه للتالي: C:\Users\اسم المستخدم لديك\AppData\Local\Programs\Python\Python310\Lib\site-packages ولرؤية المكتبات المثبتة global أي عالمي للاستخدام بأي مشروع استخدم الأمر: pip list ولحذف أي حزمة استخدم الأمر: pip uninstall اسم الحزمة ومن الأفضل إنشاء بيئة إفتراضية في مجلد المشروع وسيتم تثبيت المكتبات في نفس مجلد المشروع في مجلد البيئة الإفتراضية الذي يوجد به مجلد باسم lib
  14. الفرق الرئيسي بين "/" و "//" هو نوع القيمة المُرجَعَة. في حالة العملية "/"، تحصل على النتيجة عائمة (float)، في حين أن العملية "//" ترجع نتيجة صحيحة (integer) دون الجزء العشري. مثال: ويمكن الاسنغناء عن القسمة عن طريق "//" وقصر نتيجة الطريقة الاولى عبر دالة int كالشكل التالي نلاحظ ادى الى نفس النتيجة حيث يمكن اختيار الطريقة التي تناسبك انت حيث القصر عن طريق int امر شائع بكل لغات البرمجة اما "//" فهو امر خاص في بايثون ويمكنك الاطلاع على باقي العمليات من خلال الرابط التالي https://wiki.hsoub.com/Python/numeric_operations
  15. عند استخدام ال / للقسمة فإن النتيجة تكون الرقم بالكامل وفى حالة أنه رقم به كسور مثل 10/3 فإن النتيجة ستكون 3.333333 أى أنه تكون النتيجة وبها الجزء الكسرى. result1 = 10 / 3 print(result) # Output: 3.333333 result2 = 10 / 2 print(result2) # Output: 5 أما عند استخدام // للقسمة يتم ترجيع الرقم الصحيح فقط ويتم اقتطاع الجزء الكسرى مثلا 3//10 فإن النتيجة ستكون 3 فقط أى أنه تكون النتيجة ويتم اقتطاع الجزء الكسرى. result1 = 10 // 3 print(result) # Output: 3 result2 = 20 // 3 print(result2) # Output: 6 العمليات العددية في بايثون
  16. السلام عليكم انا اشتغل جانغو ورأيت مفهوم في بايثون عن Data classes واتمنى اذا احد يتكرم علي ويشرحلي ايش هي وهل تفيدني وشلون استخدمها
  17. ما هو الفرق بين القسمة ب / او // في بايثون
  18. بارك الله فيك علي الرد الان ممكن كود تحقق من انه مستخدم موجود في قاعدة بيانات او لا في حالة موجود ينتقل لصفحة الرئيسية في حالة لا يظهر رسالة خطأ هل نستخدم كلاس يسمي User ممكن توضيح
  19. وعليكم السلام لازم تعرف ان مدير الحزم pip بثبت الحزم بمواقع مختلفة حسب النظام والبيئة. لكن بشكل افتراضي: - في نظام Linux: تتثبت في /usr/local/lib/pythonX.X/dist-packages - في نظام التشغيل Windows: مسار التثبيت العام الافتراضي هو: C:\Users\{username}\AppData\Local\Programs\Python\PythonXX\Lib\site-packages - على نظام التشغيل macOS: يقوم pip بتثبيت الحزم في المسار: /Library/Python/X.X/site-packages - في حال كنت عم تستخدم بيئة افتراضية (Virtual Environment): ال`pip` رح يثبتلك الحزم داخل مسار تلك البيئة، عادةً ضمن (مثلاً اسم البيئة env): env/lib/pythonX.X/site-packages وأريد أن أختتم بطريقة سهلة يمكنك اتباعها لمعرفة مكان تثبيت حزمة معينة: pip show <package_name> والذي سيعرض معلومات الحزمة بما في ذلك موقعها وستجد الحزم جميعها في نفس المكان. مثال ايجاد مكان تخزين Django انظر الى الموقع يظهر في الاسفل ملاحظة أخيرة: يمكنك تغيير موقع التثبيت الافتراضي عن طريق إعداد ملفات pip.ini (على نظام Windows) أو pip.conf (على نظام Linux/Mac)، لكني أنصحك عند تثبيت بايثون بترك موقع التثبيت الافتراضي لتتجنب أي مشاكل محتملة.
  20. حياك الله على التوضيح فقد كنت أواجه بعض المشاكل في هذا الموقع وكنت سأنتقل لأجرب استضافة أخرى
  21. السلام عليكم شلون اعرف فين الأداة (pip) تنزل المكاتب والأشياء اللي اني انزلها عن طريقها؟ من غير ما ادور البايثون فين مثبتة عندي
  22. يعتمد تحديد افضل استضافة على متطلبات المشروع حيث اغلب الاستضافات تكون مجانية بقيود مثل الزمن او المساحة لكن افضل العروض المجانية هو render: لنبدأ ب render: اولا يعطيك 1G من التخزين المجاني وذلك لمدة 90 يوم فقط وبعدها اما تسجل في حساب اخر او تدفع اشتراك ولتثبيت اتبع الخطوات التالية اعداد قاعدة البيانات من نوع PostgreSQL: أولا ، توجه إلى لوحة معلومات العرض الخاصة بك وقم بإنشاء قاعدة بيانات PostgreSQL. انقر فوق الزر + جديد ، وقم بالمرور فوق PostgreSQL ، وانقر فوقه. بعد ذلك، حدد إعدادات قاعدة البيانات الخاصة بك عن طريق إعطاء مثيل قاعدة البيانات اسما. يمكنك اختيار إما السماح ل Render بتعريف اسم لقاعدة بيانات ومستخدم أو تعريفه بنفسك. حدد الخطة المجانية وانقر على إنشاء قاعدة بيانات. ملاحظة: تنتهي صلاحية كل قاعدة بيانات مجانية تم إنشاؤها على Render بعد 90 يوما من الإنشاء. لذا فقط لاحظ هذا وقم بالترقية إذا كان مشروعا مهما. يمكنك رؤية الأسعار هنا بمجرد أن تظهر الحالة في قاعدة البيانات الخاصة بك متفعلة ، فهذا يعني أن قاعدة البيانات قد تم إنشاؤها بنجاح وجاهزة للاستخدام مثل الصورة التالية. بعد ذلك توجه إلى إعدادات قاعدة البيانات الخاصة بك على عرض ونسخ عنوان URL لقاعدة البيانات الخارجية. ثم في ملف الاعدادات المشروع جانغو قم باضافة وضع الurl داخل ملف .env لأسباب أمنية. import dj-database-url import os DATABASES = { "default": dj_database_url.parse(os.environ.get("DATABASE_URL")) } بعد ذلك، قم بترحيل الجداول إلى قاعدة البيانات الجديدة لضمان نجاح الاتصال بالشكل التالي # To make migrations if this is your first time connecting to a database python manage.py makemigrations #To migrate tables set on your migrations folders python manage.py migrate إذا كان الاتصال ناجحا وقمت بترحيل جميع الجداول الخاصة بك ، فيجب أن يبدو الخرج كما يلي: أنت الآن على بعد خطوة واحدة من نشر مشروع Django الخاص بك! 🎉 كيفية إنشاء خدمة الاستضافة: هذه هي الخطوة الأخيرة لبدء مشروعك. توجه إلى لوحة معلومات العرض الخاصة بك. انقر فوق جديد + وحدد خدمة ويب قم بتوصيل GitHub الخاص بك إذا لم تكن قد قمت بذلك بالفعل ولذلك يسهل عليك عملية النشر. يجب أن يبدو هكذا : بعد ذلك ، حدد إعدادات الريبو الخاص بك. امنح تطبيقك اسما وتأكد من اتصالك بالفرع الصحيح. تاكد من تنزيل gunicorn وخادم ويب Python يعمل كبوابة بين تطبيق الويب والإنترنت. إنه مصمم للنشر لأنه يدير طلبات الويب الواردة بشكل فعال. وجلب جميع المكاتب ومتطلبات المشروع عن طريق الامر الثاني : pip install gunicorn pip freeze > requirements.txt # To update your requirements.txt file تأكد من إضافة خدمة الويب Render إلى ALLOWED_HOSTS في settings.py الخاص بك. وبعد ذلك حدد ملف المتطلبات والخادم واللغة ارجع إلى لوحة معلومات العرض وانقر على خدمة الويب المنشورة لعرض الرابط المباشر الخاص بك. لقد قمت بنشر تطبيق Django الأول الخاص بك على منصة مجانية. استمتع بخادم الويب الخاص بك لمدة 90 يوما القادمة.
  23. عادة ما يفضل وضع كل فئة في ملف منفصل إذا كانت الفئة كبيرة بما يكفي أو إذا كان لها استخدام مستقل لكن يبقى ذلك ليس ضروريا، ويمكنك تجميع عدة فئات في ملف واحد خاصة إذا كانت تعتمد على بعضها البعض بشكل كبير أو إذا كانت صغيرة بما يكفي. ففي حالة ما كانت الفئات لها نفس الهدف يمكن وضعها في ملف واحد إذا كان المشروع كبيرا، لتفادي العدد الكبير من الملفات من أجل التنظيم والتنسيق.
  24. وعليكم السلام ورحمة الله وبركاته . نعم بالطبع ان كتابة تعريف الصنف (class) فى اى لغه سواء بايثون او اى لغه اخرى هو شئ جيد جدا من حيث التنظيم وسهولة القراءة والصيانه ومعالجة الاخطاء . تخيل معى انك لديك صنف يثوم باداء وظيفة محددة و يحوى على العديد من الشفرات والاسطر الكثيرة مثلا فوق الالف سطر اول اقل او اكثر . فاذا قمت بوضعه بداخل الكود الخاص بك فستجد ان الكود اصبح مشتتا ولا تعرف ان تحدد الوظائف او اكتشاف الاخطاء . واذا اردت مثلا ان تقوم بنشر هذا الصنف او ارساله الى احد حتى يقوم بالتطوير عليه او حتى استخدامه فسيجد صعوبة فى فهم الكود ولن يتمكن من فصل الاصناف او الكود من بعضها البعض . ولذلك الحل الافضل فى الاصناف الكبيرة او حتى الصغيرة التى تعتمد على بعضها فى البعض هو فصلها فى ملف منفصل وتسمية هذا الملف باسم الصنف او الوظيفة المناسبة واستدعاءه فى المكان الذى تريد انشاء كائنات من هذا الصنف
  25. السلام عليكم هو يفضل ان اكتب class في ملف لوحد في لغه الباثيون؟
  26. عليك امتلاك المهارات التي تؤهلك للعمل بهذه المجال كما ذكر في التعليق سابق ثما البحث عن عمل في مواقع العمل الحر كما مستقل يمكنك الدخول من هنا https://mostaql.com/ ثما البحث عن الوظائف التي تحمل الكلمه المفتاحيه مدخل بيانات او data entry وستظهر لك جميع المشاريع المشابه بالكلمات المفتاحيه التي كتبتها يمكنك اختيار مشروع مشابه لمهاراتك وكتابة عرض جيد وباذن الله يتم اختيارك بتوفيق
  1. عرض المزيد
×
×
  • أضف...