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

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

  1. Samer Alashqar

    Samer Alashqar

    الأعضاء


    • نقاط

      3

    • المساهمات

      307


  2. Mohssen A Mohssen

    Mohssen A Mohssen

    الأعضاء


    • نقاط

      3

    • المساهمات

      317


  3. Hanan Fahad2

    Hanan Fahad2

    الأعضاء


    • نقاط

      3

    • المساهمات

      493


  4. مسعود زاهي

    مسعود زاهي

    الأعضاء


    • نقاط

      3

    • المساهمات

      646


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

المحتوى الأعلى تقييمًا في 02/21/22 في كل الموقع

  1. كنت احب اعرف....عند بناء تطبيق هجين سواء كان على فلاتر او رياكت نتف.... سؤالي.. لو استخدمت في الباك اند لغة مثل PHP او غيرها من لغات الباك اند.... هل سيعمل التطبيق على الاندوريد والايفون وايضا على المتصفح ام انه يجب استخدام لغة معينة من اجل يعمل كتطبيق ويب ولغة اخرى من اجل يعمل على الهاتف سواء اندرويد او ايفون؟ سؤال اخر: ماهو افضل لغة برمجة مستخدمة للعمل كباك اند في التطبيقات الهجينة....اقصد المستخدمة بشكل شائع؟
    2 نقاط
  2. أعرف أن فلاسك هوا فقط minifremwork لكن هل هذا لا يؤهله ل برمجة مواقع وتطبيقات ويب ضخمة وقوية ؟ وهل يمكن استعماله في الباك اند لبناء تطبيق موبايل عن طريق التحكم في ال API ؟ وهو مناسب بالنسبة لبرمجة مواقع تجارية متوسطة او كبيرة ؟
    2 نقاط
  3. <a href=".bs-example-modal-xl" class="btn btn-info waves-effect waves-light" data-cat="{{ $Categories->id}}" data-toggle="modal" <span class="btn-label"><i class="mdi mdi-wrench"> </i> </span>Edit </a> في مشكلة ابغا الرابط هذا يروح يفتح لي بوكس الي طالبته في href وبنفس الوقت ابغا يروح لرابط route("edit.store") كيف اخلية ينفذ الامرين مع بعض
    2 نقاط
  4. انا اريد ان انضم الي فريق لكي احسن من مهاراتي اكثر في المجال فما المطلبات التي يجب ان تكون عندي مهراتي : HTML5 Css JavaScript React.js Node.js Bootstrap Sass Express (DataBase) Mongo DB
    1 نقطة
  5. كيف بقدر ازيح صورة ال footer شوي على اليسار مهما غيرت الحجم او استخدمت padding و position مبتتغيرش
    1 نقطة
  6. لدي تطبيق بسيط مبني بإستخدام فلاسك Flask بالشكل التالي: @app.route('/submit', methods=['GET', 'POST']) def submit(): if request.method == 'POST': title = request.form['title'] content = request.form['content'] post_entry = models.Post(title=title, content=post) db.session.add(post_entry) db.session.commit() return redirect(url_for('my-form')) else: return render_template('error.html') @app.route('/my-form') def my_form(): posts = [] for post in session.query(models.Post): posts.append((post.title, post.content)) return render_template('posts.html', posts=posts) كما هو ظاهر من الكود، فإن أحد المسارات يقوم بحفظ منشور في قاعدة البيانات ومسار آخر يقوم بعرض بعض المنشورات، وهنا الكود الخاص بالإستمارة form: <form action='/submit' method = "post"> title: <input name="title" type="text"> main: <input name="content" type="text"> <button type="submit">Publish</button> </form> المشكلة أن كلما أقوم بإرسال الإستمارة من خلال الضغط على زر Publish يظهر لي الخطأ التالي: Method Not Allowed: The method is not allowed for the requested URL. بالرغم من أني تأكدت من إضافة المعامل methods إلى المسار submit إلا أن الخطأ مازال يظهر بدون فائدة. ما سبب هذا الخطأ هنا؟
    1 نقطة
  7. لدي متجر صغير مبني بإستخدام جانغو Django، ولدي فضول أي نوع من الحقول سيكون أفضل كحقل لتخزين العملات Currency؟ سأقوم بعمليات بسيطة على أسعار المنتجات مثل حساب الخصم discount. وأخطط للاحتفاظ برقمين بعد الصفر (مثل 15.99$) وأغلبية الوقت إذا كانت هذه الأرقام العشرية صفرًا، فسأخفي هذه الأرقام وأعرضها على أنها "15" فقط بدون كتابة أي شيء بجانب العلامة العشرية. هل أستعمل DecimalField أم FloatField وما الفرق بينهما؟
    1 نقطة
  8. لن يهم استعمال Ruby أو PHP أو Net. كلغة واجهة خلفية لتطبيق ما لديك، فهي لغات تخص الخادم بالدرجة الأولى ولن تتعلق بشكل مباشر بالواجهة الأمامية فتطبيق واجهة العميل سيتصل بالواجهة الخلفية عن طريق طلبيات HTTP. ولن يهم الخادم ما ان كان المرسل تطبيقا على الفلاتر أو الرياكت نايتيف. فالعملية شبه منفصلة تتصل فيما بينها بالواجهات البرمجية وطلبيات الـ HTTP. أما عن السؤال بشأن الأفضل، فلا يمكن تحديد ذلك على وجه الدقة فلكل منها امتيازات ونقائص وتتقارب بشكل كبير فيما بينها، وقد لا يهم كثيرا الاختيار فيما بينها. فإن كنت ترى نفسك جيدا مع PHP فستكون ممتازة جدا كلغة واجهة خلفية. يمكنك الاستزادة بالاطلاع على قسم خواديم من الدروس والمقالات المنشورة على الأكاديمية.
    1 نقطة
  9. ماهي في نضرك احسن دورة في يوتيوب لتعلم فلاسك؟ وهل ابدأ تعلم فلاسك لبناء مشاريع ومواقع تجارية متوسطة ،ام ابدأ التعلم ب دجانغو ؟
    1 نقطة
  10. هذا سؤالا جيدا اريد ان اضيف بعض النقاط تعقبا على اجابة الاخ مسعود اولا بعد ان تعرف الهيكلة العامة لاطار العمل جانقو يجب ان تعرف ان الصفحة في اطار العمل جانقو في العموم تتكون من ثلاثة اشياء: URL و هو رابط الصفحة view هنا نكتب معظم المنطق والعمليات مثلا استرجاع البيانات وتعديلها وتخذينها. Template و فيها اكواد HTML CSS اللتي تكون الصفحة التي تنظر اليها الان. لكي تفهم مشروع جانقو ابدا بال URL لان ال URL يقود لفيو معين ثم تتبع الكود في الفيو سطرا بعض سطر لا التنفيظ في بايثون يتم على هذه الطريقة بعد ذلك يقوم الفيو بارجاع ال Template وهكذا... اما بالنسبة للسؤال الاخر فهذا فورم لتسجيل مستخدم جديد حيث قمنا بتحديد الحقول التي نريدها في الكلاس meta ارجو ان تكون الاجابة واضحة
    1 نقطة
  11. ت تسلم عملت اخر وحدة وزبطت لكن في مساحة بيضاء اخذت من الصورة من اليمين كيف بقدر ازيلها حتى لو كبرت الصورة بتظلها
    1 نقطة
  12. بعد عمل مشروع بإستخدام جانغو Django وجدت أن الموقع يصبح بطيء بعض الشيء، كيف أتأكد من سرعة الأكواد؟ في PHP و Laravel يمكن أن أستخدم أدوات مثل Debug bar ، فهل توجد أداة أو طريقة لفحص الكود ومعرفة إستعلامات SQL التي تتم لتحديد مكان الخلل الذي يسبب بطء الموقع؟
    1 نقطة
  13. يختلف الأمر باختلاف هدف الفريق , فاذا كان هدف الفريق التدريب وتشجيع أعضاء الفريق على التدريب وزيادة المهارة فما تحتاج اليه هو زيادة خبرتك في بناء الواجهات الامامية باستخدام react js والمهارات الأخرى اللازمة مثل html , css وأطر العمل المصاحبة لها , وزيادة خبرتك ومهارتك في بناء الواجهات الخلفية باستخدام node js , تحتاج أيضا لزيادة خبرتك في التعامل مع قواعد البيانات وكيفية كتابة الاستعلامات بدقة كبيرة ومعرفة ما البيانات التي أريدها والبيانات التي لا أريدها لأن ذلك من شأنه زيادة سرعة تحميل الموقع أو تقليله لذلك جودة الاستعلامات المكتوبة ضرورية جدا , أما اذا كان هدف الفريق هو بناء مواقع الانترنت كفريق عمل حر فلا انصحك بالانضمام لهذا الفريق اذا كانت مهارتك ليس كبيرة بعد , لأن ذلك سوف يحبطك , في البداية قم ببناء خبرتك ومهارتك بناء على أسس واضحة ومحددة ومفهومة ثم طبق الخطة ثم مارس أكثر وقم بعمل العديد من المواقع بنفسك ثم قم ببناء موقعك الشخصي أو معرض أعمالك ثم يمكنك بعد ذلك التقدم لفرق العمل الحر حيث تكون فرصتك أكبر في الانضمام
    1 نقطة
  14. ماارده هو يرسل معرف لابحث عنه في قاعدة البيانات ثم يرسلها للبوكس كافه البيانات لاستطيع التعديل بناء على العنصر الذي تم اختياره
    1 نقطة
  15. بالتأكيد يمكنك إستعمال فلاسك Flask لكي تبني به مواقع ضخمة ولكنك سوف تبذل الكثير من المجهود لإضافة بعض المميزات التي قد يحتاجها تطبيقك، بينما إن إستعملت إطار عمل مختلف مثل جانغو Django فسوف توفر على نفسك الكثير من الجهد والوقت لأنه يأتي بالفعل بالكثير من المميزات التي تحتاجها المواقع الكبيرة -والبسيطة كذلك-، فعلى سبيل المثال قد تحتاج إلى إضافة ORM للتعامل مع قاعدة البيانات، لذلك سوف تبحث عن إضافات ومكتبات خارجية مثل Flask-SQLAlchemy لإضافة هذه الميزة إلى تطبيقك، ولكن يمكن بعد فترة من الزمن أن تجد أنه تقوف الدعم عن هذه المكتبة أو وجدت بها مشكلة ما، فسوف تضطر إلى البحث عن مكتبة أخرى أو حتى أن تبني واحدة خاصة بك، لا يحدث هذا الأمر في إطار عمل كبير مثل جانغو Django والسبب في ذلك أنه يأتي بالفعل بنظام ORM خاص به وقابل للتطوير بشكل كبير ويمكن إستخدامه في المواقع الكبير بدون مشكلة. على الجانب الآخر قد تريد عمل بعض التطبيقات البسيطة، وعند محاولة إنشائها بإستخدام جانغو Django سوف تجد أن الأمر يستغرق وقت طويل بالرغم من بساطة التطبيقات وذلك لأن جانغو Django يضيف طبقة من التعقيد إلى التطبيق لضمان أنه سيعمل في كل الحالات ويكون قابل للتوسيع والتطوير بدون مشكلة، لذلك عليك أن تستخدم فلاسك Flask في التطبيقات والمشاريع البسيطة حيث يمكنك أن تبدأ في عمل المشروع بالكامل من ملف واحد فقط: from flask import Flask app = Flask(__name__) @app.route('/') def index(: return "Hello, World!" if __name__ == "__main__": app.run(debug=True) بالتأكيد يمكنك القيام بذلك، خصوصًا إن كان الـ API بسيط ولا يحتوي على الكثير من العمليات المعقدة في داخله، فسيكون إستعمال فلاسك Flask لمثل هذه الحالات أمر جيدًا. من الجدير بالذكر أنه يمكن القيام بنفس الأمر بإستخدام جانغو Django بالتأكيد ولكن بسبب المميزات الإضافة غير الضرورية لمثل هذه الحالات تم إنشاء نسخة مشابهة من جانغو Django باسم Django rest framework وهو إطار مصغر عن جانغو Django للقيام بعمل API بشكل أسرع.
    1 نقطة
  16. يُمكن المُبرمج قام باستخدام مكتبات بايثون أو تطبيقات جانغو جاهزة ، لو في الإمكان قُم بوضع الشفرة التي لم تفهمها هُنا وإن شاء الله سوف نُساعدك على فهمها ومعرفة مصدرها.
    1 نقطة
  17. شكر لك اخي انا شفت اجوبتك عن دجانغو سهلة الفهم ... اخي الكريم انا بحثت في الموقع الرسمي عن الدوال و الكلاسات المستخدمة في المشروع بكتابة اسم الدالة او الكلاس لكن يرجع لي انه لم يجد شي
    1 نقطة
  18. لا يتم حفظ اي شيء اقوم بوضعه في حفظ الجلسة app.use(session({ secret: process.env.SECRET_KEY, resave: false, saveUninitialized: true, })) req.session.token = token; req.session.save((err) => { console.log(err); }) //returns undefined
    1 نقطة
  19. قمت بالتجربة لكن رسالة ال err لا تظهر الا اذا قمت بالذهاب لنفس route علما انني استخدم ajax .. قمت بانشاء ajax جديد و route جديد للاختبار لكن كل ما يتم ارجاعه من هذه الشيفرة هو undefined req.session.save((err) => { console.log(err); if(err) res.status(500).send(err.message); else res.send('success !') }) هذا الروت الجديد : // عملية ارسال ajax $.ajax("http://localhost:8080/session/viaCode",{ type: 'GET', xhrFields: { withCredentials: true }, crossDomain: true, success: (res) => { console.log('success !') }, error: (err) => { console.log(err) } }) //الروت app.get('/session/viaCode' ,userController.sessionViaCode); //controller exports.sessionViaCode = (req,res) => { req.session.num = 5; req.session.save((err) => { console.log(err); if(err) res.status(500).send(err.message); else res.send('success !') }) }
    1 نقطة
  20. إطار عمل flask يُطلق عليه لفظ microframework ليس بسبب ضعفه, وإنما في الحقيقة بسبب أنه يأتي بالقليل من المميزات والتي يمكنك لاحقًا الحصول عليها عبر الإضافات, حيث يأتي إطار عمل flask بخصائص بسيطة مثل الrouting ومعالجة الطلبات(request handling) بينما مميزات أخرى مثل الtemplate engine و ORM و caching جميعها يجب إضافتها من قِبل مكتبات خارجية بنفسك, على عكس إطار عمل مثل django الذي يحتوي على كل تلك المميزات, لهذا السبب يتم إطلاق لفظ microframework على flask , ولكنها في النهاية يُمكنك إنشاء مشاريع كبيرة بها حيث المشكلة عادةً لا تكون في إطار العمل وإنما تكون في كتابتك لإستعلامات فعالة لقاعدة البيانات وتطبيق تقنيات مثل caching
    1 نقطة
  21. //تخزين الجلسة app.use(session({ secret: process.env.SECRET_KEY, resave: false, saveUninitialized: true, cookie: { secure: false }, })) //التحقق من وجود البيانات ضمن الجلسة app.get('/' , (req,res) => { console.log(req.session.token) // ملاحضة: هذا السطر لا اقوم باضافته الا بعد عملية تخزين البيانات ضمن الجلسة res.sendFile(path.join(__dirname , './views/index.html')) }) //تخزين البيانات ضمن الجلسة exports.viaCode = (req,res) => { try { //انشاء كائن يحوي رقم عشوائي var payload ={ number:randomNum (), } //انشاء توكين const token = jwt.sign(payload, process.env.VERIFY_TOKEN , {expiresIn: '10m'}); var user = new User ({ isVerified: false, }) //تخزين البيانات ضمن الجلسة const newUser = user.save(); req.session.token = token; req.session.save((err) => { console.log(err); }) } catch (error) { console.log(error) res.status(500).send() } }
    1 نقطة
  22. الخطأ لديك في استدعاء دالة fetchPokeFull في النهاية، حيث أن الدالة تتوقع تمرير غرض يعبر عن بيانات عنصر من عناصر البحث، لا داعي لإستدعائها بنفسك فالتابع fetchPoke يثوم باستدعائه بشكل مناسب عند وصول البيانات، قم بحذف الاستدعاء الأخير كالتالي // fetchPokeFull() ولتجنب الاستدعاء الخاطئ يمكن حماية التابع من داخله عبر الخروج مبكرًا في حال كان المعامل الممرر بلا قيمة كالتالي function fetchPokeFull(pokemon){ if(!pokemon) return; // التحقق من المعاملات ...
    1 نقطة
  23. نعم يُمكن إنشاء نماذج models إنطلاقا من قاعدة بيانات مٌنشأة مٌسبقاً. أولاً عليك بعمل إتصال لهذه القاعدة وذلك بوضع الإعدادات الخاصة بها في ملف إعدادات المشروع settings.py. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', # في هذا المثال استعملنا Postgres 'NAME': 'mydatabase', # ضغ هنا اسم قاعدة البيانات 'USER': 'mydatabaseuser', # ضع هنا اسم المستخدم 'PASSWORD': 'mypassword', # ضع هنا الرقم السري للمستخدم 'HOST': '127.0.0.1', # ضع هنا عنوان الايبي أو اسم النطاق الذي تتواجد فيه قاعدة البيانات 'PORT': '5432', # ضع هنا رقم المنفذ الخاص بقاعدة البيانات المختارة } } بمجرد إعداد الاتصال مع قاعدة البيانات يمكنك إنشاء النماذج تلقائيا باستعمال الأمر inspectdb python manage.py inspectdb الأمر السابق يقوم بإخراج كل النماذج التي يُمكن لجانغو إنشاؤها من قاعدة البيانات الموجودة . يُمكنك حفظها داخل ملف باستخدام الأمر التالي: python manage.py inspectdb > models.py يُمكنك أيضاً إستخراج نماذج محددة من قاعدة البيانات باستخدام الأمر التالي: python manage.py inspectdb table1 table2
    1 نقطة
  24. لا يمكن إستخدام الأسطر البرمجية بشكل مباشر حيثُ يجب إستخدامها هكذا : class Post(models.Model): title = models.CharField(...) def get_content(self): return self.content class Meta: abstract = True و ذلك لأن في Django يتم وراثة و تعريف كل متغير من مكتبات تم تثبيتها مُسبقاً في بيئة django مثال إذا حذفت models.Model فلن يعمل السطر البرمجي لأنه يجب تعريف لـ django كيف يجب عليه أن يتعامل مع ال models حتى يسهل التعامل معها و تطبيقها في قاعدة البيانات المستخدمه في settings.py أما عن abstract = True فهي تهدف لعدم تكرار جدول البيانات مره اخرى في قاعدة بيانات django أي على سبيل المثال : class School(models.Model): name = models.CharField(max_length=100) number = models.IntergerField() class Student(models.Model): name = models.CharField(max_length=100) Phone = models.IntergerField() # نلاحظ هنا أن الحقل name مكرر نلاحظ أن الحقل name مُكرر في النموذجين و لمنع كتابة الحقول بشكل متكرر دائماً يتم إنشاء نموذج منفرد مثل : class CommonInfo(models.Model): name = models.CharField(max_length=100) class Meta: abstract = True لاحظت إضافة abstract = True حيث يتم وراثة ذلك النموذج عند انشاء النماذج بعد ذلك كالتالي : class School(CommonInfo): number = models.IntegerField() class Student(CommonInfo): phone = models.IntegerField() و عند تطبيق الأمرين python manage.py makemigrations و الأمر python manage.py migrate سيتم إنشاء الحقل name كأن تم كتابته في النموذجين و لكن بالأصل قمنا بوراثته من class كما لاحظت أن ال class ورث من CommonInfo لتوريث كافة الحقول به لأي نموذج يتم إستدعاؤه به
    1 نقطة
  25. مرحبا Zx لفهم مشروع أُنجز بإطار العمل جانغُو يجب أن يكونً لك معرفة مُسبقة بالهيكلة العامة التي ينتهجها جانغو لتنظيم مُختلف أجزاء المشروع. جانغو يقوم باستخدام مجلدات لتنظيم المشروع. المجلدات قد تكون: مُجلد يحمل إسم المشروع: هذا المجلد عادةً يحتوي على الملفات الأساسية لتشيغل المشروع مثل: settings.py: ملف الإعدادات الخاصة بجانغو. urls.py: يوجد به الروابط الأساسية للمشروع. wsgi.py: يستخدم هذا الملف كنقطة تواصل بين المشروع وبين خادم الويب في حالة الإنتاج (Production) تطبيقات (Django APP): جانغو يتميز بمبدأ التصميم DRY (Don't repeat yourself) أي بمعنى: لا تقُم بتكرار أعمال عملتها من قبل لأن هذا يؤدي إلى عمل إضافي ويستغرق وقتًا طويلا. هنا يأتي دور التطبيقات التي يُمكن إستخدامها في مشاريع أخرى. لمعرفة ما إذا كان المجلد عبارة عن تطبيق نذهب إلى ملف الإعدادات settings.py ونرى إذا كان إسم التطبيق موجوداً داخل INSTALLED_APPS أو لا. مُجلد يتضمن القوالب المستعملة في المشروع. لمعرفة هذا نذهب إلى ملف الإعدادات settings.py ونبحث عن إسم المجلد داخل TEMPLATES. مُجلد يتضمن الملفات الثابتة المستعملة في المشروع، أي ملفات ال CSS و JAVASCRIPT والصور. مُجلد يتضمن الملفات المُحملة من طرف العميل. لمعرفة هذا نذهب إلى ملف الإعدادات settings.py ونبحث عن إسم المجلد داخل MEDIA_URL. والتطبيقاتُ بدورها تحتوي على مُجلدات وملفات أساسية نذكرُ منها: views.py: يحتوي على الدوال (functions) التي تُعتَبر المتحكم في إستقبال الطلبات (Requests). models.py: فيه النماذج الخاصة بالتطبيق والتي سوف تُحول إلى جداول في قاعدة البيانات. admins.py: يتم إستخدامه لعرض النماذج في لوحة التحكم الخاصة بالمشروع. urls.py: يوجد فيه عناوين ال URL مربوطة بالدوال الخاصة بها. test.py: يوجد فيه كود إختبار تطبيق الويب. أما بالنسبة لسؤالك الثاني عن كيفية البحث عن أشياء لا تعرفها في جانغو، فأحسن مصدر لتلقي المعلومات هو الموقع الرئيسي لإطار العمل فهو يحتوي على توثيقات عالية الجودة ومبسطة وسهلة للإستيعاب مع أمثلة للإستخدام.
    1 نقطة
×
×
  • أضف...