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

Adnane Kadri

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

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

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

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

    52

كل منشورات العضو Adnane Kadri

  1. تأكد من استعمال الترميز الصحيح: $mail->CharSet = 'UTF-8'; ثم من ارساله وفق SMTP: $mail->IsSMTP(); في حال ما واجهت مشكلة مماثلة بخصوص تعيين قيمة لـ subject هي الأخرى، حاول القيام بذلك على النحو التالي: $mail->Subject = '=?UTF-8?B?'.base64_encode($subject).'?=';
  2. الأمر غير منطقي أساسا، أظنك تحتاج مراجعة متطلبات المشروع والنظر فيما ان كانت تتطلب هذا الدمج أساسا. رغم أنه صعب التحقيق من الناحية العملية. لارافيل هو إطار عمل مبني على لغة PHP وموجه لبناء تطبيقات ويب تكاملية وشاملة، و Django في المقابل هو أيضا نفس الشيء مبنيا بلغة Python، رغم أن كلاهما يعتمد معمارية وهيكلة مختلفة للتعامل مع مفاهيم الويب، إلا أنهما يوفيان نفس الاحتياج. ولذلك فإنك ستحتاج استعمال أحدهما دون الآخر، أو العمل على توظيف ميزة في احدهما تتوفر في الآخر.
  3. وعليكم السلام، VARCHAR هي اختصار للعبارة كاملة: Variable Charachter وهو نوع بيانات يتم تحديد به الحقول التي يمكن أن تحوز حتى على 65535 محرف أو Charachter والتي يمكن تحديد طول أعظمي لها. TEXT هو نوع بيانات يمكن أن يحوز على نفس العدد السابق من المحارف دون إمكانية تحديد طول أعظمي لها. ولذلك: نستعمل VARCHAR لما يمكن التنبؤ بالطول الأعظمي للحقل أو عند الرغبة في تحديد طول أعظمي له. نستعمل TEXT لما نتعامل مع نصوص وسلاسل نصية لا يمكن التنبؤ بالطول الأعظمي لها ولا تكون هنالك حاجة لتحديده.
  4. هنالك العديد من الفروقات التي تحدد استعمالات كل منهما في سياقات معينة، إليك مقارنة بسيطة: Middleware أو الطبقات الوسيطة: يتم تشغيلها بشكل أساسي على المسارات، وعادة ما يتم استخدامها كفلتر للتعامل مع الطلبات القادمة. استعمالات شائعة: فحص قيمة ترويسة Header معينة في الطلبية. أما Guards فهي طريقة لتحديد كيف يتم توثيق ومصادقة المستخدمين للطلبات، استعمالات شائعة: انشاء محمية Guard لمصادقة المستخدمين العاديين وأخرى لمصادقة المشرفين Admins.
  5. مبدئيا، لا يوجد أي مشكلة بظهور الكود المصدري للواجهة الأمامية على المتصفح، فهو شيء تحصل عليه المتصفح بالفعل ومن غير المنطقي أن لا يكون الوصول إليه متعذرا، نفس الأمر بالنسبة لأدوات تجريف الويب web scraping، فكل الذي يتم تحصيله هو هاته الشيفرات التي تخص الواجهة الأمامية. قد يمكنك تعطيلها أو تشويشها أو تقليلها Minimizing من خلال استعمال ادوات ظغط أو برامج ويب لكتابتها في سطر واحد، ولكن لا يزال نفس الأمر مطروحا إذ لا يشكل ذلك أي مشكلة، مادامت شيفرات الواجهة الخلفية غير متاح الوصول إليها.
  6. طبعا فإن هذا يعتمد بدرجة أولى على مضمون الاتفاق بينكما أول مرة، فإن كانت متطلبات الاتفاق تشمل تسليم الكود المصدري للتطبيق فبطبيعة الحال لن يتم المشروع إلا بتسليمك إياها، وإن كانت متطلبات الاتفاق لا تشمل هذا البند فلن يمكنك المطالبة بملفات المشروع، ولكن، من غير المعتاد أن لا يتم تسليم كامل الملفات للعميل بشكل نهائي، ولذلك انظر ما كان يمكنك المطالبة بها. يجب أيضا الانتباه إلى أنه سيتطلب منك بعض الخبرة أو الاستعانة بذوي الخبرة لرفع الموقع والتطبيق واختيار خطة استضافة وتحمل تكاليف النطاق والاستضافة وما الى ذلك ..
  7. أظن أن المقاربة الأولى أفضل، أما عن مشكلة انشاء الطلبية دون حذف العناصر من عربة التسوق وكمية المخزون فيمكنك حلها عن طريق الغاء هاته الطلبية بعد تجاوز وقت معين دون الدفع، اذ لا يوجد عادة ما يمنع العميل عن الدفع بعد إنشاءه الطلبية إلا مشاكل قد تخص عملية الدفع نفسها. ولذلك قم بجدولة مهمة Task قم بتشغيلها بشكل دوري، بحيث تقوم بفحص الطلبيات المعلقة والغاءها في حالة ما تجاوز وقت انشاءها وقتا معينا. يمكنك بهاته الطريقة تلافي أي مشاكل تخص الحجز دون الدفع أو غيرها من مشاكل التسوق الالكتروني.
  8. مرحبا أمير، يمكنك مراسلة الدعم بهذا الخصوص. من هنا.
  9. الأمر بسيط، التابع splice يقوم باقتطاع مصفوفة فرعية من مصفوفة رئيسية نقوم بتحديد بدايتها وطولها. مثال: var myVar = ['Apple', 'Orange', 'Banane'] نريد اقتطاع مصفوفة من هاته المصفوفة، تبدأ من Apple وطولها 2، نقوم بذلك على النحو التالي: var myVar = ['Apple', 'Orange', 'Banane'] var result = myVar.splice(0, 2) console.log(result) الناتج: ["Apple", "Orange"] توثيق التابع splice حسب ويكي حسوب
  10. جرب استخدام الدالة mysqli_fetch_assoc بدلا عن mysql_fetch_assoc لتصبح الشيفرة الخاصة بك كالتالي: <?php while ($row = mysqli_fetch_assoc($result)) { ?> <tr> <td><?php echo $row['تم']?></td> <td><?php echo $row['الحلول']?></td> <td><?php echo $row['المشكلة']?></td> <td><?php echo $row['م']?></td> <td><?php echo $row['الرقم']?></td> </tr>
  11. تتعلق هاته المشكلة بملف إعداد ويبباك webpack.config.js، بحيث تم تغيير الواجهة البرمجية لويبباك فاختلفت معه بعض التفاصيل من حيث توصيف بعض الخواص وما إلى ذلك، بما فيها قاعدة writeToDisk التي أصبح يتم وصفها كخاصية لكائن devMiddleware كالتالي: module.exports = { devServer: { devMiddleware: { writeToDisk: true }, }, } افتح ملف webpack.config وضع فيها السياق السابق، وأعد تنفيذ الأمر.
  12. الدورات تتوفر كمحتوى عربي لجعل جمهور المجال يتخطى حاجز اللغة الانجليزية التي عادة ما تكون مشكلة بالنسبة للمترددين على المجال، وهذا لا يعني بطبيعة الحال أن الدورات لا تعنى بسوق العمل الغربية أو الناشطة باللغة الانجليزية، فالشرح والتفصيل فقط هو ما يتم باللغة العربية، في حين أن المصطلحات التقنية تبقى مثل ما هي عليه أو تترجم أحيانا لتوضيحها وتوضيح سياقها ومعناها. فالدالة Function مثلا هي نفس المفهوم باللغتين العربية والانجليزية وأي لغة أخرى، وكذلك أسماء الدوال والمتغيرات والكلاسات التي يتم التعامل معها خلال الدورات، فهي كلها باللغة الانجليزية -لغة مجال العمل-. بعض مهارات التواصل الأخرى تعتمد على اللغة التي تتواصل بها بغض النظر عما هي، فإن كنت تتقن اللغة الألمانية فإنه لايزال بإمكانك الاستفادة من الخبرات التي تكونها من خلال الدورة وسوف لن تشكل اللغة عائقا نظرا لأن مصطلحات المجال هي هي في كل اللغات.
  13. هذا لأن الاستمارة يتم تقديمها قبل طباعة الرسالة أصلا، ولذلك فإنك تحتاج: إما تعطيل السلوك الافتراضي لزر تقديم الاستمارة، وذلك مثلما أشير إليك في التعليقات السابقة. تغيير سلوك الزر من خلال توصيفه كزر button بدل زر submit، وذلك مثل التالي: <button type="button" class="submit" onclick="getMessage()"> Submit </button> . سيكفي هذا لتلافي المشكلة.
  14. سيكون عليك في هاته المرحلة تحديد ما الذي تريد أن تكونه أو ما المنصب الوظيفي الذي تريد أن تشتغل فيه حتى يمكنك تحديد ما الذي يجب عليك تعلمه بالإضافة أو فعله. ولذلك فإنك أمام اختيارات هي: أن تستمر في الواجهة الأمامية وتشتغل كمطور واجهات أمامية، وفي هاته الحالة سيكفيك ما تعلمته لذلك على أنك قد تحتاج بعض المعارف الأخرى من مثل التعامل مع web bundlers أو بعض الـ preproccessors مثل pug و sass وغيرهما .. أن تقوم بتعلم React Native وتشتغل كمطور تطبيقات موبايل هجينة باستخدام تقنيات رياكت نيتيف. أن تقوم بتعلم الواجهة الخلفية وتشتغل كمطور ويب شامل، وفي هاته الحالة سيكون عليك تعلم لغة واجهة خلفية وإطار عمل لها بالإضافة الى أن تتعلم التعامل مع قواعد البيانات بلغة الاستعلامات SQL. وفي كامل الحالات، ينصح بالتقدم الى سوق العمل وتجربة العمل على مشاريع ذات مستويات مختلفة، فما تتعلمه من العمل لا تجده في التحصيل النظري والدراسة التقليدية.
  15. نقاط السمعة في أكاديمية حسوب هي مؤشر لفعالية الشخص ومقدار نشاطه ومدى تفاعل المستخدمين الآخرين داخل الأكاديمية مع المحتوى الذي ينشره أو يكتبه، ويشمل ذلك: تفاعلات المستخدمين مع تعليقات وأسئلة وأجوبة ومقالات الشخص. كما أنها نقاط لزيادة موثوقية الشخص ضمن الأكاديمية. وهي مثل ما تخبر به بالضبط، هي نقاط سمعة. زيادة رصيد المستخدم من نقاط السمعة، هي بزيادة تواجده وتفاعله مع المحتوى داخل الأكاديمية، ويشملل ذلك: الإجابة على الاسئلة التي ينشرها المستخدمون ومساعدة الطلبة وما إلى ذلك، وكل مرة يتم التفاعل مع محتوى لك هنالك، سيتم تزويدها تلقائيا. بخصوص متابعة المحتوى، يمكنك تفعيل متابعة المحتوى مثلما أشار إليك عمر في تعليق سابق.
  16. CustomTkinter هي مكتبة واجهة استخدام بايثون حديثة وقابلة للتخصيص تعتمد بشكل أساسي على Tkinter. أما ttkbootstrap فهو ملحق سمة لـ tkinter يتيح سمات ذات نمط Flat مستوحاة بشكل أساسي من Bootstrap. إليك بعض المقارنات البسيطة بينهما: تحصل CustomTkinter على 9,429 نجمة على غيتهب مقابل 1,443 لـ ttkbootstrap معدل النشاط لـ CustomTkinter هو 7.3 مقابل 2.9 لـ ttkbootstrap كلاهما سهل التثبيت والإستعمال، ويتم استعمالهما على نطاق واسع من قبل مجتمع بايثون ميزات ttkbootstrap: يحتوي على عدد كبير من السمات يوفر سلسلة من التنسيقات جاهزة الاستخدام يحتوي توثيقا سهلا وواضحا يحتوي على باني ثيمات مدمج وسهل الاستعمال ميزات CustomTkinter: تصاميم حديثة وعصريىة القابلية العالية للتخصيص موثق بشكل جيد سهل التعلم سمات داكنة أما عن دعم اللغة العربية فكلاهما يتوفر على دعم لإتجاه RTL ويمكن تفعيله بسهولة بالغة.
  17. في برامج مثل VS code يمكنك استخدام اختصار لوحة المفاتيح CTRL + S لحفظ التغييرات المنجزة على الملف الحالي. أو عن طريق: الضغط على File من شريط الأدوات اختيار Save أو Save As لحفظ التغييرات.
  18. لا يزال استعمال مكتبة jQuery موجودا على نطاق واسع وعدد المواقع التي تشتغل عليها حاليا هو عدد مهول، وكذلك عدد المشاريع التي تتطلبها على مواقع العمل الحر ومواقع التوظيف، ولذلك فإن تعلمها مجد بطبيعة الحال، خصوصا وأنها سهلة التعلم والممارسة. رغم أن التوجه الجديد أصبح ينصرف لمكتبات جافاساكربت الأخرى وأطر عملها الثلاث: VueJS و ReactJS و Angular. ولذلك فإنه لا ضرر إن تعلمتها وتركتها جانبا، فقد تحتاجها يوما في مشروع أو جزئية ما. بالنسبة لتدريس الأكاديمية لها، فالإجابة هي نعم. يتوفر هنالك مسار كامل ضمن دورة تطوير واجهات الاستخدام بعنوان "أساسيات jQuery" والذي يتناولها من أوجه عدة. ناهيك عن استعمالها في مشاريع تطبيقية في عدة مسارات أخرى في دورات مختلفة.
  19. قم أولا بتخزين عائد الدالة في متغير، وليكن re: def func(): var1 = 'Hola' var2 = 'Hola2' return dict(var1=var1, var2=var2) re = func() ثم لقراءة المتغير var1 من القائمة re قم بذلك على النحو التالي: result = dict(re)['var1'] print(result) // Hola
  20. إليك المثال: def func(): var1 = 'Hola' var2 = 'Hola2' return dict(var1=var1, var2=var2) print(func())
  21. لا، ولكن يمكنك تخزين العديد من المتغيرات في قائمة وإعادة القائمة مباشرة.
  22. تلك الأيقونة توفرها اضافة وميزة في VS code تسمى Source Control Checkout وهي طريقة لتمكين المستخدمين من إنشاء فروع branches والتحقق منها checkout مباشرة من داخل vs code باستخدام واجهة رسومية. قم بالضغط على تلك الأيقونة وسيظهر لك مربع الحوار التالي: يمكنك بذلك إنشاء فرع جديد أو تحقق فرع لا غير. أما بالنسبة لعمليات الإدراج add والإيداع commit والدفع push فهي عمليات يجب عليك القيام بها من خلال موجه الأوامر أو من خلال GIT GUI فقط.
  23. قم فقط بالتحقق من وجود قيمة في self.filename قبل طباعتها أو استخدامها. أي قبل قبل استدعاء الدالة PRINT_FILENAME. أو قم بتجاوز الدالة في نفسها لتسع هذا الاستخدام: def PRINT_FILENAME(self): if hasattr(self, 'filename') and self.filename: print(self.filename) else: print("لم يتم اختيار أي ملف بعد")
  24. إذا كانت خوارزمية ما تأخذ وقتا ثابتا لتنفيذها يعني ذلك أن وقت التنفيذ لا يعتمد على حجم البيانات الذي يتم معالجته. وهذا يعتبر مبدئيا أمرا ومؤشرا جيدا من حيث الأداء، خاصة إذا كان البرنامج يعمل بنفس الطريقة بغض النظر عن حجم البيانات. فالوقت الثابت يشير إلى أن تكلفة تنفيذ الخوارزمية لا تتغير بزيادة حجم الإدخال. بما أن الوقت الثابت هو أمر مرغوب فيه، إذا كان بإمكان البرنامج تحقيق هذا الأمر لكل سطر من الكود، فإن ذلك سيكون ميزة كبيرة بطبيعة الحال. على أنه يجب مراعاة أن العديد من البرامج قد تحتاج إلى التعامل مع بيانات متغيرة الحجم، وفي هذه الحالات قد تكون بعض العمليات تتغير في تعقيدها بناءا على حجم البيانات، ولذلك فإنه مجرد مؤشر يمكن أن يجعلها مفضلة في بعض النواحي ولا يعني أن الخوارزمية هي الأفضل على الإطلاق.
  25. مثل هذا السؤال كثير التكرر من المقبلين على المجال، والاختيار بينهما غالبا ما يعتمد على العديد من العوامل منها: نوعية المادة العلمية مضمون الكتاب، فبعض المواد سرعان ما يتم تحديثها بشكل دوري ولذلك لا يمكن للكتب أن تسعها أو تقاربها، فالكتب تحتاج كتابة وتنقيحا ونشرا وتوزيعا إلى حد الوصول إلى القارئ النهائي، ولحد ذلك يمكن أن يتم نشر تحديث جديد لمحتوى الكتاب. ومثال عن ذلك: الكتب الخاصة بأطر العمل أو المكتبات مثل ReactJS و Laravel والتي تطرأ عليها تحديثات بشكل سريع. في حين أن بعض الكتب الأخرى والتي تتناول بعض مبادئ البرمجة أو هندسة البرمجيات لا تطرأ عليها تحديثات بشكل دوري ولذلك يمكن للكتب تناولها وتوزيعها من مثل كتاب The clean code تفضيلات المتعلم، فبعض المتعلمين يجدون أنفسهم مرتاحين أكثر مع الكتب والبعض الآخر مع الفيديوهات أو المحتوى المرئي. جودة العمل، سواءا كان ذلك كتابا أو فيديو، فبعض الكتب أفضل بكثير من الفيديوهات التعليمية والبعض الآخر غير ذلك. الجانب النظري فيها، فإن غلب الجانب التطبيقي على النظري مضمون الكتاب فالفيديوهات أفضل بطبيعة الحال لإمكانية تطبيقها عمليا بصورة واضحة واختبار نتائجها، في حين أن لو كانت المادة النظرية هي الغالبة فسيكون من الأفضل الكتب، لإمكانية التفصيل والتفريع فيها. ولذلك فإن الإجابة عن مثل هذا السؤال تخضع لك ولما تريد أن تتعلمه بصورة مباشرة. وفي مثال HTML5 يفضل الفيديوهات التعليمية لأن أغلب المفاهيم المطبقة هي هياكل يجب اختبارها بشكل تطبيقي.
×
×
  • أضف...