Wael Aljamal

مرحبا، أنا وائل الجمل مهندس برمجيات وطالب ماجستير علوم الويب. سعيد بتقديم الحل لمختلف الأسئلة البرمجية في مختلف لغات البرمجة و أطر العمل. يمكنك توظيفي من موقع مستقل.

501 نقاط السمعة
209 ألف مشاهدات المحتوى
عضو منذ
الإجابة هي عدة خطوات يمكن تطبيقهم
حاول تشغيل المحاكي بشكل منفصل من خارج android studio افتحcmd بالبحث عنه في قائمة إبدأ ثم (حسب مسار وجوج android sdk على حاسوبك) سوف ننتقل له cd ~/AppData/Local/Android/sdk/emulator نفسه cd C:\android\sdk\tools ... ثم يمكن التحقق من تثبيت محاكي بالأمر: ./emulator -list-avds سوف يتم عرض قائمة بالمحاكيات التي تم إنشائها سوف يمكنك تشغيل المحاكي من خلال اسمه مثلاً: emulator -avd @name-of-your-emulator مثال emulator -avd Pixel_3a_API_30_x86 ^^^^^^^^^^^^^^^^^^^^ حيث تضع الاسم حسب ما سيظهر في الأمر السابق. حيث الشكل العام .. \sdk\tools>emulator -avd
تمكن هذه الميزة مطور هذه الإضافة على تتبع الأخطاء التي تسبب توقفها بشكل مفاجئ أو حدوث أخطاء في عملها على حواسيب المستخدمين الذين قاموا بتنصيبها و تفعيلها حيث يصله للمطور عبر بريده الالكتروني أو لوحة تحكم الإضافة معلومات قد تحوي ما يلي: معلومات الجهاز التي توقف فيه عمل الإضافة وإصدار المتصفح رقم الخطأ و معلومات عن حالة الإضافة وأين حدثت المشكلة (الشيفرة التي سببت توقفها) هذه تساعد في تطوير الإضافات و تجنب حدوث مشاكل خلال الاستخدام تدعى العملية Debug أي
كما يود اختلاف حيث قمت بتعريف الدالة get_mar على أنها تستقبل n وهذا ليس ضروري، سطر 3 و 10 والخطأ استدعائها بدون تمرير قيمة في السطر 6 كما قمت بتعريفها بالشكل void وقمت بإعادة n منها ب return سطر 26 هذا خطأ (إما لا تعيد قيمة أي فقط Return) أو تعدل الدالة ل int get_mar وتعيد قيمة
استخدام حلقة do while تقصد بها تجنب القيم السالبة، إذا الشرط الخاص بها يكون طالما n<0 وليس أكبر في السطر 18 وفي حلقة for لدينا n عملية طباعة، الشرط لديك مناسب وصحيح لكن اعتد على كتابته بالشكل i<n
نعم preg_match يعمل فلترة حسب النمط الممرر و يستخلص منه المطلوب
يمكنك تحميل صفحة html لشيفرتك لتعمل عليها البحث من خلال دالة file_get_html ومرر لها رابط الموقع <?php $html = file_get_html('http://www.videos.com/'); ?> ثم نتفحص الصفحة ونبحث عن عناصر video كالتالي: <?php foreach($html->find('video') as $element){ echo $element->src . '<br>'; } ?> هذا سيعيد جميع روابط ملفات الفيديو. يمكن تطبيق نفس الفكرة على عناصر a ويمكن استخدام preg_match للبحث في نص الصفحة و تمرير نمط فيه mp4. للبحث عنه كالتالي: <?php $URL ="http://www.videos.com/"; $Fetched_Contents = file_get_contents($URL); if (preg_match('/<source(.*?)src="(.*?).mp4(.*?)"/i', $Fetched_Contents, $MP4_Link)){ $Complete_MP4_Link = "{$MP4_Link[2]}.mp4{$MP4_Link[3]}";
حسب شرحك لاول سطر، يمكن تطبيق فكرة عامة كالتالي: تحتاج جدول يحوي الوصفات لكل وصفة رقم (ضروري) و توصيف (شرح عنها مثلاً) وصفة recipe id | description 1 | .... 2 | ... وجدول للمكونات (كل المكونات الممكن تكون موجودة في طبخة/وصفة ما) مكون غذائي id | description .. 1 | potato 2 | tomato 3 | ... جدول وسيط يحوي ثنائيات من ( رقم الوصفة و رقم المكون الغذائي ) الذي تحتاجه مع الكمية المطلوبة مثلاً ممكن عمل عمود
إن حدث إطلاق (إرسال بيانات الاستمارة) متعلق بالعنصر form نفسه وليس بالزر الموجود في الاستمارة نفسها أي من الخطأ وضع مستمع حدث onSubmit على عنصر آخر غير form. الزر button قد يكون له نمط submit ووجوده في نفس الاستمارة يعمل على إرسالها في حال أردت معالجة إرسال الاستمارة بطريقة أخرى يمكن ربط دالة المعالجة بالحدث onClick لعنصر إدخال آخر مثل زر أي كل من الطريقتين ممكنتين: <form ... onsubmit="func();"> <input type="submit" ... onclick="func();"> في حال وجود أكثر من زر يرسل
وجدت شيء خاص ب ووردبريس: https://academy.hsoub.com/questions/4923-%D9%83%D9%8A%D9%81-%D8%A3%D8%B6%D9%8A%D9%81-%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85-%D8%B9%D9%84%D9%89-%D9%88%D9%88%D8%B1%D8%AF%D8%A8%D8%B1%D9%8A%D8%B3-%D8%A8%D8%B5%D9%84%D8%A7%D8%AD%D9%8A%D8%A7%D8%AA-%D9%85%D8%B9%D9%8A%D9%86%D8%A9%D8%9F/?do=findComment&comment=10445 و أسئلة أخرى تتعلق بلارافل؛: https://academy.hsoub.com/questions/5788-%D8%B9%D9%85%D9%84-%D8%B5%D9%84%D8%A7%D8%AD%D9%8A%D8%A7%D8%AA-%D9%88role-%D8%B9%D9%86%D8%AF-%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D9%85%D9%88%D9%82%D8%B9-%D8%9F/?do=findComment&comment=12349 https://academy.hsoub.com/questions/13428-%D8%A5%D9%86%D8%B4%D8%A7%D8%A1-%D9%86%D8%B8%D8%A7%D9%85-%D8%B5%D9%84%D8%A7%D8%AD%D9%8A%D8%A7%D8%AA-%D9%88-%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85%D9%8A%D9%86-%D9%81%D9%8A-laravel/?do=findComment&comment=37684 https://academy.hsoub.com/questions/21374-%D9%83%D9%8A%D9%81-%D9%8A%D9%85%D9%83%D9%86-%D8%A7%D9%84%D8%AA%D8%B9%D8%A7%D9%85%D9%84-%D9%85%D8%B9-%D8%A7%D9%84%D8%B5%D9%84%D8%A7%D8%AD%D9%8A%D8%A7%D8%AA-%D9%81%D9%8A-%D8%AA%D8%B7%D8%A8%D9%8A%D9%82-%D9%84%D8%A7%D8%B1%D8%A7%D9%81%D9%8A%D9%84%D8%9F/?do=findComment&comment=63387
الفكرة التي يدور حولها سؤالك هو الصلاحيات permissions و الأدوار roles التي يمكن أن تعطى للمستخدمين حيث عند اختبار هذه الأمور يمكن التحكم بما يمكن للمستخدم القيام به ضمن الموقع/التطبيق. مثلاً الأدمن user.role = admin يمكن أن يقوم بكل الأمور في الموقع المحرر user.editor يمكنه إدارة بعض الأمور. والمستخدم الحالي يمكن كتابة تعليق مثلاً.. يمكن التحكم بالصلاحيات من خلال ووردبريس، يمكنك متابعة شروحات عن ذلك (ادارة صلاحيات المستخدمين ووردبريس) يمكنك الإطلاع على فكرة مشابهة من خلال برمجة لارافل: https://academy.hsoub.com/questions/15830-%D8%B5%D9%84%D8%A7%D8%AD%D9%8A%D8%A7%D8%AA-%D9%84%D8%A7%D8%B1%D8%A7%D9%81%D9%84/?do=findComment&comment=45694 https://academy.hsoub.com/questions/13428-%D8%A5%D9%86%D8%B4%D8%A7%D8%A1-%D9%86%D8%B8%D8%A7%D9%85-%D8%B5%D9%84%D8%A7%D8%AD%D9%8A%D8%A7%D8%AA-%D9%88-%D9%85%D8%B3%D8%AA%D8%AE%D8%AF%D9%85%D9%8A%D9%86-%D9%81%D9%8A-laravel/?do=findComment&comment=37684
يمكن معرفة الأدوات التي بني بها موقع ما من خلال أدوات مثل builtwith و wappalyzer في حال تطبيق الاختبار على الدومين الرئيسي hsoub.com يتبين استخدما التالي: لغات البرمجة: Ruby on Rails و PHP مكتبات واجهات أمامية: Moment JS و jQuery نظام التشغيل: Ubuntu و التشفير: OpenSSL مخدمات ويب: Apache و nginx تخزين الملفات الساكنة: Amazon SES
*من الأفضل عند بناء موقع حقيقي استشارة خبير لعمل التعديلات اللازمة واختبار الموقع
إن عملية تركيب اضافات ووردبريس غير اعتباطية، انتبه للموضوع لأنه من الممكن أن لايكون هنالك توافق بين إضافتين مماينعكس على حصول أخطاء في الموقع أو حتى توقف عمله، وربما يصبح بطيء لوجود إضافة لا داع لها. الإضافات المشهورة المفيدة: Yoast SEO تساعد على تحسين نتائج البحث (مثال البحث عن مقالة في غوغل وأنت لديك كلمات مفتاحية فتظهر مقالتك في نتائج البحث) WP-Optimize تعمل على تحسين ملفات الصور والتنسيقات من خلال عمل تخزين مؤقت لها وضغطها لتصغير حجمها WooCommerce: إضافة قوية
إنه من الأفضل لك نشر تفاصيل مشروعك على موقع مستقل للعمل الحر، مع ذكر كامل التفاصيل التي تنوي إضافتها لموقعك، يمكنك بعدها النقاش في تفاصيل المشروع مع المطورين الذين يقدمون عرضهم على مشروعك
لا يوجد لغة برمجة أفضل بشكل عام بدون تحديد تخصص معين في علم الحاسب، كما أنه ليست جميع لغات البرمجة مخصصة للقيام بنفس الأمور (استخدامها غير ممكن في جميع المجالات) يمكنك قراءة المقالة التالية تتكلم عن عدة اختصاصات واللغات المستخدمة بهم https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-r662/ مثلا لتعلم تصميم واجهات المواقع من الضروري دراسة HTML CSS Javascript أما لبرمجة المواقع يتطلب تعلم أمور إضافية مثل python أو php أو js/node إن رغبت بتعمل أساسيات البرمجة فإن بايثون تعتبر أسهل // (أكاديمياً وفي الجامعات ++C)
من الأبسط عمل إدارة للأصناف عند تبديلها وليس للمكونات ككل أي بدل التبديل بين عنصرين i نبدل الصنف لعنصر واحد، لأنه هذه الطريقة ستكون أوضح في حال التعامل مع مكونات أكبر <i className={{ isRTL ? 'rtl-class' : 'ltr-class' }}/> كما أن فصل حالة الجهة ربما أبسط من الشرط الطويل لديك const [isRTL, setIsRTL] = useState(false); يمكن عمل حالة بوليانية للجهة، في حال كان isRTL ب true نعدل الجهة، غير ذلك لا نضيف أي صنف بوضع فراغ '' بدل الصنف المعاكس
يمكنك إرفاق جزء البرنامج الذي يقوم بتبديل اللغة لنساعدك على اصلاح المشكلة
حاول تنفيذ الأوامر التالية لتنصيب السواقة المناسبة لكرت الشاشة لديك سيعمل على حذف أي Driver غير متوافقة وتحميل نسخة جديجة sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update sudo apt-get purge nvidia* sudo apt-get install nvidia-driver-455
السؤال ينقصه الكثير من الافاصيل ، أرجو ذكر أي معلومات تتوفر لديك عن حالة السكربت
يمكنك تطبيق الدالة على كل صورة لجلب الأب a الخاص بها images.forEach((img)=>console.log(img.closest("a"))); ^^^^^^^^^^^^^^^^^^ إن قرأت سؤالك تفهم أنك تريد الوصول للصورة وليس الرباط، أرجو الانتباه لما تكتب و صيغة السؤال ويمكنك وضع تعليق للتنويه، شكرا لتعاونك
"a img" يعني أي عنصر a له ابن img
يمكن وضع اثنين من Tags بالتسلسل let images = document.querySelectorAll("a img"); سيعيد الاستعلام جميع الصور، يمكن المرور عليهم بحلقة images.forEach((img)=>console.log(img.src)); سوف تطبع مسارات الصور مثلاً
غير ممكن. هذا من خلال جافاسكربت، ممكن تعمل طلب AJAX لصفحة PHP تعيد لك نتيجة تحمل التحديث على شكل نص، ثم من خلال جافاسكربت تستلم النتيجة و تحقنها في content فيتم التعديل. AJAX هي تقنية تحديث أجزاء من صفحة الويب بدون عمل Refresh لها، https://academy.hsoub.com/programming/javascript/jquery/%D9%85%D9%8F%D9%82%D8%AF%D9%91%D9%85%D8%A9-%D8%A5%D9%84%D9%89-ajax-%D9%88%D8%A7%D9%84%D9%83%D8%A7%D8%A6%D9%86%D8%A7%D8%AA-%D8%A7%D9%84%D9%85%D9%8F%D8%A4%D8%AC%D9%91%D9%84%D8%A9-deferred-objects-%D8%B9%D9%84%D9%89-jquery-r64/
كلا لليمكنك عمل تعديلات على عناصر HTML من خلال PHP بعد تحميل الصفحة، إن شيفرة PHP يتم تنفيذها على الخادم، ثم ترسل صفحة الويب على شكل HTML مع الملفات CSS,JS المرتبطة بها. ومن بعد ذلك لايوجد اتصال بين المتصفح نفسه و PHP. أكثر ما يمكن ل PHPعمله هو طباعة شيفرة HTML في المتصفح والتي يمكن أن تحوي psudo element لا أكثر عمل التعديلات على العناصر مع تفاعل المستخدم ممكن من خلال جافاسكربت. حبذا تشرح نوع التحكم بهبذه العناصر الذي تريد