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

Adnane Kadri

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

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

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

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

    51

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

  1. بما أن دورة علوم الحاسب تعتبر توطئة وحجر أساس لأي مجال آخر فهي بالطبع ستسبق أي دورة أخرى بما في ذلك دورة جافاسكربت، ولذلك فإن الترتيب الصحيح هو دورة علوم الحاسب أولا ثم دورة جافاسكربت لاحقا. وبما أن الوصول إلى الدورات في الأكاديمية هو وصول مدى الحياة فسوف لن تحتاج القلق بشأن اتمام أحد الدورتين، سيمكنك أخذ كامل وقتك في استثمار دورة علوم الحاسب والتأسيس فيها قبل الولوج إلى دورة جافاسكربت.
  2. ستكون دورة جافاسكربت اذن اختيارا رائعا، سيمكنك بناء تطبيقات ويب، موبايل وسطح مكتب باستخدام تقنيات جافاسكربت في كل منها.
  3. المشكلة عامة جدا، ولن يمكن بطبيعة الحال تحديد سببها على وجه التحديد، فيما يلي بعض الخطوات التي قد تساعدك في العمل على هاته المشكلة: التأكد من أن خادم Apache Tomcat يعمل بشكل صحيح: قم بالتأكد من أن خادم Apache Tomcat يعمل وقد بدأ بشكل صحيح. يمكنك التحقق من ذلك من خلال تشغيل الخادم من خلال واجهة التحكم الخاصة به أو من خلال سجلات النظام. التحقق من إعدادات الشبكة: تحقق من إعدادات الشبكة على جهازك وتأكد من أن عنوان IP ومنفذ خادم Apache Tomcat متاحة للوصول من جهازك. قد تحتاج إلى تكوين إعدادات الجدار النار (firewall) للسماح بالوصول إلى الخادم. التحقق من إعدادات الملقم: تأكد من أن ملقم Apache Tomcat مكون بشكل صحيح ومُعدّل بحيث يستجيب لطلبات الوصول من العملاء. التحقق من عنوان URL الصحيح: تأكد من أنك تستخدم العنوان الصحيح للوصول إلى خادم Apache Tomcat. تأكد من أن العنوان يحتوي على البروتوكول الصحيح (مثل http أو https) والعنوان الصحيح للخادم ومنفذه. التحقق من سجلات الأخطاء: تحقق من سجلات الأخطاء في خادم Apache Tomcat وسجلات النظام للبحث عن أي أخطاء أو مشكلات قد تكون سببًا في عدم الوصول إلى الخادم. إعادة تشغيل الخادم والعميل: جرب إعادة تشغيل خادم Apache Tomcat والعميل (المتصفح الذي تستخدمه) للتأكد من أن أي مشكلة مؤقتة قد تم حلها.
  4. ليس تماما، الاختيار في الاخير يرجع إليك وما تريد أن تصبحه مستقبلا. ما حاولت الاشارة إليه هو أن اهتمامك بجافاسكربت يعني اهتمامك بأحد الدورتين اللتان تتناولانها: دورة تطوير التطبيقات باستخدام جافاسكربت و دورة تطوير واجهات الاستخدام. قد يساعدك الاطلاع على صفحتي الدورتين في الاختيار بين أحدهما: دورة تطوير واجهات المستخدم دورة تطوير التطبيقات باستخدام لغة JavaScript
  5. لنقم بأخذ الأمر من هذا الجانب حتى تتضح الفكرة: دورة علوم الحاسب هي توطئة لأي مجال في علوم الحاسب ككل، بما في ذلك التخصصات التي تتعرض لها الدورات الباقية. ولذلك فإنها توطئة لها، وهذا ما يجعلها أفضل دورة لأخذها مع أي دورة من دورات الأكاديمية الأخرى. وبما أنك مهتم بجافاسكربت، فستكون دورة جافاسكربت مناسبة لك أيضا. فيما يلي مسارات الدورة: أساسيات لغة JavaScript أساسيات React.js أساسيات Node.js تطوير تطبيق جوال باستخدام React Native تطبيق دردشة يشبه WhatsApp تطوير تطبيق سطح مكتب باستخدام Electron.js إنشاء تطبيق أسئلة وأجوبة باستخدام Next.js تطوير تطبيق جوال للتواصل الاجتماعي باستخدام Ionic تطبيق حجز مناسبات باستخدام GraphQL أما ان كنت مهتما بتطوير واجهات الاستخدام لكي تصبح مطور فرونت اند فستكون دورة تطوير واجهات الاستخدام أكثر مناسبة لك، خصوصا وأن هاته الأخيرة تحتوي مسارا كاملا لتعلم جافاسكربت والعديد من المسارات التطبيقية التي تتعامل معها في مجال الويب. فيما يلي مسارات الدورة حتى تأخذ فكرة عنها هي الأخرى: أساسيات تطوير الويب بناء واجهة مستخدم تشبه موقع YouTube بناء صفحات هبوط تطوير متجر إلكتروني تطوير موقع شركة تطوير لوحة تحكم بناء مواقع ثابتة باستخدم Hugo تطوير موقع أخباري الخيار في الأخير يرجع إليك، قم باختيار ما يلائم ميولاتك وما يطابق رؤيتك المستقبلية، فكر فيما الذي تريد أن تصبحه واختر الدورة المناسبة لتمكنك من ذلك.
  6. وعليكم السلام، تقتضي الإجابة على السؤال الأول حول الفرق بين الذكاء الصناعي وأمن المعلومات فهم كل منهما لتبيان تأثير أحدهما في الآخر، ولكن عموما: توظيف الذكاء الصناعي في أمن المعلومات يطور من: تحسين أمان الأنظمة: يمكن استخدام الذكاء الاصطناعي في تحسين أمان الأنظمة والشبكات. يمكن للخوارزميات الذكية مراقبة النشاطات غير المعتادة واكتشاف الاختراقات بشكل أكثر فعالية من الأساليب التقليدية. الكشف عن التهديدات: يمكن للذكاء الاصطناعي تحليل البيانات الضخمة للكشف عن أنماط وتحديد التهديدات الأمنية المحتملة. التصدي للهجمات: يمكن استخدام الذكاء الاصطناعي للتصدي للهجمات السيبرانية عبر تطبيق الحواجز الأمنية والأنظمة الآلية للدفاع عن النظم. نفس الشيء بخصوص سؤالك الثاني، اذ ان ممارسات الهكر الأخلاقي غالبا ما تدور حول أمن المعلومات.
  7. جافاسكربت واحدة من اللغات التي يواجه المترددون عليها بعض المشاكل في فهمها أو استيعاب بعض منطقها، ولكنها في الأخير ستجد أنها من أسهل اللغات. فيما يلي بعض النصائح التي ستساعدك في تخطي مثل هاته العقبة، خصوصا وأنك مشترك في دورة تطوير واجهات الاستخدام: لا تستعجل التعلم وخذ كامل وقتك في فهم و استيعاب كل جزئية يتم التعرض لها. تفاعل مع المدربين وافتح نقاشات حول أي نقطة يلبس فهمها عليك. ابحث عن مشاريع بسيطة وجرب تنفيذها. قم بالتعرض لجزئيات جافاسكربت على حدة، مثال: قم بتطبيق الوقت والتاريخ في جافاسكربت عن طريق بناء ساعة مثلا، وقم بتطبيق العمليات الحسابية والدوال الرياضية عن طريق بناء آلة حاسبة. وما إلى ذلك. تقبل الأمر وانظر الى الأمر على أنه شيء طبيعي وليس شيئا يخصك.
  8. هنالك الكثير من الخيارات التي تتباين ميزاتها، ولكن عموما، ستحتاج اختيار واحدة من التالي: Laravel Nova: تعتبر واحدة من أشهر حزم لوحات التحكم في لارافيل. توفر Nova واجهة جميلة وقوية لإدارة قاعدة البيانات والصلاحيات والمحتوى في تطبيقك. يمكنك استخدام Nova لإنشاء لوحة تحكم مخصصة وفقًا لاحتياجات مشروعك. Backpack for Laravel: توفر لوحة تحكم جاهزة ومخصصة لإدارة المحتوى والبيانات والصلاحيات في لارافيل. يمكنك تخصيص لوحة التحكم وفقًا لاحتياجاتك باستخدام الوظائف المدمجة والإضافات المتاحة. Laravel Voyager: هذه الحزمة تقدم لوحة تحكم جاهزة وسهلة الاستخدام تسمح لك بإدارة المحتوى والصفحات والبيانات بسهولة دون الحاجة إلى البرمجة. تأتي مع مجموعة من الميزات والإضافات التي تجعلها خيارًا مناسبًا لإنشاء لوحة تحكم سريعة وفعالة. AdminLTE Integration: ليس حزمة لوحة تحكم تحديدا، ولكنه يعد نمطًا لتكامل لارافيل مع قالب AdminLTE الشهير لإنشاء لوحة تحكم مخصصة بناءً على تصميم AdminLTE المميز. InfyOm Laravel Generator: على الرغم من أنه ليس لوحة تحكم جاهزة، إلا أنها حزمة توفر أدوات لتوليد تطبيق Laravel بسرعة وفقًا لنمط جاهز مع صفحات لوحات تحكم. CoreUI for Laravel: هذه الحزمة تتكامل مع قالب CoreUI الشهير وتقدم لوحة تحكم جاهزة تسمح لك بإدارة المحتوى والبيانات بسهولة.
  9. جرب نسخ الصورة إلى الحافظة، ارفعها الى الخادم الخاصك بك ثم قم بتوجيه المستخدم الى الرابط: 'whatsapp://send?text='+encodeURIComponent(imageURL) سيفي هذا بالغرض.
  10. مرحبا شمس، ان كان السؤال متعلق بإحدى الدورات ينصح بالتعليق أسفل الدرس في قسم تعليقات الطلبة أسفل الفيديو. عموما، قابلية التكرار هي الترجمة العربية لمصطلح Iterable، وتعني نفس الشيء. ويفرق في اللغة الانجليزية بين معنى التكرار Repetition و التكرار Iteration رغم أن كلاهما يشير إلى نفس المصطلح في العربية، فالأولى، في سياقات عامة خارج البرمجة، "repetition" تعني أيضًا التكرار، ولكنها قد تكون مرتبطة بالأنشطة والأحداث المختلفة. يمكن أن يكون التكرار في هذا السياق مرتبطًا بأنشطة يومية مثل قراءة الكتب، ممارسة الرياضة، تكرار المناسبات الاجتماعية وما إلى ذلك. يمكن أن يكون التكرار هنا أكثر عفوية وتنوعًا من استخدامه في البرمجة. أما الثانية، وفي عالم البرمجة والحوسبة، "iteration" تشير إلى عملية تكرار سلسلة من الخطوات أو الأوامر لعدد محدد من المرات. في البرمجة، يستخدم المطورون تكرار الحلقات (loops) لتنفيذ الكود بشكل متكرر حتى تتحقق شرط معين. عند استخدام الحلقات، يتم تكرار جزء معين من الكود مرارًا وتكرارًا حتى يتم تحقيق الشرط المطلوب. إذ أن هذه هي الفكرة الأصلية من الحلقات، تكرار شيفرة معينة كذا مرة. والتسلسل هو ذات الأمر، اذ نعتمد في تكرار كتلة برمجية معينة على المرور على عدد n من العناصر بشكل تسلسلي.
  11. لا يوجد تعارض في هذا الأمر مع NodeJS. فهو الآخر يمكن به التعامل مع مثل هاته الجزئيات بقدر عال من الاحترافية. نذكر بعض المكتبات مثلا: Multer: Multer هي مكتبة Node.js لمعالجة طلبات تحميل الملفات. يمكنك استخدامها مع Express.js لتلقي ملفات الصور والفيديوهات من طلبات المستخدم وحفظها على الخادم. AWS S3 أو Google Cloud Storage: إذا كنت ترغب في تخزين الصور والفيديوهات على خدمات تخزين سحابية مثل Amazon S3 أو Google Cloud Storage، يمكنك استخدام مكتبات مثل aws-sdk أو @google-cloud/storage للتفاعل مع هذه الخدمات. FFmpeg: إذا كنت تحتاج إلى معالجة الفيديوهات مثل تحويل صيغ الفيديو أو قصها أو إجراء عمليات أخرى، يمكنك استخدام FFmpeg، وهو أداة سطر الأوامر المتاحة للتعامل مع الوسائط المتعددة. Jimp: إذا كنت ترغب في معالجة الصور مثل تغيير الحجم أو تطبيق الفلترات، يمكنك استخدام مكتبة Jimp التي تدعم العديد من عمليات تحرير الصور.
  12. ستحتاج تاليا اجتياز امتحان الحصول على الشهادة التي ستخولك لاختبار أولى مشاريعك والتسجيل في مواقع العمل الحر للإنطلاق في ذلك. امتحان الحصول على الشهادة يقتضي استيفاء الشروط التالية: إتمام أربعة مسارات تعليمية على الأقل التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة رفع المشاريع على حسابك على GitHub يمكنك الاطلاع على تفاصيل ومراحل اجتياز الامتحان من هنا. سيقوم الممتحنون بتوجيهك نحو الخطوات التالية.
  13. ما قمت به في دورة تطوير واجهة الاستخدام هو أقصى ما سيقوم به مطور الواجهة الأمامية، إذ أن التعامل مع مثل هاته الجزئية يتم غالبا على مستوى الواجهة الخلفية. ولذلك فإننا نكتفي في دورة تطوير واجهة الاستخدام بتوصيف مثل هاته الصفحات كعناصر ثابتة أو كمكونات جامدة غير مفعلة. في حين أن دورات أخرى من الأكاديمية نقوم فيها بتطوير كل هاته الوظيفية والتعامل معها على مستوى الواجهة الخلفية. نفس الشيء بالنسبة لصفحات تسجيل الدخول وغيرها، فهذا هو عمل مطور النظم الخلفية أساسا. هو ما يعطي الحياة لهاته الصفحات.
  14. الموقع عموما جيد، ولكن فيما يلي بعض الملاحظات: للوهلة الأولى يخيل للزائر أن اسم المطور مرفقا باسمه الوظيفي يعبر عن preloader وأن محتوى ما يتم تجهيزه لإظهاره، ولا يظهر إلا بصعوبة أن المحتوى يجب الإنزلاق إليه. أضف موجها أو سهما يشير إلى الأسفل مثلا. اختر لشريط التصفح لونا آخرا، لأنه يتداخل عند السكرول مع المحتوى ويظهر الشعار بشكل غير جيد. الخط في قسم السيرة الذاتية يحتاج تكبيرا. في قسم المهارات ضع أيقونات للمهارات التي لا يحدد لها ذلك، PHP أو XML مثلا. في قسم what i do هنالك الكثير من النصوص، تأكد من اقتضابها واختصارها أو ضف شروحات مصورة، صورا أو غرافيكات مثلا. ضف المزيد من الروابط الخاصة بك وتأكد من توفير زر أو رابط للتواصل معك. -صحيح أنه توجد في صورة الهاتف ولكنها لا تظهر أنها أزرار حقيقية، اذ يخيل أنها صورة للهاتف وفقط-. أخرجها عن الهاتف قليلا، بحيث تكون بشكل متداخل يظهر احترافية التصميم. ضف شريط تصفح في قائمة التصفح ليسهل استعراض المحتوى. ضف زرا للعودة إلى الأعلى عند التصفح لأسفل المحتوى.
  15. مبدئيا لا تظهر أي مشكلة في الشيفرة، ولكن هنالك بعض الملاحظات: لما يتم تصريح المتغير time_cklick دون أن يتم استعماله. نفس الشيء بالنسبة للمتغير string_id. لا يوجد داع من التحقق من عنوان الصفحة قبل تنفيذ الاسكربت، يمكنك التغاضي عن هذا وحقن شيفرة الاسكربت في الصفحة المنشودة وفقط. لا داع من استعمال String في: String('button[class="crash-btn crash-btn--transparent crash-btn__text"]') فالعنصر الممرر هو سلسلة نصية حصرا ولا داع من تحديد ذلك. تأكد من تضمين جيكويري مادمت تستخدم سياقها: if ($('button[class="crash-btn crash-betbtn crash-betbtn--stop"]').is('[disabled=disabled]') == false) قد تكون هنالك بعض الملاحظات الجانبية الأخرى، ولكن لن يمكن تصويب الشيفرة إلا بعد الاطلاع على كيفية استعمالها أو الهدف المرجو منها، أيضا لن يمكن تشخيص أخطاءها دون التعرف على هاته الأخطاء.
  16. يمكنك أيضا الاعتماد على مواقع الاختبارات والتحديثات لتحديد المجال، اللغة ودرجة الصعوبة لفلترة اختبارات ذات مستوى سهل، صعب ومتوسط في الدوال في جافاسكربت. نذكر مثلا: freecodecamp codecademy exercism leetcode codewars hackerrank
  17. عند استخدام محتوى مرخص مثل الخطوط والأيقونات والصور التي تحمل تراخيص معينة، يجب عليك دائمًا وضع attribution أو الإشارة إلى مصدر المحتوى وترخيصه حسب ما هو محدد في الترخيص الخاص بهذا المحتوى. هذا يعني أنه عليك ذكر المصدر والترخيص المناسب عند استخدام هذه الموارد في مشروعك. قد يكون هذا شرطا ضروريا في بعض الأحيان. تأتي ملفات المكتبات عادة مرفقة بملف الترخيص LICENSE.md، يشرح هذا الملف نوع رخصة الاستخدام وحدود استعمال الملف او المكتبة او البرمجية، يمكنك التغاضي عن حذفه وسيكون هذا كافيا. فيما يخص استخدام jQuery، فإن استخدام الرابط من Google hosted libraries يعتبر طريقة سهلة وشائعة لاستخدام jQuery في مشروعك، ولكن يفترض أنك تلتزم بشروط استخدام Google hosted libraries. في هذه الحالة، عادةً لا تكون هناك حاجة إلى وضع attribution، لأن Google تتعامل مع الرخص والإشارات إلى مصدر البيانات بالنيابة عنك.
  18. الشيفرات المرفقة من قبل المدربين تفي بالغرض، تأكد فقط من استعمالها على نحو صحيح فقط. مرفق مثال عن جدول: <table> <thead> <tr> <th>Name</th> <th>Job</th> <th>Salary</th> </tr> </thead> <tbody> <tr> <td>Olivia Saturday</td> <td>Senior Data Engineer</td> <td>$320,000</td> </tr> <tr> <td>David Smith</td> <td>Strategic Finance Manager</td> <td>$180,000</td> </tr> <tr> <td>Margaret Mills</td> <td>Lead Software Engineer</td> <td>$250,000</td> </tr> <tr> <td>Paul Brown</td> <td>Digital Content Writer</td> <td>$145,000</td> </tr> <tr> <td>Stephanie Tavartkiladze</td> <td>Digital Project Manager</td> <td>$250,000</td> </tr> <tr> <td>Olivia Saturday</td> <td>Senior Data Engineer</td> <td>$320,000</td> </tr> <tr> <td>David Smith</td> <td>Strategic Finance Manager</td> <td>$180,000</td> </tr> <tr> <td>Margaret Mills</td> <td>Lead Software Engineer</td> <td>$250,000</td> </tr> <tr> <td>Paul Brown</td> <td>Digital Content Writer</td> <td>$145,000</td> </tr> <tr> <td>Stephanie Tavartkiladze</td> <td>Digital Project Manager</td> <td>$250,000</td> </tr> <tr> <td>Olivia Saturday</td> <td>Senior Data Engineer</td> <td>$320,000</td> </tr> <tr> <td>David Smith</td> <td>Strategic Finance Manager</td> <td>$180,000</td> </tr> <tr> <td>Margaret Mills</td> <td>Lead Software Engineer</td> <td>$250,000</td> </tr> <tr> <td>Paul Brown</td> <td>Digital Content Writer</td> <td>$145,000</td> </tr> <tr> <td>Stephanie Tavartkiladze</td> <td>Digital Project Manager</td> <td>$250,000</td> </tr> <tr> <td>Olivia Saturday</td> <td>Senior Data Engineer</td> <td>$320,000</td> </tr> <tr> <td>David Smith</td> <td>Strategic Finance Manager</td> <td>$180,000</td> </tr> <tr> <td>Margaret Mills</td> <td>Lead Software Engineer</td> <td>$250,000</td> </tr> <tr> <td>Paul Brown</td> <td>Digital Content Writer</td> <td>$145,000</td> </tr> <tr> <td>Stephanie Tavartkiladze</td> <td>Digital Project Manager</td> <td>$250,000</td> </tr> </tbody> </table> التنسيقات المطبقة على هذا الجدول تكون: table { width: 100%; max-width: 960px; margin: 0 auto; border-collapse: separate; border-spacing: 0; } tbody tr:nth-child(odd) { background-color: #ECE9E9; } th, td { /* cell */ padding: 0.75rem; font-size: 0.9375rem; } th { /* header cell */ font-weight: 700; text-align: left; color: #272838; border-bottom: 2px solid #EB9486; position: sticky; top: 0; background-color: #F9F8F8; } td { /* body cell */ color: #7E7F9A; } /* demo stuff */ body { padding: 6rem 2rem; background-color: #F9F8F8; } سيعطي هذا نفس المقاربة التي تقصدها.
  19. الخطأ الذي يظهر هو في الغالب ناتج عن طباعة معلومات debug أو trace في صفحة الاستجابة. هذا النوع من الطباعة يظهر عادةً عندما يتم تفعيل إعدادات الإشعار أو التصحيح (debugging) في تكوين PHP أو إطار العمل الذي تستخدمه. لحل المشكلة وإخفاء هذه المعلومات غير المرغوب فيها عن الزوار، يجب أن تتأكد من أن إعدادات التصحيح والإشعارات في PHP معطلة عند نشر التطبيق على الخادم الحقيقي. يمكنك القيام بذلك باتباع الخطوات التالية: افتح ملف تكوين PHP (عادةً يكون اسمه php.ini). تأكد من أن إعدادات التصحيح والإشعارات معطلة. للقيام بذلك، ابحث عن الخطوط التالية وتأكد أنها معلقة أو معطلة: display_errors = Off error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT بعد إجراء التغييرات، أعد تشغيل خادم Apache لكي تتمكن من التأكد من أن الإعدادات الجديدة تعمل كما هو متوقع وأن المعلومات غير مرئية على صفحة الاستجابة. في حالة التعذر، يرجى ارفاق الشيفرة المسؤولة عن المشكلة.
  20. الأمر بسيط، فكر بالأمر من ناحية مدلوله اللغوي وستجده بسيطا. Set: يُعد Set هو عبارة عن هيكل بيانات يسمح بتخزين مجموعة من القيم المميزة (فريدة) بدون تكرار. يمكن للعناصر في Set أن تكون من أي نوع من أنواع البيانات مثل الأرقام والسلاسل والأشياء الأخرى. يتيح لنا طرقًا لإضافة عناصر جديدة وإزالة العناصر الحالية والبحث عن عناصر معينة. مثال: // إنشاء مجموعة Set const mySet = new Set(); // إضافة عناصر إلى المجموعة mySet.add(10); mySet.add('Hello'); mySet.add({ name: 'John', age: 25 }); // الحصول على عدد العناصر في المجموعة console.log(mySet.size); // الناتج: 3 // التحقق مما إذا كانت المجموعة تحتوي على عنصر معين console.log(mySet.has('Hello')); // الناتج: true // إزالة عنصر من المجموعة mySet.delete(10); // تحويل Set إلى مصفوفة const myArray = [...mySet]; console.log(myArray); // الناتج: ['Hello', { name: 'John', age: 25 }] WeakSet: هو نوع خاص من Set المرجع فيه ضعيف Weak، يعني هذا أن أن العناصر في WeakSet قابلة للتدمير إذا لم يتم الاحتفاظ بها بشكل آخر ككائن في البرنامج / التطبيق. كما أن العناصر في WeakSet من نوع الكائنات فقط. مثال: // إنشاء مجموعة WeakSet const myWeakSet = new WeakSet(); // إنشاء كائنين لاستخدامهما كمفاتيح في WeakSet const key1 = { id: 1 }; const key2 = { id: 2 }; // إضافة الكائنات إلى المجموعة myWeakSet.add(key1); myWeakSet.add(key2); // الكائنات في myWeakSet تكون مرتبطة فقط بمجموعة الضعيف وليس لديها تأثير على جمع القمامة // التحقق مما إذا كان الكائن موجودًا في المجموعة console.log(myWeakSet.has(key1)); // الناتج: true // إزالة الكائن من المجموعة (لا يمكن القيام بهذا بشكل مباشر) // يمكنك إعادة تعيين المتغير الذي يحمل الكائن (مفتاح) ليصبح `null` لتمكين جمع القمامة key1 = null; // تحويل WeakSet إلى مصفوفة غير ممكن بسبب طبيعة WeakSet وعدم وجود إشارة ثابتة للكائنات الداخلة فيه وهذا بخصوص الأطقم أو Sets. الخرائط Maps تمتلك نفس المضمون غير أن القيم فيها تخزن كزوج قيمة - مفتاح، اذ يمكن استخدام أي نوع من البيانات كمفتاح أو قيمة. قد يكون من الأفضل الاستزادة بالاطلاع على المقالة التالية:
  21. قد يكون التركيز المفرط في الوقت هو ما يشتتك ويجعلك تحس بشعور أنك نسيت، رغم هذا، إلا أن الشعور بنسيان معلومات أو الشعور بأنك تخزن كميات كبيرة من المعلومات وتنساها، هذا شيء طبيعي جداً. فالمعرفة والمعلومات التي نتعلمها يمكن أن تكون ضخمة وتزداد بمرور الوقت. لكن لا تقلق، هذا أمر شائع بالنسبة للجميع. يمكنك دائمًا الرجوع إلى المصادر التي تعلمت منها أو استخدام الأدوات والمراجع للتذكر والتحقق من المعلومات. الأهم الآن، هو أن تستمر في التعلم والتطبيق وألا تتوقف عن التدريب. الاستمرارية والتكرار تلعب دورًا مهمًا في تحسين الاستيعاب وتذكر المعلومات. أيضًا، حاول ممارسة ما تعلمته في مشاريع عملية، فالتطبيق العملي يساعد في تثبيت المعرفة. ولا تتوقع أن تكون مثاليًا أو أن تتذكر كل شيء في كل وقت بطبيعة الحال. الأهم هو الاستمرارية والتحسن مع مرور الوقت. فكل المطورين يعودون لمحركات البحث ولتوثيقات اللغات والأطر والأدوات التي يستعملونها ولا يوجد من يستذكر كل شيء كل الوقت. أيضا لا يمكن بدقة تحديد الوقت الممكن استغراقه في الدورة ككل، فالأمر ذاتي جدا، ويعتمد على قدرتك الاستيعابية ومدى تفرغك للتحصيل العلمي.
  22. يبدوا أنك تحاولين استعمال مدير حزم عن طريق مستخدم لا يمتلك صلاحية التثبيت، ولهذا يتطلب منك ادخال كلمة المرور أولا. عموما، جرب إجراء الخطوات التالية: تأكد أنك تقوم بتنفيذ الأمر باستخدام حساب المستخدم الذي لديه صلاحية الوصول إلى الإنترنت وتثبيت البرامج. قد يكون هذا المستخدم هو "root" أو مستخدم آخر لديه صلاحية sudo. جرب تحميل بايثون 3 بتنفيذ الأمريرن: sudo apt update sudo apt install python3 قد تحتاج إلى إدخال كلمة مرور المستخدم الخاصة بحساب الـ "sudo" (إذا كان لديك) عند طلبها. قد يكون لديك مؤقتًا بعض الوقت لإدخال كلمة المرور قبل أن تفشل العملية. ولهذا أدخلها وتجنب هذا السيناريو.
  23. جرب المحايلة باستخدام عدد n من استعلامات OR LIKE بشكل ديناميكي. بحيث تقوم أولا بتجزئة الجملة المراد فلترة النتائج بحسبها: $keywords = explode(' ', $originalKeyword); ثم جهز استعلام Eloquent الخاص بك: $results = YourModel::where('name', 'LIKE', $keywords[0]); ثم من أجل كل كلمة من الكلمات المفتاحية قم بتجهيز استعلام OR LIKE: foreach($keywords as $keyword){ $results = $result->orWhere('name', 'LIKE', $keyword) } ثم نفذ الاستعلام في الأخير: $result = $result->get(); فيكون الكود كاملا: $keywords = explode(' ', $originalKeyword); $results = YourModel::where('name', 'LIKE', $keywords[0]); foreach($keywords as $index => $keyword){ if($index > 0){ $results = $result->orWhere('name', 'LIKE', $keyword); } } $result = $result->get();
  24. بطبيعة الحال، فإن تعدين العملات الرقمية يتطلب موارد محددة، وأحد هذه الموارد هو الذاكرة العشوائية (RAM). الكمية المطلوبة من ذاكرة الوصول العشوائي تختلف اعتمادًا على عدة عوامل، مثل نوع العملة الرقمية التي تتم تعدينها ونوع خوارزمية التعدين المستخدمة وما إلى ذلك. كمية استهلاك الهاش للتعدين تختلف أيضًا بناءً على العملة الرقمية وخوارزمية التعدين. ولذلك يوجد الهاش، فهو وحدة قياس قوة التعدين ويُعبر عنه بالهاش في الثانية (hashes per second). يتوقف معدل الهاش على القوة التي يمتلكها جهاز التعدين (المعالجات ووحدات المعالجة الرسومية وغيرها من المكونات الأخرى). لحساب متوسط استهلاك الذاكرة والهاش للتعدين، يمكنك متابعة الخطوات التالية: ابحث عن معلومات التعدين الخاصة بالعملة الرقمية التي ترغب في تعدينها، بما في ذلك خوارزمية التعدين المستخدمة. تحقق من مواصفات التعدين الموصى بها من قبل الشركة المطورة للعملة الرقمية أو من مجتمع التعدين. يمكن أن تتضمن هذه المواصفات حجم ذاكرة الوصول العشوائي (RAM) المطلوبة وقوة التعدين المقدرة بالهاش في الثانية. قم بتقييم جهاز الكمبيوتر الذي تعتزم استخدامه للتعدين وتحديد ما إذا كانت مواصفاته تفي بمتطلبات التعدين. قد تحتاج إلى زيادة ذاكرة الوصول العشوائي (RAM) أو استبدال بعض المكونات إذا لزم الأمر. استخدم أدوات الاختبار والقياس لقياس أداء جهاز التعدين الخاص بك وكمية الهاش التي ينتجها في الثانية. هذا سيساعدك على تقييم الأداء الفعلي لجهاز التعدين واستهلاكه للطاقة وموارد الذاكرة.
  25. في لينكس، استعمل الأمر mv لتغيير وجهة الملف المعني من مجلد إلى آخر: افتح نافذة Terminal وتصفح أولا إلى وجهة الملف المراد تغيير وجهته: cd /home/user/documents ثم نفذ الأمر: mv myfolder /home/user/Desktop استبدل المسارات بالمسارات الصحيحة، واسم الملف بالاسم الصحيح.
×
×
  • أضف...