الإجابة هي عدة خطوات يمكن تطبيقهم
0
حاول تشغيل المحاكي بشكل منفصل من خارج 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 أي
يمكنك تحميل صفحة 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 نعدل الجهة، غير ذلك لا نضيف أي صنف بوضع فراغ '' بدل الصنف المعاكس
غير ممكن. هذا من خلال جافاسكربت، ممكن تعمل طلب 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 لا أكثر عمل التعديلات على العناصر مع تفاعل المستخدم ممكن من خلال جافاسكربت. حبذا تشرح نوع التحكم بهبذه العناصر الذي تريد