لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 05/30/23 in أجوبة
-
1 نقطة
-
لدي مشروع به ملفات كثيرة جدا وجيت هب لا يقبل رفع اكثر من 100 ملف في المرة الواحدة كيف ارفع هذا المشروع؟؟1 نقطة
-
السبب هو أنك لم تقم بإنشاء ملف باسم .gitignore والذي يتجاهل كافة الملفات والمجلدات ما عدا الكود المصدري الخاص بالمشروع، أي لا يتم رفع مجلد venv مثلاً فبه البيئة الإفتراضية الخاصة بك وأيضًا المكتبات التي تم تثبيتها. ولذلك عليك بإنشاء ملف بالاسم التالي في مجلد المشروع: .gitignore ولاحظ وجود نقطة في بداية الاسم، أي ذلك الملف يتم إنشائه بجوار مجلد venv لديك ومجلد taskaty الخاص بالمشروع. وضع به التالي: ولكن يجب التوضيح نص الملف gitignore التالي خاص ببايثون، وسأقوم بإرفاق ملف خاص بمشاريع الويب في المرفقات أي التي تستخدم HTML, CSS, JS. ### Python ### # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class # C extensions *.so # Distribution / packaging .Python build/ develop-eggs/ dist/ downloads/ eggs/ .eggs/ lib/ lib64/ parts/ sdist/ var/ wheels/ pip-wheel-metadata/ share/python-wheels/ *.egg-info/ .installed.cfg *.egg MANIFEST .history/ # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .nox/ .coveage .coverage.* .cache nosetests.xml coverage.xml *.cover *.py,cover .hypothesis/ .pytest_cache/ pytestdebug.log # Translations *.mo *.pot # Django stuff: *.log local_settings.py db.sqlite3 db.sqlite3-journal # Flask stuff: instance/ .webassets-cache # Scrapy stuff: .scrapy # Sphinx documentation docs/_build/ doc/_build/ # PyBuilder target/ # Jupyter Notebook .ipynb_checkpoints # IPython profile_default/ ipython_config.py # pyenv .python-version # pipenv # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. # However, in case of collaboration, if having platform-specific dependencies or dependencies # having no cross-platform support, pipenv may install dependencies that don't work, or not # install all needed dependencies. #Pipfile.lock # PEP 582; used by e.g. github.com/David-OConnor/pyflow __pypackages__/ # Celery stuff celerybeat-schedule celerybeat.pid # SageMath parsed files *.sage.py # Environments .env .venv env/ venv/ ENV/ env.bak/ venv.bak/ pythonenv* # Spyder project settings .spyderproject .spyproject # Rope project settings .ropeproject # mkdocs documentation /site # mypy .mypy_cache/ .dmypy.json dmypy.json # Pyre type checker .pyre/ # pytype static type analyzer .pytype/ # profiling data .prof # Virtualenv # http://iamzed.com/2009/05/07/a-primer-on-virtualenv/ .Python [Bb]in [Ii]nclude [Ll]ib [Ll]ib64 [Ll]ocal [Ss]cripts pyvenv.cfg .venv pip-selfcheck.json ثم عليك بتنفيذ الأمر التالي: git rm -r --cached من أجل إزالة التعقب عن الملفات والمجلدات التي لا نريد تعقبها كما أشرنا إليها في الملف .gitignore وبعد ذلك قم بإعادة أوامر رفع المشروع وهي: 1- قم بإضافة كل ملفات المشروع لرفعها من خلال الأمر التالي: git add . 2- عمل commit من خلال الأمر التالي: git commit -m "Upload files" 3- إضافة العنوان البعيد (remote URL) لمستودع GitHub الخاص بك مع الأمر التالي: git remote add origin https://github.com/moazzant226/react.git أخيرًا، استخدم الأمر التالي لرفع التحديثات إلى مستودع GitHub الخاص بك: git push -u origin main .gitignore1 نقطة
-
مجلد src غير موجود لدي في القرص C هل اعمل على انشاء مجلد جديد في نفس المسار؟1 نقطة
-
السلام عليكم يا معشر المبرمجين. ملاحظة عندي 14 سنة انا امبارح خدت اول فلوس ليا من البرمجه (32$) يعني 1000 جنية مصري. انا كنت متخيل ان تعلم البرمجه اصلا شيئ خيالي من وحي الخيال ولكن لما بدات اتعلم مع اكاديمية حسوب ولما في مبرمجين كتير ساعدوني مساعدات مفيده جدا وصار مستوايا الحمدلله كويس في ال full stack development. احب ان اوجه شكر لكل من ساعدني... شكراََ لكم من القلب ❤️1 نقطة
-
اشتركت فى دورة وعند دخولى عليها وجدت اننى غير مشترك فيها اسم الدورة : 1 x دورة تطوير تطبيقات الويب باستخدام لغة PHP رقم الطلب : 63806 تاريخ الشراء : 02 يول, 2022 17:291 نقطة
-
1 نقطة
-
ما هو الفرق بين load و with في لارافيل مع التوضيع بمثال ان امكن شكرا1 نقطة
-
ملاحضة تكون هناك قائمة منسدلة بحيث يختار المحافظة او الولاية التي يسكن فيه وكل محافظة لها سعر توصيل خاص بها طبعا مع الاسم واللقب والعنوان ومنطقة لكتابة رسالة او ملتحضة من طرف الزبون كما يمكن اضافة كمية من المنتج وعند الاضافة يتضاعف سعر المنتج هل يمكن ذلك لان من قبل وجدت موقع من قبل فيه هذه الصفحة1 نقطة
-
هذا كود مشابه لمتطلباتك <!DOCTYPE html> <html> <head> <title>عرض المنتج وشرائه</title> </head> <body> <h1>عرض المنتج</h1> <form> <label for="name">الاسم:</label> <input type="text" id="name" name="name"><br><br> <label for="last_name">اللقب:</label> <input type="text" id="last_name" name="last_name"><br><br> <label for="address">العنوان:</label> <input type="text" id="address" name="address"><br><br> <label for="city">المحافظة/الولاية:</label> <select id="city" name="city"> <option value="محافظة 1">محافظة 1</option> <option value="محافظة 2">محافظة 2</option> <option value="محافظة 3">محافظة 3</option> </select><br><br> <label for="quantity">الكمية:</label> <input type="number" id="quantity" name="quantity" min="1"><br><br> <label for="message">الرسالة:</label><br> <textarea id="message" name="message" rows="4" cols="50"></textarea><br><br> <input type="submit" value="شراء المنتج"> </form> <script> document.querySelector('form').addEventListener('submit', function(event) { event.preventDefault(); // تمنع إعادة تحميل الصفحة عند الضغط على زر الإرسال // استخراج القيم من النموذج var name = document.getElementById('name').value; var last_name = document.getElementById('last_name').value; var address = document.getElementById('address').value; var city = document.getElementById('city').value; var quantity = document.getElementById('quantity').value; var message = document.getElementById('message').value; // حساب سعر المنتج var price = 10; // السعر الأصلي للمنتج var delivery_fee = 0; // رسوم التوصيل // تعيين سعر التوصيل بناءً على المحافظة/الولاية المحددة if (city === 'محافظة 1') { delivery_fee = 5; } else if (city === 'محافظة 2') { delivery_fee = 8; } else if (city === 'محافظة 3') { delivery_fee = 10; } // حساب السعر الإجمالي var total_price = price * quantity + delivery_fee; // عرض تفاصيل الشراء var purchase_details = 'اسم: ' + name + '<br>' + 'لقب: ' + last_name + '<br>' + 'عنوان: ' + address + '<br>' + 'محافظة/ولاية: ' + city + '<br>' + 'الكمية: ' + quantity + '<br>' + 'السعر الإجمالي: ' + total_price + '<br>' + 'الرسالة: ' + message; document.write('<h2>تفاصيل الشراء</h2>'); document.write(purchase_details); }); </script> </body> </html> يُرجى ملاحظة أن الكود السابق يعتمد على JavaScript لحساب السعر الإجمالي وعرض تفاصيل الشراء عند الضغط على زر "شراء المنتج". ستتم إضافة تفاصيل الشراء بعد النموذج. يمكنك تخصيص القائمة المنسدلة لتحتوي على محافظات أو ولايات أخرى، وتحديد الأسعار المناسبة لكل محافظة/ولاية حسب متطلباتك.1 نقطة
-
1 نقطة
-
انا مبرمج واجهات مستخدم ولدي كم سؤال 1) في تسجيل الدخول للموقع كيف يمكنني ربط حساب كوكل في التسجيل 2) في بعض المواقع -المتاجر مثلا- نرى زر اضافة وعند الضعط عليه نرى صفحة للمعلومات المطلوب اضافتها مثلا رفع صورة و اضافة عنوان واضافة سعر....الخ كيف ستضاف هذه المعلومات 3) وعند تسجيل الادمنية تكون لديهم خصائص اضافية مثل اضافة عنصر حذف عنصر اضافة عضو...الخ فكيف يحصل ذلك هل نطور اكثر من واجهة ام هي نفس الواجهة لكن يحصل بها تعديل على حسب العضو 4) نرى في المتاجر ان المشتري لا يستطيع اكمال الطلب ما لم يسجل فكيف يحصل ذلك وشكرا لكم مقدما1 نقطة
-
سأحاول توضيح السؤالين بشكل مبسط ويجب ملاحظة أنه هذه الأسئلة خاصة بال backend حيث أنك مبرمج واجهات مستخدم عادةً ما يتم استخدام نموذج الإرسال (form submission) لجمع المعلومات المطلوبة من المستخدمين في صفحة إضافة المنتج أو العنصر أو الخدمة. يتم عرض نموذج الإرسال في هذه الصفحة، ويحتوي على الحقول التي يجب على المستخدم ملئها، مثل العنوان والسعر والوصف وصورة المنتج أو العنصر. بعد ملء المستخدم لجميع الحقول المطلوبة، ينقر على زر "إضافة" لإرسال المعلومات إلى الخادم. يتم إرسال المعلومات باستخدام البروتوكول HTTP POST، ويتم إرسالها إلى مسار (route) معين في الخادم، الذي يتعامل معهاويقوم بمعالجة البيانات المستلمة. يتم تحليل البيانات المستلمة في الخادم باستخدام لغة البرمجة المستخدمة في تطوير الموقع، ويتم حفظ البيانات في قاعدة البيانات المستخدمة لتخزين المنتجات أو العناصر أو الخدمات، ويتم عرض النتيجة للمستخدم عن طريق صفحة العرض أو القائمة الرئيسية في الموقع. يمكن استخدام تقنيات الجافاسكريبت لتحسين تجربة المستخدم، مثل إضافة تأثيرات انتقالية أو تحميل صور المنتج أو العنصر بشكل ديناميكي دون إعادة تحميل الصفحة بالكامل. كما يمكن استخدام تقنيات التحقق من صحة البيانات (validation) للتأكد من صحة المعلومات التي تم إدخالها من قبل المستخدم، وذلك لتجنب وجود أخطاء أو بيانات غير صحيحة في قاعدة البيانات. ويمكن أيضًا استخدام تقنيات التحميل الجزئي (AJAX) لتحميل البيانات بشكل ديناميكي دون إعادة تحميل الصفحة بالكامل، مما يجعل تجربة المستخدم أكثر سلاسة وسهولة. لتطبيق هذا السيناريو برمجياً، يمكن اتباع الخطوات التالية: عند إضافة منتج إلى السلة، احفظ معلومات المستخدم في جلسة (session) أو ملف تعريف ارتباط (cookie). عند الانتقال إلى خطوة الدفع، قم بالتحقق مما إذا كان المستخدم مسجلاً أم لا. إذا لم يكن المستخدم مسجلاً، اظهر له رسالة تطلب منه التسجيل أو تسجيل الدخول لإكمال عملية الشراء. بعد تسجيل الدخول، استرجع معلومات السلة التي حفظتها سابقاً لهذا المستخدم. اطلب من المستخدم إدخال معلومات الدفع وأكمل عملية الشراء.1 نقطة
-
1- لربط حساب جوجل في عملية تسجيل الدخول إلى الموقع، تستطيع استخدام خدمة تسجيل الدخول باستخدام جوجل (Google Sign-In)، وتلك الخدمة توفر واجهة برمجة التطبيقات (API) التي تسمح للمستخدمين باستخدام حسابات جوجل الخاصة بهم لتسجيل الدخول إلى موقعك. وذلك من خلال الخطوات التالية: قم بإنشاء مشروع جديد في واجهة مطوري Google (Google Developers Console) وقم بتكوينه بحيث يكون لديك مفتاح API الخاص بك. استخدم واجهة برمجة التطبيقات (API) ومكتبة تطوير جوجل (Google API Client Library) المناسبة للغة البرمجة التي تستخدمها للتواصل مع خدمة تسجيل الدخول باستخدام جوجل. عليك بتضمين زر تسجيل الدخول باستخدام جوجل في واجهة المستخدم الخاصة بك وأضف الوظائف المطلوبة لمعالجة عملية تسجيل الدخول باستخدام جوجل. عندما يقوم المستخدم بالنقر على زر تسجيل الدخول باستخدام جوجل، سيتم إعادته إلى صفحة جوجل لتسجيل الدخول ومنح إذن لمشاركة معلومات حسابه. بعد ذلك، ستتلقى تطبيقك رمزًا مؤقتًا (authorization code) يمكنك استخدامه لاسترداد معلومات المستخدم الخاصة به من خلال خدمة تسجيل الدخول باستخدام جوجل. وهناك مكتبات شائعة تستخدم لإضافة ميزة إنشاء الحساب وتسجيل الدخول عن طريق جوجل وغيرها، مثل Firebase Authentication وPassport.js وauth0. 2- لإضافة المعلومات مثل الصور والعنوان والسعر إلى موقعك، بإمكانك استخدام نموذج (Form) في واجهة المستخدم الخاصة بك لجمع هذه المعلومات من المستخدمين، وتستطيع استخدام تقنيات متعددة للسماح للمستخدم بتحميل الصور وإدخال المعلومات الأخرى: رفع الصور: عن طريق عنصر إدخال نوع الملف (File Input) في نموذجك للسماح للمستخدمين بتحميل الصور، وعند تلقي النموذج، باستطاعتك استخدام لغة البرمجة التي تستخدمها للتعامل مع الملفات المرسلة وحفظها على الخادم الخاص بك. العنوان والسعر: من خلال حقول الإدخال (Input Fields) في نموذجك لجمع العنوان والسعر من المستخدم، مثل حقول نص (Text Fields) أو حقول رقمية (Numeric Fields) حسب الحاجة. بعد جمع هذه المعلومات من المستخدم، يمكنك معالجتها وتخزينها في قاعدة البيانات الخاصة بك أو تنفيذ أي إجراءات أخرى بناءًا على متطلبات موقعك. 3- عندما يتم تسجيل دخول المشرف (أو المستخدم ذو الصلاحيات الإضافية) إلى الموقع، عليك بتوفير واجهة إدارة (Admin Interface) مخصصة له، وعليك أن تقرر فإما أن تكون هذه الواجهة مستقلة عن واجهة المستخدم العادية أو جزءًا منها، حسب متطلباتك وتصميم الموقع، وهناك عدة خيارات: واجهة إدارة منفصلة: بتطوير واجهة إدارة مستقلة عن واجهة المستخدم العادية، تحتوي هذه الواجهة على العناصر والوظائف الإضافية التي يحتاجها المشرف، مثل إضافة وحذف العناصر وإضافة الأعضاء وغيرها، والوصول إلى هذه الواجهة من خلال تسجيل دخول المشرف. تعديل الواجهة الحالية: بدلاً من إنشاء واجهة إدارة منفصلة، تستطيع توسيع واجهة المستخدم الحالية لتضم الوظائف والعناصر الإضافية التي يحتاجها المشرف، وإظهار هذه العناصر والوظائف إما بشكل دائم للمشرف أو بناءً على صلاحياته للتحكم في رؤية ووصول المستخدمين. تبديل الصلاحيات: بتوفير خيار للمشرف لتبديل صلاحياته بين وضع المشرف ووضع المستخدم العادي، في حالة التبديل إلى وضع المشرف، يتم عرض الوظائف والعناصر الإضافية ويتمكن المشرف من إجراء التعديلات اللازمة، وذلك يسمح للمشرف بالتنقل بسهولة بين الأدوار المختلفة دون الحاجة إلى واجهة مستخدم منفصلة. 4- هناك إمكانية للمتاجر السماح بعمليات الشراء بدون تسجيل الدخول، ولكن العديد منها يعتبر تسجيل الدخول أمرًا مطلوبًا لأسباب الأمان والتجربة الشخصية للمستخدم. فمن خلال تسجيل الدخول، يتم التحقق من هوية المستخدم وضمان أن العمليات المتعلقة بالطلب والدفع تتم بشكل آمن وصحيح، واستخدام بيانات المستخدم لتتبع الطلبات وإرسال التحديثات والتنبيهات المتعلقة بالطلبات. أيضًا يتاح للمستخدمين الاحتفاظ بتفاصيلهم الشخصية وعناوين التوصيل بشكل مريح، مما يتيح لهم إتمام عملية الشراء بسرعة في المرات اللاحقة دون إدخال المعلومات مرة أخرى. بعد تسجيل الدخول، بإمكان المتجر تخصيص تجربة التسوق بناءً على تفضيلات المستخدم وتاريخ الطلبات السابقة، ويتاح للمستخدمين حفظ العناصر في سلة التسوق والرجوع إليها لاحقًا وتجهيز الطلب بسهولة.1 نقطة
-
إذا كان المقصود هو الاحتفاظ بالأكواد البرمجية، فبالطبع هذا أمر ضروري و ذلك حتى تعود لهذه المشاريع في حال احتجت لتذكر شيء ما أو لاختصار وقت كتابة شيء كنت قد كتبته من قبل. أما إذا كان القصد هو حفظ التعليمات البرمجية في ذهنك (و هذا ما أعتقدك تقصده) فالجواب هو لا دائماً في البرمجة. قد تجد الأمر سهلاً في البداية، و لكن لغات البرمجة و أطر العمل كبيرة جداً و من المستحيل حفظها، دائماً يمكنك البحث عما تريده و لا داعي لحفظ شيء، المهم فهم المفاهيم العامة و كيفية حل المشكلات التي تواجهك، حتى تعرف عما يجب عليك البحث عنه. الحفظ يأتي بشكل تلقائي في بعض الحالات، و ذلك عندما تصبح لديك خبرة في لغة ما أو إطار عمل ما، فكثرة الاستعمال له تجعلك تحفظ تلقائياً التعليمات الأساسية، هذا يسرع من عملك بالطبع بدل البحث عنها كل مرة، و لكن يجب عليك ترك هذه العملية تلقائية و عدم القيام بالحفظ المتعمد، ما تستعمله بكثرة ستحفظه بشكل تلقائي، ما لا تستعمله بكثرة فلا داعي لحفظه أصلاً.1 نقطة
-
يمكن حفظ الأكواد والجمل البرمجية المنتجة خلال عملية التدريب بالعديد من الطرق المختلفة، مثل حفظها في ملفات نصية مثل ملفات الـ TXT أو ملفات الـ Markdown ، أو حفظها في مستودعات الأكواد مثل GitHub، GitLab، أو Bitbucket، أو يمكن أيضاً استخدام خدمات التخزين السحابية مثل Google Drive أو Dropbox لحفظ الأكواد. كما أن حفظ الأكواد يساعد على تعزيز مهارات البرمجة والتعلم المستمر، حيث يمكن استخدامها كمرجع مستقبلي أو كأساس لإنشاء مشاريع جديدة. أما بالنسبة لشروط الحصول على الشهادة، فالحفاظ على الأكواد والجمل البرمجية والمشاريع العملية الناتجة من التدريب هو جزء من هذه الشروط. يجب أن يتم رفع المشاريع على حساب GitHub الخاص بالطالب والاحتفاظ بها لإرسالها للمراجعة. يتم استخدام هذه المشاريع في إثبات قدرات الطالب واختباره، ويتم ذلك من خلال محادثة صوتية وإجراء مشروع تخرج ومراجعته من قبل مدرب. وإذا تم اجتياز جميع الخطوات بنجاح، فسيتم منح الشهادة المعتمدة من أكاديمية حسوب. يمكنك معرفة الكثير من شروط الحصول علي الشهادة والامتحان من الرابط إدناه. الامتحان والحصول على الشهادة | مركز مساعدة أكاديمية حسوب1 نقطة
-
يمكن حفظ الأكواد والجمل البرمجية بعدة طرق. وسوف أذكر لك بعض الأساليب الشائعة لحفظ الأكواد:- ملفات النص: يمكن حفظ الأكواد في ملفات نصية عادية باستخدام محرر نصوص مثل Notepad أو Sublime Text أو IDE مثل Visual Studio Code. يتم حفظ الأكواد في ملفات ذات امتداد معين (مثل .py للبايثون أو .java لجافا) ويمكنك تنظيمها في مجلدات ومشاريع حسب الحاجة. نظم إدارة النسخ (Version Control Systems): مثل Git، يمكن استخدامها لتتبع تطور الأكواد على مر الزمن وحفظ نسخ مختلفة من الأكواد وإدارة التعديلات التي تم إجراؤها عليها. يسمح Git أيضًا بالعمل المشترك على الأكواد والتعاون بين المطورين. بالنسبة لضرورة حفظ الأكواد، فإن ذلك يعتمد على الغرض من التدريب والتطوير الخاص بك. بشكل عام يفضل فهم الأكواد وليس حفظها والتعامل مع الاكواد بالفهم وليس بالحفظ .لكن أيضاً من المهم حفظ الأكواد لديك للرجوع إليها لاحقًا وتعديلها أو تحسينها. أيضًا، حفظ الأكواد يمكن أن يكون طريقة للمشاركة فيها مع زملاء المطورين أو مراجعتها من قبل الآخرين لتقديم التعليقات والملاحظات. بالنسبة للحصول على الشهادة النهائية، ذلك من متطلبات الشهادة بحيث يجب أن تحفظ المشاريع التي تقوم بتطبيقها على موقع GitHub .1 نقطة
-
العمليتين load و with متشابهتين وستحصل على نفس النتيجة فلا يوجد فارق بالنتيجة النهائية لكل منها. ولكن الفرق الوحيد هو بترتيب التنفيذ عند استخدامها: فعند استخدام with يتم أولاً تحميل المودل المرتبط عند تهيئة الاستعلام المراد تنفيذه (مثل: all أو first أو find...) $users = User::with('comments')->get(); كأننا نقوم بتنفيذ: select * from `users` select * from `comments` where `comments`.`user_id` in (1, 2, 3, 4, 5) أما عند استخدام load يتم أولاً تهيئة الاستعلام والحصول على السجلات، ثم يتم بعدها تحميل سجلات المودل المرتبطة بها. بحيث يتم تقسيمها إلى مرحلتين: $users = User::all(); كأننا نقوم باستعلام عادي select * from `users` ثم يتم تنفيذ: $users = $users->load('comments'); والتي تقوم بدورها بتنفيذ استعلام آخر منفصل select * from `comments` where `comments`.`user_id` in (1, 2, 3, 4, 5)1 نقطة